summaryrefslogtreecommitdiffstats
path: root/Modules/Platform
Commit message (Collapse)AuthorAgeFilesLines
...
* | GHS: Correct the regex for the intXXXX directory detection.Roman Wüger2017-07-171-1/+1
| | | | | | | | | | The int directory does not only need to contain digits. E.g. C:\GHS\int409a is a valid Green Hills installation
* | Merge topic 'android-system-include-last'Brad King2017-07-131-1/+0
|\ \ | |/ | | | | | | | | | | 4bafa392 Android: Always add standard include directories last Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1052
| * Android: Always add standard include directories lastBrad King2017-07-131-1/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify language-wide system include directories, 2016-05-24) to use `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`. Rather than recognizing this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory explicitly, 2017-01-20) worked around the problem by incorrectly removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`. By not filtering out `/usr/include` from user-specified include directories, we allow the code include_directories(${CMAKE_SYSROOT}/usr/include) to place the include directory too early on the command line. Fix support for standard include directories to not be filtered by implicit include directories, and do not remove `/usr/include` from the list of implicit include directories for Android builds. Add a test case to verify that an explicit `/usr/include` is ignored in favor of the standard directory at the end. Fixes: #17059
* | Merge topic 'android-fix-c++_shared'Brad King2017-07-121-0/+1
|\ \ | |/ | | | | | | | | | | e0fb3f31 Android: Link to android_support with c++_shared Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !1048
| * Android: Link to android_support with c++_sharedBrad King2017-07-121-0/+1
| | | | | | | | | | The NDK has done this in `build/core/definitions.mk` since r13 (r12 and below do so only for c++_static).
| * Merge branch 'android-unified-headers' into release-3.9Brad King2017-06-221-2/+6
| |\
| * \ Merge branch 'ipo-per-lang' into release-3.9Brad King2017-06-141-4/+4
| |\ \
| * \ \ Merge branch 'cuda-dlink-no-deprecated-gpu' into release-3.9Brad King2017-06-131-2/+10
| |\ \ \
* | \ \ \ Merge topic 'android-unified-headers'Brad King2017-06-221-2/+6
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | 5d317930 Android: Fix include path for unified headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !997
| * | | | Android: Fix include path for unified headersBrad King2017-06-221-2/+6
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.9.0-rc3~3^2 (Android: Add support for unified headers, 2017-06-12) we accidentally constructed the unified header include directories from the linking sysroot. Construct them from the compiling sysroot instead. Fixes: #16584
* | | | Merge topic 'ipo-per-lang'Brad King2017-06-151-4/+4
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | ba247cca IPO: Consider support for each language separately Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !964
| * | | IPO: Consider support for each language separatelyBrad King2017-06-141-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We only define `INTERPROCEDURAL_OPTIMIZATION` behavior for C, CXX, and Fortran languages. Do not try to enable support for other languages. Furthermore, each language builds with a different compiler, so check for support by CMake and the compiler for each language independently. Fixes: #16944
* | | | Merge topic 'android-unified-headers'Brad King2017-06-134-16/+52
|\ \ \ \ | | |/ / | |/| | | | | | | | | | | | | | | | | | 3d00be13 Android: Add support for unified headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !956
| * | | Android: Add support for unified headersBrad King2017-06-124-16/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The unified headers are preferred as of NDK r15, so use them by default if available and provide an option to use the deprecated headers. Inspired-by: Florent Castelli <florent.castelli@gmail.com> Fixes: #16584
| * | | Merge branch 'android-standalone-no-sysroot-include' into release-3.9Brad King2017-06-091-2/+7
| |\ \ \
* | \ \ \ Merge topic 'cuda-dlink-no-deprecated-gpu'Brad King2017-06-131-2/+10
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | 7368ade2 CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !951
| * | | | CUDA: When linking device code suppress CUDA 8.0+ deprecation warningsRobert Maynard2017-06-131-2/+10
| | |_|/ | |/| | | | | | | | | | | | | | | | | | The CUDA compiler automatic deprecation warnings are pure noise when doing device linking, and should be suppressed to reduce the amount of confusion from users.
* | | | Merge topic 'android-standalone-no-sysroot-include'Brad King2017-06-121-2/+7
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 22f8a465 Android: Do not pass sysroot include for standalone toolchain Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !952
| * | | Android: Do not pass sysroot include for standalone toolchainBrad King2017-06-091-2/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | The change in commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory explicitly, 2017-01-20) does not make sense when compiling with a standalone toolchain which is tied to a single API version. Drop the explicit include directory so that the compiler uses its default system include order. Fixes: #16954
* | | Merge topic 'android-standalone-unified-api-level'Brad King2017-06-121-5/+28
|\ \ \ | | |/ | |/| | | | | | | | | | | | | 5f93bf78 Android: Detect API version of standalone toolchain with unified headers Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !950
| * | Android: Detect API version of standalone toolchain with unified headersBrad King2017-06-091-5/+28
| |/ | | | | | | | | | | | | A standalone toolchain with unified headers keeps the `__ANDROID_API__` macro in the `bin/clang` launcher instead of in `api-level.h`. Issue: #16954
* | SDCC: Remove superfluous whitespace from link lineReto Schneider2017-06-081-1/+1
| |
* | SDCC: Do not explicitly ask linker to generate Intel Hex filesReto Schneider2017-06-081-1/+1
|/ | | | | | | The `--out-fmt-ihx` option added by commit v2.6.0~1253 (...use --out-fmt-ihx to enforce .ihx files, 2007-08-15) may interfere with options requested by the user. Also, when no linker output is specified, SDCC outputs Intel Hex by default anyway.
* Merge topic 'vs15-GNUtoMS'Brad King2017-05-241-0/+15
|\ | | | | | | | | | | | | abe8a623 GNUtoMS: Add search path for VS 2017 environment scripts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !875
| * GNUtoMS: Add search path for VS 2017 environment scriptsAlex Ghosh2017-05-221-0/+15
| | | | | | | | | | | | Use `cmake_host_system_information` to query the VS Installer tool for the locations of VS versions since VS 2017 does not provide registry entries anymore. Add a loop to simplify addition of future versions.
* | Merge topic 'pgi-fix-windows'Brad King2017-05-223-0/+52
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | 4eb15824 Windows-PGI: Add platform definitions a94ae96e Windows-PGI: Adapt default compiler flags c2c2d366 ImplicitLinkInfo: Add support for PGI on Windows Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !794
| * | Windows-PGI: Add platform definitionsChristian Pfeiffer2017-05-203-0/+52
| | | | | | | | | | | | | | | | | | | | | PGI on Windows should use the Visual C++ linker and librarian and not the ar provided for legacy reasons. The compiler parameters themselves are the same as their Linux parameters and not compatible to MSVC however.
* | | Merge topic 'string-append'Brad King2017-05-184-5/+5
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 9e24af01 Use string(APPEND) in Modules Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !864
| * | | Use string(APPEND) in ModulesDaniel Pfeifer2017-05-174-5/+5
| |/ / | | | | | | | | | | | | | | | | | | Automate with: find Modules -type f -print0 | xargs -0 perl -i -0pe \ 's/set\(([a-zA-Z0-9_\$\{\}]+)(\s+)"\$\{\1\}([^"])/string(APPEND \1\2"\3/g'
* | | Merge topic 'vs14-GNUtoMS'Brad King2017-05-181-0/+2
|\ \ \ | |/ / |/| / | |/ | | | | | | c02d4d2a GNUtoMS: Add search path for VS 2015 environment scripts Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !854
| * GNUtoMS: Add search path for VS 2015 environment scriptsAlex Ghosh2017-05-171-0/+2
| |
* | Linux-PGI: Prevent -rdynamic ending up in flagsChristian Pfeiffer2017-05-051-0/+1
| | | | | | | | | | | | | | | | | | | | Ensure that PGI on Linux keeps its CMAKE_SHARED_LIBRARY_LINK_<LANG>_FLAGS empty, especially of -rdynamic. In CMakeFortranInformation a lot of flags will be copied from their C equivalents if they're not defined. By using a combination of GCC and PGFortran, this will lead to -rdynamic ending up in the PGI flags and none of the PGI compilers understand that flag, crashing with a fatal error.
* | XL: Fix the use of the -qhalt flag for varying OSsChuck Atkins2017-04-2712-0/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The valid settings to pass to the IBM XL compiler for the -qhalt flag vary widely by language and platform. Based on existing documentation, the following table shows which error levels are valid to pass to -qhalt= since -qhalt=e is not always available. OS | xlc | xlC | xlf | ---------|-------|------------------ AIX | iwes | iw s | ilwesu | BlueGene | iwes | iwes | ilwesu | OS X | iwesu | iwesu | ilwesu | Linux | w | w | ilwesu |
* | Merge topic 'autogen-fixes'Brad King2017-04-211-0/+1
|\ \ | | | | | | | | | | | | | | | | | | 09035319 Autogen: Pass explicit predefines header to moc if possible Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !671
| * | Autogen: Pass explicit predefines header to moc if possibleAleix Pol2017-04-201-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Qt is relying on whoever calls moc to include a file with the predefined values that will be used by the compiler, otherwise moc takes wrong paths and weird things happen. Instead, generate an include file and feed it to all mocs to make sure it's generating correct code. Co-Author: Sebastian Holtermann <sebholt@xwmw.org> Fixes: #16640
* | | Drop Visual Studio 7 .NET 2003 generatorBrad King2017-04-191-1/+1
| | | | | | | | | | | | This generator has been deprecated since CMake 3.6. Remove it.
* | | TinyCC: Support ENABLE_EXPORT propertyhsc2017-04-171-0/+1
|/ / | | | | Replace the default -Wl,--export-dynamic with -rdynamic.
* | Merge topic 'ipo-policy-CMP0069'Brad King2017-03-311-0/+1
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | dfa8263f Implement interprocedural optimization for GNU compilers 1588a577 Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATION a7575700 Refactoring: s,GetFeatureAsBool,IsIPOEnabled, e05835c3 CheckIPOSupported: Visual Studio and Xcode generators do not support IPO Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Brad King <brad.king@kitware.com> Reviewed-by: Nils Gladitz <nilsgladitz@gmail.com> Merge-request: !568
| * | Add policy CMP0069 to enforce INTERPROCEDURAL_OPTIMIZATIONRuslan Baratov2017-03-301-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the `INTERPROCEDURAL_OPTIMIZATION` target property was honored only for the Intel compiler on Linux and otherwise ignored. In order to add support for more compilers incrementally without changing behavior in the future, add a new policy whose NEW behavior enforces the `INTERPROCEDURAL_OPTIMIZATION` property. Add flags for supported compilers and otherwise produce an error.
* | | Merge topic 'vs-rc-defines'Brad King2017-03-291-0/+3
|\ \ \ | | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | fff34934 MSVC: Restore _DEBUG preprocessor definition in RC debug builds 79a91538 RC: Add missing CMAKE_RC_FLAGS_<CONFIG> entries to cache c77194ec VS: Honor preprocessor definitions in RC flags 1449f6f6 cmVisualStudio10TargetGenerator: De-duplicate preprocessor defs 8a619e8c cmIDEOptions: Add GetDefines method Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !640
| * | MSVC: Restore _DEBUG preprocessor definition in RC debug buildsBrad King2017-03-281-0/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.8.0-rc1~304^2 (MSVC: Do not define _DEBUG explicitly when using /MDd, 2016-11-15) we removed the `_DEBUG` preprocessor definition from MSVC C and C++ flags because the `cl` compiler automatically defines it in Debug builds anyway. However, the VS generators propagate C preprocessor definitions to the RC (Windows Resource Compiler) tool. This means that we used to explicitly define `_DEBUG` for RC debug builds. Therefore existing project code may expect the definition to be there even though the `rc` compiler itself does not implicitly define `_DEBUG` in debug builds. Add the `_DEBUG` flag to the default `CMAKE_RC_FLAGS_DEBUG` instead to restore this definition for RC debug builds. This also makes it available consistently in VS, Ninja, and Makefile generators. Fixes: #16745
* | | Merge topic 'doc-prefer-MSVC_VERSION'Brad King2017-03-231-1/+3
|\ \ \ | |/ / | | / | |/ |/| | | | | | | | | fecf8467 Help: Document preference of `MSVC_VERSION` over `MSVC##` 712452e3 Help: Clarify MSVC14 docs w.r.t. VS 2017 v141 toolset 49a60b70 MSVC: Exclude future cl 20+ from MSVC14 variable Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !609
| * MSVC: Exclude future cl 20+ from MSVC14 variableBrad King2017-03-221-1/+3
| |
* | Merge topic 'add-CheckIPOSupported-module'Brad King2017-03-221-0/+5
|\ \ | | | | | | | | | | | | | | | | | | | | | 6c832674 Tests for 'CheckIPOSupported' module fdb2ba25 CheckIPOSupported: New module to check for compiler/cmake IPO support Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !558
| * | CheckIPOSupported: New module to check for compiler/cmake IPO supportRuslan Baratov2017-03-111-0/+5
| | |
* | | Merge topic 'move-platform-specific-paths'Brad King2017-03-203-22/+24
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | | | | 0b668e52 Cygwin: Move Cygwin-specific paths to the cygwin platform 2a8c2af4 SunOS: Move solaris-specific paths to the solaris platform 7eb1f5b7 Unix: Consolidate path components into prefixes Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !589
| * | Cygwin: Move Cygwin-specific paths to the cygwin platformChuck Atkins2017-03-162-6/+10
| | |
| * | SunOS: Move solaris-specific paths to the solaris platformChuck Atkins2017-03-162-2/+5
| | |
| * | Unix: Consolidate path components into prefixesChuck Atkins2017-03-161-16/+11
| | |
* | | Add support for x32-abiSteven Newbury2017-03-071-0/+1
| |/ |/| | | | | | | | | | | | | Detect x32-abi through CMakeCompilerABI infrastruture and use this information at runtime to determine the correct library paths with `FIND_LIBRARY_USE_LIBX32_PATHS`. Fixes: #15994