From 7ca4ac8e13066a1ee118c9506d08f6185e107ee9 Mon Sep 17 00:00:00 2001 From: Ben Boeckel Date: Wed, 18 Sep 2024 13:09:18 -0400 Subject: [PATCH] cmBuildDatabase: fix language comparison for visibility Only C++ sources need checked for `CXX_MODULES` file set types, not the other way around. --- Source/cmBuildDatabase.cxx | 2 +- .../examples/expect/export-build-database-all-multi.json | 4 ++-- .../CXXModules/examples/expect/export-build-database-all.json | 2 +- .../examples/expect/export-build-database-config.json | 2 +- .../examples/expect/export-build-database-cxx-config.json | 2 +- .../examples/expect/export-build-database-cxx-multi.json | 4 ++-- .../CXXModules/examples/expect/export-build-database-cxx.json | 2 +- .../expect/export-build-database-imported-all-multi.json | 4 ++-- .../examples/expect/export-build-database-imported-all.json | 2 +- .../expect/export-build-database-imported-config.json | 2 +- .../expect/export-build-database-imported-cxx-config.json | 2 +- .../expect/export-build-database-imported-cxx-multi.json | 4 ++-- .../examples/expect/export-build-database-imported-cxx.json | 2 +- .../examples/expect/export-build-database-target.json | 2 +- 14 files changed, 18 insertions(+), 18 deletions(-) diff --git a/Source/cmBuildDatabase.cxx b/Source/cmBuildDatabase.cxx index 9770587c35..90c281f0f7 100644 --- a/Source/cmBuildDatabase.cxx +++ b/Source/cmBuildDatabase.cxx @@ -447,7 +447,7 @@ cmBuildDatabase cmBuildDatabase::ForTarget(cmGeneratorTarget* gt, bool isCXXModule = false; bool isPrivate = true; - if (sf->GetLanguage() != "CXX"_s) { + if (sf->GetLanguage() == "CXX"_s) { auto const* fs = gt->GetFileSetForSource(config, sf); if (fs && fs->GetType() == "CXX_MODULES"_s) { isCXXModule = true; diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all-multi.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all-multi.json index e1603bee2e..b7b9c03efb 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all-multi.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all-multi.json @@ -138,7 +138,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "PATH:/CMakeFiles/export_build_database.dir/importable" }, @@ -285,7 +285,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "/CMakeFiles/export_build_database.dir/importable" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all.json index 440bc4ef60..e08ee35c01 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-all.json @@ -138,7 +138,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "/CMakeFiles/export_build_database.dir/importable" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-config.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-config.json index 88771651ef..df5308f77c 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-config.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-config.json @@ -138,7 +138,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "PATH:/CMakeFiles/export_build_database.dir/importable" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-config.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-config.json index 88771651ef..df5308f77c 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-config.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-config.json @@ -138,7 +138,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "PATH:/CMakeFiles/export_build_database.dir/importable" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-multi.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-multi.json index 0a27fecd67..4a3a4397dc 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-multi.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx-multi.json @@ -138,7 +138,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "PATH:/CMakeFiles/export_build_database.dir/importable" }, @@ -285,7 +285,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "PATH:/CMakeFiles/export_build_database.dir/importable" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx.json index 88771651ef..df5308f77c 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-cxx.json @@ -138,7 +138,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "PATH:/CMakeFiles/export_build_database.dir/importable" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all-multi.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all-multi.json index 2fdaef5add..a1817d4d8f 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all-multi.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all-multi.json @@ -180,7 +180,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, @@ -263,7 +263,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all.json index cb3b3a2300..42d934bd03 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-all.json @@ -127,7 +127,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-config.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-config.json index cb3b3a2300..42d934bd03 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-config.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-config.json @@ -127,7 +127,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-config.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-config.json index cb3b3a2300..42d934bd03 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-config.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-config.json @@ -127,7 +127,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-multi.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-multi.json index 2fdaef5add..a1817d4d8f 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-multi.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx-multi.json @@ -180,7 +180,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, @@ -263,7 +263,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx.json index cb3b3a2300..42d934bd03 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-imported-cxx.json @@ -127,7 +127,7 @@ "-Dtarget_interface_option" ], "object": "PATH:CMakeFiles/use_import_interfaces.dir/use.cxx", - "private": true, + "private": false, "provides": { "importable": "" }, diff --git a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-target.json b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-target.json index 440bc4ef60..e08ee35c01 100644 --- a/Tests/RunCMake/CXXModules/examples/expect/export-build-database-target.json +++ b/Tests/RunCMake/CXXModules/examples/expect/export-build-database-target.json @@ -138,7 +138,7 @@ "-Dfrom_source_option" ], "object": "PATH:CMakeFiles/export_build_database.dir/importable.cxx", - "private": true, + "private": false, "provides": { "importable": "/CMakeFiles/export_build_database.dir/importable" },