Warning, /GenFit/cmake/macros.cmake is written in an unsupported language. File is not indexed.
0001 # collection of helpful macros for cmake
0002 # created by J. Engels, DESY and Ch. Rosemann, DESY
0003
0004 EXECUTE_PROCESS( COMMAND "svnversion"
0005 OUTPUT_VARIABLE GLOBAL_SVN_REVISION
0006 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/
0007 RESULT_VARIABLE _exit_code
0008 )
0009 IF( NOT _exit_code EQUAL 0 )
0010 MESSAGE( STATUS "Couldn't retrieve a version number from SVN to set in documentation.")
0011 SET(GLOBAL_SVN_REVISION "NoNumberAvailable")
0012 ENDIF()
0013
0014 MESSAGE(STATUS "Found global svn revision to be ${GLOBAL_SVN_REVISION}.")
0015
0016
0017 # create symbolic lib target for calling library targets
0018 MACRO( ADD_SHARED_LIBRARY _name )
0019 ADD_LIBRARY( ${_name} SHARED ${ARGN} )
0020
0021 # change lib_target properties
0022 SET_TARGET_PROPERTIES( ${_name} PROPERTIES
0023 # create *nix style library versions + symbolic links
0024 VERSION ${${PROJECT_NAME}_VERSION}
0025 SOVERSION ${${PROJECT_NAME}_SOVERSION}
0026 )
0027 ENDMACRO( ADD_SHARED_LIBRARY )
0028
0029
0030 # in order to include cmake projects into other projects config files must exist
0031 # helper macro for generating project configuration file
0032 MACRO( GENERATE_PACKAGE_CONFIGURATION_FILES )
0033
0034 FOREACH( arg ${ARGN} )
0035 IF( ${arg} MATCHES "Config.cmake" )
0036 IF( EXISTS "${PROJECT_SOURCE_DIR}/cmake/${arg}.in" )
0037 CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/cmake/${arg}.in"
0038 "${PROJECT_BINARY_DIR}/${arg}" @ONLY
0039 )
0040 INSTALL( FILES "${PROJECT_BINARY_DIR}/${arg}" DESTINATION . )
0041 ENDIF()
0042 ENDIF()
0043
0044
0045 IF( ${arg} MATCHES "ConfigVersion.cmake" )
0046 # version configuration file
0047 IF( EXISTS "${PROJECT_SOURCE_DIR}/cmake/${arg}.in" )
0048 CONFIGURE_FILE( "${PROJECT_SOURCE_DIR}/cmake/${arg}.in"
0049 "${PROJECT_BINARY_DIR}/${arg}" @ONLY
0050 )
0051 INSTALL( FILES "${PROJECT_BINARY_DIR}/${arg}" DESTINATION . )
0052 ENDIF( EXISTS "${PROJECT_SOURCE_DIR}/cmake/${arg}.in" )
0053 ENDIF()
0054
0055 IF( ${arg} MATCHES "LibDeps.cmake" )
0056 EXPORT_LIBRARY_DEPENDENCIES( "${arg}" )
0057 INSTALL( FILES "${PROJECT_BINARY_DIR}/${arg}" DESTINATION lib/cmake )
0058 ENDIF()
0059
0060 ENDFOREACH()
0061
0062 ENDMACRO( GENERATE_PACKAGE_CONFIGURATION_FILES )