summaryrefslogtreecommitdiffstats
path: root/Modules/Platform
Commit message (Collapse)AuthorAgeFilesLines
* 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
* | CUDA: Fix default compiler flags on WindowsBrad King2017-02-151-5/+7
| | | | | | | | | | | | | | Fix the default values of `CMAKE_CUDA_FLAGS[_<CONFIG>]` on Windows to make the host compiler flags match those produced for C++ by the `Platform/Windows-MSVC` module. This makes the flags consistent with those used for C++.
* | CUDA: Link to standard system libraries when linking as CUDABrad King2017-02-141-0/+2
|/ | | | | | | On Windows with MSVC-like host compilers we must honor the standard libraries chosen by the `Platform/Windows-MSVC` module. Otherwise C code linked into the CUDA binary that expects to have these libraries available may not link.
* Android: Pass sysroot include directory explicitlyBrad King2017-01-201-0/+9
| | | | | | | | | | | | | | | | | The NDK's `build/core/definitions.mk` file adds compiler flags: -isystem $$(call host-path,$$(SYSROOT_INC)/usr/include) This passes the system include directory explicitly even though it is implied by `--sysroot=`. The explicit flag places the directory earlier in the include path than the sysroot-default one would be. Teach CMake to add this include directory at the end of the standard include path for Android. Otherwise the toolchain's `include-fixed/` directory may replace system headers with "fixed" copies that are not from the same API version. Closes: #16536
* Android: Fix c++_{static,shared} support include directory orderBrad King2017-01-201-3/+2
| | | | | | | | | | | | | | The NDK's own build files: <ndk>/build/tools/build-cxx-stl.sh <ndk>/build/cmake/android.toolchain.cmake for the `c++_static` and `c++_shared` build types add the `<ndk>/sources/android/support/include` include directory between the two `<ndk>/sources/cxx-stl/llvm-libc++*` directories. Re-order our own include directory generation to match. Issue: #16536
* CUDA: Now pass correct FLAGS when device link cuda executables.Robert Maynard2017-01-121-1/+1
| | | | | | | | Previously we had a two issues when building cuda executables that required separable compilation. The first was that we didn't propagate FLAGS causing any -arch / -gencode flags to be dropped, and secondly generators such as ninja would use the CXX language flags instead of CUDA when the executable was mixed language.
* CUDA: Populate NVIDIA compiler information on WindowsBrad King2017-01-121-0/+42
| | | | | | | Port Windows-specific compilation and linking rules over from the `Platform/Windows-MSVC` module and adapt it for NVIDIA CUDA. On Windows nvcc and its host compiler (MSVC) do not understand or use options like `-fPIC` or `-std=`, so condition those out.
* CUDA: Detect MSVC architecture idBrad King2017-01-121-0/+2
|
* Android: Set compiler target platform when compiling ASM with ClangFlorent Castelli2017-01-102-1/+5
| | | | Closes: #16535