<LANG>_COMPILER_LAUNCHER: Expand subset of genexes that can be evaluated

This commit is contained in:
Kyle Edwards
2023-02-02 11:37:30 -05:00
parent 063913f486
commit 84ada0b0c9
22 changed files with 21 additions and 19 deletions

View File

@@ -1044,7 +1044,8 @@ void cmMakefileTargetGenerator::WriteObjectRuleFiles(
std::string const clauncher_prop = lang + "_COMPILER_LAUNCHER";
cmValue clauncher = this->GeneratorTarget->GetProperty(clauncher_prop);
std::string evaluatedClauncher = cmGeneratorExpression::Evaluate(
*clauncher, this->LocalGenerator, config);
*clauncher, this->LocalGenerator, config, this->GeneratorTarget,
nullptr, this->GeneratorTarget, lang);
if (!evaluatedClauncher.empty()) {
compilerLauncher = evaluatedClauncher;
}

View File

@@ -886,7 +886,8 @@ void cmNinjaTargetGenerator::WriteCompileRule(const std::string& lang,
std::string const clauncher_prop = cmStrCat(lang, "_COMPILER_LAUNCHER");
cmValue clauncher = this->GeneratorTarget->GetProperty(clauncher_prop);
std::string evaluatedClauncher = cmGeneratorExpression::Evaluate(
*clauncher, this->LocalGenerator, config);
*clauncher, this->LocalGenerator, config, this->GeneratorTarget, nullptr,
this->GeneratorTarget, lang);
if (!evaluatedClauncher.empty()) {
compilerLauncher = evaluatedClauncher;
}

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=C.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=C.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=CUDA.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=CUDA.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=CXX.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=CXX.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=Fortran.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=Fortran.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=HIP.*

View File

@@ -1 +0,0 @@
.*-E env USED_LAUNCHER=1.*

View File

@@ -0,0 +1 @@
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=HIP.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=ISPC.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=ISPC.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=OBJC.*

View File

@@ -1 +0,0 @@
.*-E env USED_LAUNCHER=1.*

View File

@@ -0,0 +1 @@
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=OBJC.*

View File

@@ -1 +1 @@
.*-E env USED_LAUNCHER=1.*
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=OBJCXX.*

View File

@@ -1 +0,0 @@
.*-E env USED_LAUNCHER=1.*

View File

@@ -0,0 +1 @@
.*-E env USED_LAUNCHER=1 TARGET_NAME=main LANGUAGE=OBJCXX.*

View File

@@ -18,7 +18,7 @@ endfunction()
function(run_compiler_launcher_env lang)
string(REGEX REPLACE "-.*" "" core_lang "${lang}")
# Use the noop genexp $<PATH:...> genexp to validate genexp support.
set(ENV{CMAKE_${core_lang}_COMPILER_LAUNCHER} "$<PATH:CMAKE_PATH,${CMAKE_COMMAND}>;-E;env;USED_LAUNCHER=1")
set(ENV{CMAKE_${core_lang}_COMPILER_LAUNCHER} "$<PATH:CMAKE_PATH,${CMAKE_COMMAND}>;-E;env;USED_LAUNCHER=1;TARGET_NAME=$<TARGET_PROPERTY:NAME>;LANGUAGE=$<COMPILE_LANGUAGE>")
run_compiler_launcher(${lang})
unset(ENV{CMAKE_${core_lang}_COMPILER_LAUNCHER})
endfunction()