- 14 Jul, 2017 1 commit
-
-
Brad King authored
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
-
- 12 Jul, 2017 3 commits
- 11 Jul, 2017 6 commits
-
-
Brad King authored
-
Brad King authored
Visual Studio 2017 Update 3 adds a SolutionGuid to its `.sln` files. Fixes: #17041
-
Brad King authored
-
Brad King authored
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).
-
Brad King authored
-
- 10 Jul, 2017 6 commits
-
-
Brad King authored
-
Brad King authored
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
-
Brad King authored
-
Brad King authored
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
-
Brad King authored
-
Sebastian Holtermann authored
-
- 07 Jul, 2017 4 commits
-
-
Brad King authored
-
Brad King authored
-
Brad King authored
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
-
Brad King authored
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
-
- 06 Jul, 2017 2 commits
-
-
Brad King authored
-
Robert Dailey authored
If the doxygen output directory does not exist, create it prior to running the doxygen commands.
-
- 05 Jul, 2017 2 commits
- 02 Jul, 2017 1 commit
-
-
Sebastian Holtermann authored
-
- 30 Jun, 2017 5 commits
-
-
Sebastian Holtermann authored
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.
-
Brad King authored
-
Olender Sebastian authored
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`.
-
Brad King authored
-
Brad King authored
-
- 29 Jun, 2017 2 commits
-
-
Robert Dailey authored
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
-
Gregor Jasny authored
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
-
- 28 Jun, 2017 7 commits
-
-
Brad King authored
-
Ian Hojnicki authored
-
Brad King authored
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
-
Ian Hojnicki authored
Update the help text to match that from v141's link.xml file.
-
Ian Hojnicki authored
-
Brad King authored
-
Jérôme Duval authored
On Haiku the network functions are in libnetwork, so use it when it exists.
-
- 27 Jun, 2017 1 commit
-
-
Brad King authored
-