summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/UnityBuild/per_config_c_debug.c
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2021-11-10 17:16:22 (GMT)
committerBrad King <brad.king@kitware.com>2021-11-11 12:16:11 (GMT)
commit129e3c65400a96c1f99b0fd6d445f1b9dc38ad51 (patch)
tree602ca13d34bb8746548b3b56ecf2577ac9e050a0 /Tests/RunCMake/UnityBuild/per_config_c_debug.c
parentea289314ef473d6bcdc1ca858aac6cdb15ecf56a (diff)
downloadCMake-129e3c65400a96c1f99b0fd6d445f1b9dc38ad51.zip
CMake-129e3c65400a96c1f99b0fd6d445f1b9dc38ad51.tar.gz
CMake-129e3c65400a96c1f99b0fd6d445f1b9dc38ad51.tar.bz2
Unity Build: Fix per-config sources in multi-config generators
Single-config generators already support unity builds with per-config sources because they compute sources using `CMAKE_BUILD_TYPE` as the configuration. Each original source is either included in the unity build source, or not. Teach multi-config generators to compute the list of sources for inclusion in unity builds using all configurations. Previously they only used the empty string as the configuration. Each original source may be included in some configurations, but not others. Use preprocessor conditions to guard their inclusion when necessary. Fixes: #22892
Diffstat (limited to 'Tests/RunCMake/UnityBuild/per_config_c_debug.c')
-rw-r--r--Tests/RunCMake/UnityBuild/per_config_c_debug.c9
1 files changed, 9 insertions, 0 deletions
diff --git a/Tests/RunCMake/UnityBuild/per_config_c_debug.c b/Tests/RunCMake/UnityBuild/per_config_c_debug.c
new file mode 100644
index 0000000..6d32ead
--- /dev/null
+++ b/Tests/RunCMake/UnityBuild/per_config_c_debug.c
@@ -0,0 +1,9 @@
+#ifndef CFG_DEBUG
+# error "per_config_c_debug built without CFG_DEBUG"
+#endif
+#ifdef CFG_OTHER
+# error "per_config_c_debug built with CFG_OTHER"
+#endif
+void per_config_c_debug(void)
+{
+}