mirror of
https://github.com/Kitware/CMake.git
synced 2026-04-22 22:31:18 -05:00
d3e2e61bcd
The collator will use this to generate property settings for the imported targets in the build and install export sets.
60 lines
1.6 KiB
CMake
60 lines
1.6 KiB
CMake
# Fake out that we have dyndep; we only need to generate, not actually build
|
|
# here.
|
|
set(CMAKE_EXPERIMENTAL_CXX_MODULE_DYNDEP 1)
|
|
set(CMAKE_EXPERIMENTAL_CXX_SCANDEP_SOURCE "")
|
|
|
|
enable_language(CXX)
|
|
|
|
if (NOT CMAKE_GENERATOR MATCHES "Ninja")
|
|
message(FATAL_ERROR
|
|
"This test requires a 'Ninja' generator to be used.")
|
|
endif ()
|
|
|
|
add_library(ninja-file-sets-public)
|
|
target_sources(ninja-file-sets-public
|
|
PRIVATE
|
|
sources/module-impl.cxx
|
|
sources/module-internal-part-impl.cxx
|
|
sources/module-part-impl.cxx
|
|
sources/module-use.cxx
|
|
PUBLIC
|
|
FILE_SET modules TYPE CXX_MODULES
|
|
BASE_DIRS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/sources"
|
|
FILES
|
|
sources/module.cxx
|
|
sources/module-part.cxx
|
|
FILE_SET internal_partitions TYPE CXX_MODULES FILES
|
|
sources/module-internal-part.cxx)
|
|
target_compile_features(ninja-file-sets-public
|
|
PRIVATE
|
|
cxx_std_20)
|
|
|
|
install(TARGETS ninja-file-sets-public
|
|
FILE_SET modules
|
|
DESTINATION "lib/cxx"
|
|
COMPONENT "modules"
|
|
FILE_SET internal_partitions
|
|
DESTINATION "lib/cxx/internals"
|
|
COMPONENT "modules-internal")
|
|
|
|
add_library(ninja-file-sets-private)
|
|
target_sources(ninja-file-sets-private
|
|
PRIVATE
|
|
sources/module-impl.cxx
|
|
sources/module-internal-part-impl.cxx
|
|
sources/module-part-impl.cxx
|
|
sources/module-use.cxx
|
|
PRIVATE
|
|
FILE_SET modules TYPE CXX_MODULES
|
|
BASE_DIRS
|
|
"${CMAKE_CURRENT_SOURCE_DIR}/sources"
|
|
FILES
|
|
sources/module.cxx
|
|
sources/module-part.cxx
|
|
FILE_SET internal_partitions TYPE CXX_MODULES FILES
|
|
sources/module-internal-part.cxx)
|
|
target_compile_features(ninja-file-sets-private
|
|
PRIVATE
|
|
cxx_std_20)
|