Merge topic 'revert-try_compile-config-flags'
943fe6e3
Revert "try_compile: Honor CMAKE_<LANG>_FLAGS_<CONFIG> changes"
This commit is contained in:
commit
db4ba61f39
|
@ -42,11 +42,6 @@ Commands
|
||||||
commands gained support for the ``%s`` placeholder. This is
|
commands gained support for the ``%s`` placeholder. This is
|
||||||
the number of seconds since the UNIX Epoch.
|
the number of seconds since the UNIX Epoch.
|
||||||
|
|
||||||
* The :command:`try_compile` command source file signature now honors
|
|
||||||
configuration-specific flags (e.g. :variable:`CMAKE_<LANG>_FLAGS_DEBUG`)
|
|
||||||
in the generated test project. Previously only the default such flags
|
|
||||||
for the current toolchain were used.
|
|
||||||
|
|
||||||
Variables
|
Variables
|
||||||
---------
|
---------
|
||||||
|
|
||||||
|
|
|
@ -333,14 +333,6 @@ int cmCoreTryCompile::TryCompileCode(std::vector<std::string> const& argv,
|
||||||
fprintf(fout, "set(CMAKE_%s_FLAGS \"${CMAKE_%s_FLAGS}"
|
fprintf(fout, "set(CMAKE_%s_FLAGS \"${CMAKE_%s_FLAGS}"
|
||||||
" ${COMPILE_DEFINITIONS}\")\n",
|
" ${COMPILE_DEFINITIONS}\")\n",
|
||||||
li->c_str(), li->c_str());
|
li->c_str(), li->c_str());
|
||||||
static std::string const cfgDefault = "DEBUG";
|
|
||||||
std::string const cfg =
|
|
||||||
!tcConfig.empty() ? cmSystemTools::UpperCase(tcConfig) : cfgDefault;
|
|
||||||
std::string const langFlagsCfg = "CMAKE_" + *li + "_FLAGS_" + cfg;
|
|
||||||
const char* flagsCfg = this->Makefile->GetDefinition(langFlagsCfg);
|
|
||||||
fprintf(
|
|
||||||
fout, "set(%s %s)\n", langFlagsCfg.c_str(),
|
|
||||||
cmOutputConverter::EscapeForCMake(flagsCfg ? flagsCfg : "").c_str());
|
|
||||||
}
|
}
|
||||||
switch (this->Makefile->GetPolicyStatus(cmPolicies::CMP0056)) {
|
switch (this->Makefile->GetPolicyStatus(cmPolicies::CMP0056)) {
|
||||||
case cmPolicies::WARN:
|
case cmPolicies::WARN:
|
||||||
|
|
|
@ -1,17 +0,0 @@
|
||||||
enable_language(C)
|
|
||||||
set(CMAKE_C_FLAGS_RELEASE "-DPP_ERROR ${CMAKE_C_FLAGS_DEBUG}")
|
|
||||||
|
|
||||||
#-----------------------------------------------------------------------------
|
|
||||||
set(CMAKE_TRY_COMPILE_CONFIGURATION Release)
|
|
||||||
try_compile(RESULT ${CMAKE_CURRENT_BINARY_DIR}
|
|
||||||
${CMAKE_CURRENT_SOURCE_DIR}/src.c
|
|
||||||
OUTPUT_VARIABLE out
|
|
||||||
)
|
|
||||||
string(REPLACE "\n" "\n " out " ${out}")
|
|
||||||
if(RESULT)
|
|
||||||
message(FATAL_ERROR "try_compile passed but should have failed:\n${out}")
|
|
||||||
elseif(NOT "x${out}" MATCHES "PP_ERROR is defined")
|
|
||||||
message(FATAL_ERROR "try_compile did not fail with PP_ERROR:\n${out}")
|
|
||||||
else()
|
|
||||||
message(STATUS "try_compile with per-config flag worked as expected")
|
|
||||||
endif()
|
|
|
@ -25,7 +25,6 @@ run_cmake(TargetTypeInvalid)
|
||||||
run_cmake(TargetTypeStatic)
|
run_cmake(TargetTypeStatic)
|
||||||
|
|
||||||
run_cmake(CMP0056)
|
run_cmake(CMP0056)
|
||||||
run_cmake(CompileFlags)
|
|
||||||
|
|
||||||
if(RunCMake_GENERATOR MATCHES "Make|Ninja")
|
if(RunCMake_GENERATOR MATCHES "Make|Ninja")
|
||||||
# Use a single build tree for a few tests without cleaning.
|
# Use a single build tree for a few tests without cleaning.
|
||||||
|
|
|
@ -2,6 +2,3 @@ int main(void)
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
#ifdef PP_ERROR
|
|
||||||
#error PP_ERROR is defined
|
|
||||||
#endif
|
|
||||||
|
|
Loading…
Reference in New Issue