CMake/Modules/Compiler
Chuck Atkins 1de7084501 Compilers: Add common macros to be used by various compilers
With numerous compilers now supporting multiple language standards in CMake,
some common design patterns have begun to emerge.  This is intended to
be a collection of macros implementing many of those common design
patterns that can be factored out and leveraged by many compilers.
Currently this only contains the code to set the default language
standard of not preset.  More functionality will be added in the future
as appropriate.
2017-05-01 15:15:23 -04:00
..
Absoft-Fortran.cmake Honor CMAKE_<LANG>_FLAGS[_<CONFIG>]_INIT set in toolchain files 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
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 Features: Make feature recording conditions more consistent 2016-12-02 11:22:43 -05:00
AppleClang-CXX-FeatureTests.cmake Features: Record for historical Xcode clang versions. 2015-01-11 16:52:27 +01:00
AppleClang-CXX.cmake Features: Activate C++ 17 support for AppleClang 6.1+ 2016-12-02 11:22:47 -05:00
AppleClang-DetermineCompiler.cmake Use string(APPEND) in Modules 2016-07-28 00:41:13 +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 ARMCC: Fix flag used for response files 2016-11-15 09:31:33 -05: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 Features: Make feature recording conditions more consistent 2016-12-02 11:22:43 -05:00
Clang-CXX-FeatureTests.cmake Features: activate C++11 support for Clang 3.1+ 2017-01-12 17:16:34 +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 Features: activate C++11 support for Clang 3.1+ 2017-01-12 17:16:34 +01: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-FindBinUtils.cmake Clang IPO (LTO) support 2017-04-28 17:13:56 +03:00
Clang.cmake Clang IPO (LTO) support 2017-04-28 17:13:56 +03:00
CMakeCommonCompilerMacros.cmake Compilers: Add common macros to be used by various compilers 2017-05-01 15:15:23 -04: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-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-CXX.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 CrayLinuxEnvironment: Add alternative methods to get version info 2016-08-05 09:01:43 -04: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-DetermineCompiler.cmake GNUC: also check __GNUG__ define when checking for g++ 2017-01-25 21:53:40 +01:00
GNU-C-FeatureTests.cmake GNU C: record that C99 is available since at least 3.4 2017-02-02 18:28:56 +01:00
GNU-C.cmake GNU C: record that C99 is available since at least 3.4 2017-02-02 18:28:56 +01:00
GNU-CXX-DetermineCompiler.cmake GNUC: also check __GNUG__ define when checking for g++ 2017-01-25 21:53:40 +01:00
GNU-CXX-FeatureTests.cmake Features: Update GNU 5.0 C++14 features. 2015-01-31 21:16:12 +01:00
GNU-CXX.cmake g++ knows about C++98 selection flags since at least 3.4 2017-02-08 21:04:31 +01:00
GNU-FindBinUtils.cmake Rename CMAKE_GCC_{AR,RANLIB} to CMAKE_LANG_COMPILER_{AR,RANLIB} 2017-04-03 14:10:50 -04:00
GNU-Fortran.cmake Ninja: Add explicit preprocessing step for Fortran 2016-09-22 13:53:09 -04:00
GNU.cmake Rename CMAKE_GCC_{AR,RANLIB} to CMAKE_LANG_COMPILER_{AR,RANLIB} 2017-04-03 14:10:50 -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 issues: update references to the CMake issue tracker 2016-08-15 09:34:06 -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 features for Intel Compiler on Windows 2016-10-27 13:33:10 -04:00
Intel-C.cmake Features: Update version of Intel Compiler on Windows supporting C 11 2017-02-01 08:55:50 -05:00
Intel-CXX-FeatureTests.cmake Features: Update features for Intel C++ 17.0.2 on UNIX 2017-03-31 14:29:18 -04:00
Intel-CXX.cmake Features: Make feature recording conditions more consistent 2016-12-02 11:22:43 -05:00
Intel-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02:00
Intel-Fortran.cmake Ninja: Add explicit preprocessing step for Fortran 2016-09-22 13:53:09 -04:00
Intel.cmake Autogen: Pass explicit predefines header to moc if possible 2017-04-20 08:59:07 -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 15 Preview 4 2016-09-06 10:22:39 -04:00
MSVC-CXX.cmake Features: Add infrastructure for C++ 17 language standard 2016-12-02 11:22:46 -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 executable code 2016-08-09 11:15:14 -04:00
NVIDIA-CUDA.cmake CUDA: Fix default compiler flags on Windows 2017-02-15 11:12:12 -05:00
NVIDIA-DetermineCompiler.cmake CUDA: Detect use of MSVC host compiler 2017-01-12 10:39:02 -05:00
OpenWatcom-DetermineCompiler.cmake Project: Add configurable name for version computation macros. 2014-06-05 14:02:52 +02: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 Simplify CMake per-source license notices 2016-09-27 15:14:44 -04: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 PGI: Add support for Fortran with the Ninja generator 2016-12-16 08:33:21 -05:00
PGI.cmake Simplify CMake per-source license notices 2016-09-27 15:14:44 -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 Implement interprocedural optimization for GNU compilers 2017-03-30 14:56:52 -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 Simplify CMake per-source license notices 2016-09-27 15:14:44 -04:00
SDCC-C-DetermineCompiler.cmake SDCC: Fix identification of current sdcc compiler 2017-03-29 13:21:49 -04: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 Features: Make feature recording conditions more consistent 2016-12-02 11:22:43 -05:00
SunPro-Fortran.cmake Ninja: Add explicit preprocessing step for Fortran 2016-09-22 13:53:09 -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 XL: Add C and C++ language level flags 2017-04-28 11:48:32 -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 XL: Add C and C++ language level flags 2017-04-28 11:48:32 -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 Simplify CMake per-source license notices 2016-09-27 15:14:44 -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