summaryrefslogtreecommitdiffstats
path: root/Modules/Platform
Commit message (Collapse)AuthorAgeFilesLines
* OS X: Look for Xcode 5 platform-specific FrameworksGregor Jasny2015-03-241-6/+14
| | | | | | | | | | | | | | | | | | The Xcode 5 platform specific framework locations differ from the Xcode 6 ones. Look first for the Xcode 6 ones, then for iOS Xcode 5 ones and last for the Xcode 5 OS X ones. For reference, the XCTest.framework is located as follows: Xcode511.app/Contents/Developer/Library/Frameworks/XCTest.framework Xcode511.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS7.1.sdk/Developer/Library/Frameworks/XCTest.framework Xcode511.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk/Developer/Library/Frameworks/XCTest.framework Xcode601.app/Contents/Developer/Platforms/MacOSX.platform/Developer/Library/Frameworks/XCTest.framework Xcode601.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/Frameworks/XCTest.framework Xcode601.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/Library/Frameworks/XCTest.framework Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Merge topic 'lib64_paths_crosscompiling'Brad King2015-03-231-1/+1
|\ | | | | | | | | 81bfebfe Linux: Ignore Debian-specific case when cross-compiling
| * Linux: Ignore Debian-specific case when cross-compilingZack Galbreath2015-03-231-1/+1
| | | | | | | | | | When constructing settings for the target environment during cross compiling we should not check for /etc/debian_version on the host.
* | PGI: Remove invalid -fPIE flag (#15460)Brad King2015-03-201-1/+1
|/ | | | | | | The PGI compilers on Linux do not have the -fPIE flag. Remove the table entry added by commit v2.8.9~125^2~2 (Add platform variables for position independent code flags, 2012-05-05), which likely included it only as part of a sweeping introduction of such flags.
* Merge topic 'windows-rc-enable-later'Brad King2015-02-264-9/+10
|\ | | | | | | | | | | | | 772eae44 RC: Add platform-specific preprocessor definitions (#15404) 4300de3e RC: Enable language after C, CXX, or Fortran is enabled (#15404) 1de4a0fb RC: Drop unused CMAKE_COMPILE_RESOURCE variable setting
| * RC: Add platform-specific preprocessor definitions (#15404)Brad King2015-02-251-0/+4
| | | | | | | | | | | | | | | | | | | | In Platform/Windows-MSVC the C and CXX flags are initialized to contain preprocessor definitions describing the platform. On WinCE platforms this may not be just -DWIN32. This information may be important to RC sources too, so add such preprocessor definitions to the default RC flags. Suggested-by: Gunnar Roth <gunnar.roth@gmx.de>
| * RC: Enable language after C, CXX, or Fortran is enabled (#15404)Brad King2015-02-253-6/+6
| | | | | | | | | | | | | | | | The RC language is special in that it is automatically enabled on Windows-based platforms when another primary language is enabled. Move enablement of RC from early in the enablement of the other language to late. This will allow it to use information detected as part of enabling C, CXX, or Fortran.
| * RC: Drop unused CMAKE_COMPILE_RESOURCE variable settingBrad King2015-02-252-3/+0
| | | | | | | | | | This variable has long been replaced by CMAKE_RC_COMPILE_OBJECT. Stop setting it in platform modules.
* | Merge topic 'refine-MSVC-ARM-WinCE'Brad King2015-02-251-11/+38
|\ \ | |/ |/| | | | | | | | | 3d612c73 MSVC: Compile with arch-specific flags on ARM platforms (#14552) 886dcaa7 MSVC: Distinguish among ARM architectures more precisely (#14552) ea986676 MSVC: Define /DWINCE when building for WinCE platforms (#14552)
| * MSVC: Compile with arch-specific flags on ARM platforms (#14552)Gunnar Roth2015-02-241-0/+11
| | | | | | | | | | Define the exact ARM architecture name as a preprocessor symbol. Compile with /QRarch4T or /QRarch5T on ARMV4I or ARMV5I.
| * MSVC: Distinguish among ARM architectures more precisely (#14552)Gunnar Roth2015-02-241-10/+26
| | | | | | | | | | Detect the exact ARM architecture instead of just "ARM". Treat "ARM" as an architecture family that includes THUMB (ARMV4I and ARMV5I).
| * MSVC: Define /DWINCE when building for WinCE platforms (#14552)Gunnar Roth2015-02-241-1/+1
| |
* | OS X: Add platform-specific Frameworks search pathGregor Jasny2015-02-231-0/+7
|/ | | | | | | | | | | | | | | Otherwise find_library is unable to lookup the XCTest framework which is not located in the SDK serach path: In the 10.10 SDK the SDK frameworks are located here: $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.10.sdk/System/Library/Frameworks whereas the Platform SDKs are located here: $DEVELOPER_DIR/Platforms/MacOSX.platform/Developer/Library/Frameworks Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* Windows-GNU: Do not tell find_library to treat '.dll' as linkableBrad King2015-02-181-1/+1
| | | | | Modern software distributions always use a separate ".dll.a" or ".lib" import library for linking.
* Merge topic 'fix-msvc-linker-flags-typo'Brad King2015-02-042-2/+2
|\ | | | | | | | | 467f5bcc MSVC: Fix initialization of RelWithDebInfo shared library link flags (#15385)
| * MSVC: Fix initialization of RelWithDebInfo shared library link flags (#15385)Brad King2015-02-032-2/+2
| | | | | | | | | | | | | | | | | | | | Initialize CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO_INIT from the value of CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO_INIT rather than the one for the DEBUG configuration. This typo has been present since the logic was first added in commit 36db45082e (ENH: fix up several problems with new stuff, 2002-11-11). Reported-by: Gunnar Roth <gunnar.roth@gmx.de>
| * XL: Fix link flags for executables on Linux with XL compilersBrad King2015-01-123-0/+3
| | | | | | | | | | Use "-Wl,-export-dynamic" with XL to match the "-rdynamic" flag used with GNU-like compilers.
| * Merge branch 'backport-fix-CMP0054-MSVC' into releaseBrad King2014-11-201-2/+2
| |\
| | * 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.
* | | 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>