summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'stl-support-make_unique-supports-array'Brad King2020-01-291-1/+36
|\ | | | | | | | | | | | | fa828b8fba STL support: make_unique can now handle array Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4295
| * STL support: make_unique can now handle arrayMarc Chevrier2020-01-281-1/+36
| |
* | Merge topic 'fortran-subdir-simplify'Brad King2020-01-291-9/+1
|\ \ | | | | | | | | | | | | | | | | | | a7b844d6d4 CMakeAddFortranSubdirectory: Simplfy logic to always build subdir Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4296
| * | CMakeAddFortranSubdirectory: Simplfy logic to always build subdirBrad King2020-01-281-9/+1
| | | | | | | | | | | | | | | | | | | | | | | | In the case that we use ExternalProject_Add to drive the subdirectory build, replace the `forcebuild` step with the official `BUILD_ALWAYS` option. Issue: #20179
* | | Merge topic 'blas-intel-mkl'Brad King2020-01-292-121/+232
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4d7c69208e Find{BLAS,LAPACK}: Search always in dynamic linker paths fde5fcbc71 Find{BLAS,LAPACK}: Avoid repeated setting of prefered library suffixes fd1d4b823f Find{BLAS,LAPACK}: Fixed incorrect static library suffix for Apple c60c847510 Find{BLAS,LAPACK}: Added support for MKL single dynamic library 59dbff6daa Find{BLAS,LAPACK}: Added support for static MKL required linker flags 6bd9cee638 Find{BLAS,LAPACK}: Fixed detection of MKL, and several MKL improvements Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4246
| * | | Find{BLAS,LAPACK}: Search always in dynamic linker pathsMario Emmenlauer2020-01-282-16/+12
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Previously the search in the dynamic linker paths 'LIB', 'LD_LIBRARY_PATH' and 'DYLD_LIBRARY_PATH' was dependent on the value of the environment variable 'MKLROOT'. If MKLROOT was given, the dynamic linker paths where not searched. This seems slightly counter-intuitive. This PR changes the behavior so that MKLROOT is searched first, but if unsuccesful, the dynamic linker paths are tried as well.
| * | | Find{BLAS,LAPACK}: Avoid repeated setting of prefered library suffixesMario Emmenlauer2020-01-282-28/+28
| | | |
| * | | Find{BLAS,LAPACK}: Fixed incorrect static library suffix for AppleMario Emmenlauer2020-01-282-6/+0
| | | |
| * | | Find{BLAS,LAPACK}: Added support for MKL single dynamic libraryMario Emmenlauer2020-01-282-0/+8
| | | |
| * | | Find{BLAS,LAPACK}: Added support for static MKL required linker flagsMario Emmenlauer2020-01-282-67/+75
| | | |
| * | | Find{BLAS,LAPACK}: Fixed detection of MKL, and several MKL improvementsMario Emmenlauer2020-01-282-50/+155
| | | |
* | | | Merge topic 'mf-json-type'Brad King2020-01-291-3/+2
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5a72ffb33a cmMakefile: Fix construction of Json::Value from fixed-size int types Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4291
| * | | | cmMakefile: Fix construction of Json::Value from fixed-size int typesRaul Tambre2020-01-281-3/+2
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | Cast to the Json-provided fixed-size integer types rather than assuming that the `std::*` variants match. Fixes: #20278
* | | | CMake Nightly Date StampKitware Robot2020-01-291-1/+1
| |/ / |/| |
* | | Merge topic 'mf-typo'Brad King2020-01-281-1/+1
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7b6af980eb cmMakefile: Fix spelling typo in comment Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4292
| * | | cmMakefile: Fix spelling typo in commentMasashi Fujita2020-01-281-1/+1
| |/ /
* | | Merge topic 'ninja-1.10'Brad King2020-01-287-7/+60
|\ \ \ | |_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ccaa0bccc4 Ninja: Do not clean metadata when re-generating inside a running build 657820a00b Ninja: Track when running to re-generate during a build b12b013028 Ninja: Factor metadata cleanup into dedicated method 5d92e60d81 Ninja: Skip cleandead and recompact if build.ninja is missing dd0a4718fd Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10 0944caaebb Tests: Fix RunCMake.CMP0037 test with Ninja 1.10 9d4883cce5 Tests: Fix RunCMake.Ninja test for Ninja 1.10 Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4290
| * | Ninja: Do not clean metadata when re-generating inside a running buildBrad King2020-01-271-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | When `ninja` re-runs CMake to re-generate the build system, do not try to use the ninja tools to update metadata on Windows. The outer ninja process is already holding the files open. Issue: #20274
| * | Ninja: Track when running to re-generate during a buildBrad King2020-01-274-1/+7
| | | | | | | | | | | | | | | Tell CMake explicitly when it is re-running inside a `ninja` invocation to re-generate the build system.
| * | Ninja: Factor metadata cleanup into dedicated methodBrad King2020-01-272-0/+6
| | |
| * | Ninja: Skip cleandead and recompact if build.ninja is missingBrad King2020-01-271-2/+10
| | | | | | | | | | | | | | | In error cases the `build.ninja` file may not exist. Skip running ninja tools that require it so that we do not generate additional errors.
| * | Ninja: Fix CMAKE_NINJA_OUTPUT_PATH_PREFIX with Ninja 1.10Brad King2020-01-271-4/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The ninja 1.10 tools we use since commit fb18215904 (Ninja: clean ninja metadata once generated, 2019-05-13) expect `build.ninja` to be available and loadable. In commit 6cc74b6140 (cmGlobalNinjaGenerator: avoid cleandead and recompact in Ninja-Multi, 2020-01-22) we added a condition to exclude the tools in a case where `build.ninja` is not available. Generalize that condition using a local variable and extend it for the case that `build.ninja` is not loadable in the current directory because it is meant to be a sub-ninja for a higher directory.
| * | Tests: Fix RunCMake.CMP0037 test with Ninja 1.10Brad King2020-01-271-2/+23
| | | | | | | | | | | | | | | | | | | | | | | | The CMP0037 OLD and WARN cases that actually use reserved target names like `all` produce `build.ninja` files with duplicate build statements producing the same output. With Ninja 1.10 and above we run ninja tools at the end of generation that require `build.ninja` to be loadable. It is not loadable for these test cases, so skip them.
| * | Tests: Fix RunCMake.Ninja test for Ninja 1.10Brad King2020-01-271-0/+1
| | | | | | | | | | | | | | | | | | | | | With Ninja 1.10 we run the cleandead and recompact tools after generation. These require that `build.ninja` be loadable. Update the `CustomCommandJobPool` case to define the referenced job pools to make `build.ninja` loadable.
* | | Merge topic 'xcode-top-level-only-with-object-library'Brad King2020-01-285-2/+29
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 64304fe72b Xcode: Fix post build script for 'top level project only' opt Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4284
| * | | Xcode: Fix post build script for 'top level project only' optYauheni Khnykin2020-01-275-2/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMAKE_XCODE_GENERATE_TOP_LEVEL_PROJECT_ONLY is set on Xcode generator created post build scripts which tried to call XCODE_DEPEND_HELPER.make script in subproject. But XCODE_DEPEND_HELPER.make don't exist in subprojects when mentioned option is set on. Fixes: #20262
* | | | Merge topic 'dot-dir'Brad King2020-01-281-2/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 830a7d8803 cmArchiveWrite: Remove ./ suffix from zip archives Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4288
| * | | | cmArchiveWrite: Remove ./ suffix from zip archivesCristian Adam2020-01-271-2/+7
| | | | | | | | | | | | | | | | | | | | Fixes: #20238
* | | | | Merge topic 'modernize-memory-management'Brad King2020-01-282-15/+15
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b50b2755da cmComputeLinkInformation: modernize memory management Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4285
| * | | | | cmComputeLinkInformation: modernize memory managementMarc Chevrier2020-01-262-15/+15
| |/ / / /
* | | | | Merge topic 'FindBoost-delay-helper-targets'Brad King2020-01-281-37/+37
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e0e87b9d70 FindBoost: Do not add any Boost targets until after Boost found Acked-by: Kitware Robot <kwrobot@kitware.com> Acked-by: Alexander Grund <github@grundis.de> Merge-request: !4280
| * | | | | FindBoost: Do not add any Boost targets until after Boost foundNiall Murphy2020-01-271-37/+37
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | Move creation of the "helper" targets that do not require anything to be found to be done only after Boost is found. Fixes: #20261
* | | | | Merge topic 'clang-tidy-driver-mode'Brad King2020-01-288-2/+29
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | f6f4eb0907 clang-tidy: Add driver mode argument Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4208
| * | | | | clang-tidy: Add driver mode argumentHanjiang Yu2020-01-278-2/+29
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | `clang-tidy` does not infer driver mode if it is not provided with a JSON compilation database. This is exactly the way cmake launches it. Hence clang-tidy will only use the default driver mode. Add an explicit driver mode argument to avoid this.
* | | | | Merge topic 'append-std-string'Brad King2020-01-2821-110/+98
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 1398517f31 AppendProperty: convert value param to std::string Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4282
| * | | | | AppendProperty: convert value param to std::stringVitaly Stakhovsky2020-01-2521-110/+98
| |/ / / /
* | | | | Merge topic 'osx-version-flags'Brad King2020-01-2816-19/+139
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6a84f0b791 macOS: Test OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties 4a62e3d97c macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION properties Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4274
| * | | | | macOS: Test OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION propertiesBrad King2020-01-276-0/+55
| | | | | | | | | | | | | | | | | | | | | | | | Issue: #17652
| * | | | | macOS: Add OSX_COMPATIBILITY_VERSION and OSX_CURRENT_VERSION propertiesIsuru Fernando2020-01-2410-19/+84
| | | | | | | | | | | | | | | | | | | | | | | | Fixes: #17652
* | | | | | Merge topic 'cmsting-stl-compatibility'Brad King2020-01-284-55/+170
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8f839d02e3 cm::String: enhance compatibility with STL Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4281
| * | | | | | cm::String: enhance compatibility with STLMarc Chevrier2020-01-254-55/+170
| | |/ / / / | |/| | | |
* | | | | | Merge topic 'QNX_CMAKE_SYSROOT'Brad King2020-01-284-1/+25
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 32a6ab1f3b QNX: Add support for CMAKE_SYSROOT Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4277
| * | | | | | QNX: Add support for CMAKE_SYSROOTStephen Kelly2020-01-274-1/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | QCC is a wrapper around GCC, but it is not a fully transparent wrapper. Some compile options need to be passed to GCC using a `-Wc` option. QCC does not support --sysroot, so setting CMAKE_SYSROOT in a toolchain file currently does not work. This means that it is likely that no one is setting CMAKE_SYSROOT in existing QNC toolchain files. Override the GCC option for sysroot in the QCC.cmake file with -Wc,-isysroot. This exposes a further issue in that the QNX SDK does not follow the same architectural folder structure as linux uses. That is, on linux systems, architecture-specific libraries might be in <sysroot>/usr/lib/<arch> such as /usr/lib/x86_64-linux-gnu/libcurl.so CMake models this by suffixing the <arch> onto lib directories when searching for libraries. The QNX SDK is structured differently such that the <arch> should be used as a prefix: <sysroot>/<arch>/usr/lib such as <sysroot>/x86_64/usr/lib/libcurl.so Add a variable for platform configuration to set whether to prefix or suffix the <arch> and set that in the QCC.cmake. Use the directory structure of the QNX SDK to compute the <arch> from the implicit library directories. The assumption is that the arch will be a single directory directly below the CMAKE_SYSROOT, below which the usr/ prefix occurs. It would not be appropriate to instruct users to make the <arch> part of the sysroot when specified in the toolchain file because: 1. That would be non-DRY - The QCC wrapper already determines the <arch> by the -V argument passed to the compiler, specified in the toolchain file as the CMAKE_C_COMPILER_TARGET variable. 2. The includes in the QNX SDK are not below the <arch> directory. So, the location of the <arch> in the full path is different on QNX compared to, say an embedded linux platform, but the intent is the same. Add documentation to recommend the use of CMAKE_SYSROOT in a QNX toolchain file. As the CMAKE_SYSROOT is always the same for QNX, it would be possible to simply set it in QCC.cmake. However, that would change behavior for existing users as when CMAKE_SYSROOT is set, files/paths outside of the CMAKE_SYSROOT do not get found. The <arch> prefixing is only enabled in cmSearchPath.cxx if CMAKE_SYSROOT is set. This ensures that the user gets consistency in the current state without CMAKE_SYSROOT, and gets better consistency when using CMAKE_SYSROOT.
* | | | | | | Merge topic 'cuda_runtime_library_controls'Brad King2020-01-2841-51/+911
|\ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0d0145138f CUDA: Add abstraction for cuda runtime selection Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4178
| * | | | | | | CUDA: Add abstraction for cuda runtime selectionRobert Maynard2020-01-2741-51/+911
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fixes #17559 Replace our hard-coded default of cudart=static with a first-class abstraction to select the runtime library from an enumeration of logical names.
* | | | | | | | Merge topic 'findCUDAToolkit_better_find_root_support'Brad King2020-01-281-31/+43
|\ \ \ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 45d21dd5d4 CUDAToolkit: Use CMAKE_FIND_ROOT_PATH for all sdk lib searches e357772f20 CUDAToolkit: Use HINTS as it has higher precedence for searches c6ec51c625 CUDAToolkit: functions names now use CMake's reserved namespace Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4278
| * | | | | | | | CUDAToolkit: Use CMAKE_FIND_ROOT_PATH for all sdk lib searchesRobert Maynard2020-01-271-6/+18
| | | | | | | | |
| * | | | | | | | CUDAToolkit: Use HINTS as it has higher precedence for searchesRobert Maynard2020-01-241-1/+1
| | | | | | | | |
| * | | | | | | | CUDAToolkit: functions names now use CMake's reserved namespaceRobert Maynard2020-01-241-24/+24
| | |/ / / / / / | |/| | | | | |
* | | | | | | | Merge topic 'install-name-tool-bug'Brad King2020-01-282-5/+9
|\ \ \ \ \ \ \ \ | |_|_|_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 162e8aeb9e Tests: Disable test on problematic versions of install_name_tool Acked-by: Kitware Robot <kwrobot@kitware.com> Merge-request: !4276