https://github.com/Kitware/CMake

sort by:
Revision Author Date Message Commit Date
f15cfd8 CMake 3.9.0 18 July 2017, 15:18:18 UTC
b978786 Merge branch 'objlib-own-target-objs' into release-3.9 17 July 2017, 15:42:18 UTC
d89e10c Diagnose object library self-reference The code add_library(A OBJECT a.c) target_sources(A PRIVATE $<TARGET_OBJECTS:A>) used to crash CMake via infinite recursion while evaluating the generator expression. Then the change in commit v3.9.0-rc1~266^2~1 (cmGeneratorTarget: Replace source classifier implementation, 2017-04-07) avoided the infinite recursion because GetKindedSources now creates a map entry and initializes it once. If it is called again on the same target during that initialization, the partially computed results are returned. This is still wrong but does not crash. Detect and diagnose this case instead. Co-Author: Ben Boeckel <ben.boeckel@kitware.com> Fixes: #16578 14 July 2017, 18:05:22 UTC
f2b05a0 Merge branch 'doc-vs2015-update-relnote' into release-3.9 14 July 2017, 15:02:45 UTC
cfa9a2b Help: Add a 3.9 release note about the VS GenerateDebugInformation update Add a release note corresponding to the environmental regression fixed by commit v3.9.0-rc6~15^2~1 (VS: Fix GenerateDebugInformation values for v140 and v141 toolsets, 2017-06-27). 14 July 2017, 15:02:17 UTC
68a6447 Merge branch 'xcode9support' into release-3.9 14 July 2017, 14:40:33 UTC
0348383 Xcode: Add "outputPaths" to custom command script build phase This is needed for Xcode 9's "New Build System", whose release notes mention "that output must be declared as an explicit output by the script which generates it" in reference to outputs of custom script build phases. 14 July 2017, 14:38:00 UTC
8c7facd Merge branch 'backport-fix-lang-std-option-list' into release-3.9 14 July 2017, 14:20:12 UTC
218ce15 Features: Fix support for a list of language standard options The change in commit v3.9.0-rc1~174^2~2 (CompileFeatures: Let STD compile options be a list, 2016-10-05) did not change all the places we add the language standard options. Expand the list in the other places. 14 July 2017, 14:19:44 UTC
13e9a37 Merge branch 'TestDriver-fix-Wconversion' into release-3.9 14 July 2017, 12:01:55 UTC
221ffab TestDriver: Fix -Wconversion warning Since commit v3.8.0-rc1~51^2~1 (TestDriver: calc NumTests at compile time, 2017-01-24) we convert an expression that uses `sizeof()` to an `int` as a compile-time constant. Some GCC versions warn about this with `-Wconversion`. Add a cast to avoid the warning. 14 July 2017, 12:01:26 UTC
9d9085a Merge branch 'ninja_cuda_export_compile_commands_support' into release-3.9 13 July 2017, 15:40:08 UTC
712af07 CUDA: CMAKE_EXPORT_COMPILE_COMMANDS now works with CUDA and Ninja Fixes: #17061 13 July 2017, 15:23:16 UTC
d11c48e Merge branch 'android-system-include-last' into release-3.9 13 July 2017, 14:04:14 UTC
4bafa39 Android: Always add standard include directories last 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 13 July 2017, 14:03:58 UTC
25b72e9 CMake 3.9.0-rc6 12 July 2017, 13:20:01 UTC
e8e38ae Merge branch 'android-fix-c++_shared' into release-3.9 12 July 2017, 12:39:55 UTC
e0fb3f3 Android: Link to android_support with c++_shared The NDK has done this in `build/core/definitions.mk` since r13 (r12 and below do so only for c++_static). 12 July 2017, 12:39:42 UTC
c42c039 Merge branch 'vs-2017-sln-guid' into release-3.9 11 July 2017, 14:42:21 UTC
5cf9c3d VS: Add SolutionGuid to generated .sln files Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files. Fixes: #17041 11 July 2017, 14:41:28 UTC
7638c6e Merge branch 'find_package-root-prefix-path-suffixes' into release-3.9 11 July 2017, 13:20:37 UTC
80b905f find_*: Honor PATH_SUFFIXES in PackageName_ROOT paths This was accidentally forgotten in commit v3.9.0-rc1~71^2~2 (find_*: Add a new PackageRoot search path group, 2017-05-03). Fixes: #17052 11 July 2017, 13:11:19 UTC
1ae1b88 cmFindCommon: Drop unused FilterPaths method The method has not been used since commit v3.2.0-rc1~400^2~1 (Encapsulate search path manipulation functions into a seperate class, 2014-10-15). 11 July 2017, 13:11:19 UTC
cca8454 cmFindCommon: Fix typo in PackageName_ROOT path label 11 July 2017, 13:11:19 UTC
6fba4ec Merge branch 'bindexplib-revert-consts' into release-3.9 10 July 2017, 18:54:30 UTC
3250b9a bindexplib: Revert support for constants symbols Revert the main logic change of commit v3.9.0-rc1~192^2 (bindexplib: fix constants symbols export, 2017-04-26) and its test case. Unfortunately some constants may be provided by multiple object files with different `@...` suffixes, leading to ambiguous references. Revert support pending further investigation. Fixes: #17045 10 July 2017, 18:54:07 UTC
dd69dea Merge branch 'vs-2017-choose-via-environment' into release-3.9 10 July 2017, 15:08:27 UTC
2644e4c VS: Choose VS 2017 instance via environment variable In the `Visual Studio 15 2017` generator, if the `VS150COMNTOOLS` environment variable points at a specific VS 2017 instance reported by the Visual Studio Installer tool, use that as the preferred instance. Inspired-by: Iyyappa Murugandi <iyyappam@microsoft.com> Fixes: #16846 10 July 2017, 15:08:11 UTC
f7f721d Merge branch 'autogen_skip_included' into release-3.9 10 July 2017, 14:26:32 UTC
ecac50e Autogen: Skip included files on demand 10 July 2017, 11:36:48 UTC
9b9a57e Merge branch 'autogen-no-generated-files' into release-3.9 07 July 2017, 15:44:35 UTC
916b7d5 Merge branch 'find_package-restore-considered-configs' into release-3.9 07 July 2017, 15:44:29 UTC
e7730d7 find_package: Restore longer message when config files were considered Since commit v3.9.0-rc1~58^2 (find_package: shorten output for missing package in config mode, 2017-05-09) we print only the one line - Could NOT find Foo (missing: Foo_DIR) when package Foo cannot be found in CONFIG mode and it is not REQUIRED. However, in the case that package configuration files were found but not used, this one line message leaves out important information. This can happen when a package configuration file sets `Foo_FOUND` to `FALSE` or when its package version file does not match the requested version. Restore the longer message in these cases. Otherwise a seemingly valid explicit `Foo_DIR` setting appears to be silently ignored even if it was considered. Fixes: #17029 07 July 2017, 15:43:59 UTC
9a34e95 Autogen: Skip generated files for compatibility with CMake 3.8 The change in commit v3.9.0-rc1~464^2~8 (Autogen: Add AUTOMOC/UIC support for generated source files, 2017-03-02) changes behavior of existing projects that may not expect `AUTOGEN` on generated files and do not yet set `SKIP_AUTOGEN` on them. Disable the behavior change for now to fix the regression for CMake 3.9. We can restore it later with a policy. In order to keep the implementation and tests working, add an undocumented property we can use in the tests to enable the behavior before the policy is introduced. Fixes: #17031 Issue: #16186 07 July 2017, 14:12:15 UTC
658ecc1 Merge branch 'FindDoxygen-create-output-dir' into release-3.9 06 July 2017, 15:13:51 UTC
796b8fc FindDoxygen: Create DOXYGEN_OUTPUT_DIRECTORY if it doesn't exist If the doxygen output directory does not exist, create it prior to running the doxygen commands. 06 July 2017, 15:00:28 UTC
cf9a994 Merge branch 'autogen_p' into release-3.9 05 July 2017, 14:29:27 UTC
ef31812 Merge branch 'autogen-header-skip' into release-3.9 05 July 2017, 13:42:15 UTC
251bcbe Autogen: Continue search for FOO_p.h when FOO.h was found 02 July 2017, 20:54:35 UTC
83d8ace Autogen: Check .moc header name against SKIP list When encountering an #include "FOO.moc" statement where FOO.hpp was chosen over FOO.cpp as the moc source, the FOO.hpp name was not checked against the moc SKIP list. 30 June 2017, 16:53:24 UTC
2086003 Merge branch 'vs-link-guard-cf' into release-3.9 30 June 2017, 14:57:55 UTC
82a5c2c VS: Fix support for '/guard:cf' linker flag Although `$(VCTargetsPath)/1033/link.xml` for v140 and v141 toolsets contains an entry for `LinkControlFlowGuard`, it does not work when used in a `.vcxproj` file. Drop our link flag table entries for these toolsets so that the flag will be passed via `AdditionalOptions`. 30 June 2017, 14:57:40 UTC
d3234a8 Merge branch 'FindDoxygen-project-in-subdir' into release-3.9 30 June 2017, 14:16:35 UTC
bc92960 Merge branch 'xcode-cross-sdk-object-libraries' into release-3.9 30 June 2017, 14:16:30 UTC
97a9a35 FindDoxygen: Use a stable reference to the location of global resources 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 29 June 2017, 18:39:26 UTC
c2a6df9 Xcode: Use correct Object Library paths for cross-SDK builds When calculating Object Library paths take a look at the `XCODE_EMIT_EFFECTIVE_PLATFORM_NAME` property to enable builds with different SDKs. Otherwise a hard-coded architecture could be chosen. Fixes: #16040 29 June 2017, 13:52:44 UTC
594b0f8 Merge branch 'vs-link-debug-flags' into release-3.9 28 June 2017, 12:58:19 UTC
7ba27e3 VS: Add v140 and v141 flag table entries for /DEBUG:NONE and /DEBUG:FULL 28 June 2017, 12:55:40 UTC
ae44496 VS: Fix GenerateDebugInformation values for v140 and v141 toolsets When VS 2015 was first released, its new v140 toolset came with a `link.xml` file that changed the `GenerateDebugInformation` boolean (`false` and `true`) value from earlier toolsets to an enumeration consisting of the possible values `No`, `Debug`, and `DebugFastLink`. We first adapted to this in commit v3.4.2~2^2 (VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation, 2016-01-08), but that broke older toolsets that still expected the boolean. Then commit v3.6.0-rc1~295^2~1 (VS: Fix VS 2015 .vcxproj debug setting for older toolsets, 2016-02-24) added a hack to fix up the value based on the toolset in use. Several follow-up commits fixed this for more older toolsets because our flag table was at the time based on the generator in use rather than the toolset in use. Since commit v3.8.0-rc1~396^2 (VS: Choose flag map based on the toolset name, 2016-10-17) we use a flag table based on the toolset, so the fixup hack should not be needed. We had to keep it around only due to our default value for GenerateDebugInformation (`false` or `No`) still being based on the generator instead of the toolset. A VS 2015 update was released that changed the v140 toolset `link.xml` file back to using `false` and `true` for the `GenerateDebugInformation` enumeration variants previously known as `No` and `Debug`. In order to know which pair to use, we need to parse the `link.xml` file for the current toolset. Switch back to using `false` and `true` unconditionally in our `GenerateDebugInformation` flag table entries and default value. With that plus the toolset-based flag table, we now get incorrect values for `GenerateDebugInformation` only when using a v140 toolset from an older VS 2015 installation. Detect this case by parsing `link.xml` and add special logic to convert `false` and `true` to `No` and `Debug` to satisfy the older toolset specification. Inspired-by: Ian Hojnicki <nullref@live.com> Fixes: #17020 28 June 2017, 12:55:40 UTC
27bef16 VS: Fix GenerateDebugInformation flag map text for v141 toolsets Update the help text to match that from v141's link.xml file. 28 June 2017, 12:55:40 UTC
17a397c VS: Split link flag table between v140 and v141 toolsets 28 June 2017, 12:55:40 UTC
9807a0c Merge branch 'curl-haiku' into release-3.9 28 June 2017, 12:42:45 UTC
e793675 curl: Fix build on Haiku On Haiku the network functions are in libnetwork, so use it when it exists. 28 June 2017, 12:41:49 UTC
372de3f CMake 3.9.0-rc5 27 June 2017, 14:59:58 UTC
7f1fd07 Merge branch 'FindDoxygen-internal-var' into release-3.9 27 June 2017, 14:48:30 UTC
d194bd9 FindDoxygen: Add private prefix to internal variables 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. 27 June 2017, 14:45:45 UTC
fd771df Merge branch 'fix-crash-on-non-enabled-language-features' into release-3.9 27 June 2017, 13:14:31 UTC
1d86103 Merge branch 'vs-cuda-fix-flags' into release-3.9 27 June 2017, 13:14:26 UTC
bbc1f36 VS: Fix support for nvcc flags not in our flag table The change in commit v3.9.0-rc4~3^2 (VS: Improve workaround for CUDA -Xcompiler placement bug, 2017-06-21) accidentally appended to the `AdditionalOptions` as if it were a `;`-separated list, but it is actually a command-line string. Append with a space instead. While at it, fix the same problem for the `AdditionalOptions` added to `CudaLink` by commit v3.9.0-rc3~1^2 (CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings, 2017-06-09). Fixes: #17008 27 June 2017, 13:08:50 UTC
e03a1b3 target_compile_features: Do not crash on non-enabled language Fixes: #17011 26 June 2017, 17:54:20 UTC
8699042 Tests: Enable languages explicitly in RunCMake.target_compile_features Enable C or CXX (or nothing) as needed in each test case. This will allow us to add test cases that do not enable CXX. 26 June 2017, 17:54:20 UTC
c24e665 Merge branch 'GetPrerequisites-ucrt-no-warn' into release-3.9 26 June 2017, 14:34:02 UTC
23451a6 GetPrerequisites: Do not warn about non-absolute UCRT system libraries Issue: #17007 26 June 2017, 14:33:16 UTC
319bd92 Merge branch 'toolchain-binutils-advanced' into release-3.9 22 June 2017, 18:15:09 UTC
04b2fc0 GCC,Clang: Mark CMAKE_<LANG>_COMPILER_{AR,RANLIB} as advanced 22 June 2017, 15:33:54 UTC
8fe5417 CMake 3.9.0-rc4 22 June 2017, 14:15:07 UTC
c8ee5db Merge branch 'vs-rc-flags' into release-3.9 22 June 2017, 13:52:28 UTC
5ba09a7 Merge branch 'android-unified-headers' into release-3.9 22 June 2017, 13:52:23 UTC
974f433 VS: Fix support for rc /nologo flag in per-source COMPILE_FLAGS Since commit v3.9.0-rc1~160^2 (VS: Use tool-specific flag table for COMPILE_FLAGS parsing, 2017-05-03) we now correctly use the `rc` flag table to process the COMPILE_FLAGS flags of `.rc` source files instead of incorrectly using the `cl` flag table as before. However, our `rc` flag table is not complete. The `/nologo` flag was working before only by accident because the `cl` flag table entry for it happened to match. Add the proper entry to the `rc` flag table. Fixes: #16991 22 June 2017, 13:45:42 UTC
5d31793 Android: Fix include path for unified headers 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 22 June 2017, 12:28:44 UTC
3d99244 Merge branch 'vs-cuda-fix-flags' into release-3.9 21 June 2017, 18:24:23 UTC
3b75421 VS: Improve workaround for CUDA -Xcompiler placement bug In commit v3.9.0-rc1~431^2~6 (VS: Place CUDA host compiler options in proper project file fields, 2017-03-07) we worked around a bug in the CUDA VS integration by dropping `AdditionalCompilerOptions`. However, this silently drops `-Xcompiler=` options given by the user that don't map to one of CudaCompile's dedicated settings. Improve the workaround to instead put the remaining `AdditionalCompilerOptions` into the `AdditionalOptions` field behind `-Xcompiler=` ourselves. 21 June 2017, 18:24:11 UTC
f205958 VS: Fix target_compile_options for CUDA Fix the VS generator to honor `COMPILE_OPTIONS` for CUDA. The exclusion added by commit v3.9.0-rc1~431^2~7 (VS: Do not pass CUDA compile options to C compiler, 2017-03-07) was correct but we need additional logic to pass the CUDA compile options to the CUDA compiler. Also we should still pass the CXX or C options to MSVC (ClCompile) when those languages are enabled even if the link language is CUDA. 21 June 2017, 18:23:46 UTC
fff7d8c Merge branch 'vs_csharp_link_to_managed_cxx' into release-3.9 21 June 2017, 12:46:12 UTC
51865fc Vs: allow CSharp targets to be linked to CXX targets Fixes: #16755 21 June 2017, 06:37:15 UTC
ab4c327 Merge branch 'cuda-version-for-vs' into release-3.9 20 June 2017, 14:25:19 UTC
f94213a Help: Update 3.9 release notes with recommended CUDA version for VS CUDA 8.0.44 contains a bug in its VS integration that breaks preprocessor definitions in some cases. Recommend using at least 8.0.61 which fixes the problem. Fixes: #16993 20 June 2017, 14:25:05 UTC
5222289 Merge branch 'update-expat' into release-3.9 20 June 2017, 13:06:09 UTC
d5afb17 expat: Fix compilation on systems without stdint.h 20 June 2017, 12:55:48 UTC
0a40c66 Merge branch 'upstream-expat' into update-expat * upstream-expat: expat 2017-06-17 (c4446687) 19 June 2017, 19:26:00 UTC
4b8a8c2 expat 2017-06-17 (c4446687) Code extracted from: https://github.com/libexpat/libexpat.git at commit c4446687cfc6c5fd7f6371aeaf24c69402a3589e (R_2_2_1). 19 June 2017, 19:25:46 UTC
d9d191a expat: Update script to get Expat 2.2.1 19 June 2017, 19:25:35 UTC
b7799f0 Merge branch 'doc-compile-features' into release-3.9 15 June 2017, 14:14:29 UTC
c4610df Help: Document that VS 2017 compile features are recorded They were recorded by commit v3.7.0-rc1~156^2~2 (Features: Record features for VS 15 Preview 4, 2016-09-05). Fixes: #16974 15 June 2017, 14:11:09 UTC
69d50a7 Help: Fix typo in Cray/PGI/XL compile features docs Reported-by: Rolf Eike Beer <eike@sf-mail.de> 15 June 2017, 14:08:59 UTC
61c1848 Merge branch 'ipo-per-lang' into release-3.9 14 June 2017, 19:10:39 UTC
df1c187 Merge branch 'update-curl' into release-3.9 14 June 2017, 19:10:28 UTC
8e32beb Merge branch 'libuv-restore-fmode' into release-3.9 14 June 2017, 19:10:20 UTC
fdacfc6 Merge branch 'add-missing-compiler-release-notes' into release-3.9 14 June 2017, 19:10:12 UTC
871adef cmake: Fix default file translate mode when using libuv On Windows, libuv's one-time initialization changes the C runtime library's `_fmode` setting to `_O_BINARY`, thus causing files to open as binary after that instead of the default `_O_TEXT` mode. See upstream libuv issue 840. Work around the problem by performing libuv initialization early and then restoring `_fmode`. In particular, this currently affects server mode. Without this fix, the `_fmode` setting changes when the server mode initializes libuv. Fixes: #16962 14 June 2017, 16:46:03 UTC
2875643 Help: Add docs for new compilers supporting language standards. 14 June 2017, 15:54:58 UTC
a3ef36f Merge branch 'upstream-curl' into update-curl * upstream-curl: curl 2017-06-14 (54b636f1) Resolve a logical conflict in `Utilities/cmcurl/CMakeLists.txt` by disabling CA bundle/path detection for build within CMake. CMake already handles locating a CA bundle/path at runtime. 14 June 2017, 15:10:22 UTC
06d6d6c curl 2017-06-14 (54b636f1) Code extracted from: https://github.com/curl/curl.git at commit 54b636f14546d3fde9f9c67c3b32701d78563161 (curl-7_54_1). 14 June 2017, 14:46:35 UTC
91101f1 curl: Update script to get curl 7.54.1 14 June 2017, 14:46:19 UTC
ba247cc IPO: Consider support for each language separately 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 14 June 2017, 14:36:57 UTC
14c82d1 Merge branch 'readme-supported-platforms' into release-3.9 13 June 2017, 17:10:59 UTC
bf2e4bf README: Update list of supported platforms Convert to a bullet list. Drop platforms for which we no longer have nightly testing. 13 June 2017, 17:05:51 UTC
c52b982 CMake 3.9.0-rc3 13 June 2017, 13:59:27 UTC
fb99b0b Merge branch 'cuda-dlink-no-deprecated-gpu' into release-3.9 13 June 2017, 13:17:06 UTC
7368ade CUDA: When linking device code suppress CUDA 8.0+ deprecation warnings 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. 13 June 2017, 13:15:19 UTC
back to top