Back to home page

sPhenix code displayed by LXR

 
 

    


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 )