summaryrefslogtreecommitdiffstats
path: root/Modules/CMakePlatformId.h.in
Commit message (Collapse)AuthorAgeFilesLines
* Add infrastructure to detect secondary compiler version informationBrad King2017-10-031-0/+9
| | | | | | | | | | | Create a `CMAKE_<LANG>_COMPILER_VERSION_INTERNAL` variable to hold a secondary/internal compiler version number detected at the same time as the primary compiler version. This will be useful for some compilers where we need such a number to determine correct usage. Inspired-by: Stefan Andersson <tfosm@hotmail.com> Suggested-by: Norbert Lange <norbert.lange@andritz.com> Issue: #17264
* MSVC: Add support for ARM64 architectureMinmin Gong2017-09-121-0/+3
| | | | | | Visual Studio 15.4 adds support for this architecture. Fixes: #17213
* IAR: Improve support for IAR ARM CompilerNorbert Lange2017-06-291-0/+10
| | | | | | | | | | | | | | | Make the implementation for this compiler more complete. IAR has multiple C++ modes, historically they were reduced c++ versions for embedded that gradually improved to the full standard (which can be reduced again by e.g. disabling rtti and exceptions). The new implementation picks the best available, but the c++ mode can also be overridden by defining `CMAKE_IAR_CXX_FLAG`. Add C/C++ standard flags so that all modes up to and including the last supported standard are defined. Fixes: #16826
* Add support for Bruce C Compiler (BCC)Paweł Stankowski2016-03-211-3/+3
| | | | Revise C compiler detection code to be K&R compatible.
* MSVC: Distinguish among ARM architectures more precisely (#14552)Gunnar Roth2015-02-241-1/+10
| | | | | Detect the exact ARM architecture instead of just "ARM". Treat "ARM" as an architecture family that includes THUMB (ARMV4I and ARMV5I).
* Watcom: Detect compiler target architecture and platformJiri Malak2014-03-171-0/+28
| | | | | In CMakePlatformId.h.in, fill ARCHITECTURE_ID and PLATFORM_ID for Open Watcom.
* CMakeDetermineCompilerId: Add notion of "simulated" id/versionBrad King2013-10-041-0/+18
| | | | | | | | | Some compilers try to simulate other compilers as a drop-in replacement supporting all the same command-line options and predefined preprocessor macros. In such cases it will be useful to have CMake load the compiler information files for the simulated compiler instead of duplicating the information. Teach CMakeDetermineCompilerId to extract the simulated compiler id and version when the compiler id detection provides it.
* check for Haiku only with __HAIKU__Rolf Eike Beer2013-01-071-4/+1
|
* Add additional architectures to CMakePlatformId.h.inPatrick Gansterer2012-09-051-0/+6
| | | | Detect the MIPS and SHx architecture for MSVC compiler.
* Remove trailing whitespace from most CMake and C/C++ codeKitware Robot2012-08-131-2/+2
| | | | | | | | | | | | | | | | | Our Git commit hooks disallow modification or addition of lines with trailing whitespace. Wipe out all remnants of trailing whitespace everywhere except third-party code. Run the following shell code: git ls-files -z -- \ bootstrap doxygen.config '*.readme' \ '*.c' '*.cmake' '*.cpp' '*.cxx' \ '*.el' '*.f' '*.f90' '*.h' '*.in' '*.in.l' '*.java' \ '*.mm' '*.pike' '*.py' '*.txt' '*.vim' | egrep -z -v '^(Utilities/cm|Source/(kwsys|CursesDialog/form)/)' | egrep -z -v '^(Modules/CPack\..*\.in)' | xargs -0 sed -i 's/ \+$//'
* VS11: Add ARM architecture generator (#13077)Minmin Gong2012-05-091-0/+3
|
* Add framework to detect compiler version with its id (#12408)Brad King2011-12-071-0/+40
| | | | | | | | | | | | | | | | | | | | Teach CMakePlatformId.h to construct an "INFO:compiler_version[]" string literal from macros COMPILER_VERSION_(MAJOR|MINOR|PATCH|TWEAK) to be defined in CMake(C|CXX)CompilerId.(c|cpp) for each compiler. Provide conversion macros DEC() and HEX() to decode decimal or hex digits from integer values. Parse the version out of the compiler id binary along with the other INFO values already present. Store the result in variable CMAKE_<LANG>_COMPILER_VERSION in the format "major[.minor[.patch[.tweak]]]". Save the value persistently in CMake(C|CXX)Compiler.cmake in the build tree. Document the variable for internal use since we do not set it everywhere yet. Report the compiler version on the compiler id result line e.g. The C compiler identification is GNU 4.5.2 Report CMAKE_(C|CXX)_COMPILER_(ID|VERSION) in SystemInformation test.
* Merge topic 'compiler-id-literal-const'Brad King2011-01-041-2/+2
|\ | | | | | | | | dbc79bd Fix constness in compiler id detection
| * Fix constness in compiler id detectionBrad King2010-12-291-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit 70c2dc8a (Make compiler id detection more robust, 2008-03-10) we store compiler identification strings in test binaries using the form char* info = "info"; Use the const-correct char const* info = "info"; form instead. This allows the C++ compiler identification to work with "-Werror -Wall" or equivalent flags if the compiler would warn about const-to-non-const conversion.
* | Modules: Fix spelling 'becase' -> 'because'.Andrius Štikonas2010-11-171-1/+1
|/
* Fix the build for non-MS compilers.Bill Hoffman2009-11-211-1/+3
|
* Change the way 32/64 bit compiles are detected with MSVC and intel makefile ↵Bill Hoffman2009-11-201-0/+23
| | | | builds. Use the platform ID preprocessor approach.
* ENH: add initial support for HAIKU OS from bug# 7425Bill Hoffman2008-09-151-0/+6
|
* ENH: Make compiler id detection more robustBrad King2008-03-101-1/+5
| | | | | | | | | | - Split INFO strings in source into multiple pieces to make sure assembly or other listings produced by the compiler are never matched by the regex - Store INFO strings via pointer instead of array to convince some compilers to store the string literally in the binary - This should help make it work for sdcc 2.8.0 RC1
* ENH: Improvied compiler identification robustnessBrad King2008-02-251-0/+79
- Write a single source file into the compiler id directory - This avoid requiring the compiler to behave correctly with respect to include rules and the current working directory - Helps to identify cross-compiling toolchains with unusual default behavior