summaryrefslogtreecommitdiffstats
path: root/Modules
Commit message (Collapse)AuthorAgeFilesLines
* InstallRequiredSystemLibraries: Add support for future VS 2017 toolchainsBrad King2017-09-061-19/+16
| | | | | | Assume that all cl 19.xx versions will use the same runtime DLL pattern. Suggested-by: Tomasz Słodkowicz <slodki@users.noreply.github.com>
* Merge branch 'InstallRequiredSystemLibraries-vs15.3' into release-3.9Brad King2017-08-221-11/+31
|\ | | | | | | Merge-request: !1168
| * InstallRequiredSystemLibraries: Find VS 2017 Update 3 redist directoryBrad King2017-08-211-3/+13
| | | | | | | | | | | | Add compiler version 19.11 to our table. Fixes: #17184
| * InstallRequiredSystemLibraries: Factor redist name into variableBrad King2017-08-211-8/+18
| | | | | | | | | | | | Store the `VC###` component of the `Microsoft.VC###.CRT` directory name in a variable set based on the toolchain version. Its naming convention is changed by VS 15.3.
* | Merge branch 'revert-macos-hidpi-qt-dialog' into release-3.9Brad King2017-08-221-4/+0
|\ \ | | | | | | | | | Merge-request: !1167
| * | macOS: Revert default Hi-DPI support in applicationsBrad King2017-08-221-4/+0
| |/ | | | | | | | | | | | | | | | | | | | | This reverts commit v3.9.0-rc1~287^2 (macOS: Enable Hi-DPI support in applications by default, 2017-04-08). It breaks iOS applications that do not use their own `MACOSX_BUNDLE_INFO_PLIST` because `NSApplication` is only for macOS apps. Until more complete support for iOS is added to CMake (e.g. with a different default plist file) we must allow our default plist file to work for both macOS and iOS. Fixes: #17179
* | Merge branch 'debian_clang_binutils' into release-3.9Brad King2017-08-151-0/+8
|\ \ | | | | | | | | | Merge-request: !1127
| * | Clang: Find version-suffixed LLVM/Clang binutilsSylvain Joubert2017-08-151-0/+8
| |/ | | | | | | | | | | | | | | | | Debian renames all LLVM/Clang binaries with a version suffix to allow multiple versions to be installed at the same time. While there is a version-agnostic package that adds a symlink to provide the standard binary names, if only the versioned packages are installed, binaries must be found as `binary-x.y`. In any case, using the same version of the `binutils` as the compiler seems better.
* | Merge branch 'cuda-device-link-ccbin' into release-3.9Brad King2017-08-151-2/+2
|\ \ | | | | | | | | | Merge-request: !1138
| * | CUDA: Pass host compiler to nvcc while device linkingMaikel van den Hurk2017-08-151-2/+2
| |/
* | FindCygwin: Fix regression when CYGWIN_INSTALL_PATH is already setTibor Szabo2017-08-151-5/+8
|/ | | | | | | | | | The change in commit v3.9.0-rc1~54^2 (FindCygwin: Use find_program instead of find_path, 2017-05-18) broke cases when `CYGWIN_INSTALL_PATH` is already set, e.g. on the command-line or by an earlier call to `find_package(Cygwin)`. Since `find_program` now finds the actual `cygwin.bat` file, use a separate cache entry to save the location and then compute `CYGWIN_INSTALL_PATH`. If `CYGWIN_INSTALL_PATH` is already set, use that to avoid `find_program` having to search.
* Merge branch 'android-plain-sysroot' into release-3.9Brad King2017-08-031-3/+9
|\ | | | | | | Merge-request: !1101
| * Android: Fix support for CMAKE_SYSROOT without CMAKE_SYSROOT_COMPILEBrad King2017-08-031-3/+9
| | | | | | | | | | | | | | | | | | If `CMAKE_SYSROOT` is set by the user (e.g. via the toolchain file) then we do not set `CMAKE_SYSROOT_COMPILE` to our default. Fix our references to the sysroot's `/usr/include` directory to use `CMAKE_SYSROOT_COMPILE` only if it is set and else `CMAKE_SYSROOT`. Fixes: #17096
* | Merge branch 'UseSWIG-Java-enabled' into release-3.9Brad King2017-08-021-2/+4
|\ \ | | | | | | | | | Merge-request: !1095
| * | UseSWIG: Fix when Java is enabled as a languageBrad King2017-08-021-2/+4
| |/ | | | | | | | | | | | | | | | | | | Since commit v3.8.0-rc1~251^2 (UseSWIG: Record generated java files as custom command outputs, 2016-11-28) the generated `.java` files are listed as sources in the call to `add_library` by swig_add_library. They are listed only as the outputs of custom commands and not intended for compilation as part of the library. Reported-by: Alan W. Irwin <irwin@beluga.phys.uvic.ca>
* | Merge branch 'FindJava-fix-1.6-registry' into release-3.9Brad King2017-08-021-1/+1
|\ \ | | | | | | | | | Merge-request: !1079
| * | FindJava: fix hint for windows jre 1.6Rechi Rechi2017-08-021-1/+1
| |/ | | | | | | | | Fix typo in commit v3.8.0-rc1~112^2 (FindJava: add hints for jre, 2017-01-11).
* | Merge branch 'FindJava_earlyAccessDebian' into release-3.9Craig Scott2017-08-021-1/+1
|\ \ | | | | | | | | | | | | Tested-by: Felix Geyer <debfx@fobos.de> Merge-request: !1080
| * | Allow early access version trailing string to be mixed caseCraig Scott2017-07-251-1/+1
| |/ | | | | | | | | The original regex was expecting to match strings like "ea", but it has been reported that other strings like "Debian" are also possible.
* | FindBoost: pop policy stack before returningCristian Adam2017-07-261-0/+2
|/ | | | | CMake would give a fatal error if the policy stack was cleaned up upon exiting the module.
* Merge branch 'ninja_cuda_export_compile_commands_support' into release-3.9Brad King2017-07-131-1/+3
|\
| * CUDA: CMAKE_EXPORT_COMPILE_COMMANDS now works with CUDA and NinjaRobert Maynard2017-07-131-1/+3
| | | | | | | | Fixes: #17061
* | Android: Always add standard include directories lastBrad King2017-07-131-1/+0
|/ | | | | | | | | | | | | | | | | | | | | | | | | | The logic added in commit v3.6.0-rc1~30^2 (Add a variable to specify language-wide system include directories, 2016-05-24) to use `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` incorrectly filters them by `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES`. Rather than recognizing this, commit v3.8.0-rc1~60^2 (Android: Pass sysroot include directory explicitly, 2017-01-20) worked around the problem by incorrectly removing `/usr/include` from `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` so it worked in `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`. By not filtering out `/usr/include` from user-specified include directories, we allow the code include_directories(${CMAKE_SYSROOT}/usr/include) to place the include directory too early on the command line. Fix support for standard include directories to not be filtered by implicit include directories, and do not remove `/usr/include` from the list of implicit include directories for Android builds. Add a test case to verify that an explicit `/usr/include` is ignored in favor of the standard directory at the end. Fixes: #17059
* Merge branch 'android-fix-c++_shared' into release-3.9Brad King2017-07-121-0/+1
|\
| * Android: Link to android_support with c++_sharedBrad King2017-07-121-0/+1
| | | | | | | | | | The NDK has done this in `build/core/definitions.mk` since r13 (r12 and below do so only for c++_static).
* | FindDoxygen: Create DOXYGEN_OUTPUT_DIRECTORY if it doesn't existRobert Dailey2017-07-061-3/+11
| | | | | | | | | | If the doxygen output directory does not exist, create it prior to running the doxygen commands.
* | FindDoxygen: Use a stable reference to the location of global resourcesRobert Dailey2017-06-291-5/+5
|/ | | | | | | | | | | | | FindDoxygen generates some files based on the version of Doxygen whose content will not vary across a project and are therefore a global resource that can be shared by all calls to `find_package(Doxygen)` and to `doxygen_add_docs`. We currently use `${PROJECT_BINARY_DIR}` to reference their location, but this is not stable because `project()` calls in a subdirectory can change it. Use `${CMAKE_BINARY_DIR}` instead. Reviewed-by: Craig Scott <craig.scott@crascit.com> Fixes: #17022
* Merge branch 'FindDoxygen-internal-var' into release-3.9Brad King2017-06-271-6/+6
|\
| * FindDoxygen: Add private prefix to internal variablesBrad King2017-06-271-6/+6
| | | | | | | | | | | | Since commit v3.9.0-rc1~55^2 (Improve Doxygen support, 2017-04-10) we accidentally leave a non-prefixed internal `result` variable set. This may interfere with project code. Add a prefix to avoid this.
* | Merge branch 'GetPrerequisites-ucrt-no-warn' into release-3.9Brad King2017-06-261-1/+1
|\ \
| * | GetPrerequisites: Do not warn about non-absolute UCRT system librariesBrad King2017-06-261-1/+1
| | | | | | | | | | | | Issue: #17007
* | | GCC,Clang: Mark CMAKE_<LANG>_COMPILER_{AR,RANLIB} as advancedBrad King2017-06-222-0/+4
|/ /
* | Merge branch 'android-unified-headers' into release-3.9Brad King2017-06-221-2/+6
|\ \
| * | 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 branch 'ipo-per-lang' into release-3.9Brad King2017-06-145-19/+21
|\ \ \
| * | | IPO: Consider support for each language separatelyBrad King2017-06-145-19/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 branch 'cuda-dlink-no-deprecated-gpu' into release-3.9Brad King2017-06-132-4/+21
|\ \ \ \
| * | | | CUDA: When linking device code suppress CUDA 8.0+ deprecation warningsRobert Maynard2017-06-132-4/+21
| |/ / / | | | | | | | | | | | | | | | | | | | | 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 branch 'doc-pkgconfig-list' into release-3.9Brad King2017-06-121-1/+7
|\ \ \ \ | |_|/ / |/| | |
| * | | FindPkgConfig: mention that variables will be ;-listsRolf Eike Beer2017-06-121-0/+6
| | | |
| * | | FindPkgConfig: fix confusing indentationRolf Eike Beer2017-06-121-1/+1
| | | |
* | | | 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
|\ \ \
| * | | 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 branch 'android-standalone-unified-api-level' into release-3.9Brad King2017-06-091-5/+28
|\ \ \ | |_|/ |/| |
| * | 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
* | FindDoxygen: Create imported targets at most once in a given scopeBrad King2017-06-091-16/+24
| | | | | | | | | | | | The imported targets added by commit v3.9.0-rc1~55^2 (Improve Doxygen support, 2017-04-10) need to be guarded against duplicate creation on multiple inclusion.
* | FindDoxygen: Restore DOXYGEN_DOT_FOUND variableKonstantin Podsvirov2017-06-071-1/+1
|/ | | | | | The changes in commit v3.9.0-rc1~55^2 (Improve Doxygen support, 2017-04-10) accidentally dropped this variable from its compatibility mode.
* Merge topic 'GoogleTest-disabled-tests'Brad King2017-06-051-8/+38
|\ | | | | | | | | | | | | | | 92bbb706 GoogleTest: Add support for disabled tests Acked-by: Kitware Robot <kwrobot@kitware.com> Reviewed-by: Craig Scott <craig.scott@crascit.com> Merge-request: !920
| * GoogleTest: Add support for disabled testsChuck Atkins2017-06-051-8/+38
| | | | | | | | Fixes: #10612