diff --git a/cmake/modules/RootConfiguration.cmake b/cmake/modules/RootConfiguration.cmake index 074a18f32ce4e8b940bd3a976e219ea12880aa83..03f17eb6ad1d8c1bdf7d8afc5355f37940453dc3 100644 --- a/cmake/modules/RootConfiguration.cmake +++ b/cmake/modules/RootConfiguration.cmake @@ -520,8 +520,6 @@ configure_file(${CMAKE_SOURCE_DIR}/config/mimes.unix.in ${CMAKE_BINARY_DIR}/etc/ ROOT_SHOW_OPTIONS(ROOT_ENABLED_OPTIONS) configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/ROOTConfig-version.cmake.in ${CMAKE_BINARY_DIR}/ROOTConfig-version.cmake @ONLY NEWLINE_STYLE UNIX) -configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/RootUseFile.cmake.in - ${CMAKE_BINARY_DIR}/ROOTUseFile.cmake @ONLY NEWLINE_STYLE UNIX) #---Compiler flags (because user apps are a bit dependent on them...)---------------------------------------- string(REGEX REPLACE "(^|[ ]*)-W[^ ]*" "" __cxxflags "${CMAKE_CXX_FLAGS}") @@ -546,15 +544,14 @@ set(ROOT_BINARY_DIR_SETUP " # ROOT configured for use from the build tree - absolute paths are used. set(ROOT_BINARY_DIR ${CMAKE_BINARY_DIR}/bin) ") -set(ROOT_MODULE_PATH_SETUP " -# ROOT configured for use CMake modules from source tree -set(CMAKE_MODULE_PATH \${CMAKE_MODULE_PATH} ${CMAKE_MODULE_PATH}) -") +set(ROOT_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake/modules") get_property(exported_targets GLOBAL PROPERTY ROOT_EXPORTED_TARGETS) export(TARGETS ${exported_targets} FILE ${PROJECT_BINARY_DIR}/ROOTConfig-targets.cmake) configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/ROOTConfig.cmake.in ${CMAKE_BINARY_DIR}/ROOTConfig.cmake @ONLY NEWLINE_STYLE UNIX) +configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/RootUseFile.cmake.in + ${CMAKE_BINARY_DIR}/ROOTUseFile.cmake @ONLY NEWLINE_STYLE UNIX) #---To be used from the install tree-------------------------------------------------------------------------- # Need to calculate actual relative paths from CMAKEDIR to other locations @@ -574,14 +571,14 @@ set(ROOT_BINARY_DIR_SETUP " # ROOT configured for the install with relative paths, so use these get_filename_component(ROOT_BINARY_DIR \"\${_thisdir}/${ROOT_CMAKE_TO_BIN_DIR}\" ABSOLUTE) ") -set(ROOT_MODULE_PATH_SETUP " -# ROOT configured for use CMake modules from installation tree -set(CMAKE_MODULE_PATH \${CMAKE_MODULE_PATH} \${_thisdir}/modules) -") +set(ROOT_MODULE_PATH "\${_thisdir}/modules") + configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/ROOTConfig.cmake.in ${CMAKE_BINARY_DIR}/installtree/ROOTConfig.cmake @ONLY NEWLINE_STYLE UNIX) +configure_file(${CMAKE_SOURCE_DIR}/cmake/scripts/RootUseFile.cmake.in + ${CMAKE_BINARY_DIR}/installtree/ROOTUseFile.cmake @ONLY NEWLINE_STYLE UNIX) install(FILES ${CMAKE_BINARY_DIR}/ROOTConfig-version.cmake - ${CMAKE_BINARY_DIR}/ROOTUseFile.cmake + ${CMAKE_BINARY_DIR}/installtree/ROOTUseFile.cmake ${CMAKE_BINARY_DIR}/installtree/ROOTConfig.cmake DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) install(EXPORT ${CMAKE_PROJECT_NAME}Exports FILE ROOTConfig-targets.cmake DESTINATION ${CMAKE_INSTALL_CMAKEDIR}) diff --git a/cmake/modules/RootNewMacros.cmake b/cmake/modules/RootNewMacros.cmake index c8fd0292cfce1b6477666dcdee28caca20709f1e..00041aeba1d72127f9236e14ffa1c39a258d1c88 100644 --- a/cmake/modules/RootNewMacros.cmake +++ b/cmake/modules/RootNewMacros.cmake @@ -8,6 +8,9 @@ if(CMAKE_VERSION VERSION_GREATER 2.8.12) cmake_policy(SET CMP0022 OLD) # See "cmake --help-policy CMP0022" for more details endif() + +set(THISDIR ${CMAKE_CURRENT_LIST_DIR}) + set(lib lib) set(bin bin) if(WIN32) @@ -807,7 +810,7 @@ function(ROOT_ADD_TEST test) endif() #- Locate the test driver - find_file(ROOT_TEST_DRIVER RootTestDriver.cmake PATHS ${CMAKE_MODULE_PATH}) + find_file(ROOT_TEST_DRIVER RootTestDriver.cmake PATHS ${THISDIR} ${CMAKE_MODULE_PATH}) if(NOT ROOT_TEST_DRIVER) message(FATAL_ERROR "ROOT_ADD_TEST: RootTestDriver.cmake not found!") endif() diff --git a/cmake/scripts/ROOTConfig.cmake.in b/cmake/scripts/ROOTConfig.cmake.in index 0936f79eae6789251d2a08e8208f394a0c1e1c81..c4f4d04936f2d92a386ef420d0ddbf937ed87856 100644 --- a/cmake/scripts/ROOTConfig.cmake.in +++ b/cmake/scripts/ROOTConfig.cmake.in @@ -60,7 +60,6 @@ get_filename_component(_thisdir "${CMAKE_CURRENT_LIST_FILE}" PATH) @ROOT_INCLUDE_DIR_SETUP@ @ROOT_LIBRARY_DIR_SETUP@ @ROOT_BINARY_DIR_SETUP@ -@ROOT_MODULE_PATH_SETUP@ #---------------------------------------------------------------------------- # Include the file listing all the imported targets and options diff --git a/cmake/scripts/RootUseFile.cmake.in b/cmake/scripts/RootUseFile.cmake.in index 613beb4802fe3e0c929655e6cbe5c9f0da17bb11..045926d836a79e2e84c6fdeaf1b559986628f919 100644 --- a/cmake/scripts/RootUseFile.cmake.in +++ b/cmake/scripts/RootUseFile.cmake.in @@ -1,5 +1,5 @@ #---Define the Standard macros for ROOT----------------------------------------------------------- -include(RootNewMacros) +include(@ROOT_MODULE_PATH@/RootNewMacros.cmake) #---Set Link and include directories-------------------------------------------------------------- include_directories(${ROOT_INCLUDE_DIRS})