From 0cf0a8e632ccaf0ec242bf8837577d932b42900b Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sun, 24 Sep 2023 16:36:31 -0400 Subject: cmGeneratorTarget: use `GetSupportDirectory` in PCH codepaths Instead of recalculating the support directory path, use the intended method. --- Source/cmGeneratorTarget.cxx | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/Source/cmGeneratorTarget.cxx b/Source/cmGeneratorTarget.cxx index ca38be6..181ffd1 100644 --- a/Source/cmGeneratorTarget.cxx +++ b/Source/cmGeneratorTarget.cxx @@ -4287,9 +4287,6 @@ std::string cmGeneratorTarget::GetPchHeader(const std::string& config, this->GetGlobalGenerator()->FindGeneratorTarget(*pchReuseFrom); } - filename = cmStrCat( - generatorTarget->LocalGenerator->GetCurrentBinaryDirectory(), "/"); - const std::map languageToExtension = { { "C", ".h" }, { "CXX", ".hxx" }, @@ -4297,8 +4294,7 @@ std::string cmGeneratorTarget::GetPchHeader(const std::string& config, { "OBJCXX", ".objcxx.hxx" } }; - filename = - cmStrCat(filename, "CMakeFiles/", generatorTarget->GetName(), ".dir"); + filename = generatorTarget->GetSupportDirectory(); if (this->GetGlobalGenerator()->IsMultiConfig()) { filename = cmStrCat(filename, "/", config); @@ -4391,9 +4387,7 @@ std::string cmGeneratorTarget::GetPchSource(const std::string& config, this->GetGlobalGenerator()->FindGeneratorTarget(*pchReuseFrom); } - filename = - cmStrCat(generatorTarget->LocalGenerator->GetCurrentBinaryDirectory(), - "/CMakeFiles/", generatorTarget->GetName(), ".dir/cmake_pch"); + filename = cmStrCat(generatorTarget->GetSupportDirectory(), "/cmake_pch"); // For GCC the source extension will be transformed into .h[xx].gch if (!this->Makefile->IsOn("CMAKE_LINK_PCH")) { -- cgit v0.12 From 43112cbb45cd55b673b95448b65cba1f82bd3c99 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sun, 24 Sep 2023 18:51:03 -0400 Subject: Help/CMAKE_EXPORT_COMPILE_COMMANDS: mention the `output` field Added in 887a8874c3 (EXPORT_COMPILE_COMMANDS: add `output` field, 2022-10-28) via !7844. Sync the docs with this addition. --- Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst b/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst index a7e9029..2e7f7c4 100644 --- a/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst +++ b/Help/variable/CMAKE_EXPORT_COMPILE_COMMANDS.rst @@ -15,7 +15,8 @@ form. The format of the JSON file looks like: { "directory": "/home/user/development/project", "command": "/usr/bin/c++ ... -c ../foo/foo.cc", - "file": "../foo/foo.cc" + "file": "../foo/foo.cc", + "output": "../foo.dir/foo.cc.o" }, ... @@ -23,7 +24,8 @@ form. The format of the JSON file looks like: { "directory": "/home/user/development/project", "command": "/usr/bin/c++ ... -c ../foo/bar.cc", - "file": "../foo/bar.cc" + "file": "../foo/bar.cc", + "output": "../foo.dir/bar.cc.o" } ] -- cgit v0.12 From 34b393f97f90a5ac7cb4f39f344f5ea99e1d3c03 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sun, 24 Sep 2023 18:29:17 -0400 Subject: cmGlobalGenerator: use static string views for reserved targets Also make the array static. --- Source/cmGlobalGenerator.cxx | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index d5099ee..8734988 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -3142,10 +3142,11 @@ bool cmGlobalGenerator::IsReservedTarget(std::string const& name) // by one or more of the cmake generators. // Adding additional targets to this list will require a policy! - const char* reservedTargets[] = { "all", "ALL_BUILD", "help", - "install", "INSTALL", "preinstall", - "clean", "edit_cache", "rebuild_cache", - "ZERO_CHECK" }; + static const cm::static_string_view reservedTargets[] = { + "all"_s, "ALL_BUILD"_s, "help"_s, "install"_s, + "INSTALL"_s, "preinstall"_s, "clean"_s, "edit_cache"_s, + "rebuild_cache"_s, "ZERO_CHECK"_s + }; return cm::contains(reservedTargets, name); } -- cgit v0.12 From 7a4c02cb38547e719d53196c16cbe10743dce995 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Sun, 24 Sep 2023 19:13:32 -0400 Subject: cmGlobalGenerator: factor out messaging for CMP0037 Also make some strings into character literals. --- Source/cmGlobalGenerator.cxx | 23 ++++++++++++++--------- 1 file changed, 14 insertions(+), 9 deletions(-) diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx index 8734988..933e754 100644 --- a/Source/cmGlobalGenerator.cxx +++ b/Source/cmGlobalGenerator.cxx @@ -2690,13 +2690,9 @@ cmGlobalGenerator::SplitFrameworkPath(const std::string& path, return cm::nullopt; } -bool cmGlobalGenerator::CheckCMP0037(std::string const& targetName, - std::string const& reason) const +static bool RaiseCMP0037Message(cmake* cm, cmTarget* tgt, + std::string const& reason) { - cmTarget* tgt = this->FindTarget(targetName); - if (!tgt) { - return true; - } MessageType messageType = MessageType::AUTHOR_WARNING; std::ostringstream e; bool issueMessage = false; @@ -2715,13 +2711,12 @@ bool cmGlobalGenerator::CheckCMP0037(std::string const& targetName, break; } if (issueMessage) { - e << "The target name \"" << targetName << "\" is reserved " << reason + e << "The target name \"" << tgt->GetName() << "\" is reserved " << reason << "."; if (messageType == MessageType::AUTHOR_WARNING) { e << " It may result in undefined behavior."; } - this->GetCMakeInstance()->IssueMessage(messageType, e.str(), - tgt->GetBacktrace()); + cm->IssueMessage(messageType, e.str(), tgt->GetBacktrace()); if (messageType == MessageType::FATAL_ERROR) { return false; } @@ -2729,6 +2724,16 @@ bool cmGlobalGenerator::CheckCMP0037(std::string const& targetName, return true; } +bool cmGlobalGenerator::CheckCMP0037(std::string const& targetName, + std::string const& reason) const +{ + cmTarget* tgt = this->FindTarget(targetName); + if (!tgt) { + return true; + } + return RaiseCMP0037Message(this->GetCMakeInstance(), tgt, reason); +} + void cmGlobalGenerator::CreateDefaultGlobalTargets( std::vector& targets) { -- cgit v0.12 From 1c9f83c8ec31b523efc2ea97bfca239faaf808d2 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 25 Sep 2023 11:04:42 -0400 Subject: Tests/CXXModules: fix error detection propagation --- .../RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake | 2 ++ Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake | 2 ++ Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake | 2 ++ Tests/RunCMake/CXXModules/check-json.cmake | 11 +++++++++-- 4 files changed, 15 insertions(+), 2 deletions(-) diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake index 0d08c44..124efa8 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake @@ -32,3 +32,5 @@ else () file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoBMIInstall-private.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") endif () + +string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake index 7720257..b08b63f 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake @@ -32,3 +32,5 @@ else () file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoExport-private.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") endif () + +string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake index b9a1315..785d123 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake @@ -32,3 +32,5 @@ else () file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoFileSet-private.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") endif () + +string(REPLACE ";" "\n " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") diff --git a/Tests/RunCMake/CXXModules/check-json.cmake b/Tests/RunCMake/CXXModules/check-json.cmake index 19d0c8a..0790b6b 100644 --- a/Tests/RunCMake/CXXModules/check-json.cmake +++ b/Tests/RunCMake/CXXModules/check-json.cmake @@ -22,6 +22,7 @@ function (check_json_value path actual_type expect_type actual_value expect_valu if (NOT actual_type STREQUAL expect_type) list(APPEND RunCMake_TEST_FAILED "Type mismatch at ${path}: ${actual_type} vs. ${expect_type}") + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) return () endif () @@ -53,6 +54,8 @@ function (check_json_value path actual_type expect_type actual_value expect_valu elseif (actual_type STREQUAL OBJECT) check_json_object("${path}" "${actual_value}" "${expect_value}") endif () + + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) endfunction () # Check that two arrays are the same. @@ -82,6 +85,8 @@ function (check_json_array path actual expect) string(JSON expect_value GET "${expect}" "${idx}") check_json_value("${new_path}" "${actual_type}" "${expect_type}" "${actual_value}" "${expect_value}") endforeach () + + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) endfunction () # Check that two inner objects are the same. @@ -148,13 +153,15 @@ function (check_json_object path actual expect) string(JSON expect_value GET "${expect}" "${key}") check_json_value("${new_path}" "${actual_type}" "${expect_type}" "${actual_value}" "${expect_value}") endforeach () + + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) endfunction () # Check that two JSON objects are the same. function (check_json actual expect) check_json_object("" "${actual}" "${expect}") -endfunction () -string(REPLACE ";" "; " RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}") + set(RunCMake_TEST_FAILED "${RunCMake_TEST_FAILED}" PARENT_SCOPE) +endfunction () cmake_policy(POP) -- cgit v0.12 From 6b940dc5906236605a1a55cd298b4e59b18e1f31 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 25 Sep 2023 18:03:47 -0400 Subject: Tests/CXXModules: replace the object extension as well --- Tests/RunCMake/CXXModules/check-json.cmake | 1 + Tests/RunCMake/CXXModules/compiler_introspection.cmake | 1 + 2 files changed, 2 insertions(+) diff --git a/Tests/RunCMake/CXXModules/check-json.cmake b/Tests/RunCMake/CXXModules/check-json.cmake index 0790b6b..455ebea 100644 --- a/Tests/RunCMake/CXXModules/check-json.cmake +++ b/Tests/RunCMake/CXXModules/check-json.cmake @@ -15,6 +15,7 @@ function (json_placeholders in out) endif () string(REPLACE "" "${RunCMake_SOURCE_DIR}" in "${in}") string(REPLACE "" "${RunCMake_TEST_BINARY_DIR}" in "${in}") + string(REPLACE "" "${CMAKE_CXX_OUTPUT_EXTENSION}" in "${in}") set("${out}" "${in}" PARENT_SCOPE) endfunction () diff --git a/Tests/RunCMake/CXXModules/compiler_introspection.cmake b/Tests/RunCMake/CXXModules/compiler_introspection.cmake index 0e61383..50644ff 100644 --- a/Tests/RunCMake/CXXModules/compiler_introspection.cmake +++ b/Tests/RunCMake/CXXModules/compiler_introspection.cmake @@ -21,6 +21,7 @@ set(CMAKE_CXX_COMPILE_FEATURES \"${CMAKE_CXX_COMPILE_FEATURES}\") set(CMAKE_MAKE_PROGRAM \"${CMAKE_MAKE_PROGRAM}\") set(forced_cxx_standard \"${forced_cxx_standard}\") set(CMAKE_CXX_COMPILER_VERSION \"${CMAKE_CXX_COMPILER_VERSION}\") +set(CMAKE_CXX_OUTPUT_EXTENSION \"${CMAKE_CXX_OUTPUT_EXTENSION}\") ") file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/info.cmake" "${info}") -- cgit v0.12 From 86e7fb72cb6547c51a30590c3d0bcc13b1779f6e Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 25 Sep 2023 18:05:35 -0400 Subject: Tests/CXXModules: use a less generic name for the config --- .../RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake | 10 +++++----- Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake | 10 +++++----- Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake | 10 +++++----- Tests/RunCMake/CXXModules/check-json.cmake | 6 +++--- 4 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake index 124efa8..222cb6b 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake @@ -2,19 +2,19 @@ include("${CMAKE_CURRENT_LIST_DIR}/check-json.cmake") if (RunCMake_GENERATOR_IS_MULTI_CONFIG) set(have_file 0) - foreach (config IN ITEMS Release Debug RelWithDebInfo MinSizeRel) - if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-bmi-install-public.dir/${config}/CXXDependInfo.json") + foreach (CXXModules_config IN ITEMS Release Debug RelWithDebInfo MinSizeRel) + if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-bmi-install-public.dir/${CXXModules_config}/CXXDependInfo.json") continue () endif () set(have_file 1) - set(CMAKE_BUILD_TYPE "${config}") + set(CMAKE_BUILD_TYPE "${CXXModules_config}") - file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-bmi-install-public.dir/${config}/CXXDependInfo.json" actual_contents) + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-bmi-install-public.dir/${CXXModules_config}/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoBMIInstall-public.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") - file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-bmi-install-private.dir/${config}/CXXDependInfo.json" actual_contents) + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-bmi-install-private.dir/${CXXModules_config}/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoBMIInstall-private.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") endforeach () diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake index b08b63f..4e20782 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake @@ -2,19 +2,19 @@ include("${CMAKE_CURRENT_LIST_DIR}/check-json.cmake") if (RunCMake_GENERATOR_IS_MULTI_CONFIG) set(have_file 0) - foreach (config IN ITEMS Release Debug RelWithDebInfo MinSizeRel) - if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-exports-public.dir/${config}/CXXDependInfo.json") + foreach (CXXModules_config IN ITEMS Release Debug RelWithDebInfo MinSizeRel) + if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-exports-public.dir/${CXXModules_config}/CXXDependInfo.json") continue () endif () set(have_file 1) - set(CMAKE_BUILD_TYPE "${config}") + set(CMAKE_BUILD_TYPE "${CXXModules_config}") - file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-exports-public.dir/${config}/CXXDependInfo.json" actual_contents) + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-exports-public.dir/${CXXModules_config}/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoExport-public.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") - file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-exports-private.dir/${config}/CXXDependInfo.json" actual_contents) + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-exports-private.dir/${CXXModules_config}/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoExport-private.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") endforeach () diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake index 785d123..f0005ce 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake @@ -2,19 +2,19 @@ include("${CMAKE_CURRENT_LIST_DIR}/check-json.cmake") if (RunCMake_GENERATOR_IS_MULTI_CONFIG) set(have_file 0) - foreach (config IN ITEMS Release Debug RelWithDebInfo MinSizeRel) - if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-file-sets-public.dir/${config}/CXXDependInfo.json") + foreach (CXXModules_config IN ITEMS Release Debug RelWithDebInfo MinSizeRel) + if (NOT EXISTS "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-file-sets-public.dir/${CXXModules_config}/CXXDependInfo.json") continue () endif () set(have_file 1) - set(CMAKE_BUILD_TYPE "${config}") + set(CMAKE_BUILD_TYPE "${CXXModules_config}") - file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-file-sets-public.dir/${config}/CXXDependInfo.json" actual_contents) + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-file-sets-public.dir/${CXXModules_config}/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoFileSet-public.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") - file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-file-sets-private.dir/${config}/CXXDependInfo.json" actual_contents) + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-file-sets-private.dir/${CXXModules_config}/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoFileSet-private.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") endforeach () diff --git a/Tests/RunCMake/CXXModules/check-json.cmake b/Tests/RunCMake/CXXModules/check-json.cmake index 455ebea..1db2fe1 100644 --- a/Tests/RunCMake/CXXModules/check-json.cmake +++ b/Tests/RunCMake/CXXModules/check-json.cmake @@ -2,14 +2,14 @@ cmake_policy(PUSH) cmake_policy(SET CMP0057 NEW) function (json_placeholders in out) - string(REPLACE "" "${CMAKE_BUILD_TYPE}" in "${in}") + string(REPLACE "" "${CXXModules_config}" in "${in}") if (RunCMake_GENERATOR_IS_MULTI_CONFIG) - string(REPLACE "" "${CMAKE_BUILD_TYPE}/" in "${in}") + string(REPLACE "" "/${CXXModules_config}" in "${in}") else () string(REPLACE "" "" in "${in}") endif () if (CMAKE_BUILD_TYPE) - string(REPLACE "" "${CMAKE_BUILD_TYPE}" in "${in}") + string(REPLACE "" "${CXXModules_config}" in "${in}") else () string(REPLACE "" "noconfig" in "${in}") endif () -- cgit v0.12 From 5d9631fbddcacdf6da5c6123f05af40daf6dbf42 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 25 Sep 2023 18:08:33 -0400 Subject: Tests/CXXModules: fix key set mismatch error messages --- Tests/RunCMake/CXXModules/check-json.cmake | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Tests/RunCMake/CXXModules/check-json.cmake b/Tests/RunCMake/CXXModules/check-json.cmake index 1db2fe1..bb04b36 100644 --- a/Tests/RunCMake/CXXModules/check-json.cmake +++ b/Tests/RunCMake/CXXModules/check-json.cmake @@ -137,12 +137,12 @@ function (check_json_object path actual expect) if (actual_keys_missed) string(REPLACE ";" ", " actual_keys_missed_text "${actual_keys_missed}") list(APPEND RunCMake_TEST_FAILED - "Missing expected members at ${path}: ${actual_keys_missed_text}") + "Extra unexpected members at ${path}: ${actual_keys_missed_text}") endif () if (expect_keys_missed) string(REPLACE ";" ", " expect_keys_missed_text "${expect_keys_missed}") list(APPEND RunCMake_TEST_FAILED - "Extra unexpected members at ${path}: ${expect_keys_missed_text}") + "Missing expected members at ${path}: ${expect_keys_missed_text}") endif () foreach (key IN LISTS common_keys) -- cgit v0.12 From 11b62ef118336c12ad9543e871c7103ae40c2b9c Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 25 Sep 2023 11:05:04 -0400 Subject: Tests/CXXModules: add missing `bmi-only` and compiler id fields Missed because the test script did not properly bubble up error reports. --- .../CXXModules/expect/NinjaDependInfoBMIInstall-private.json | 5 +++++ .../RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json | 5 +++++ Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json | 5 +++++ Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json | 5 +++++ Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json | 5 +++++ Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json | 5 +++++ 6 files changed, 30 insertions(+) diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json index 65f0759..e95c8ee 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json @@ -6,9 +6,12 @@ "script-location": "/CMakeFiles/ninja-bmi-install-private.dir/install-cxx-module-bmi-.cmake" }, "compiler-id": "", + "compiler-frontend-variant": "", + "compiler-simulate-id": "", "config": "", "cxx-modules": { "CMakeFiles/ninja-bmi-install-private.dir/sources/module-internal-part.cxx.o": { + "bmi-only": false, "destination": null, "name": "internal_partitions", "relative-directory": "sources", @@ -17,6 +20,7 @@ "visibility": "PRIVATE" }, "CMakeFiles/ninja-bmi-install-private.dir/sources/module-part.cxx.o": { + "bmi-only": false, "destination": null, "name": "modules", "relative-directory": "", @@ -25,6 +29,7 @@ "visibility": "PRIVATE" }, "CMakeFiles/ninja-bmi-install-private.dir/sources/module.cxx.o": { + "bmi-only": false, "destination": null, "name": "modules", "relative-directory": "", diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json index 9c8a895..e1432b4 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json @@ -6,9 +6,12 @@ "script-location": "/CMakeFiles/ninja-bmi-install-public.dir/install-cxx-module-bmi-noconfig.cmake" }, "compiler-id": "", + "compiler-frontend-variant": "", + "compiler-simulate-id": "", "config": "", "cxx-modules": { "CMakeFiles/ninja-bmi-install-public.dir/sources/module-internal-part.cxx.o": { + "bmi-only": false, "destination": "lib/cxx/internals", "name": "internal_partitions", "relative-directory": "sources", @@ -17,6 +20,7 @@ "visibility": "PUBLIC" }, "CMakeFiles/ninja-bmi-install-public.dir/sources/module-part.cxx.o": { + "bmi-only": false, "destination": "lib/cxx", "name": "modules", "relative-directory": "", @@ -25,6 +29,7 @@ "visibility": "PUBLIC" }, "CMakeFiles/ninja-bmi-install-public.dir/sources/module.cxx.o": { + "bmi-only": false, "destination": "lib/cxx", "name": "modules", "relative-directory": "", diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json index 0545981..e639618 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json @@ -1,9 +1,12 @@ { "bmi-installation": null, "compiler-id": "", + "compiler-frontend-variant": "", + "compiler-simulate-id": "", "config": "", "cxx-modules": { "CMakeFiles/ninja-exports-private.dir/sources/module-internal-part.cxx.o": { + "bmi-only": false, "destination": null, "name": "internal_partitions", "relative-directory": "sources", @@ -12,6 +15,7 @@ "visibility": "PRIVATE" }, "CMakeFiles/ninja-exports-private.dir/sources/module-part.cxx.o": { + "bmi-only": false, "destination": null, "name": "modules", "relative-directory": "", @@ -20,6 +24,7 @@ "visibility": "PRIVATE" }, "CMakeFiles/ninja-exports-private.dir/sources/module.cxx.o": { + "bmi-only": false, "destination": null, "name": "modules", "relative-directory": "", diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json index adc3ae3..114d1ec 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json @@ -1,9 +1,12 @@ { "bmi-installation": null, "compiler-id": "", + "compiler-frontend-variant": "", + "compiler-simulate-id": "", "config": "", "cxx-modules": { "CMakeFiles/ninja-exports-public.dir/sources/module-internal-part.cxx.o": { + "bmi-only": false, "destination": "lib/cxx/internals", "name": "internal_partitions", "relative-directory": "sources", @@ -12,6 +15,7 @@ "visibility": "PUBLIC" }, "CMakeFiles/ninja-exports-public.dir/sources/module-part.cxx.o": { + "bmi-only": false, "destination": "lib/cxx", "name": "modules", "relative-directory": "", @@ -20,6 +24,7 @@ "visibility": "PUBLIC" }, "CMakeFiles/ninja-exports-public.dir/sources/module.cxx.o": { + "bmi-only": false, "destination": "lib/cxx", "name": "modules", "relative-directory": "", diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json index 9ba6568..bf2a78a 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json @@ -1,9 +1,12 @@ { "bmi-installation": null, "compiler-id": "", + "compiler-frontend-variant": "", + "compiler-simulate-id": "", "config": "", "cxx-modules": { "CMakeFiles/ninja-file-sets-private.dir/sources/module-internal-part.cxx.o": { + "bmi-only": false, "destination": null, "name": "internal_partitions", "relative-directory": "sources", @@ -12,6 +15,7 @@ "visibility": "PRIVATE" }, "CMakeFiles/ninja-file-sets-private.dir/sources/module-part.cxx.o": { + "bmi-only": false, "destination": null, "name": "modules", "relative-directory": "", @@ -20,6 +24,7 @@ "visibility": "PRIVATE" }, "CMakeFiles/ninja-file-sets-private.dir/sources/module.cxx.o": { + "bmi-only": false, "destination": null, "name": "modules", "relative-directory": "", diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json index 46e2cbf..290754e 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json @@ -1,9 +1,12 @@ { "bmi-installation": null, "compiler-id": "", + "compiler-frontend-variant": "", + "compiler-simulate-id": "", "config": "", "cxx-modules": { "CMakeFiles/ninja-file-sets-public.dir/sources/module-internal-part.cxx.o": { + "bmi-only": false, "destination": "lib/cxx/internals", "name": "internal_partitions", "relative-directory": "sources", @@ -12,6 +15,7 @@ "visibility": "PUBLIC" }, "CMakeFiles/ninja-file-sets-public.dir/sources/module-part.cxx.o": { + "bmi-only": false, "destination": "lib/cxx", "name": "modules", "relative-directory": "", @@ -20,6 +24,7 @@ "visibility": "PUBLIC" }, "CMakeFiles/ninja-file-sets-public.dir/sources/module.cxx.o": { + "bmi-only": false, "destination": "lib/cxx", "name": "modules", "relative-directory": "", -- cgit v0.12 From 5ab6b09691ecd082e385493cdc6c24304d195150 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Mon, 25 Sep 2023 18:09:40 -0400 Subject: Tests/CXXModules: fix multi-config and MSVC details --- .../CXXModules/expect/NinjaDependInfoBMIInstall-private.json | 8 ++++---- .../CXXModules/expect/NinjaDependInfoBMIInstall-public.json | 10 +++++----- .../CXXModules/expect/NinjaDependInfoExport-private.json | 8 ++++---- .../CXXModules/expect/NinjaDependInfoExport-public.json | 8 ++++---- .../CXXModules/expect/NinjaDependInfoFileSet-private.json | 8 ++++---- .../CXXModules/expect/NinjaDependInfoFileSet-public.json | 8 ++++---- 6 files changed, 25 insertions(+), 25 deletions(-) diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json index e95c8ee..45b0396 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-private.json @@ -10,7 +10,7 @@ "compiler-simulate-id": "", "config": "", "cxx-modules": { - "CMakeFiles/ninja-bmi-install-private.dir/sources/module-internal-part.cxx.o": { + "CMakeFiles/ninja-bmi-install-private.dir/sources/module-internal-part.cxx": { "bmi-only": false, "destination": null, "name": "internal_partitions", @@ -19,7 +19,7 @@ "type": "CXX_MODULES", "visibility": "PRIVATE" }, - "CMakeFiles/ninja-bmi-install-private.dir/sources/module-part.cxx.o": { + "CMakeFiles/ninja-bmi-install-private.dir/sources/module-part.cxx": { "bmi-only": false, "destination": null, "name": "modules", @@ -28,7 +28,7 @@ "type": "CXX_MODULES", "visibility": "PRIVATE" }, - "CMakeFiles/ninja-bmi-install-private.dir/sources/module.cxx.o": { + "CMakeFiles/ninja-bmi-install-private.dir/sources/module.cxx": { "bmi-only": false, "destination": null, "name": "modules", @@ -46,5 +46,5 @@ "include-dirs": [], "language": "CXX", "linked-target-dirs": [], - "module-dir": "/CMakeFiles/ninja-bmi-install-private.dir" + "module-dir": "/CMakeFiles/ninja-bmi-install-private.dir" } diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json index e1432b4..30b55e3 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoBMIInstall-public.json @@ -3,14 +3,14 @@ "destination": "lib/cxx/modules/", "message-level": "", "permissions": "", - "script-location": "/CMakeFiles/ninja-bmi-install-public.dir/install-cxx-module-bmi-noconfig.cmake" + "script-location": "/CMakeFiles/ninja-bmi-install-public.dir/install-cxx-module-bmi-.cmake" }, "compiler-id": "", "compiler-frontend-variant": "", "compiler-simulate-id": "", "config": "", "cxx-modules": { - "CMakeFiles/ninja-bmi-install-public.dir/sources/module-internal-part.cxx.o": { + "CMakeFiles/ninja-bmi-install-public.dir/sources/module-internal-part.cxx": { "bmi-only": false, "destination": "lib/cxx/internals", "name": "internal_partitions", @@ -19,7 +19,7 @@ "type": "CXX_MODULES", "visibility": "PUBLIC" }, - "CMakeFiles/ninja-bmi-install-public.dir/sources/module-part.cxx.o": { + "CMakeFiles/ninja-bmi-install-public.dir/sources/module-part.cxx": { "bmi-only": false, "destination": "lib/cxx", "name": "modules", @@ -28,7 +28,7 @@ "type": "CXX_MODULES", "visibility": "PUBLIC" }, - "CMakeFiles/ninja-bmi-install-public.dir/sources/module.cxx.o": { + "CMakeFiles/ninja-bmi-install-public.dir/sources/module.cxx": { "bmi-only": false, "destination": "lib/cxx", "name": "modules", @@ -46,5 +46,5 @@ "include-dirs": [], "language": "CXX", "linked-target-dirs": [], - "module-dir": "/CMakeFiles/ninja-bmi-install-public.dir" + "module-dir": "/CMakeFiles/ninja-bmi-install-public.dir" } diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json index e639618..f06a846 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-private.json @@ -5,7 +5,7 @@ "compiler-simulate-id": "", "config": "", "cxx-modules": { - "CMakeFiles/ninja-exports-private.dir/sources/module-internal-part.cxx.o": { + "CMakeFiles/ninja-exports-private.dir/sources/module-internal-part.cxx": { "bmi-only": false, "destination": null, "name": "internal_partitions", @@ -14,7 +14,7 @@ "type": "CXX_MODULES", "visibility": "PRIVATE" }, - "CMakeFiles/ninja-exports-private.dir/sources/module-part.cxx.o": { + "CMakeFiles/ninja-exports-private.dir/sources/module-part.cxx": { "bmi-only": false, "destination": null, "name": "modules", @@ -23,7 +23,7 @@ "type": "CXX_MODULES", "visibility": "PRIVATE" }, - "CMakeFiles/ninja-exports-private.dir/sources/module.cxx.o": { + "CMakeFiles/ninja-exports-private.dir/sources/module.cxx": { "bmi-only": false, "destination": null, "name": "modules", @@ -74,5 +74,5 @@ "include-dirs": [], "language": "CXX", "linked-target-dirs": [], - "module-dir": "/CMakeFiles/ninja-exports-private.dir" + "module-dir": "/CMakeFiles/ninja-exports-private.dir" } diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json index 114d1ec..938481c 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoExport-public.json @@ -5,7 +5,7 @@ "compiler-simulate-id": "", "config": "", "cxx-modules": { - "CMakeFiles/ninja-exports-public.dir/sources/module-internal-part.cxx.o": { + "CMakeFiles/ninja-exports-public.dir/sources/module-internal-part.cxx": { "bmi-only": false, "destination": "lib/cxx/internals", "name": "internal_partitions", @@ -14,7 +14,7 @@ "type": "CXX_MODULES", "visibility": "PUBLIC" }, - "CMakeFiles/ninja-exports-public.dir/sources/module-part.cxx.o": { + "CMakeFiles/ninja-exports-public.dir/sources/module-part.cxx": { "bmi-only": false, "destination": "lib/cxx", "name": "modules", @@ -23,7 +23,7 @@ "type": "CXX_MODULES", "visibility": "PUBLIC" }, - "CMakeFiles/ninja-exports-public.dir/sources/module.cxx.o": { + "CMakeFiles/ninja-exports-public.dir/sources/module.cxx": { "bmi-only": false, "destination": "lib/cxx", "name": "modules", @@ -74,5 +74,5 @@ "include-dirs": [], "language": "CXX", "linked-target-dirs": [], - "module-dir": "/CMakeFiles/ninja-exports-public.dir" + "module-dir": "/CMakeFiles/ninja-exports-public.dir" } diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json index bf2a78a..3a66a94 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-private.json @@ -5,7 +5,7 @@ "compiler-simulate-id": "", "config": "", "cxx-modules": { - "CMakeFiles/ninja-file-sets-private.dir/sources/module-internal-part.cxx.o": { + "CMakeFiles/ninja-file-sets-private.dir/sources/module-internal-part.cxx": { "bmi-only": false, "destination": null, "name": "internal_partitions", @@ -14,7 +14,7 @@ "type": "CXX_MODULES", "visibility": "PRIVATE" }, - "CMakeFiles/ninja-file-sets-private.dir/sources/module-part.cxx.o": { + "CMakeFiles/ninja-file-sets-private.dir/sources/module-part.cxx": { "bmi-only": false, "destination": null, "name": "modules", @@ -23,7 +23,7 @@ "type": "CXX_MODULES", "visibility": "PRIVATE" }, - "CMakeFiles/ninja-file-sets-private.dir/sources/module.cxx.o": { + "CMakeFiles/ninja-file-sets-private.dir/sources/module.cxx": { "bmi-only": false, "destination": null, "name": "modules", @@ -41,5 +41,5 @@ "include-dirs": [], "language": "CXX", "linked-target-dirs": [], - "module-dir": "/CMakeFiles/ninja-file-sets-private.dir" + "module-dir": "/CMakeFiles/ninja-file-sets-private.dir" } diff --git a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json index 290754e..ac06c0f 100644 --- a/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json +++ b/Tests/RunCMake/CXXModules/expect/NinjaDependInfoFileSet-public.json @@ -5,7 +5,7 @@ "compiler-simulate-id": "", "config": "", "cxx-modules": { - "CMakeFiles/ninja-file-sets-public.dir/sources/module-internal-part.cxx.o": { + "CMakeFiles/ninja-file-sets-public.dir/sources/module-internal-part.cxx": { "bmi-only": false, "destination": "lib/cxx/internals", "name": "internal_partitions", @@ -14,7 +14,7 @@ "type": "CXX_MODULES", "visibility": "PUBLIC" }, - "CMakeFiles/ninja-file-sets-public.dir/sources/module-part.cxx.o": { + "CMakeFiles/ninja-file-sets-public.dir/sources/module-part.cxx": { "bmi-only": false, "destination": "lib/cxx", "name": "modules", @@ -23,7 +23,7 @@ "type": "CXX_MODULES", "visibility": "PUBLIC" }, - "CMakeFiles/ninja-file-sets-public.dir/sources/module.cxx.o": { + "CMakeFiles/ninja-file-sets-public.dir/sources/module.cxx": { "bmi-only": false, "destination": "lib/cxx", "name": "modules", @@ -41,5 +41,5 @@ "include-dirs": [], "language": "CXX", "linked-target-dirs": [], - "module-dir": "/CMakeFiles/ninja-file-sets-public.dir" + "module-dir": "/CMakeFiles/ninja-file-sets-public.dir" } -- cgit v0.12 From 3b632f32fae72ab70f752dd1e22ced40b7a81537 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Tue, 26 Sep 2023 09:40:25 -0400 Subject: Tests/CXXModules: forward the default build type Windows defaults the build type to `Debug` while other platforms have an empty string. --- Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake | 3 +++ Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake | 3 +++ Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake | 3 +++ Tests/RunCMake/CXXModules/compiler_introspection.cmake | 1 + 4 files changed, 10 insertions(+) diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake index 222cb6b..6de2e1e 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoBMIInstall-check.cmake @@ -24,6 +24,9 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG) "No recognized build configurations found.") endif () else () + set(CXXModules_config "${CXXModules_default_build_type}") + set(CMAKE_BUILD_TYPE "${CXXModules_default_build_type}") + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-bmi-install-public.dir/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoBMIInstall-public.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake index 4e20782..0c933c9 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoExport-check.cmake @@ -24,6 +24,9 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG) "No recognized build configurations found.") endif () else () + set(CXXModules_config "${CXXModules_default_build_type}") + set(CMAKE_BUILD_TYPE "${CXXModules_default_build_type}") + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-exports-public.dir/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoExport-public.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") diff --git a/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake b/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake index f0005ce..4eaa891 100644 --- a/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake +++ b/Tests/RunCMake/CXXModules/NinjaDependInfoFileSet-check.cmake @@ -24,6 +24,9 @@ if (RunCMake_GENERATOR_IS_MULTI_CONFIG) "No recognized build configurations found.") endif () else () + set(CXXModules_config "${CXXModules_default_build_type}") + set(CMAKE_BUILD_TYPE "${CXXModules_default_build_type}") + file(READ "${RunCMake_TEST_BINARY_DIR}/CMakeFiles/ninja-file-sets-public.dir/CXXDependInfo.json" actual_contents) file(READ "${CMAKE_CURRENT_LIST_DIR}/expect/NinjaDependInfoFileSet-public.json" expect_contents) check_json("${actual_contents}" "${expect_contents}") diff --git a/Tests/RunCMake/CXXModules/compiler_introspection.cmake b/Tests/RunCMake/CXXModules/compiler_introspection.cmake index 50644ff..8c74940 100644 --- a/Tests/RunCMake/CXXModules/compiler_introspection.cmake +++ b/Tests/RunCMake/CXXModules/compiler_introspection.cmake @@ -22,6 +22,7 @@ set(CMAKE_MAKE_PROGRAM \"${CMAKE_MAKE_PROGRAM}\") set(forced_cxx_standard \"${forced_cxx_standard}\") set(CMAKE_CXX_COMPILER_VERSION \"${CMAKE_CXX_COMPILER_VERSION}\") set(CMAKE_CXX_OUTPUT_EXTENSION \"${CMAKE_CXX_OUTPUT_EXTENSION}\") +set(CXXModules_default_build_type \"${CMAKE_BUILD_TYPE}\") ") file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/info.cmake" "${info}") -- cgit v0.12