- Mar 21, 2017
-
-
Robert Maynard authored
-
- Mar 03, 2017
-
- Mar 02, 2017
-
-
Brad King authored
When checking whether a directory is "implicit" (e.g. implicit link directory or implicit rpath directory), resolve the real path of both sides of the comparison. Otherwise we will not recognize paths like `/usr/lib32` as implicit when `/usr/lib` is implicit and `lib32` is actually a symlink to `lib`. This can lead to addition of unnecessary entries to the RPATH of a binary, for example. Fixes: #16682
-
- Mar 01, 2017
-
-
-
Brad King authored
-
- Feb 28, 2017
-
-
Brad King authored
The `FIND_LIBRARY_USE_LIB<arch>_PATHS` global properties ask `find_library` to look in `lib<arch>` directories automatically before corresponding `lib` directories. However, if `lib<arch>` is just a symlink to `lib` (or vice-versa) then we should skip adding the `lib<arch>` path. Such symlinks typically only exist to satisfy software that expects the `lib<arch>` path to be available. Fixes: #16687
-
Brad King authored
Use boolean variables to save results and rename variables to more closely represent their roles.
-
- Feb 24, 2017
-
-
Brad King authored
When `COMPILE_PDB_NAME` is used without `COMPILE_PDB_OUTPUT_DIRECTORY` we cannot fall back on the link `PDB_OUTPUT_DIRECTORY` for an object library because it has no link step. Fixes: #16674
-
Brad King authored
This reverts commit v3.7.0-rc1~275^2 (Ninja: Use full path for all source files, 2016-08-05). Unfortunately using absolute paths can cause incorrect rebuilds due to ninja limitations. The ninja manual [1] explains: > ... using absolute paths, your depfile may result in a mixture of > relative and absolute paths. Paths used by other build rules need > to match exactly. Passing an absolute path to a source file to the compiler while using a relative path in the ninja build manifest can cause such mixture and lead to incorrect rebuilds. Simply revert the change for now. Note that there was a follow-up to the original change in commit v3.7.0-rc2~10^2 (Ninja: Fix RC language depfile generation with cmcldeps, 2016-10-13). We don't need to revert that because that change made the relevant code cleverly adapt to whatever variable we use to reference the source file. [1] https://ninja-build.org/manual.html#_deps Fixes: #16675 Issue: #13894
-
- Feb 23, 2017
-
-
Brad King authored
In commit v3.8.0-rc1~87^2~1 (VS: added support for C#, 2017-01-09) we removed what looked like a no-op streaming operation but in fact it is responsible for applying indentation. Restore the line.
-
- Feb 22, 2017
- Feb 21, 2017
-
-
Brad King authored
We try to choose the Windows SDK version based on the version of Windows targeted by the build. However, if using VS 2017 without the Windows 8.1 SDK installed then we must fall back to the Windows 10 SDK even when targeting an older version of Windows. Inspired-by:
gnaggnoyil <gnaggnoyil@gmail.com>
-
- Feb 20, 2017
-
-
Brad King authored
If the property is explicitly set to a non-true value we should not treat it as true.
-
- Feb 17, 2017
-
-
Brad King authored
In commit v3.4.0-rc1~333^2 (Merge branch 'upstream-kwsys' into update-kwsys, 2015-07-15) we brought in upstream KWSys commit 86a24794 (SystemTools: Fix GetActualCaseForPath drive letter case handling, 2015-07-09). This caused our path processing to convert drive letters to upper-case and exposed an existing bug in our implementation of CMP0017. Policy CMP0017 is responsible for ensuring that modules included from a builtin module only load other builtin modules and cannot be overridden by a file in `CMAKE_MODULE_PATH`. If there is a case difference in the drive letter (or other path components) then the path to the including module may not match our builtin module directory in a simple string comparison. This means builtin modules may not be recognized as such, and they may not reliably include their builtin dependencies. For example, if a project provides a `Platform/Windows` module in `CMAKE_MODULE_PATH` it can break inclusion of our builtin `Platform/Windows` module, leading to strange behavior. Fix this by comparing the path to the including module to our builtin module directory using a function that is aware of case-insensitivity of paths on Windows. Fixes: #16648, #16622
-
- Feb 15, 2017
-
-
Sebastian Holtermann authored
-
Brad King authored
Since commit v3.7.0-rc1~132^2 (CTestSVN: Fix segfault when CTEST_UPDATE_VERSION_ONLY is enabled, 2016-09-12) we do not properly extract svn log or externals. After updating we erase the information that was loaded before updating and can no longer log the changes between revisions to extract authors. Fix this by only loading the repository information once, whether needed by `NoteOldRevision`, `NoteNewRevision`, or both. Fixes: #12630, #16646
-
- Feb 13, 2017
-
-
Brad King authored
Since commit v3.8.0-rc1~232^2 (execute_process: Add ENCODING option for Windows child process output, 2016-11-23) we decode child process output using the console's active codepage by default. This differs from previous versions of CMake and is therefore incompatible. Changing this default will require a policy, so for now revert the default behavior back to performing no decoding. Reported-by:
Nils Gladitz <nilsgladitz@gmail.com>
-
- Feb 06, 2017
-
-
Brad King authored
-
Brad King authored
Fix our calls to `AddCustomCommandToOutput` for adding cmake re-run check commands to disable old-style quoting in favor of the full quoting logic. This is necessary when paths contain special characters like `&` that old-style quoting logic does not handle. This also requires us to expand the `$(SolutionPath)` placeholder explicitly because otherwise its expanded value will no longer be quoted correctly. As a side effect, this fixes the value in VS 10 and above where the placeholder may be undefined when driving the build through MSBuild without the `.sln` file. Reported-by:
Steven Cook <sc@harshbutfair.org> Fixes: #16585
-
Kitware Robot authored
-
- Feb 05, 2017
-
-
Kitware Robot authored
-
- Feb 04, 2017
-
-
-
Kitware Robot authored
-
- Feb 03, 2017
-
-
Kitware Robot authored
-
- Feb 02, 2017
-
-
Kitware Robot authored
-
- Feb 01, 2017
-
-
Kitware Robot authored
-
- Jan 31, 2017
-
-
Closes: #16432
-
Kitware Robot authored
-
- Jan 30, 2017
-
-
Teach Visual Studio generators to include external object files in the list of objects whose symbols are to be exported. The Makefile and Ninja generators already did this.
-
Kitware Robot authored
-
- Jan 29, 2017
-
-
Kitware Robot authored
-
- Jan 28, 2017
-
-
Kitware Robot authored
-
- Jan 27, 2017
-
-
This encoding is documented by `strptime`.
-
Kitware Robot authored
-
- Jan 26, 2017
-
-
When creating a static library with the archive tool, only the `.a` needs to be removed to start a fresh archive. Any other files (e.g. symbolic links we may later add) are not managed by the archive tool and therefore do not need to be cleaned.
-
Revise construction of the list of files to be cleaned for the target to list the "real" file first.
-
This allows a single condition to be used to choose between two alternatives. Without this the condition must be duplicated with one surrounded by `NOT`. Closes: #15585
-
See https://reproducible-builds.org/ for why this is good and https://reproducible-builds.org/specs/source-date-epoch/ for the definition of this variable.
-
Kitware Robot authored
-