summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.8.0-rc2v3.8.0-rc2Brad King2017-03-031-1/+1
|
* Merge branch 'implicit-dir-symlinks' into releaseBrad King2017-03-022-7/+17
|\
| * Merge branch 'backport-implicit-dir-symlinks' into implicit-dir-symlinksBrad King2017-03-022-7/+17
| |\
| | * cmOrderDirectories: Consider symlinks when checking implicit directoriesBrad King2017-03-021-2/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| | * cmOrderDirectories: Factor out implicit directory checkBrad King2017-03-012-6/+11
| | |
* | | Merge branch 'csproj_add_free_source_tags' into releaseBrad King2017-03-022-47/+47
|\ \ \
| * | | VS: add VS_CSHARP_<tagname> sourcefile propertyMichael Stürmer2017-03-012-47/+47
| |/ /
* | | Merge branch 'find-libarch-not-symlink' into releaseBrad King2017-02-281-16/+48
|\ \ \
| * | | find_library: Skip 'lib => lib<arch>' searches if one symlinks the otherBrad King2017-02-281-0/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | | cmFindLibraryCommand: Refactor AddArchitecturePath logicBrad King2017-02-281-16/+26
| | |/ | |/| | | | | | | | | | Use boolean variables to save results and rename variables to more closely represent their roles.
* | | Merge branch 'object-library-compile-pdb' into releaseBrad King2017-02-241-1/+1
|\ \ \
| * | | Fix COMPILE_PDB_NAME when used on an OBJECT libraryBrad King2017-02-241-1/+1
| | |/ | |/| | | | | | | | | | | | | | | | | | | 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
* | | Merge branch 'ninja-no-full-path' into releaseBrad King2017-02-241-4/+3
|\ \ \
| * | | Revert "Ninja: Use full path for all source files"Brad King2017-02-241-4/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge branch 'vcxproj-indentation' into releaseBrad King2017-02-231-0/+1
|\ \ \ \
| * | | | VS: Fix .vcxproj indentationBrad King2017-02-231-0/+1
| | |/ / | |/| | | | | | | | | | | | | | | | | | 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.
* | | | Merge branch 'clang-format-attrs' into releaseBrad King2017-02-222-10/+22
|\ \ \ \
| * | | | clang-format.bash: Use Git attributes to mark files for formattingBrad King2017-02-222-0/+5
| | | | |
| * | | | Define a custom Git attribute to mark source files as generatedBrad King2017-02-221-10/+17
| | | | |
* | | | | Merge branch 'vs2017-fallback-sdk' into releaseBrad King2017-02-212-0/+38
|\ \ \ \ \
| * | | | | VS2017: If Win 8.1 SDK is not available, use Win 10 SDKBrad King2017-02-212-0/+38
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | | Merge branch 'cuda-separable-bool' into releaseBrad King2017-02-212-2/+4
|\ \ \ \ \
| * | | | | CUDA: Fix boolean interpretation of CUDA_SEPARABLE_COMPILATIONBrad King2017-02-202-2/+4
| |/ / / / | | | | | | | | | | | | | | | | | | | | If the property is explicitly set to a non-true value we should not treat it as true.
* | | | | Merge branch 'fix-CMP0017-path-case' into releaseBrad King2017-02-171-1/+1
|\ \ \ \ \
| * | | | | Windows: Fix inconsistent behavior on changes to case of path to cmakeBrad King2017-02-171-1/+1
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | | Merge branch 'autogen_fix_3.8' into releaseBrad King2017-02-151-2/+2
|\ \ \ \ \
| * | | | | Autogen: Fix headers not skippedSebastian Holtermann2017-02-151-2/+2
| |/ / / /
* | | | | Merge branch 'fix-ctest_update-svn' into releaseBrad King2017-02-151-1/+4
|\ \ \ \ \ | |_|/ / / |/| | / / | | |/ / | |/| |
| * | | ctest_update: Fix svn log and external loadingBrad King2017-02-151-1/+4
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
| * | Merge branch 'case-insensitive-bindir-detection' into releaseBrad King2017-01-201-1/+2
| |\ \
| * | | CMake 3.7.2v3.7.2Brad King2017-01-131-1/+1
| | | |
* | | | Merge branch 'execute_process-default-encoding' into releaseBrad King2017-02-131-1/+1
|\ \ \ \ | |_|_|/ |/| | |
| * | | execute_process: Restore no-decoding default behaviorBrad King2017-02-131-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | CMake 3.8.0-rc1 version updateBrad King2017-02-061-3/+3
|/ / /
* | | Merge topic 'vs-quote-rerun-paths'Brad King2017-02-062-6/+6
|\ \ \ | | | | | | | | | | | | | | | | f8f3cb8d VS: Fix quoting of special characters in cmake re-run check commands
| * | | VS: Fix quoting of special characters in cmake re-run check commandsBrad King2017-02-062-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge topic 'productbuild_signing'Brad King2017-02-061-0/+22
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 48aad9cd CPackProductBuild: Add options to sign packages
| * | | | CPackProductBuild: Add options to sign packagesRoman Wüger2017-02-041-0/+22
| |/ / /
* | | | CMake Nightly Date StampKitware Robot2017-02-061-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2017-02-051-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2017-02-041-1/+1
|/ / /
* | | CMake Nightly Date StampKitware Robot2017-02-031-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2017-02-021-1/+1
| | |
* | | CMake Nightly Date StampKitware Robot2017-02-011-1/+1
| | |
* | | Merge topic 'vs-export-external-objects'Brad King2017-01-311-0/+8
|\ \ \ | | | | | | | | | | | | | | | | 4dde0bc8 VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for external objects
| * | | VS: Fix WINDOWS_EXPORT_ALL_SYMBOLS for external objectsZsolt Parragi2017-01-301-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | Merge topic '16432-static-frameworks'Brad King2017-01-315-33/+89
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 071f8e78 Apple: Add support for static frameworks d525754e Xcode: Refactor RunCMake.Framework test to prepare for static frameworks 45405f00 Xcode: Ignore Xcode project warning until issue is fixed 50e1c105 Makefile: For static libraries remove only the "real" lib before creating 8643ca75 Makefile: Re-order list of files to clean
| * | | | Apple: Add support for static frameworksGregor Jasny2017-01-314-16/+71
| | | | | | | | | | | | | | | | | | | | Closes: #16432
| * | | | Makefile: For static libraries remove only the "real" lib before creatingGregor Jasny2017-01-261-13/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * | | | Makefile: Re-order list of files to cleanGregor Jasny2017-01-261-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | Revise construction of the list of files to be cleaned for the target to list the "real" file first.