Skip to content
Snippets Groups Projects
Commit f3dec6e7 authored by Andrew Wilson's avatar Andrew Wilson :elephant:
Browse files

ENH: External projects can now use both build and innerbuild directory as root

parent 37199a40
No related branches found
No related tags found
No related merge requests found
set(iMSTK_BINARY_DIR "@iMSTK_BINARY_DIR@")
include("${iMSTK_BINARY_DIR}/Innerbuild/iMSTKConfig.cmake")
\ No newline at end of file
......@@ -87,6 +87,7 @@ endif ()
#-----------------------------------------------------------------------------
# SUPERBUILD
#-----------------------------------------------------------------------------
include(CMakePackageConfigHelpers)
option(${PROJECT_NAME}_SUPERBUILD "Build ${PROJECT_NAME} and the projects it depends on." ON)
if(${PROJECT_NAME}_SUPERBUILD)
......@@ -175,6 +176,17 @@ if(${PROJECT_NAME}_SUPERBUILD)
# CMakeLists.txt will be called back with SUPERBUILD=OFF, to execute
# the rest of the code below (INNERBUILD), which explains the `return`
add_subdirectory(CMake/External)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
VERSION ${Upstream_VERSION}
COMPATIBILITY AnyNewerVersion
)
configure_file(
"${CMAKE_CURRENT_SOURCE_DIR}/CMake/Utilities/${PROJECT_NAME}Config.cmake.in"
${PROJECT_NAME}Config.cmake
@ONLY
)
return()
......@@ -379,8 +391,7 @@ if(NOT WIN32)
configure_file(
${CMAKE_SOURCE_DIR}/CMake/setup_iMSTK.sh.in
${CMAKE_INSTALL_PREFIX}/setup_iMSTK.sh
@ONLY
)
@ONLY)
endif()
#--------------------------------------------------------------------------
......@@ -397,18 +408,17 @@ add_test(
string(TOLOWER "${PROJECT_NAME}" PROJECT_NAMESPACE)
set(PROJECT_NAMESPACE "${PROJECT_NAMESPACE}::")
include(CMakePackageConfigHelpers)
export(EXPORT ${PROJECT_NAME}_TARGETS
FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake
NAMESPACE ${PROJECT_NAMESPACE}
)
write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
VERSION ${Upstream_VERSION}
COMPATIBILITY AnyNewerVersion
)
export(EXPORT ${PROJECT_NAME}_TARGETS
FILE ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake
NAMESPACE ${PROJECT_NAMESPACE}
)
configure_file(${PROJECT_NAME}Config.cmake.in
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
configure_file("${CMAKE_CURRENT_SOURCE_DIR}/CMake/Utilities/${PROJECT_NAME}InnerbuildConfig.cmake.in"
${PROJECT_NAME}Config.cmake
@ONLY
)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment