# CMake project that writes Subversion revision information to a header. # # Input variables: # FIRST_SOURCE_DIR - First source directory # FIRST_REPOSITORY - The macro to define to the first revision number. # SECOND_SOURCE_DIR - Second source directory # SECOND_REPOSITORY - The macro to define to the second revision number. # HEADER_FILE - The header file to write include(FindSubversion) if (Subversion_FOUND AND EXISTS "${FIRST_SOURCE_DIR}/.svn") # Repository information for the first repository. Subversion_WC_INFO(${FIRST_SOURCE_DIR} MY) file(WRITE ${HEADER_FILE}.txt "#define ${FIRST_REPOSITORY} \"${MY_WC_REVISION}\"\n") # Repository information for the second repository. if (EXISTS "${SECOND_SOURCE_DIR}/.svn") Subversion_WC_INFO(${SECOND_SOURCE_DIR} MY) file(APPEND ${HEADER_FILE}.txt "#define ${SECOND_REPOSITORY} \"${MY_WC_REVISION}\"\n") endif () # Copy the file only if it has changed. execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different ${HEADER_FILE}.txt ${HEADER_FILE}) endif()