From 56efc60fa0b9ef067d4b5648e43136b250872088 Mon Sep 17 00:00:00 2001 From: Brad King Date: Mon, 17 Jan 2011 17:21:30 -0500 Subject: [PATCH] Honor CMAKE_TRY_COMPILE_CONFIGURATION in Makefile generators (#10809) Previously this was used only in multi-configuration generators to choose the configuration of try_compile and try_run at their build time. Teach CMake to honor the variable in single-configuration generators as the CMAKE_BUILD_TYPE. --- Source/cmMakefile.cxx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/Source/cmMakefile.cxx b/Source/cmMakefile.cxx index 53f4c3cb1..43a7ae010 100644 --- a/Source/cmMakefile.cxx +++ b/Source/cmMakefile.cxx @@ -2717,6 +2717,18 @@ int cmMakefile::TryCompile(const char *srcdir, const char *bindir, cm.SetStartOutputDirectory(bindir); cm.SetCMakeCommand(cmakeCommand.c_str()); cm.LoadCache(); + if(!gg->IsMultiConfig()) + { + if(const char* config = + this->GetDefinition("CMAKE_TRY_COMPILE_CONFIGURATION")) + { + // Tell the single-configuration generator which one to use. + // Add this before the user-provided CMake arguments in case + // one of the arguments is -DCMAKE_BUILD_TYPE=... + cm.AddCacheEntry("CMAKE_BUILD_TYPE", config, + "Build configuration", cmCacheManager::STRING); + } + } // if cmake args were provided then pass them in if (cmakeArgs) {