Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files

Document these variables.

Change our convention for setting these variables from:

    set(CMAKE_C_FLAGS_INIT "...")

to

    string(APPEND CMAKE_C_FLAGS_INIT " ...")

so that any value previously set by a toolchain file will be used.

Automate the conversion with:

    sed -i 's/set *(\(CMAKE_\(C\|CXX\|Fortran\|RC\|ASM\|${[^}]\+}\)_FLAGS\(_[^_]\+\)\?_INIT \+"\)/string(APPEND \1 /' \
      Modules/Compiler/*.cmake Modules/Platform/*.cmake

and follow up with some manual fixes (e.g. to cases that already
meant to append).  Also revert the automated changes to contexts
that are not protected from running multiple times.
This commit is contained in:
Brad King
2016-07-05 13:35:13 -04:00
parent cdde77e5f6
commit a66004bee0
48 changed files with 265 additions and 151 deletions
+5 -5
View File
@@ -23,9 +23,9 @@ macro(__compiler_pathscale lang)
set(CMAKE_${lang}_VERBOSE_FLAG "-v")
# Initial configuration flags.
set(CMAKE_${lang}_FLAGS_INIT "")
set(CMAKE_${lang}_FLAGS_DEBUG_INIT "-g -O0")
set(CMAKE_${lang}_FLAGS_MINSIZEREL_INIT "-Os")
set(CMAKE_${lang}_FLAGS_RELEASE_INIT "-O3")
set(CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT "-g -O2")
string(APPEND CMAKE_${lang}_FLAGS_INIT " ")
string(APPEND CMAKE_${lang}_FLAGS_DEBUG_INIT " -g -O0")
string(APPEND CMAKE_${lang}_FLAGS_MINSIZEREL_INIT " -Os")
string(APPEND CMAKE_${lang}_FLAGS_RELEASE_INIT " -O3")
string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -g -O2")
endmacro()