CMake/Modules/Compiler
Brad King a66004bee0 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.
2016-07-06 10:13:31 -04:00
..
ADSP-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
ARMCC-ASM.cmake ASM: Add missing <INCLUDES> placeholder for "compile" rules 2016-03-29 09:19:10 -04:00
ARMCC-C.cmake Add support for the ARM Compiler (arm.com) 2015-11-02 13:45:24 -05:00
ARMCC-CXX.cmake Add support for the ARM Compiler (arm.com) 2015-11-02 13:45:24 -05:00
ARMCC-DetermineCompiler.cmake Add support for the ARM Compiler (arm.com) 2015-11-02 13:45:24 -05:00
ARMCC.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
Absoft-Fortran.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
AppleClang-ASM.cmake Clang: Add separate "AppleClang" compiler id 2013-10-07 20:12:46 -04:00
AppleClang-C-FeatureTests.cmake Features: Fix C90 feature detection. 2015-02-04 18:38:21 -05:00
AppleClang-C.cmake Project: Guess default standard dialect if compiler was forced (#15852) 2015-11-19 10:22:35 -05:00
AppleClang-CXX-FeatureTests.cmake Features: Record for historical Xcode clang versions. 2015-01-11 16:52:27 +01:00
AppleClang-CXX.cmake Project: Guess default standard dialect if compiler was forced (#15852) 2015-11-19 10:22:35 -05:00
AppleClang-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Borland-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Bruce-C-DetermineCompiler.cmake Add support for Bruce C Compiler (BCC) 2016-03-21 10:51:50 -04:00
Bruce-C.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
CCur-Fortran.cmake Add support for Concurrent Fortran 77 Compiler 2015-06-18 11:36:12 -04:00
Clang-ASM.cmake Clang: Split Compiler/Clang* modules out from GNU (#13550) 2012-09-19 14:06:28 -04:00
Clang-C-FeatureTests.cmake Features: Fix C90 feature detection. 2015-02-04 18:38:21 -05:00
Clang-C.cmake Project: Guess default standard dialect if compiler was forced (#15852) 2015-11-19 10:22:35 -05:00
Clang-CXX-FeatureTests.cmake Features: Split the Clang testable features to a separate file. 2014-11-11 23:01:07 +01:00
Clang-CXX-TestableFeatures.cmake Features: Clang has no cxx_decltype_incomplete_return_type in MSVC sim mode 2016-03-10 09:11:40 -05:00
Clang-CXX.cmake Record compile features for MinGW Clang on Windows (#15897) 2016-01-11 10:13:18 -05:00
Clang-DetermineCompiler.cmake Project: Generate the CXX compiler Id test from multiple files. 2014-05-07 14:00:00 +02:00
Clang-DetermineCompilerInternal.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Clang.cmake Avoid if() quoted auto-dereference when checking for "MSVC" 2014-11-19 16:24:54 -05:00
Comeau-CXX-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Compaq-C-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Compaq-CXX-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Cray-C.cmake Teach CMake about Cray C, C++, and Fortran compilers 2010-11-12 09:12:08 -05:00
Cray-CXX.cmake Teach CMake about Cray C, C++, and Fortran compilers 2010-11-12 09:12:08 -05:00
Cray-DetermineCompiler.cmake Cray: Fix compiler version detection (#15664) 2015-07-30 11:57:10 -04:00
Cray-Fortran.cmake Fortran: Add support for free- and fixed-form flags 2011-08-31 10:24:43 -04:00
CrayPrgEnv-C.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-CXX.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-Cray-C.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-Cray-CXX.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-Cray-Fortran.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-Fortran.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-GNU-C.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-GNU-CXX.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-GNU-Fortran.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-Intel-C.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-Intel-CXX.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-Intel-Fortran.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-PGI-C.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-PGI-CXX.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv-PGI-Fortran.cmake Cray: Refactor the Cray platform files to use compiler wrapper checks 2015-12-09 08:35:19 -05:00
CrayPrgEnv.cmake CrayPrgEnv: Cleanup binaries from implicit compile flag detection 2015-12-29 10:21:07 -07:00
Embarcadero-DetermineCompiler.cmake Embarcadero: Fix erroneous interpretation of __CODEGEARC_VERSION__. 2015-12-03 21:37:08 +00:00
Fujitsu-DetermineCompiler.cmake Add Fujitsu compiler detection 2014-08-11 10:31:06 -04:00
G95-Fortran.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
GHS-C.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
GHS-CXX.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
GHS-DetermineCompiler.cmake Add a 'Green Hills MULTI' generator on Windows 2015-04-20 13:55:40 -04:00
GHS.cmake GHS: Implement link flags and dirs for non-target groups (#16029) 2016-03-28 11:46:46 -04:00
GNU-ASM.cmake Change the default rules so they fit better to the new ASM handling 2011-02-23 21:21:41 +01:00
GNU-C-FeatureTests.cmake Features: Fix C90 feature detection. 2015-02-04 18:38:21 -05:00
GNU-C.cmake Project: Guess default standard dialect if compiler was forced (#15852) 2015-11-19 10:22:35 -05:00
GNU-CXX-FeatureTests.cmake Features: Update GNU 5.0 C++14 features. 2015-01-31 21:16:12 +01:00
GNU-CXX.cmake Project: Guess default standard dialect if compiler was forced (#15852) 2015-11-19 10:22:35 -05:00
GNU-DetermineCompiler.cmake GNU-DetermineCompiler: Add support for very old versions of GCC 2015-08-13 11:07:03 -04:00
GNU-Fortran.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
GNU.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
HP-ASM.cmake Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
HP-C-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
HP-C.cmake Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables 2015-07-13 10:49:46 -04:00
HP-CXX-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
HP-CXX.cmake Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables 2015-07-13 10:49:46 -04:00
HP-Fortran.cmake Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables 2015-07-13 10:49:46 -04:00
IAR-ASM.cmake Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables 2015-07-13 10:49:46 -04:00
IAR-C.cmake IAR: Add support for using this compiler with the Ninja generator 2016-02-03 14:35:06 -05:00
IAR-CXX.cmake IAR: Add support for using this compiler with the Ninja generator 2016-02-03 14:35:06 -05:00
IAR-DetermineCompiler.cmake Project: Generate the CXX compiler Id test from multiple files. 2014-05-07 14:00:00 +02:00
IAR.cmake Replace http://www.cmake.org URLs with https://cmake.org 2015-09-25 15:47:39 -04:00
IBMCPP-C-DetermineVersionInternal.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
IBMCPP-CXX-DetermineVersionInternal.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Intel-ASM.cmake Intel: Do not use GNU-like flags on Windows 2016-07-05 13:58:42 -04:00
Intel-C-FeatureTests.cmake Features: Record standards and features for Intel C on UNIX 2016-04-28 09:16:35 -04:00
Intel-C.cmake Intel: Do not use GNU-like flags on Windows 2016-07-05 13:58:42 -04:00
Intel-CXX-FeatureTests.cmake Features: Specify minimum version Intel C++ 12.1 2016-04-28 09:16:31 -04:00
Intel-CXX.cmake Intel: Do not use GNU-like flags on Windows 2016-07-05 13:58:42 -04:00
Intel-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Intel-Fortran.cmake Intel: Do not use GNU-like flags on Windows 2016-07-05 13:58:42 -04:00
Intel.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
MIPSpro-C.cmake Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
MIPSpro-CXX.cmake Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
MIPSpro-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
MIPSpro-Fortran.cmake Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
MSVC-CXX-FeatureTests.cmake Features: Record features for VS 2015 Update 2 2016-04-28 13:05:52 -04:00
MSVC-CXX.cmake Features: Populate CMAKE_<LANG>_STANDARD_DEFAULT only for supported compilers. 2015-02-04 18:29:53 -05:00
MSVC-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
NAG-Fortran.cmake NAG: Use -PIC for Fortran position-independent code (#13932) 2013-02-18 13:12:50 -05:00
OpenWatcom-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
PGI-C.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
PGI-CXX.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
PGI-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
PGI-Fortran.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
PGI.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
PathScale-C.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
PathScale-CXX.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
PathScale-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
PathScale-Fortran.cmake Convert CMake-language commands to lower case 2012-08-13 14:19:16 -04:00
PathScale.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
QCC-C.cmake QNX: Add missing flags for configurations and artifact creation. 2014-07-17 09:36:18 -04:00
QCC-CXX.cmake Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables 2015-07-13 10:49:46 -04:00
QCC.cmake Ninja: Add dependencies on system-provided header files (#14914) 2016-03-15 10:18:50 -04:00
SCO-C.cmake Factor SCO compiler info out of platform file (#11700) 2011-01-17 09:57:17 -05:00
SCO-CXX.cmake Factor SCO compiler info out of platform file (#11700) 2011-01-17 09:57:17 -05:00
SCO-DetermineCompiler.cmake Project: Generate the CXX compiler Id test from multiple files. 2014-05-07 14:00:00 +02:00
SCO.cmake Add platform variable for flags specific to shared libraries 2012-06-12 15:38:48 -04:00
SDCC-C-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
SunPro-ASM.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
SunPro-C-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
SunPro-C.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
SunPro-CXX-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
SunPro-CXX-FeatureTests.cmake Features: Record for SolarisStudio 12.4. 2015-01-17 14:48:28 +01:00
SunPro-CXX.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
SunPro-Fortran.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
TI-ASM.cmake Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables 2015-07-13 10:49:46 -04:00
TI-C.cmake Compiler/TI: Pass libraries as last part to linker 2016-06-02 09:39:25 -04:00
TI-CXX.cmake Factor an <INCLUDES> placeholder out of <FLAGS> in rule variables 2015-07-13 10:49:46 -04:00
TI-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
TinyCC-C-DetermineCompiler.cmake Project: Refactor C compiler determination into multiple files. 2014-05-07 14:28:36 +02:00
TinyCC-C.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
VisualAge-C-DetermineCompiler.cmake Project: Refactor C compiler determination into multiple files. 2014-05-07 14:28:36 +02:00
VisualAge-C.cmake Teach compiler id about VisualAge -> XL rebranding 2009-08-07 10:13:07 -04:00
VisualAge-CXX-DetermineCompiler.cmake Project: Generate the CXX compiler Id test from multiple files. 2014-05-07 14:00:00 +02:00
VisualAge-CXX.cmake Teach compiler id about VisualAge -> XL rebranding 2009-08-07 10:13:07 -04:00
VisualAge-Fortran.cmake Teach compiler id about VisualAge -> XL rebranding 2009-08-07 10:13:07 -04:00
Watcom-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
XL-ASM.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
XL-C-DetermineCompiler.cmake Project: Refactor C compiler determination into multiple files. 2014-05-07 14:28:36 +02:00
XL-C.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
XL-CXX-DetermineCompiler.cmake Project: Generate the CXX compiler Id test from multiple files. 2014-05-07 14:00:00 +02:00
XL-CXX.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
XL-Fortran.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
XL.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 2016-07-06 10:13:31 -04:00
zOS-C-DetermineCompiler.cmake Project: Refactor C compiler determination into multiple files. 2014-05-07 14:28:36 +02:00
zOS-CXX-DetermineCompiler.cmake Project: Generate the CXX compiler Id test from multiple files. 2014-05-07 14:00:00 +02:00