summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Android: Add `ANDROID` variable to indicate the targetBrad King2016-08-231-0/+2
| | | | | Allow projects to use `if(ANDROID)` to condition their Android-specific code paths.
* Android: Select the STL type for NDK buildsBrad King2016-08-2315-0/+184
| | | | | | | Populate standard include directories and link libraries for the platform. Select the STL corresponding to CMAKE_ANDROID_STL_TYPE and matching the current ABI and toolchain to be used. Refer to the NDK sources/cxx-stl/*/Android.mk files for the needed file locations.
* Android: Populate compiler flags for current ABIBrad King2016-08-2317-0/+192
| | | | | Initialize the CMAKE_{C,CXX}_FLAGS{,_<CONFIG>} cache entries with flags for each ABI as specified by NDK toolchain `setup.mk` files.
* Android: Add a CMAKE_BUILD_TYPE defaultBrad King2016-08-121-0/+2
| | | | | | Android NDK builds are always `debug` or `release`. We may populate flags for these configurations that are needed to produce compatible binaries. Ensure they are used by default.
* Android: Add Clang -target option for current ABIBrad King2016-08-129-0/+17
|
* Android: Add placeholders for compiler/abi-specific settingsBrad King2016-08-1221-0/+38
| | | | | | | | | | The Android NDK source repository at https://android.googlesource.com/platform/ndk.git has `<ndk>/build/core/toolchains/*/setup.mk` files that store tables of information for their build system. Add an equivalent file for each compiler/abi combination.
* Android: Avoid interfering with common pre-existing toolchain filesBrad King2016-08-125-0/+36
| | | | | | | | | Commonly used Android toolchain files that pre-date CMake upstream support may need to be updated to work with our new functionality. They typically set CMAKE_SYSTEM_VERSION to 1, so detect that and skip our upstream Android settings. When such toolchain files are updated to account for our upstream support, they can then set CMAKE_SYSTEM_VERSION to a valid Android API and get new behavior.
* Android: Search for NDK and standalone toolchain in more placesBrad King2016-08-121-0/+8
| | | | | | Commonly used Android toolchain files that pre-date CMake upstream support use a few environment and CMake variables as search locations. Use them too to aid transition.
* Android: Detect and save a standalone toolchain without the NDKBrad King2016-08-124-5/+115
|
* Android: Detect settings from the CMAKE_SYSROOT if it is setBrad King2016-08-121-1/+68
|
* Android: Detect and save a toolchain from the NDKBrad King2016-08-122-0/+296
|
* Android: Set CMAKE_SYSROOT automaticallyBrad King2016-08-121-0/+19
| | | | | | Compute CMAKE_SYSROOT automatically for the current API and architecture selection. This causes the --sysroot option to be passed to GNU and Clang compilers.
* Android: Detect and save the architecture, ABI, and processorBrad King2016-08-121-1/+88
| | | | | Add new CMakeSystem.cmake entries for the architecture and ABI. Store the processor in CMAKE_SYSTEM_PROCESSOR.
* Android: Detect and save the API levelBrad King2016-08-121-0/+48
| | | | | | Store the Android API level in CMAKE_SYSTEM_VERSION. If it is not provided by the user, initialize it from CMAKE_ANDROID_API or fall back to finding the latest available in the NDK.
* Android: Detect and save the NDK directoryBrad King2016-08-121-0/+27
| | | | Add a new CMakeSystem.cmake entry for the NDK location.
* Android: Suppress new functionality with Nsight Tegra in VS IDE buildsBrad King2016-08-125-0/+41
| | | | | | Support for NVIDIA Nsight Tegra Visual Studio Edition was previously implemented in the CMake VS IDE generators. Avoid interfering with that functionality for now. Later we may try to integrate this.
* Android: Add placeholders for platform-specific initializationBrad King2016-08-122-0/+29
| | | | | Add infrastructure modules to be loaded when initializing builds targeting Android platforms.
* Android: Add placeholders for platform-specific compiler selectionBrad King2016-08-123-0/+25
| | | | | Add infrastructure modules to be loaded for determining a compiler selection when targeting Android platforms.
* Android: Add placeholders for platform-specific compiler settingsBrad King2016-08-127-0/+77
| | | | | Add infrastructure modules to be loaded for Clang and GNU compilers when targeting Android platforms.
* CMakeDetermine*Compiler: Add hook to save custom compiler informationBrad King2016-08-123-0/+4
| | | | | | Provide a way for Platform/<os>-Determine-<lang>.cmake modules to save platform-specific information about the compiler in the configured CMake<lang>Compiler.cmake modules.
* CMakeDetermineSystem: Load platform-specific helper modulesBrad King2016-08-122-1/+2
| | | | | | | | | | | Once CMAKE_SYSTEM_NAME is known, load a platform-specific Platform/<os>-Determine module in order to enable custom determination of the other settings needed for the CMakeSystem module (e.g. CMAKE_SYSTEM_PROCESSOR). Also add a hook in Modules/CMakeSystem.cmake.in to allow platform-specific information to be saved.
* Merge topic '15687-xcode-support-system-include'Brad King2016-08-101-0/+1
|\ | | | | | | | | 93ac2a78 Xcode: Obey SYSTEM keyword for includes (#15687)
| * Xcode: Obey SYSTEM keyword for includes (#15687)Gregor Jasny2016-08-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | CMake used to put all header search paths into HEADER_SEARCH_PATHS attribute. Unfortunately this attribute does not support to declare a search path as a system include. As a hack one could add a -isystem /path to the cflags but then include ordering is not deterministic. A better approach was chosen with this patch by not filling HEADER_SEARCH_PATHS at all and to populate the C, C++, and Fortran flags directly. The include paths used by Xcode should be now identical to the ones used by Unix Makefiles and Ninja generator.
* | NAG: Use -PIC for Fortran position-independent executable codeNeil Carlson2016-08-091-0/+1
|/ | | | | | | | | The Numerical Algorithms Group (NAG) Fortran compiler documents -PIC for position-independent code and does not have a separate option for PIE. We added `-PIC` for PIC in commit v2.8.11~174^2 (NAG: Use -PIC for Fortran position-independent code, 2013-02-18). Follow up for PIE. Closes: #16236
* Merge topic 'fix-string-append'Brad King2016-08-095-5/+5
|\ | | | | | | | | | | 551b4c90 Revert the use of string(APPEND) in .cmake.in files 3a7be4f3 prefer list(APPEND) over string(APPEND) where appropriate
| * Revert the use of string(APPEND) in .cmake.in filesDaniel Pfeifer2016-08-083-3/+3
| | | | | | | | | | The generated files may be consumed by older cmake versions which do not support string(APPEND).
| * prefer list(APPEND) over string(APPEND) where appropriateDaniel Pfeifer2016-08-082-2/+2
| |
* | Merge topic 'GetPrerequisites-grep-a'Brad King2016-08-091-1/+1
|\ \ | | | | | | | | | | | | 5f3c8f6a GetPrerequisites: Always filter objdump output as text
| * | GetPrerequisites: Always filter objdump output as textAlexander Shishenko2016-08-081-1/+1
| |/ | | | | | | | | | | When using `grep` to filter the output, add the `-a` flag to tell it never to treat the output as binary. Otherwise when LANG != C in the environment the non-ascii text may break the filter.
* | Merge topic 'wix-custom-install-dir'Brad King2016-08-091-0/+17
|\ \ | |/ |/| | | | | 17bbf6af CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER feature
| * CPackWIX: Implement new CPACK_WIX_SKIP_PROGRAM_FOLDER featureMichael Stürmer2016-08-081-0/+17
| | | | | | | | | | The new variable allows setting of a custom absolute installation prefix outside of the ProgramFiles folders.
* | Merge topic 'update-cle-version-info'Brad King2016-08-082-4/+14
|\ \ | | | | | | | | | | | | e52302d6 CrayLinuxEnvironment: Add alternative methods to get version info
| * | CrayLinuxEnvironment: Add alternative methods to get version infoChuck Atkins2016-08-052-4/+14
| | | | | | | | | | | | Closes: #16229
* | | FindOpenCL: Fix search on macOS.Matthäus G. Chajdas2016-08-081-3/+10
| |/ |/| | | | | The original patch was provided by jerry <jerry.c.t@web.de>.
* | Modules: Make imported targets fall back to `Release`Brad King2016-08-037-63/+63
| | | | | | | | | | | | | | | | | | | | | | | | Find modules only detect Debug and Release configurations. All other configurations will fall back to the configuration listed as the first entry in `IMPORTED_CONFIGURATIONS`. Switch the order so that `Release` is listed first, as this is a better fallback than `Debug` for the `RelWithDebInfo` and `MinSizeRel` configurations. See issue #16091. This approach is recommended by documentation in `cmake-developer(7)` added by commit v3.2.0-rc1~286^2~1 (Help: Document IMPORTED_CONFIGURATIONS target property for Find modules, 2014-12-04).
* | Merge topic 'CMakeFindFrameworks-custom-locations'Brad King2016-08-031-1/+7
|\ \ | | | | | | | | | | | | 9970cdcb CMakeFindFrameworks: Allow custom framework locations
| * | CMakeFindFrameworks: Allow custom framework locationsDavid Keller2016-08-021-1/+7
| | | | | | | | | | | | | | | | | | | | | Read a variable to get non-standard locations to be searched, e.g. brew, port. Signed-off-by: David Keller <david.keller@litchis.fr>
* | | Merge topic 'gcc-fvisibility-version'Brad King2016-08-031-1/+1
|\ \ \ | | | | | | | | | | | | | | | | 85e03142 GNU: Use -fvisibility on GCC 4.0 and 4.1 too
| * | | GNU: Use -fvisibility on GCC 4.0 and 4.1 tooBrad King2016-08-021-1/+1
| |/ / | | | | | | | | | | | | | | | | | | This flag is needed for the `<LANG>_VISIBILITY_PRESET` target property. It has been supported since GCC 4.0, not 4.2 as we previously recorded. Fixes #16222.
* | | Merge topic 'FindProtobuf-restore-PROTOBUF_IMPORT_DIRS'Brad King2016-08-031-0/+8
|\ \ \ | | | | | | | | | | | | | | | | 5790d9b6 FindProtobuf: Restore support for PROTOBUF_IMPORT_DIRS
| * | | FindProtobuf: Restore support for PROTOBUF_IMPORT_DIRSKonstantin Sinitsyn2016-08-021-0/+8
| | |/ | |/| | | | | | | | | | | | | Support was accidentally dropped by commit v3.6.0-rc1~273^2 (FindProtobuf: Rename variables to match case of module name, 2016-03-01).
* | | Merge topic 'port-to-sco'Brad King2016-08-031-0/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | 56539d89 SCO_SV: Enable so filename versioning 16a3a735 cmELF: Port to SCO OpenServer 5.0.7/3.2
| * | | SCO_SV: Enable so filename versioningPatrick Welche2016-08-021-0/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | Take changes used by pkgsrc [1]: * so filename versioning requires CMAKE_SHARED_LIBRARY_SONAME_C_FLAG. [1] http://cdn.netbsd.org/pub/pkgsrc/current/pkgsrc/devel/cmake/patches/
* | | Merge topic 'ExternalProject-no-DS_Store'Brad King2016-08-031-0/+1
|\ \ \ | | | | | | | | | | | | | | | | 52aecc0c ExternalProject: Ignore macOS .DS_Store files in tarball extraction
| * | | ExternalProject: Ignore macOS .DS_Store files in tarball extractionBrad King2016-08-021-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Do not consider a top-level `.DS_Store` file when deciding whether a tarball contains exactly one directory whose contents should be used as the resulting top-level of the extraction. Fixes #16218. Suggested-by: Patrice Kouame
* | | | Merge topic 'wix-root-description'Brad King2016-08-031-0/+11
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | e29bfbf2 CPackWIX: Support custom title and description for the root feature
| * | | | CPackWIX: Support custom title and description for the root featureMichael Stürmer2016-08-021-0/+11
| | |/ / | |/| | | | | | | | | | | | | | | | | | These can now be specified through the WIX generator specific CPack variables CPACK_WIX_ROOT_FEATURE_TITLE and CPACK_WIX_ROOT_FEATURE_DESCRIPTION.
* | | | Merge topic 'FindCUDA-no-windows-librt'Brad King2016-08-031-1/+1
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | f4e979b1 FindCUDA: Do not look for librt on Windows
| * | | | FindCUDA: Do not look for librt on WindowsStephen Sorley2016-08-021-1/+1
| |/ / / | | | | | | | | | | | | | | | | Otherwise an incorrect warning appears when compiling with CUDA SDK 6.5 or older and CUDA_USE_STATIC_CUDA_RUNTIME is true.
* | | | Merge topic 'FindCUDA-arch'Brad King2016-08-031-1/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 15a6ae5c FindCUDA: Add search path for nvcc on Arch