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.
8 lines
274 B
ReStructuredText
8 lines
274 B
ReStructuredText
toolchain-flag-init
|
|
-------------------
|
|
|
|
* :variable:`Toolchain files <CMAKE_TOOLCHAIN_FILE>` may now set a
|
|
:variable:`CMAKE_<LANG>_FLAGS_INIT` variable to initialize the
|
|
:variable:`CMAKE_<LANG>_FLAGS` cache entry the first time a language is
|
|
enabled in a build tree.
|