summaryrefslogtreecommitdiff
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'vs-15-generator'Brad King2016-09-081-0/+3
|\ | | | | | | | | | | | | bdc679a8 VS15: Add Visual Studio 15 generator a8936656 VS: Update v140 flag tables from VS 15 MSBuild files 21346d3f Features: Record features for VS 15 Preview 4
| * Features: Record features for VS 15 Preview 4Brad King2016-09-061-0/+3
| |
* | ExternalData: Tolerate files duplicated across multiple targetsBrad King2016-09-071-29/+47
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If multiple ExternalData_Target_Add calls generate the same output file then we need to avoid calling add_custom_command multiple times with that output. This was already done within a single target by setting a variable in the local function scope. This will not be visible in other calls though so we need to use a directory property instead to prevent adding a custom command multiple times for one output in a directory. Normally it is not safe to have multiple custom commands that produce the same output file across multiple independent targets, but since we use atomic replacement of outputs the resulting races should not be a problem. For the convenience of projects, tolerate this instead of diagnosing it. In particular, we previously allowed up to two copies of the custom command in one directory because CMake has a fallback from MAIN_DEPENDENCY to an `<output>.rule` file. While at it, add a note to the documentation that typically only one external data target should be needed for a project. Reported-by: David Manthey <david.manthey@kitware.com>
* | Merge topic 'GNUInstallDirs-function'Brad King2016-09-071-30/+51
|\ \ | | | | | | | | | | | | 17a24dc3 GNUInstallDirs: Add macro to expose internal logic publicly
| * | GNUInstallDirs: Add macro to expose internal logic publiclyRoger Leigh2016-09-071-30/+51
| |/
* | Merge topic 'cpack-deb-package-description-fallback'Brad King2016-09-071-21/+22
|\ \ | | | | | | | | | | | | 332b089a CPack/DEB: Make package description variable precedence match RPM
| * | CPack/DEB: Make package description variable precedence match RPMDomen Vrankar2016-09-071-21/+22
| |/ | | | | | | | | | | | | | | | | Make `CPACK_DEBIAN_PACKAGE_DESCRIPTION` fallback variable precedence match CPackRPM behavior as much as possible. This is technically a breaking change, but the new behavior is more consistent with expectation anyway. Closes: #16272
* | Merge topic 'FindMatlab-fix-empty-list-index'Brad King2016-09-071-2/+6
|\ \ | |/ |/| | | | | 29768b03 FindMatlab: Avoid indexing an empty list of versions
| * FindMatlab: Avoid indexing an empty list of versionsBrad King2016-09-061-2/+6
| |
* | Merge topic 'test-GenerateExportHeader-with-RunCMake'Brad King2016-09-064-0/+4
|\ \ | | | | | | | | | | | | | | | | | | 72ecdd34 Tests: Cleanup RunCMake.GenerateExportHeader somewhat fc3dab0e Tests: Port GenerateExportHeader test to RunCMake infrastructure 4feba34d GNU: Do not use -fvisibility on AIX or HP-UX
| * | GNU: Do not use -fvisibility on AIX or HP-UXBrad King2016-09-054-0/+4
| | | | | | | | | | | | | | | | | | Use of `-fvisibility=hidden` warns: warning: visibility attribute not supported in this configuration; ignored
* | | CPack/DEB: Add option to select archive typeDomen Vrankar2016-09-051-1/+32
| |/ |/| | | | | | | | | | | Add a `CPACK_DEBIAN_ARCHIVE_TYPE` option that can be used to select an archive type that supports long file names. Closes: #14332
* | Merge topic 'FindHDF5-is-parallel'Brad King2016-09-031-8/+60
|\ \ | | | | | | | | | | | | b61eab24 FindHDF5: Fix regression in providing HDF5_IS_PARALLEL
| * | FindHDF5: Fix regression in providing HDF5_IS_PARALLELBrad King2016-09-021-8/+60
| | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.6.0-rc1~85^2 (HDF5: Refactor the use of compiler wrappers, 2016-04-01) we have additional code paths that find HDF5 and suppress the original search logic. Report HDF5_IS_PARALLEL from these other code paths too. Closes: #16257
* | | Merge topic 'FindHDF5-fix-hl-fortran'Brad King2016-09-031-1/+1
|\ \ \ | |_|/ |/| | | | | | | | befe8648 FindHDF5: Fix regression in finding hdf5hl_fortran
| * | FindHDF5: Fix regression in finding hdf5hl_fortranBrad King2016-09-021-1/+1
| |/ | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.6.0-rc1~72^2 (HDF5: Rework component searching to correctly find HL for all bindings, 2016-05-12) accidentally dropped the name `hdf5hl_fortran` from the list of library names and replaced it with `hdf5_hl_fortran`. IIUC the latter name is when HDF5 is built with CMake and the former name is for other build systems. Since this is the non-CMake code path, user the former name. Closes: #16233
* | GenerateExportHeader: Fix add_compiler_export_flags regressionBrad King2016-09-011-1/+2
| | | | | | | | | | | | | | | | | | The mechanical conversion in commit 5d0d980d (Use string(APPEND) in Modules, 2016-07-28) accidentally introduced use of string(APPEND ... PARENT_SCOPE) Split that into the string(APPEND) and set(PARENT_SCOPE) pieces.
* | Merge topic 'FindEXPAT-use-PkgConfig'Brad King2016-09-011-2/+6
|\ \ | | | | | | | | | | | | fc695a77 FindEXPAT: use hints from PkgConfig
| * | FindEXPAT: use hints from PkgConfigChristoph Junghans2016-08-311-2/+6
| | |
* | | FindCUDA: Allow cuda_compile* macros to be called more than once per directoryStephen Sorley2016-08-311-2/+13
| | | | | | | | | | | | | | | | | | | | | Added a counter as a directory property that gets incremented every time one of the cuda_compile* macros is called. The value of this counter is then added to the phony target name passed to CUDA_WRAP_SRCS. This ensures that every call to one of these macros has its own unique intermediate output directory.
* | | FindCUDA: Fix for broken cuda_compile* commands.Stephen Sorley2016-08-311-9/+32
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The macros CUDA_COMPILE, CUDA_COMPILE_PTX, CUDA_COMPILE_FATBIN, and CUDA_COMPILE_CUBIN were broken by commit 7ded655 (FindCUDA: Take NVCC include directories from target properties, 2016-08-16). This bug is due to the fact that all of these macros call CUDA_WRAP_SRCS with a target name that's not an actual target, causing the new generator expressions to fail. Fix the bug by changing these macros to pass "PHONY" to CUDA_WRAP_SRCS. Now, when CUDA_WRAP_SRCS sees "PHONY", it falls back to the old behavior of populating the include directories and compile definitions from directory properties, instead of using target generator expressions.
* | | Merge topic 'FindOpenSSL-new-windows-names'Brad King2016-08-311-0/+17
|\ \ \ | | | | | | | | | | | | | | | | ed1758f8 FindOpenSSL: Fix detection of OpenSSL 1.1 Win32/64
| * | | FindOpenSSL: Fix detection of OpenSSL 1.1 Win32/64Alexis Murzeau2016-08-301-0/+17
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since OpenSSL 1.1.0, Windows binaries are libcrypto and libssl instead of the old names libeay32 and ssleay32. When using MSVC, FindOpenSSL was searching for the old lib names only so this add the new names to be able to find OpenSSL 1.1.0 libraries. For example, the files in lib directory of OpenSSL 1.1.0 Win64 : - libcrypto.lib - libssl.lib - VC/libcrypto64MD.lib - VC/libcrypto64MDd.lib - VC/libcrypto64MT.lib - VC/libcrypto64MTd.lib - VC/libssl64MD.lib - VC/libssl64MDd.lib - VC/libssl64MT.lib - VC/libssl64MTd.lib 32 bits OpenSSL has the same files with "32" instead of "64" for files in VC directory. MinGW still works and use lib/libcrypto.lib and lib/libssl.lib. This patch also add libssl and libcrypto for other windows compilers too (like Intel).
* | | Merge topic 'fortran-macOS-sysroot'Brad King2016-08-311-0/+2
|\ \ \ | | | | | | | | | | | | | | | | d6f96207 Fortran: Use -isysroot and -mmacosx-version-min= on macOS if available
| * | | Fortran: Use -isysroot and -mmacosx-version-min= on macOS if availableBrad King2016-08-301-0/+2
| |/ / | | | | | | | | | Closes: #16265
* | | FindMatlab: adding handling of component "MAT"Raffi Enficiaud2016-08-301-20/+23
|/ / | | | | | | | | | | - documentation - test - cosmetic changes
* | Merge topic 'cpack-rpm-debuginfo-pkg'Brad King2016-08-261-2/+63
|\ \ | | | | | | | | | | | | | | | 426f97d3 CPack/RPM: Add test for debuginfo package generation bc8c0add CPack RPM debuginfo packages generation
| * | CPack RPM debuginfo packages generationIstvan Bodnar2016-08-251-2/+63
| | | | | | | | | | | | | | | Added new variable to CPackRPM for debuginfo rpm package generation. Binaries will be checked for debug symbols.
* | | FindwxWidgets: Add VS-versioned library directory prefixesBrad King2016-08-251-3/+15
| | | | | | | | | | | | | | | | | | | | | Add Visual Studio version number (supported: VS2008 to VS2015) to WX_LIB_DIR_PREFIX (old: vc / vc_x64; new: vc120 / vc120_x64). Patch-by: Hannes Grobler (Johnny_xy on gitlab.kitware.com)
* | | FindwxWidgets: Add version 3.1.0Brad King2016-08-251-0/+1
|/ / | | | | | | Patch-by: Hannes Grobler (Johnny_xy on gitlab.kitware.com)
* | Merge topic 'android-platform-modules'Brad King2016-08-2453-1/+1311
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7b637ebd Android: Add `ANDROID` variable to indicate the target c2f561e5 Android: Add test cases covering use of the NDK and standalone toolchains 6b84df8d Help: Document cross compiling for Android d7d40830 Android: Select the STL type for NDK builds b22294bc Android: Populate compiler flags for current ABI b6a3102a Android: Add a CMAKE_BUILD_TYPE default d1e3cec2 Android: Add Clang -target option for current ABI 504db72d Android: Add placeholders for compiler/abi-specific settings fa632578 Android: Avoid interfering with common pre-existing toolchain files 6299693f Android: Search for NDK and standalone toolchain in more places 29b51379 Android: Detect and save a standalone toolchain without the NDK 7d9b49fb Android: Detect settings from the CMAKE_SYSROOT if it is set 4389664a Android: Detect and save a toolchain from the NDK 328191f6 Android: Set CMAKE_SYSROOT automatically 9e032304 Android: Detect and save the architecture, ABI, and processor fde59c4d Android: Detect and save the API level ...
| * | 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.