summaryrefslogtreecommitdiffstats
path: root/Modules/Platform
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'revert-feature_record_msvc'Brad King2015-01-152-11/+0
|\ | | | | | | | | | | 4ce110bb Tests: Revert workaround for COMPILE_FEATURES genex bug 0b7e7e27 Revert topic 'feature_record_msvc'
| * Revert topic 'feature_record_msvc'Brad King2015-01-142-11/+0
| | | | | | | | | | | | | | | | | | | | | | Revert commits: 2d738ce3 Help: Add notes for topic 'feature_record_msvc' f73718c9 Features: Enable writing of MSVC compiler feature header. 64c30bdc Features: Record for MSVC C++ 2015 and MSVC C 2010-2015. 225c0ef8 Features: Record for MSVC 2010-2013. This topic was merged to master prematurely, so remove it.
* | Merge topic 'linux-XL-fortran'Brad King2015-01-113-0/+3
|\ \ | |/ |/| | | | | 4729547a XL: Fix link flags for executables on Linux with XL compilers
| * XL: Fix link flags for executables on Linux with XL compilersBrad King2015-01-103-0/+3
| | | | | | | | | | Use "-Wl,-export-dynamic" with XL to match the "-rdynamic" flag used with GNU-like compilers.
* | Features: Record for MSVC C++ 2015 and MSVC C 2010-2015.Robert Maynard2015-01-112-0/+7
| | | | | | | | | | | | Initializer lists are only properly supported in 2015 and above. Previous Visual Studio releases said they supported initializer lists but silently produced bad code.
* | Features: Record for MSVC 2010-2013.Stephen Kelly2015-01-111-0/+4
|/
* Avoid if() quoted auto-dereference when checking for "MSVC"Fraser Hutchison2014-11-191-2/+2
| | | | | When testing CMAKE_<LANG>_COMPILER_ID values against "MSVC", do not allow the definition of the "MSVC" variable to be expanded.
* Makefile: Add assembly and preprocessed targets for FortranTim Gallagher2014-11-102-0/+11
| | | | Extend the FortranOnly test to cover "make <src>.i" targets.
* Merge topic 'watcom-drop-symfile-option'Brad King2014-11-041-2/+2
|\ | | | | | | | | 6b63942e Watcom: Drop symfile linker option
| * Watcom: Drop symfile linker optionJ Decker2014-11-031-2/+2
| | | | | | | | | | | | | | | | | | | | | | Cleanup of Windows-wcl386.cmake in commit v3.1.0-rc1~693^2 (Watcom: Cleanup Windows-wcl386 configuration, 2014-04-01) also introduced use of the 'symfile' link option but did not mention it in the commit message. There is no way to set the symbol file name of a target, so it is better to revert that change. It is easy to run 'wstrip *' if the symbols need to be stripped, but it is very difficult to get the right names for the .sym files to install with debug/rel_with_deb_info configurations.
* | OS X: Detect deployment target flags from GNU Fortran compilersBrad King2014-10-271-0/+2
| | | | | | | | Reported-by: Bill Somerville <bill@classdesign.com>
* | Avoid if() quoted auto-dereferenceBen Boeckel2014-10-201-1/+1
|/ | | | | | | When testing CMAKE_<LANG>_COMPILER_ID values, do not explicitly dereference or quote the variable. We want if() to auto-dereference the variable and not its value. Also replace MATCHES with STREQUAL where equivalent.
* VS: Fix Tegra-Android platform linking of libraries by nameBrad King2014-09-301-0/+6
| | | | | | | Nsight Tegra Visual Studio Edition handles prefixing of library names with '-l' automatically, so teach the generator not to do so. Reported-by: Mourad Boufarguine <mourad@boufarguine.name>
* MSVC: Define 'WIN32' for Windows Store and Windows PhoneGilles Khouzam2014-09-021-0/+1
| | | | | This was accidentally left out of commit c72f0887 (MSVC: Add default WindowsPhone and WindowsStore compile flags, 2014-07-28).
* MSVC: Select default standard libraries for ARM platformBrad King2014-08-121-1/+5
| | | | For Windows ARM targets, only kernel32.lib and user32.lib are standard.
* MSVC: Add system libs for WindowsPhone and WindowsStoreBrad King2014-07-311-1/+5
| | | | | Use the libraries that are added by default by the VS 2013 IDE for Windows Phone and Windows Store projects.
* MSVC: Add default WindowsPhone and WindowsStore compile flagsPaul Annetts2014-07-311-0/+4
| | | | Also set the list of standard libraries to empty.
* MSVC: Disable incremental linking for WindowsPhone and WindowsStoreGilles Khouzam2014-07-311-4/+6
| | | | | Do not add a "/INCREMENTAL" flag when using the toolchains for these systems.
* Define 'WINDOWS_PHONE' and 'WINDOWS_STORE' variablesGilles Khouzam2014-07-311-0/+4
| | | | | Set one of these when CMAKE_SYSTEM_NAME is "WindowsPhone" or "WindowsStore", respectively.
* Add WindowsPhone and WindowsStore platform information modulesBrad King2014-07-316-0/+6
| | | | | | | Simply include the "Windows" platform equivalents. This will allow -DCMAKE_SYSTEM_NAME=WindowsPhone or -DCMAKE_SYSTEM_NAME=WindowsStore to select variants of the Windows platform while re-using most of the platform information from "Windows".
* Merge topic 'pdb-genex'Brad King2014-07-311-0/+1
|\ | | | | | | | | | | f86850ef Genex: Implement generator expressions for target PDB files. 028ad318 Genex: Simplify filesytem artifact code
| * Genex: Implement generator expressions for target PDB files.Nils Gladitz2014-07-311-0/+1
| |
* | Merge topic 'remove-link-remnants'Brad King2014-07-301-1/+0
|\ \ | | | | | | | | | | | | 250ad08a Ninja: Remove _COMPILER_LINKER_OPTION_FLAG_ remnants
| * | Ninja: Remove _COMPILER_LINKER_OPTION_FLAG_ remnantsNils Gladitz2014-07-291-1/+0
| |/
* | Merge topic 'windows-ce-cleanup'Brad King2014-07-293-5/+5
|\ \ | | | | | | | | | | | | | | | | | | 7079f33d WindowsCE: Drop unused Platform/WindowsCE-MSVC module 05373f7e WindowsCE: Refactor setting of "WINCE" 1acde6b0 MSVC: Use STREQUAL to check for WindowsCE
| * | WindowsCE: Drop unused Platform/WindowsCE-MSVC moduleBrad King2014-07-281-1/+0
| | | | | | | | | | | | | | | | | | | | | This module was created to mirror Platform/Windows-MSVC.cmake, but this is not necessary because nothing includes "Platform/<os>-<id>.cmake" directly. The Platform/Windows-MSVC module is only a helper for the Platform/Windows-MSVC-<lang> modules.
| * | WindowsCE: Refactor setting of "WINCE"Brad King2014-07-282-3/+4
| | | | | | | | | | | | | | | | | | Move it to the Platform/Windows module since it is independent of the compiler used. While at it, remove redundant "WIN32" setting from Platform/Windows-MSVC since Plaform/Windows already sets its.
| * | MSVC: Use STREQUAL to check for WindowsCEBrad King2014-07-281-1/+1
| |/ | | | | | | | | In the Platform/Windows-MSVC module it is not necessary to use MATCHES because we are comparing against an exact string.
* | OS X: Allow deployment target with "/" sysroot (#15040)Jeremy Huddleston2014-07-281-0/+2
|/ | | | | | | | Allow the combination -DCMAKE_OSX_DEPLOYMENT_TARGET="10.8" -DCMAKE_OSX_SYSROOT="/" to work. Treat the "/" sysroot as targeting the current OS X version.
* Merge topic 'fix-QCC-compile-flags'Brad King2014-07-213-27/+3
|\ | | | | | | | | 3151024d QNX: Add missing flags for configurations and artifact creation.
| * QNX: Add missing flags for configurations and artifact creation.Stephen Kelly2014-07-173-27/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit v3.0.0-rc1~111^2 (QNX: Introduce QCC compiler id for that QNX platform compiler., 2014-01-20) split handling of the QNX QCC compiler into a separate compiler-id. That refactoring results in the QCC compiler not using the CMake-compiler-id "GNU", which means that the __compiler_gnu macro is no longer executed for it. Add Compiler/QCC*.cmake modules to define and call the __compiler_qcc macro and teach it to call __compiler_gnu internally. Remove the corresponding pieces from the Platform/QNX*.cmake modules. It is also necessary to change the language conditional to dereference the lang macro parameter, which is another bug introduced by the same commit. The extra -lang-c++ flag is only necessary when the CXX compiler is specified as 'qcc' instead of 'QCC' in the toolchain file, which is why this bug was not noticed before. The flag is also necessary in that case when linking in order to find the appropriate standard libraries. The flag was not previously added when linking executables, so linking failed even with CMake 2.8.12 with the lower-case compiler-id. Co-Author: Brad King <brad.king@kitware.com>
* | Merge topic 'wince-fix-dll-linking'Brad King2014-07-141-4/+6
|\ \ | | | | | | | | | | | | 7e1283e4 MSVC: Fix linking of DLLs on WinCE (#15013)
| * | MSVC: Fix linking of DLLs on WinCE (#15013)Brad King2014-07-101-4/+6
| |/ | | | | | | | | | | | | | | On WinCE we must link both shared libraries and executables with the /subsystem:windowsce flag. Teach Platform/Windows-MSVC to pass it to the linker in both cases. Suggested-by: Gunnar Roth <gunnar.roth@gmx.de>
* | VS14: Add Visual Studio 14 generator (#14982)Brad King2014-06-251-1/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Call the generator "Visual Studio 14" without any year because this version of VS does not provide a year in the product name. Copy cmGlobalVisualStudio12Generator to cmGlobalVisualStudio14Generator and update version numbers accordingly. Add the VS14 enumeration value. Teach the platform module Windows-MSVC to set MSVC14 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 14 runtime libraries. Teach tests CheckCompilerRelatedVariables, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 14 as they do VS 10, 11, and 12. Co-Author: Pawel Stopinski <diokhan@go2.pl>
* | Add basic Android platform moduleBrad King2014-06-061-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a Platform/Android module that includes Platform/Linux since Android is based on Linux. Provide only the minimal settings needed to get builds with Android NDK toolchains to work. Disable use of RPATH since the Android loader ignores it and we cannot predict the install destination anyway. Android supports soname but shared library names must end in ".so" and we cannot represent the versioned names with associated symlinks on all host operating systems anyway. However, we do want the SONAME of library files to be set so that linking to them by path to the library file produces NEEDED entries with the soname and not the path. Add a new CMAKE_PLATFORM_NO_VERSIONED_SONAME setting to tell the cmTarget::GetLibraryNames method that not to use the VERSION or SOVERSION target properties in the soname.
* | Merge topic 'GNUtoMS-vs-12'Brad King2014-05-281-1/+3
|\ \ | |/ | | | | | | 668e571d GNUtoMS: Add support for VS 2013 (#14936)
| * GNUtoMS: Add support for VS 2013 (#14936)Brad King2014-05-271-1/+3
| | | | | | | | | | | | Add to the Platform/Windows-GNU module list of VS registry entries those for VS 2013. Also add the name "vcvars64.bat" used by VS 10 and above for 64-bit tools.
* | OpenBSD: honor the LOCALBASE and X11BASE environment variablesRolf Eike Beer2014-05-211-0/+13
| |
* | OpenBSD: disable FIND_LIBRARY_USE_LIB64_PATHSRolf Eike Beer2014-05-201-0/+3
| | | | | | | | OpenBSD has no multilib paths.
* | Windows: Avoid () in environment variable referencesBen Boeckel2014-05-081-2/+3
| | | | | | | | Use nested variable evaluation instead.
* | Merge topic 'osx-iframework'Brad King2014-05-072-0/+7
|\ \ | | | | | | | | | | | | 1bed75a5 OS X: Use -iframework for system framework directories
| * | OS X: Use -iframework for system framework directoriesMikoĊ‚aj Siedlarek2014-05-072-0/+7
| | | | | | | | | | | | | | | | | | | | | Just like -I flag has its -isystem counterpart which marks an include directory as a system directory and prevents unwanted warnings, on Apple systems there is -iframework -- a system directory replacement for -F. Use this flag to implement include_directories(SYSTEM) for frameworks.
* | | Merge topic 'xcode-sdkroot'Brad King2014-05-071-14/+29
|\ \ \ | |/ / |/| | | | | | | | 5dfe9b7d Xcode: Find fallback SDK if one matching the OS version doesn't exist.
| * | Xcode: Find fallback SDK if one matching the OS version doesn't exist.Clinton Stimpson2014-05-061-14/+29
| | | | | | | | | | | | | | | | | | | | | | | | For example if one installs Xcode 4.6 on OS X 10.9, it doesn't contain a 10.9 SDK, so fallback to the next newest version which, in this case, happens to be a 10.8 SDK. This fixes bug #14572.
* | | Merge branch 'master' into osx-init-earlyBrad King2014-04-298-61/+79
|\ \ \ | |/ / |/| | | | | | | | Resolve conflict in Source/cmGlobalGenerator.cxx by integrating changes from both sides.
| * | Merge topic 'implicit-libNN-dirs'Brad King2014-04-171-1/+1
| |\ \ | | |/ | | | | | | | | | cc57ff5c Drop /lib32 and /lib64 from link directories and RPATH (#14875)
| * | Merge topic 'mingw-archive-no-replace'Brad King2014-04-151-2/+2
| |\ \ | | | | | | | | | | | | | | | | 39d0ade0 Windows-GNU: Support duplicate object names in large archives (#14874)
| | * | Windows-GNU: Support duplicate object names in large archives (#14874)Brad King2014-04-141-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v2.6.0~388 (Added build rule variables CMAKE_<LANG>_ARCHIVE_..., 2008-01-29) we use separate "ar cr ..." and "ar r ..." steps to incrementally add a large list of object files to an archive. Since the "r" command replaces existing objects of the same name in an archive, if multiple objects have the same file name and appear in separate append steps then one overwrites the other. Instead, use "ar cq ..." and "ar q ..." to always append to the archive. We already remove the archive before creating it so this will not cause objects to be appended to existing archives on incremental rebuilds.
| * | | Merge topic 'matches-cleanup'Brad King2014-04-154-5/+5
| |\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f21ac16e Replace MATCHES test on numbers with EQUAL test 7eacbaed Replace MATCHES ".+" tests with NOT STREQUAL "" 3a71d34c Use CMAKE_SYSTEM_NAME instead of CMAKE_SYSTEM where sufficient b0b4b460 Remove .* expressions from beginning and end of MATCHES regexs 5bd48ac5 Replace string(REGEX REPLACE) with string(REPLACE) where possible 2622bc3f Clean up usage of if(... MATCHES regex) followed string(REGEX REPLACE regex)
| | * | | Remove .* expressions from beginning and end of MATCHES regexsRolf Eike Beer2014-04-143-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | All these expressions work the same: "foo" ".*foo.*" "^.*foo.*$" This assumes that the "Intel*" expressions were meant to be "Intel.*".