Skip to content

Commit d5609b6

Browse files
committed
build: fix C++ modules BMI export and re-enable external build tests
1 parent ccbec5a commit d5609b6

1 file changed

Lines changed: 11 additions & 5 deletions

File tree

cmake/HPX_GeneratePackage.cmake

Lines changed: 11 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,19 @@ write_basic_package_version_file(
1919
COMPATIBILITY AnyNewerVersion
2020
)
2121

22+
# CXX_MODULES_DIRECTORY was added in CMake 3.28
23+
set(_cxx_modules_directory_arg)
24+
if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.28")
25+
set(_cxx_modules_directory_arg CXX_MODULES_DIRECTORY cxx-modules)
26+
endif()
27+
2228
# Export HPXInternalTargets in the build directory. Use the EXPORT
2329
# signature so CMake also generates the per-target C++ module metadata files.
2430
export(
2531
EXPORT HPXInternalTargets
2632
NAMESPACE HPXInternal::
2733
FILE "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${HPX_PACKAGE_NAME}/HPXInternalTargets.cmake"
28-
CXX_MODULES_DIRECTORY cxx-modules
34+
${_cxx_modules_directory_arg}
2935
)
3036

3137
# Export HPXInternalTargets in the install directory
@@ -34,7 +40,7 @@ install(
3440
NAMESPACE HPXInternal::
3541
FILE HPXInternalTargets.cmake
3642
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
37-
CXX_MODULES_DIRECTORY cxx-modules
43+
${_cxx_modules_directory_arg}
3844
COMPONENT cmake
3945
)
4046

@@ -44,7 +50,7 @@ export(
4450
EXPORT HPXTargets
4551
NAMESPACE HPX::
4652
FILE "${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${HPX_PACKAGE_NAME}/HPXTargets.cmake"
47-
CXX_MODULES_DIRECTORY cxx-modules
53+
${_cxx_modules_directory_arg}
4854
)
4955

5056
# Add aliases with the namespace for use within HPX
@@ -62,7 +68,7 @@ install(
6268
NAMESPACE HPX::
6369
FILE HPXTargets.cmake
6470
DESTINATION ${CMAKE_INSTALL_LIBDIR}/cmake/${HPX_PACKAGE_NAME}
65-
CXX_MODULES_DIRECTORY cxx-modules
71+
${_cxx_modules_directory_arg}
6672
COMPONENT cmake
6773
)
6874

@@ -86,7 +92,7 @@ endif()
8692
set(HPX_CONFIG_IS_INSTALL OFF)
8793
configure_file(
8894
${CMAKE_CURRENT_LIST_DIR}/templates/${HPX_PACKAGE_NAME}Config.cmake.in
89-
"${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${HPX_PACKAGE_NAME}/${HPX_PACKAGE_NAME}Config.cmake"
95+
"${CMAKE_CURRENT_BINARY_DIR}/lib/cmake/${HPX_PACKAGE_NAME}/${HPX_PACKAGE_NAME}ConfigVersion.cmake"
9096
ESCAPE_QUOTES
9197
@ONLY
9298
)

0 commit comments

Comments
 (0)