summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.5.0-rc3v3.5.0-rc3Brad King2016-02-181-1/+1
|
* Merge branch 'FindCUDA-verbatim' into releaseBrad King2016-02-171-3/+13
|\
| * FindCUDA: Fix regression under Visual Studio generatorsBrad King2016-02-171-3/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.5.0-rc1~47^2 (FindCUDA: Support special characters in path, 2016-01-15) our add_custom_command calls use VERBATIM so that CMake will automatically quote special characters correctly. However, this breaks the special `$(VCInstallDir)` placeholder used with Visual Studio generators. Since we do not support preservation of such placeholders with VERBATIM (see issue #15001) we must fall back to not using VERBATIM when the placeholder is used. A better fix would be to stop using `$(VCInstallDir)` and use the value of `CMAKE_${CUDA_C_OR_CXX}_COMPILER` instead, but that will require additional semantic and documentation changes. For now simply fix the regression with the above approach. Reported-by: Stephen Sorley <Stephen.Sorley@jhuapl.edu>
* | Merge branch 'fix-static-private-non-target-depends' into releaseBrad King2016-02-177-5/+40
|\ \
| * | Fix export of STATIC library PRIVATE non-target dependenciesBrad King2016-02-177-5/+40
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.5.0-rc1~43^2 (Fix export of STATIC library PRIVATE dependencies with CMP0022 NEW, 2016-01-15) we taught target_link_libraries to generate `$<LINK_ONLY:$<TARGET_NAME:dep>>` in INTERFACE_LINK_LIBRARIES instead of `$<LINK_ONLY:dep>` so that `dep` can be recognized as a target name and updated during export. However, this approach does not work when `dep` is just a plain library name and not a target because `$<TARGET_NAME:...>` requires the name of a reachable target. Since we do not know during target_link_libraries whether the name will correspond to a reachable target or not, we cannot inject the `$<TARGET_NAME:...>` expression. Revert this change and solve the original problem instead by teaching the export logic to recognize and update target names directly in `$<LINK_ONLY:...>` expressions. Reported-by: Ben Boeckel <ben.boeckel@kitware.com>
* | | Merge branch 'backport-doc-install-component-association' into releaseBrad King2016-02-171-7/+12
|\ \ \
| * | | Help: Clarify install(TARGETS) INCLUDES DESTINATION optionBrad King2016-02-171-7/+12
| |/ / | | | | | | | | | | | | | | | | | | | | | The option does not actually participate in argument groups like the others because it does not actually install anything. Fix the order in the documentation accordingly. Reported-by: Daniel Wirtz <daniel.wirtz@simtech.uni-stuttgart.de>
* | | Merge branch 'de-deprecate-CMakeForceCompiler' into releaseBrad King2016-02-172-10/+9
|\ \ \
| * | | CMakeForceCompiler: De-deprecate until more use cases have alternativesBrad King2016-02-172-10/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We deprecated this module in commit v3.5.0-rc1~295^2 (CMakeForceCompiler: Deprecate this module and its macros, 2015-10-19) in order to determine whether anyone still has use cases that require it. Indeed we still need to provide a way to work with toolchains that cannot link binaries without special flags. Remove the deprecation warnings until we can provide an alternative to the module for this use case.
* | | | Merge branch 'fix-cmake_parse_arguments-expansion' into releaseBrad King2016-02-122-2/+29
|\ \ \ \
| * | | | cmake_parse_arguments: Restore ;-list argument flatteningDimitar Yordanov2016-02-122-2/+29
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The re-implementation in commit v3.5.0-rc1~116^2~1 (CMakeParseArguments: replace by native cmake_parse_arguments command, 2015-12-05) introduced a regression when parsing the ARGN arguments with cmake_parse_arguments. The original implementation used foreach(currentArg ${ARGN}) to iterate over input arguments. This flattened ;-lists within the arguments whether they were quoted or not. Fix our new implementation to preserve this behavior and add a test case to cover it. Signed-off-by: Dimitar Yordanov <dimitar.yordanov@sap.com> Signed-off-by: Matthias Maennich <matthias.maennich@sap.com>
* | | | Merge branch 'cmake-gui-reset-generator' into releaseBrad King2016-02-121-0/+7
|\ \ \ \ | |_|/ / |/| | |
| * | | cmake-gui: Fix cmState initialization when changing generators (#15959)Brad King2016-02-121-0/+7
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.3.0-rc1~29^2~1 (cmState: Host some state from the cmGlobalGenerator, 2015-05-24) moved storage of some generator traits over to cmState. However, it accidentally removed initialization of the values from the cmGlobalGenerator constructor. This is needed because generator subclasses update the settings in their constructors. Since a single cmState instance is shared across multiple build trees by cmake-gui, initializing the values in its constructor is not enough. Fix this by restoring the needed initializations to the cmGlobalGenerator constructor.
* | | Merge branch 'doc-xcode-escaping-fix' into releaseBrad King2016-02-111-0/+6
|\ \ \
| * | | Help: Add release note about Xcode escaping fix (#15969)Brad King2016-02-111-0/+6
| |/ / | | | | | | | | | | | | | | | | | | The fix in commit v3.5.0-rc1~84^2 (Xcode: Escape all backslashes in strings, 2015-12-27) is a change in behavior that can break existing projects that worked around the inconsistency with other generators. Add a release note to call attention to this change in behavior.
* | | CMake 3.5.0-rc2v3.5.0-rc2Brad King2016-02-101-1/+1
| | |
* | | Merge branch 'curl-pre-7.21.5' into releaseBrad King2016-02-091-0/+5
|\ \ \
| * | | cmCurl: Fix compilation with system curl versions prior to 7.21.5Brad King2016-02-091-0/+5
| |/ / | | | | | | | | | | | | | | | | | | This version introduced CURLE_NOT_BUILT_IN which we have used since commit v3.4.0-rc1~211^2~4 (cmCurl: Tolerate lack of CURLOPT_CAPATH support, 2015-08-12). For older versions, just define the name to the then-unused error code so that we can compile.
* | | Merge branch 'wix-prevent-nsis-overwrite' into releaseBrad King2016-02-0910-4/+151
|\ \ \
| * | | CMake: Prevent WiX installations over existing NSIS installationsNils Gladitz2016-02-0910-4/+151
| |/ / | | | | | | | | | | | | | | | | | | | | | Use a custom action to look for Uninstall.exe in the user selected installation prefix. Its presence indicates a previous NSIS installation. Inform the user and request manual resolution of the issue.
* | | Merge branch 'fix-target-lookup-performance-regression' into releaseBrad King2016-02-084-62/+47
|\ \ \
| * | | Improve internal generator target structure lookupBrad King2016-02-083-35/+22
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In commit v3.5.0-rc1~272^2~6 (cmGlobalGenerator: Add FindGeneratorTarget API, 2015-10-25) a lookup was implemented via linear search. Replace it with an efficient data structure. Suggested-by: Stephen Kelly <steveire@gmail.com>
| * | | Fix internal target lookup performance regressionBrad King2016-02-083-34/+32
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.5.0-rc1~272^2~13 (cmGlobalGenerator: Remove direct storage of targets, 2015-10-25) replaced an efficient data structure mapping from target name to cmTarget instance with a linear search. Lookups through cmGlobalGenerator::FindTarget are done a lot. Restore the efficient mapping structure with a name indicating its purpose. Reported-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
* | | Merge branch 'fix-install-EXPORT-crash' into releaseBrad King2016-02-088-6/+19
|\ \ \
| * | | Tests: Avoid OS X 10.5 limitation warning in RunCMake.install testBrad King2016-02-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EXPORT-OldIFace test case uses install(TARGETS) and so generates a warning: CMake Warning in CMakeLists.txt: WARNING: Target "foo" has runtime paths which cannot be changed during install. To change runtime paths, OS X version 10.6 or newer is required. Therefore, runtime paths will not be changed when installing. CMAKE_BUILD_WITH_INSTALL_RPATH may be used to work around this limitation. Set CMAKE_BUILD_WITH_INSTALL_RPATH to avoid the warning since we do not need to run the binaries from the build tree anyway.
| * | | install(EXPORT): Fix crash on target in another directoryBrad King2016-02-054-3/+14
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring merged by commit v3.5.0-rc1~299 (Merge topic 'use-generator-target', 2015-10-20) in and around commit v3.5.0-rc1~299^2~13 (cmExportSet: Store a cmGeneratorTarget, 2015-10-17) changed export sets to delay looking up actual targets and stores only their names. However, in InstallCommand::HandleExportMode we need to lookup targets immediately to check them for EXPORT_LINK_INTERFACE_LIBRARIES. The check was accidentally made local to the current directory, so if an export set contains a target from another directory the lookup fails and CMake crashes. Fix the check to look up the target name globally, and tolerate when no target is found just in case. Reported-by: Kelly Thompson <kgt@lanl.gov>
| * | | Tests: Use newer policy settings in RunCMake.install testBrad King2016-02-054-3/+4
| |/ / | | | | | | | | | In particular, avoid CMP0042 warnings on OS X.
* | | Merge branch 'test-ctest_submit-update' into releaseBrad King2016-02-084-4/+4
|\ \ \
| * | | Tests: Extend ctest_submit host lookup failure matching (#15958)Orion Poplawski2016-02-084-4/+4
| |/ / | | | | | | | | | | | | | | | | | | Match this message: Could not resolve host: -no-site-; Name or service not known ^^^^^^^^^^^^^^^^^^^^^^^^^^^
* | | Merge branch 'install-man-conditionally' into releaseBrad King2016-02-081-0/+8
|\ \ \
| * | | Install ccmake.1 and cmake-gui.1 conditionally with their tools (#15957)Brad King2016-02-081-0/+8
| |/ /
* | | Merge branch 'fix-doc-typos' into releaseBrad King2016-02-082-2/+2
|\ \ \
| * | | Help: Fix command specification for cmake_minimum_requiredHorst Kronstorfer2016-02-081-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | Implementation indicates that at least two components of VERSION must be specified (see Source/cmCMakeMinimumRequired.cxx.) Therefore the minor version is not optional.
| * | | Help: Fix mistake in cmake-buildsystem(7) examplePaul Wilkinson2016-02-081-1/+1
| |/ / | | | | | | | | | | | | | | | The COMPATIBLE_INTERFACE_NUMBER_MAX example now sets INTERFACE_CONTAINER_SIZE_REQUIRED on lib1Version2 and lib1Version3. Previously set it on lib1Version2 twice and never on lib1Version3.
* | | Merge branch 'ExternalProject-build-config-compat' into releaseBrad King2016-02-081-2/+17
|\ \ \
| * | | ExternalProject: Be compatible with projects setting CMAKE_CFG_INTDIRBrad King2016-02-051-2/+17
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.5.0-rc1~32^2~1 (ExternalProject: Simplify `cmake --build` configuration passing, 2016-01-19) we use the `$<CONFIG>` generator expression to generate the `cmake --build . --config <config>` value for the default BUILD_COMMAND instead of the CMAKE_CFG_INTDIR placeholder value provided by multi-config generators. However, some projects have been abusing the old implementation detail by setting CMAKE_CFG_INTDIR themselves to get a specific configuration. Those projects should be updated to set their own BUILD_COMMAND to get non-default behavior. Meanwhile we can be compatible with their existing releases by detecting when CMAKE_CFG_INTDIR is not a generator-provided placeholder and using its value instead.
* | | Merge branch 'fix-Fortran-module-in-subdir' into releaseBrad King2016-02-086-5/+9
|\ \ \
| * | | Fix dependency scanning configuration in subdirectoriesBrad King2016-02-056-5/+9
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring in commit v3.5.0-rc1~347^2~2 (Set the current dirs on the snapshot before creating the cmMakefile) accidentally changed the source and binary directories configured in `cmake -E cmake_depends` for use during dependency scanning. This can cause the wrong directory information to be loaded. It also breaks Fortran module dependency scanning for modules provided by targets in subdirectories that do not have Fortran_MODULE_DIRECTORY set. Fix the dependency scanning directory configuration and add a test to cover the Fortran module case in which the breakage was observed. Reported-by: Kelly Thompson <kgt@lanl.gov>
* | | CMake 3.5.0-rc1 version updatev3.5.0-rc1Brad King2016-02-022-4/+4
| | |
* | | Help: Drop development topic notes to prepare releaseBrad King2016-02-022-9/+0
|/ / | | | | | | | | Release versions do not have the development topic section of the CMake Release Notes index page.
* | Merge topic 'doc-3.5-relnotes'Brad King2016-02-0235-211/+183
|\ \ | | | | | | | | | | | | | | | ad701d9f Help: Organize and revise 3.5 release notes 377a12b2 Help: Consolidate 3.5 release notes
| * | Help: Organize and revise 3.5 release notesBrad King2016-02-011-77/+106
| | | | | | | | | | | | | | | Add section headers similar to the 3.4 release notes and move each individual bullet into an appropriate section. Revise a few bullets.
| * | Help: Consolidate 3.5 release notesBrad King2016-02-0135-211/+154
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Move all development release notes into a new version-specific document: tail -q -n +3 Help/release/dev/* > Help/release/3.5.rst git rm -- Help/release/dev/* except the sample topic: git checkout HEAD -- Help/release/dev/0-sample-topic.rst Reference the new document from the release notes index document. Add a title and intro sentence to the new document by hand.
* | | Merge topic 'remove-stray-semicolon'Brad King2016-02-021-1/+1
|\ \ \ | | | | | | | | | | | | | | | | ccb2d5c0 cmAlgorithms.h: remove superfluous semicolon after method
| * | | cmAlgorithms.h: remove superfluous semicolon after methodChristoph GrĂ¼ninger2016-02-011-1/+1
| |/ /
* | | Merge topic 'fix-CMAKE_MATCH-self-match'Brad King2016-02-023-0/+16
|\ \ \ | | | | | | | | | | | | | | | | 6ffc4323 cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)
| * | | cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)Brad King2016-02-013-0/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While evaluating `if(MATCHES)` we get a `const char*` pointer to the string to be matched. On code like if(CMAKE_MATCH_COUNT MATCHES "Y") the string to be matched may be owned by our own result variables. We must move the value to our own buffer before clearing them. Otherwise we risk reading freed storage.
* | | | CMake Nightly Date StampKitware Robot2016-02-021-1/+1
| |/ / |/| |
* | | Merge topic 'doc-cmake-developer-typo'Brad King2016-02-011-1/+1
|\ \ \ | | | | | | | | | | | | | | | | 6f83db1c Help: Fix typo in `cmake-developer(7)` manual
| * | | Help: Fix typo in `cmake-developer(7)` manualPrayag Verma2016-02-011-1/+1
| | | | | | | | | | | | | | | | Fix spelling mistake `sytem` => `system`.