https://github.com/Kitware/CMake

sort by:
Revision Author Date Message Commit Date
f96f1aa CMake 3.14.0-rc4 08 March 2019, 12:34:57 UTC
0e2804b Merge branch 'cxx-checks-warning-match' into release-3.14 Merge-request: !3075 07 March 2019, 20:00:26 UTC
4ca5a81 C++ feature checks: Match warnings more strictly Require the word "warning" to appear at the start of a line, after whitespace, or after a `:`. This is the same that CTest launchers use to match warnings. It avoids matching "warning" inside file paths. Fixes: #19019 07 March 2019, 19:55:54 UTC
c042c99 Merge branch 'install-no-imported-global' into release-3.14 Merge-request: !3071 07 March 2019, 14:17:21 UTC
47389c5 install: Do not crash on imported global target Since commit e89ad0f94e (install: Allow installing targets created in another directory, 2018-06-18, v3.13.0-rc1~407^2) the `install(TARGETS)` command may find a global-scoped target outside the calling directory. Ignore an `IMPORTED GLOBAL` target if it is found in this way. Imported targets cannot be installed, and trying to do so violates internal invariants. Fixes: #19022 07 March 2019, 14:00:56 UTC
898d21e Merge branch 'vs-explicit-newline' into release-3.14 Merge-request: !3065 06 March 2019, 14:43:27 UTC
0bf4418 VS: Encode newlines in XML attributes Encode `\n` as `
` to avoid generating a literal newline inside an XML attribute. This is more readable and also fixes custom commands in `.csproj` files with VS 2019 RC. Fixes: #19001 06 March 2019, 14:37:21 UTC
ef10c9a Merge branch 'docs-xcode-schemes' into release-3.14 Merge-request: !3066 06 March 2019, 14:07:29 UTC
d0cb912 Help: Remove note that Xcode scheme generator is experimental 06 March 2019, 13:04:55 UTC
de850fe Help: Trivial typo fix for CMAKE_XCODE_GENERATE_SCHEME 06 March 2019, 13:04:55 UTC
d61a5a2 Help: Sort lists of (CMAKE_)XCODE_SCHEME_... variables and properties 06 March 2019, 13:04:55 UTC
ec79045 Merge branch 'docs-install-destinations' into release-3.14 Merge-request: !3052 05 March 2019, 16:26:34 UTC
216fff2 Merge branch 'ios-docs' into release-3.14 Merge-request: !3047 05 March 2019, 14:46:40 UTC
376138f Help: CMAKE_MACOSX_BUNDLE is ON for iOS/tvOS/watchOS 05 March 2019, 14:45:50 UTC
f7d602b Help: Example of tweaking iOS/tvOS/watchOS build CMAKE_OSX_ARCHITECTURES and CMAKE_OSX_DEPLOYMENT_TARGET variables can be used to tweak iOS/tvOS/watchOS build 05 March 2019, 14:45:50 UTC
4a9e2e4 Help: find_package with fat iOS libraries 05 March 2019, 14:45:50 UTC
509a940 Merge branch 'ios-variable' into release-3.14 Merge-request: !3051 05 March 2019, 14:42:58 UTC
e427c7c iOS: Add IOS variable Since commit 11da882a12 (Apple: Introduce separate system name for iOS, tvOS, and watchOS, 2018-01-15, v3.14.0-rc1~14^2~1) we support setting `CMAKE_SYSTEM_NAME` to `iOS`. Existing iOS toolchain files already set `IOS` as a short-hand variable, so do the same here. 05 March 2019, 14:42:41 UTC
a5f79b8 Help: clarify DESTINATION and TYPE usage for install() 05 March 2019, 10:48:44 UTC
5c0ef41 Merge branch 'FindPython-NumPy-fix-include-dir' into release-3.14 Merge-request: !3053 04 March 2019, 13:28:56 UTC
8e33583 FindPython: Fix NumPy component include directory Update the component added by commit 513e77550d (FindPython: Introduce NumPy component, 2018-12-12, v3.14.0-rc1~95^2). The `numpy/` sub-directory should not be part of the include directory. It should be part of the `#include` line. 04 March 2019, 13:28:21 UTC
77439d9 Merge branch 'vs-fortran-rc' into release-3.14 Merge-request: !3050 01 March 2019, 17:02:31 UTC
0b82f56 VS: Fix Fortran target type selection with RC sources The Intel Fortran `.vfproj` files do support both Fortran and the Windows Resource compiler (`.rc)` files. Prior to CMake 3.9 we did not support that, but commit 2c9f35789d (VS: Decide project type by linker lang as fallback, 2017-03-30, v3.9.0-rc1~340^2) accidentally enabled it. It was then broken by commit d3d2c3cd49 (VS: Fix Fortran target type selection when linking C++ targets, 2019-02-04, v3.14.0-rc1~13^2). Restore support for Fortran+RC in VS projects and add a test case. Fixes: #19002 01 March 2019, 16:58:21 UTC
20a41aa CMake 3.14.0-rc3 01 March 2019, 14:25:27 UTC
8d9cf29 Merge branch 'findjni-paths' into release-3.14 Merge-request: !3042 01 March 2019, 14:05:57 UTC
77cede0 FindJNI: Unify path search, fix support for Java 9 Java 9 restructured the standard location of the AWT libraries due to the removal of the JRE/JDK separation. We should check all possible combinations of subdirectories to the Java root directories to ensure that the libraries will be found after an upgrade. Furthermore, a root directory would contain both, include and library paths, so the search should be unified to ease maintenance on the module. 01 March 2019, 13:53:26 UTC
9a54159 Merge branch 'ExternalProject-fix-log-in-custom-stamp' into release-3.14 Merge-request: !3045 01 March 2019, 13:02:26 UTC
338e32b Merge branch 'cuda_device_link_handle_frameworks' into release-3.14 Merge-request: !3039 01 March 2019, 13:02:11 UTC
a6d3fee ExternalProject: Restore default log dir with custom stamp dir In commit b6f6cac378 (ExternalProject: add LOG_DIR option that allows overriding of log location, 2018-10-12, v3.14.0-rc1~515^2~1) the log directory got its own option. The intention was to fall back to the stamp directory by default. However, the implementation actually only falls back to the same default as the stamp directory and does not consider a custom stamp dir. Update the default log dir computation to fall back to whatever is the final selection for the stamp dir. Fixes: #19000 01 March 2019, 12:54:17 UTC
d5d1b15 CUDA: Filter out -framework arguments during device linking The filter in commit e768d96c74 (CUDA: Filter out host link flags during device linking, 2018-10-22, v3.13.0-rc2~4^2~2^2) removes `-framework` but not the framework name that comes after it. Revise the logic to remove both. Fixes: #18911 28 February 2019, 19:56:11 UTC
71852e9 Merge branch 'vs2019' into release-3.14 Merge-request: !3044 28 February 2019, 18:25:51 UTC
c9a7f31 Help: Update VS 2019 generator release note for preview 4 28 February 2019, 16:05:31 UTC
00c1120 VS: Drop workaround needed only for VS 2019 preview 2 and 3 A temporary workaround added by commit 626c51f47b (VS: Update for Visual Studio 2019 Preview 2, 2019-01-24, v3.14.0-rc1~74^2) is no longer needed as of VS 2019 preview 4. Fixes: #18898 28 February 2019, 16:04:29 UTC
18731d6 Merge branch 'backport-check-std-size-cbegin-cend' into release-3.14 Merge-request: !3030 27 February 2019, 16:32:31 UTC
e17deb7 Extend C++17/C++14 feature checks to cover more standard library APIs Make sure `std::cbegin`, `std::cend`, and `std::size` work in C++17 or C++14 mode before choosing the corresponding standard level for compiling CMake itself. This helps in cases that the compiler is using a standard library too old to support the full standard level chosen. 27 February 2019, 16:24:43 UTC
e0d7078 Merge branch 'FindThreads-revert-libc-check' into release-3.14 Merge-request: !3022 27 February 2019, 14:04:11 UTC
f369d59 Merge branch 'cmake_role-vs-fix' into release-3.14 Merge-request: !3028 27 February 2019, 13:05:55 UTC
c2c7b96 Merge branch 'docs-rpath-origin-apple' into release-3.14 Merge-request: !3020 27 February 2019, 12:59:19 UTC
e994e1f Merge branch 'FindOctave-remove' into release-3.14 Merge-request: !3027 27 February 2019, 12:57:03 UTC
624ce2c Merge branch 'include_external_msproject-exclude-from-all' into release-3.14 Merge-request: !3025 27 February 2019, 12:56:11 UTC
5833739 Merge branch 'vs-llvm-extension' into release-3.14 Merge-request: !3024 27 February 2019, 12:55:28 UTC
4570b5a Merge branch 'restore-min-cmake-3.1' into release-3.14 Merge-request: !3021 27 February 2019, 12:54:49 UTC
1832023 FindThreads: Revert libc symbol check to pthread_create Since commit e9a1ddc594 (FindThreads: Replace the pthread symbol checking in libc., 2018-11-18, v3.14.0-rc1~292^2) we check libc for `pthread_kill` instead of `pthread_create`. However, on FreeBSD `pthread_kill` is in libc but not `pthread_create`. Discussion in the original merge request for the above commit also considered `pthread_key_create`, `pthread_self`, and `pthread_attr_init`. Every symbol seems to have some reason it is not an appropriate choice. Revert to the pre-3.14 behavior of using `pthread_create` pending further investigation. 27 February 2019, 12:33:31 UTC
bf10f02 Help: Fix minor inaccuracies of what BUILD_RPATH_USE_ORIGIN affects 27 February 2019, 10:07:36 UTC
4b95e7f CMAKE_ROLE: Fix value in --build for Visual Studio generators Fixes: #18990 26 February 2019, 19:52:17 UTC
7a1f3fe FindOctave: Remove module pending further work The `FindOctave` module added by commit 170bcb6fdc (FindOctave: Add module to find GNU octave, 2018-11-17, v3.14.0-rc1~283^2) has a few problems in its implementation that need to be worked out before the module can be included in a CMake release. These were missed during review. Remove the module for now. It can be restored later with a fresh review. Issue: #18991 26 February 2019, 19:12:34 UTC
3106cf4 include_external_msproject: Restore support for EXCLUDE_FROM_ALL In commit dc6888573d (Pass EXCLUDE_FROM_ALL from directory to targets, 2019-01-15, v3.14.0-rc1~83^2) all `AddNewTarget` call sites were updated to copy the directory-level `EXCLUDE_FROM_ALL` into the target property of the same name, except that the one for `include_external_msproject` was incorrectly missed. Add it now. Furthermore, refactoring in commit b99129d2d8 (ENH: some code cleanup, 2007-03-12, v2.6.0~2020) accidentally set the `EXCLUDE_FROM_ALL` target property of `include_external_msproject`-generated targets to `FALSE` instead of simply leaving it unset. This was not necessary but had no effect until the above commit gave it a meaning. Drop that. Fixes: #18986 26 February 2019, 15:20:01 UTC
8375c30 VS: Fix detection of clang-cl with -T llvm When using a VS generator with `-T llvm`, MSBuild relies on the "LLVM Compiler Toolchain" VS Extension. This does not put `clang-cl` in the `PATH` inside the build, and LLVM no longer provides a `cl` replacement either. Therefore we need another way to extract the path to the `CMAKE_{C,CXX}_COMPILER`. Fortunately the LLVM VS integration provides a `$(ClangClExecutable)` macro we can reference to get the path. Fixes: #18983 26 February 2019, 14:58:51 UTC
e0267eb FindThreads: Fix libc check to use proper header for pthread_kill In commit e9a1ddc594 (FindThreads: Replace the pthread symbol checking in libc., 2018-11-18, v3.14.0-rc1~292^2) we switched to checking for `pthread_kill` in libc but did not update the symbol check's header file to match. Add `signal.h` to get `pthread_kill`. Keep `pthread.h` anyway since the purpose of the check is to verify that the pthread API works. Fixes: #18984 26 February 2019, 12:51:52 UTC
8455e16 Merge branch 'doc-ctest-build-and-test-summary' into release-3.14 Merge-request: !3017 26 February 2019, 12:39:11 UTC
02ba5d5 Help: Fix --build-and-test synopsis in ctest(1) The synopsis added by commit 9d3aa95ca4 (Help: Divide ctest(1) manual options into sections, 2017-11-08, v3.11.0-rc1~359^2~2) is missing the actual `--build-and-test` argument! Add it now. 26 February 2019, 12:37:29 UTC
a0d4430 Tests: Restore support for CMake 3.1 through 3.6 with MSVC The change in commit a5dd159990 (Tests: Fix RunCMake.try_compile CxxStandard case on MSVC, 2017-09-22, v3.10.0-rc1~63^2) introduced use of `if()` conditions not supported until CMake 3.7, so while it was intended to restore support for CMake versions prior to 3.9, it actually only did so for 3.7 and 3.8. Backport the logic to work with CMake 3.1. Fixes: #18987 26 February 2019, 12:35:24 UTC
4d337be Merge branch 'qcc-asm-detection' into release-3.14 Merge-request: !3016 25 February 2019, 14:33:25 UTC
af000ab Merge branch 'releasenotes_arch_independent' into release-3.14 Merge-request: !3012 25 February 2019, 12:54:25 UTC
0e8b0ae Merge branch 'docs_try_commands' into release-3.14 Merge-request: !3013 25 February 2019, 12:54:04 UTC
b3b081c Merge branch 'check_lang_source_runs_output' into release-3.14 Merge-request: !3011 25 February 2019, 12:53:49 UTC
be87ce4 Add ASM Compiler detection for QCC 25 February 2019, 07:28:47 UTC
47caf14 Help: Add release note for new ARCH_INDEPENDENT option 24 February 2019, 09:05:49 UTC
4d55c1f Help: Caveat for try_compile() and CMAKE_TRY_COMPILE_PLATFORM_VARIABLES 24 February 2019, 06:23:58 UTC
861dbef Help: Consistency in try_compile() docs for target type 24 February 2019, 06:22:53 UTC
df8aa3c Help: try_compile() readability and grammar improvements 24 February 2019, 06:19:45 UTC
7975ede Help: User-provided variable names for try_* commands All uppercase is typically used for command keywords. Non-keyword arguments should generally be shown as `<something>` according to the CMake documentation guide. 24 February 2019, 06:16:07 UTC
92d9ec9 CheckLangSourceRuns: Capture run output to log files Fixes: #18973 23 February 2019, 10:16:03 UTC
6ebe40c Merge branch 'remove-exclude-from-all-warning' into release-3.14 Merge-request: !3002 22 February 2019, 16:19:09 UTC
d3b765d EXCLUDE_FROM_ALL: Don't warn if installing target excluded from all The original warning pre-dates support for install components. There are now legitimate scenarios where an install(TARGETS) command may list a target that is excluded from all, e.g. hierarchical projects that will never install the component such a target belongs to. Fixes: #18938 21 February 2019, 20:55:56 UTC
c925166 Merge branch 'link-options' into release-3.14 Merge-request: !2996 20 February 2019, 19:32:37 UTC
98a2d42 PIE link options: No warning when policy CMP0083 is not set. Fixes: #18955 20 February 2019, 19:30:57 UTC
c36bf6b Merge branch 'fix-implicit-includes-fortran' into release-3.14 Merge-request: !2994 20 February 2019, 13:57:20 UTC
3dc81a4 Fortran: Do not suppress explicit use of implicit include directories Since commit 2e91627dea (ParseImplicitIncludeInfo: add Fortran implicit include handling, 2019-01-25, v3.14.0-rc1~73^2) we actually populate `CMAKE_Fortran_IMPLICIT_INCLUDE_DIRECTORIES` for the first time. This value may be useful to project code to pass to other tooling that wants to preprocess the way Fortran does, so we should compute the value. However, compilers like `gfortran` do not actually search their own implicit include directories for `.mod` files. The directories must be passed via `-I` in order for `.mod` files in them to be found. Since Fortran has no standard library header files that we need to avoid overriding, it is safe to *not* filter out implicit include directories from those passed explicitly via `-I` options. Skip this filtering so that include directories specified by project code to find `.mod` files will be searched by the compiler even if they happen to be implicitly searched by the preprocessor. Fixes: #18914 20 February 2019, 13:13:57 UTC
0794dd3 Merge branch 'autogen_cache_binary_checks' into release-3.14 Merge-request: !2990 19 February 2019, 18:29:48 UTC
b5befac Autogen: Use output caching GetExecutableTestOutput Use the output caching cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method to avoid identical calls to moc, uic and rcc. Closes #18947 19 February 2019, 18:11:44 UTC
a4e01d6 Autogen: Add output caching GetExecutableTestOutput This adds the cmQtAutoGenGlobalInitializer::GetExecutableTestOutput method which caches the output of the called executable and returns the cached value on any subsequent call. 19 February 2019, 18:11:44 UTC
4f5bb64 Merge branch 'vs-win-sdk' into release-3.14 Merge-request: !2989 19 February 2019, 14:33:34 UTC
4dab8e6 VS: Tell VS 2019 to use Windows SDK 8.1 explicitly when needed VS 2019 does not default to the 8.1 SDK as VS 2017 and VS 2015 did. When `CMAKE_SYSTEM_VERSION` is 8.1 or lower, select the 8.1 SDK explicitly. Fixes: #18927 19 February 2019, 14:31:50 UTC
35bf9de VS: Factor out a method to set the Windows SDK version internally 19 February 2019, 14:31:50 UTC
da84643 Merge branch 'asm-no-slash-question' into release-3.14 Merge-request: !2984 19 February 2019, 12:58:13 UTC
13f0201 Merge branch 'fix-legacy-implicit-includes' into release-3.14 Merge-request: !2981 19 February 2019, 12:50:07 UTC
7814796 Merge branch 'FindBoost-layout-tagged' into release-3.14 Merge-request: !2961 19 February 2019, 12:49:26 UTC
b186329 Use -? instead of /? to test compiler for MSVC-like command-line support MS-style command-line tools accept either `/` or `-` for command-line options. Prefer `-` over `/` so that non-MS tools do not treat it as a path. Fixes: #18941 19 February 2019, 12:29:27 UTC
890bae5 Do not explicitly report "standard" include directories as implicit In commit 1293ed8507 (ParseImplicitIncludeInfo: keep implicit incl. consistent when rerunning cmake, 2019-01-30, v3.14.0-rc1~26^2) we did not account for `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES`. This variable lets platform modules or toolchain files specify directories that are to be explicitly passed as standard include directories. These include directories are used by the test project from which we extract implicit include directories so they appear in the parsed results whether or not the compiler really considers them implicit. Exclude these entries from the computed implicit include directories since they are not actually implied by the compiler when we invoke it with "standard" include directories passed explicitly. Instead teach the build system generators to treat the "standard" directories as implicit for purposes of excluding them from appearing earlier in the compiler command line due to `include_directories` and `target_include_directories` calls. Issue: #18936, #18944 18 February 2019, 22:12:14 UTC
5c171ca Restore unconditional use of "standard" include directories `CMAKE_<LANG>_STANDARD_INCLUDE_DIRECTORIES` is meant to unconditionally add explicitly specified include directories to compile lines. In commit 5f34bdc7f9 (cmLocalGenerator: Refactor `GetIncludeDirectoriesImplicit` method, 2019-01-25, v3.14.0-rc1~65^2~1) a condition was accidentally added to exclude implicit include directories. Drop that condition. Fixes: #18936 18 February 2019, 22:10:07 UTC
9502276 Prefix implicit include directories with sysroot on construction Since commit 7cd65c97fa (Add CMAKE_SYSROOT variable to set --sysroot when cross compiling., 2013-04-13, v3.0.0-rc1~342^2) we have prefixed the value of `CMAKE_SYSROOT` to implicit include directories. This was done because we hard-coded `/usr/include` as an implicit include directory without accounting for the sysroot. Instead we should prefix the hard-coded paths when they are constructed. Update the `Platform/UnixPaths` module to do this as `Platform/Darwin` already does. Since commit 5990ecb741 (Compute implicit include directories from compiler output, 2018-12-07, v3.14.0-rc1~108^2) the values of the `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` variables are computed from a real compiler invocation so they already account for the sysroot prefix. In commit 6fc3382944 (Update logic for sysroot in detected implicit include directories, 2019-02-13, v3.14.0-rc2~6^2) we attempted to apply the prefix conditionally, but that is incorrect because the compiler's real implicit include directories are not all under the sysroot. Instead assume that all implicit include directories in `CMAKE_<LANG>_IMPLICIT_INCLUDE_DIRECTORIES` already have the sysroot prefix if needed. Code that constructs the value must be responsible for that because it is the only place that knows. 18 February 2019, 22:09:26 UTC
bee6597 FindBoost: Find boost libraries built with --layout=tagged Pick up libraries of the form `boost_system-mt-x64`, which do not have the version suffix. Fixes: #18908 18 February 2019, 15:53:42 UTC
926a97e Merge branch 'file_symlink_docs' into release-3.14 Merge-request: !2974 18 February 2019, 14:22:13 UTC
1f8ed41 Merge branch 'externalproject_docs' into release-3.14 Merge-request: !2978 18 February 2019, 14:08:05 UTC
3632316 Merge branch 'get_filename_component_docs' into release-3.14 Merge-request: !2973 18 February 2019, 14:06:57 UTC
f2072a6 Help: Clarify ExternalProject_Add()'s LOG_MERGED_STDOUTERR behavior The output is only merged for a step if it is logging to file. This option is ignored for steps that are logging normally. A minor grammatical error has also been fixed as part of this change. 17 February 2019, 02:30:07 UTC
f2820bc Release notes: Make ExternalProject dot points consistent Use same phrasing and command linking. 17 February 2019, 02:17:56 UTC
0f5a9f7 Help: Clarify and improve readability of link-related file subcommands 16 February 2019, 09:55:49 UTC
2cc1459 Help: Remove outdated statement about get_filename_component() After !2853, the statement that the "longest file extension is always considered" is no longer true. Both NAME_WLE and LAST_EXT now return details based on the shortest file extension. Fixes: 7a25ef326b (Help: Add documentation for new get_filename_component components, 2019-01-24, 3.14.0-rc1) 16 February 2019, 04:26:23 UTC
e6897c7 CMake 3.14.0-rc2 15 February 2019, 12:46:43 UTC
113a395 Merge branch 'try_compile-expand-compile-defs' into release-3.14 Merge-request: !2965 15 February 2019, 11:47:59 UTC
dac6cf1 Merge branch 'FindLibXml2' into release-3.14 Merge-request: !2970 15 February 2019, 11:47:22 UTC
fd86a4d FindLibXml2: Document LibXml2_FOUND as preferred case Both `LIBXML2_FOUND` and `LibXml2_FOUND` are provided but the modern convention is to use the case that matches the module name. 15 February 2019, 11:41:32 UTC
cde2596 try_compile: Restore expansion of ;-list in COMPILE_DEFINITIONS The quoting added by commit 8c5221fb1f (try_compile: Preserve special characters in COMPILE_DEFINITIONS, 2019-01-21, v3.14.0-rc1~108^2~3) broke the case that the `COMPILE_DEFINITIONS` value contains a `;`. Without the quoting the `;` would be generated literally in an unquoted argument in the test `CMakeLists.txt` file and would then be expanded. With quoting the `;` is preserved, which is not the old behavior. Fix this by expanding the `;`-list ahead of time. Add test cases for behavior with both `#` and `;`. This was noticed with the PGI compiler where we set `CMAKE_CXX*_STANDARD_COMPILE_OPTION` to values like `--c++17;-A`. The symptom had also been observed while preparing commit ef8f237686 (ParseImplicitIncludeInfo: add SunPro Fortran and PGI compiler, Cray fix, 2019-01-29, v3.14.0-rc1~26^2~2) but was not recognized at the time as a regression. Revert the workaround added by that commit. Fixes: #18919 15 February 2019, 11:21:19 UTC
9d3710a Merge branch 'vs2017-sdk81' into release-3.14 Merge-request: !2962 14 February 2019, 16:24:16 UTC
2f51f28 Merge branch 'fortran-submodule-names' into release-3.14 Merge-request: !2958 14 February 2019, 15:24:43 UTC
d80ecba Fortran: Fix submodule file names across compilers The naming convention for submodule files varies across compilers. Add a table to the compiler information modules and thread the information through to the Fortran module dependency parser. Fill out the table for compiler ids known to support Fortran submodules. Fixes: #18746 14 February 2019, 15:23:02 UTC
72057d9 Fortran: Thread compiler id through to internal Fortran parser 14 February 2019, 15:23:02 UTC
7ae329e Fortran: Factor out .mod and .smod file name construction 14 February 2019, 15:23:02 UTC
back to top