summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBrad King <brad.king@kitware.com>2022-07-18 14:57:58 -0400
committerBrad King <brad.king@kitware.com>2022-07-18 14:57:58 -0400
commit64b22cd4598ed819f5c9c3e33c59c9e95b554b45 (patch)
tree0626415959bb16b9a23fdfd28606af833db0bcbc
parent3bae50e830d55eb967415284cdead2289962744c (diff)
parent29c7546a6150b951d5d8e3819ec937dd1a9ad7bc (diff)
downloadcmake-64b22cd4598ed819f5c9c3e33c59c9e95b554b45.tar.gz
Merge branch 'export-try-compile-crash' into release-3.23
Merge-request: !7472
-rw-r--r--Source/cmGlobalGenerator.cxx4
-rw-r--r--Tests/RunCMake/export/RunCMakeTest.cmake1
-rw-r--r--Tests/RunCMake/export/TryCompileExport.cmake9
3 files changed, 13 insertions, 1 deletions
diff --git a/Source/cmGlobalGenerator.cxx b/Source/cmGlobalGenerator.cxx
index 156ecce8a5..c75198db61 100644
--- a/Source/cmGlobalGenerator.cxx
+++ b/Source/cmGlobalGenerator.cxx
@@ -1361,7 +1361,9 @@ void cmGlobalGenerator::CreateGenerationObjects(TargetTypes targetTypes)
this->CheckTargetProperties();
}
this->CreateGeneratorTargets(targetTypes);
- this->ComputeBuildFileGenerators();
+ if (targetTypes == TargetTypes::AllTargets) {
+ this->ComputeBuildFileGenerators();
+ }
}
void cmGlobalGenerator::CreateImportedGenerationObjects(
diff --git a/Tests/RunCMake/export/RunCMakeTest.cmake b/Tests/RunCMake/export/RunCMakeTest.cmake
index 0e6020f0f4..ee00b273cf 100644
--- a/Tests/RunCMake/export/RunCMakeTest.cmake
+++ b/Tests/RunCMake/export/RunCMakeTest.cmake
@@ -18,3 +18,4 @@ run_cmake(DependOnDoubleExport)
run_cmake(UnknownExport)
run_cmake(NamelinkOnlyExport)
run_cmake(SeparateNamelinkExport)
+run_cmake(TryCompileExport)
diff --git a/Tests/RunCMake/export/TryCompileExport.cmake b/Tests/RunCMake/export/TryCompileExport.cmake
new file mode 100644
index 0000000000..5ad7c6ee0b
--- /dev/null
+++ b/Tests/RunCMake/export/TryCompileExport.cmake
@@ -0,0 +1,9 @@
+enable_language(CXX)
+
+add_library(interface INTERFACE)
+install(TARGETS interface EXPORT export)
+export(EXPORT export)
+
+add_library(imported IMPORTED INTERFACE)
+
+try_compile(tc "${CMAKE_CURRENT_BINARY_DIR}/tc" "${CMAKE_CURRENT_SOURCE_DIR}/empty.cpp" LINK_LIBRARIES imported)