summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CXXModules
diff options
context:
space:
mode:
authorTyler <tylerbrawl@gmail.com>2023-05-13 00:58:35 (GMT)
committerBrad King <brad.king@kitware.com>2023-05-23 19:01:32 (GMT)
commitf2a699261b9d3d494bc791caad2d8f1fb21d6b4b (patch)
tree111656c86f15f7c647f5057d228aee293694a0cb /Tests/RunCMake/CXXModules
parentf9677cc1223fb23f6e6c329e9f7de954639554d1 (diff)
downloadCMake-f2a699261b9d3d494bc791caad2d8f1fb21d6b4b.zip
CMake-f2a699261b9d3d494bc791caad2d8f1fb21d6b4b.tar.gz
CMake-f2a699261b9d3d494bc791caad2d8f1fb21d6b4b.tar.bz2
cxxmodules: Do not expect collator install scripts with no CXX_MODULES
Calling `install(EXPORT)` with the `CXX_MODULES_DIRECTORY` parameter leads to installation rules being generated which `include()` CMake scripts that set the `IMPORTED_CXX_MODULES_[CONFIG]` target property for relevant targets. However, these scripts don't get generated for targets in an export set which don't have any C++20 modules. When the installation rules attempt to `include()` the missing scripts, the install fails. Co-authored-by: Brad King <brad.king@kitware.com>
Diffstat (limited to 'Tests/RunCMake/CXXModules')
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/no_modules.cxx3
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/no_modules.cxx3
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-build/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-build/no_modules.cxx3
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-install/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-install/no_modules.cxx3
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/no_modules.cxx3
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/CMakeLists.txt4
-rw-r--r--Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/no_modules.cxx3
12 files changed, 36 insertions, 6 deletions
diff --git a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/CMakeLists.txt
index a450b7e..62971a3 100644
--- a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/CMakeLists.txt
@@ -21,7 +21,9 @@ target_sources(export_bmi_and_interfaces
importable.cxx)
target_compile_features(export_bmi_and_interfaces PUBLIC cxx_std_20)
-install(TARGETS export_bmi_and_interfaces
+add_library(no_modules STATIC no_modules.cxx)
+
+install(TARGETS export_bmi_and_interfaces no_modules
EXPORT CXXModules
FILE_SET modules DESTINATION "lib/cxx/miu"
CXX_MODULES_BMI DESTINATION "lib/cxx/bmi")
diff --git a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/no_modules.cxx b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/no_modules.cxx
new file mode 100644
index 0000000..eea854f
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-build/no_modules.cxx
@@ -0,0 +1,3 @@
+void no_modules()
+{
+}
diff --git a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/CMakeLists.txt
index a5574fe..bc19d93 100644
--- a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/CMakeLists.txt
@@ -21,7 +21,9 @@ target_sources(export_bmi_and_interfaces
importable.cxx)
target_compile_features(export_bmi_and_interfaces PUBLIC cxx_std_20)
-install(TARGETS export_bmi_and_interfaces
+add_library(no_modules STATIC no_modules.cxx)
+
+install(TARGETS export_bmi_and_interfaces no_modules
EXPORT CXXModules
FILE_SET modules DESTINATION "lib/cxx/miu"
CXX_MODULES_BMI DESTINATION "lib/cxx/bmi")
diff --git a/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/no_modules.cxx b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/no_modules.cxx
new file mode 100644
index 0000000..eea854f
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-bmi-and-interface-install/no_modules.cxx
@@ -0,0 +1,3 @@
+void no_modules()
+{
+}
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-build/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-build/CMakeLists.txt
index 8584dce..62352ff 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-build/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-build/CMakeLists.txt
@@ -21,7 +21,9 @@ target_sources(export_interfaces
importable.cxx)
target_compile_features(export_interfaces PUBLIC cxx_std_20)
-install(TARGETS export_interfaces
+add_library(no_modules STATIC no_modules.cxx)
+
+install(TARGETS export_interfaces no_modules
EXPORT CXXModules
FILE_SET modules DESTINATION "lib/cxx/miu")
export(EXPORT CXXModules
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-build/no_modules.cxx b/Tests/RunCMake/CXXModules/examples/export-interface-build/no_modules.cxx
new file mode 100644
index 0000000..eea854f
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-build/no_modules.cxx
@@ -0,0 +1,3 @@
+void no_modules()
+{
+}
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-install/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-install/CMakeLists.txt
index b5c6224..15c91d9 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-install/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-install/CMakeLists.txt
@@ -21,7 +21,9 @@ target_sources(export_interfaces
importable.cxx)
target_compile_features(export_interfaces PUBLIC cxx_std_20)
-install(TARGETS export_interfaces
+add_library(no_modules STATIC no_modules.cxx)
+
+install(TARGETS export_interfaces no_modules
EXPORT CXXModules
FILE_SET modules DESTINATION "lib/cxx/miu")
install(EXPORT CXXModules
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-install/no_modules.cxx b/Tests/RunCMake/CXXModules/examples/export-interface-install/no_modules.cxx
new file mode 100644
index 0000000..eea854f
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-install/no_modules.cxx
@@ -0,0 +1,3 @@
+void no_modules()
+{
+}
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/CMakeLists.txt
index 7633bec..7d04c50 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/CMakeLists.txt
@@ -21,7 +21,9 @@ target_sources(export_interfaces_no_properties
importable.cxx)
target_compile_features(export_interfaces_no_properties PUBLIC cxx_std_20)
-install(TARGETS export_interfaces_no_properties
+add_library(no_modules STATIC no_modules.cxx)
+
+install(TARGETS export_interfaces_no_properties no_modules
EXPORT CXXModules
FILE_SET modules DESTINATION "lib/cxx/miu")
export(EXPORT CXXModules
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/no_modules.cxx b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/no_modules.cxx
new file mode 100644
index 0000000..eea854f
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-build/no_modules.cxx
@@ -0,0 +1,3 @@
+void no_modules()
+{
+}
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/CMakeLists.txt b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/CMakeLists.txt
index 75f2440..c0db766 100644
--- a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/CMakeLists.txt
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/CMakeLists.txt
@@ -21,7 +21,9 @@ target_sources(export_interfaces_no_properties
importable.cxx)
target_compile_features(export_interfaces_no_properties PUBLIC cxx_std_20)
-install(TARGETS export_interfaces_no_properties
+add_library(no_modules STATIC no_modules.cxx)
+
+install(TARGETS export_interfaces_no_properties no_modules
EXPORT CXXModules
FILE_SET modules DESTINATION "lib/cxx/miu")
install(EXPORT CXXModules
diff --git a/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/no_modules.cxx b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/no_modules.cxx
new file mode 100644
index 0000000..eea854f
--- /dev/null
+++ b/Tests/RunCMake/CXXModules/examples/export-interface-no-properties-install/no_modules.cxx
@@ -0,0 +1,3 @@
+void no_modules()
+{
+}