Back to home page

EIC code displayed by LXR

 
 

    


Warning, /acts/cmake/ActsCreatePackageConfig.cmake is written in an unsupported language. File is not indexed.

0001 # Create relocatable CMake package config files
0002 
0003 include(CMakePackageConfigHelpers)
0004 
0005 # use path suggested by
0006 # https://cmake.org/cmake/help/v3.18/manual/cmake-packages.7.html
0007 set(install_package_config_dir "${CMAKE_INSTALL_LIBDIR}/cmake/Acts")
0008 
0009 # version is taken automatically from PROJECT_VERSION; no need to specify
0010 write_basic_package_version_file(
0011     ${PROJECT_BINARY_DIR}/ActsConfigVersion.cmake
0012     COMPATIBILITY SameMajorVersion
0013 )
0014 configure_package_config_file(
0015     ${CMAKE_CURRENT_LIST_DIR}/ActsConfig.cmake.in
0016     ${PROJECT_BINARY_DIR}/ActsConfig.cmake
0017     INSTALL_DESTINATION ${install_package_config_dir}
0018     PATH_VARS CMAKE_INSTALL_BINDIR CMAKE_INSTALL_INCLUDEDIR CMAKE_INSTALL_LIBDIR
0019 )
0020 configure_file(
0021     ${CMAKE_CURRENT_LIST_DIR}/ActsGeometryModuleHelpers.cmake
0022     ${PROJECT_BINARY_DIR}/ActsGeometryModuleHelpers.cmake
0023     COPYONLY
0024 )
0025 configure_file(
0026     ${CMAKE_CURRENT_LIST_DIR}/ActsDD4hepGeometryModuleHelpers.cmake
0027     ${PROJECT_BINARY_DIR}/ActsDD4hepGeometryModuleHelpers.cmake
0028     COPYONLY
0029 )
0030 
0031 # install cmake package configs
0032 install(
0033     FILES
0034         ${PROJECT_BINARY_DIR}/ActsConfigVersion.cmake
0035         ${PROJECT_BINARY_DIR}/ActsConfig.cmake
0036     DESTINATION ${install_package_config_dir}
0037 )
0038 
0039 # For git repositories, patch ActsConfig.cmake at install time with fresh git hash
0040 if(_acts_is_git_repo)
0041     install(
0042         CODE
0043             "
0044         # Get git hash at install time
0045         execute_process(
0046             COMMAND git rev-parse HEAD
0047             WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0048             OUTPUT_VARIABLE _install_git_hash
0049             OUTPUT_STRIP_TRAILING_WHITESPACE
0050             ERROR_QUIET
0051         )
0052         execute_process(
0053             COMMAND git rev-parse --short HEAD
0054             WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0055             OUTPUT_VARIABLE _install_git_hash_short
0056             OUTPUT_STRIP_TRAILING_WHITESPACE
0057             ERROR_QUIET
0058         )
0059         execute_process(
0060             COMMAND git diff-index --quiet HEAD --
0061             WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
0062             RESULT_VARIABLE _git_is_dirty
0063             ERROR_QUIET
0064         )
0065 
0066         if(NOT _git_is_dirty EQUAL 0)
0067             set(_install_git_hash \"\${_install_git_hash}-dirty\")
0068             set(_install_git_hash_short \"\${_install_git_hash_short}-dirty\")
0069         endif()
0070 
0071         # Read the installed ActsConfig.cmake
0072         set(_config_file \"\${CMAKE_INSTALL_PREFIX}/${install_package_config_dir}/ActsConfig.cmake\")
0073         file(READ \"\${_config_file}\" _config_content)
0074 
0075         # Replace the commit hash lines
0076         string(REGEX REPLACE
0077             \"set\\\\(Acts_COMMIT_HASH \\\"[^\\\"]*\\\"\\\\)\"
0078             \"set(Acts_COMMIT_HASH \\\"\${_install_git_hash}\\\")\"
0079             _config_content \"\${_config_content}\")
0080         string(REGEX REPLACE
0081             \"set\\\\(Acts_COMMIT_HASH_SHORT \\\"[^\\\"]*\\\"\\\\)\"
0082             \"set(Acts_COMMIT_HASH_SHORT \\\"\${_install_git_hash_short}\\\")\"
0083             _config_content \"\${_config_content}\")
0084 
0085         # Write back the patched content
0086         file(WRITE \"\${_config_file}\" \"\${_config_content}\")
0087         "
0088     )
0089 endif()
0090 
0091 # install third party FindXXX.cmake files
0092 file(GLOB_RECURSE _pckg_find_files "${CMAKE_CURRENT_LIST_DIR}/Find*.cmake")
0093 install(
0094     FILES ${_pckg_find_files}
0095     DESTINATION ${install_package_config_dir}/Modules
0096 )
0097 
0098 install(
0099     FILES
0100         ${CMAKE_CURRENT_LIST_DIR}/ActsGeometryModuleHelpers.cmake
0101         ${CMAKE_CURRENT_LIST_DIR}/ActsDD4hepGeometryModuleHelpers.cmake
0102     DESTINATION ${install_package_config_dir}
0103 )
0104 
0105 # install target configs for all available components
0106 foreach(_component ${_components})
0107     install(
0108         EXPORT Acts${_component}Targets
0109         DESTINATION ${install_package_config_dir}
0110     )
0111 endforeach()