summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CPack: Avoid using OS X CoreServices if compiler fails on header (#16021)Brad King2016-03-182-1/+20
| | | | | | Some compilers on OS X report errors in the CoreServices framework headers. Check for support of the header ahead of time and compile the relevant code only when the header is available.
* CPack: Avoid requiring Carbon framework on OS X (#16021)Sean McBride2016-03-172-16/+7
| | | | | | | | | | In commit v3.5.0-rc1~232^2 (CPackDMG: Add support for multilingual SLAs, 2015-10-19) we added use of the Carbon framework in order to get access to its APIs to convert Script Manager RegionCode values. This is not necessary. Instead we can use CoreServices. While at it, replace individual CoreFoundation includes with including the entire framework, which is the correct way.
* CMake 3.5.0v3.5.0Brad King2016-03-081-1/+1
|
* Merge branch 'doc-find-python-call-order' into releaseBrad King2016-03-072-6/+8
|\
| * FindPython{Interp,Libs}: Clarify recommended call orderBrad King2016-03-072-6/+8
| | | | | | | | Improve wording in our advice about how to call both of these modules.
* | Merge branch 'vs14-debug-enum-older-toolsets' into releaseBrad King2016-03-071-0/+28
|\ \
| * | VS: Fix VS 2015 .vcxproj debug setting for older toolsets (#15986)Brad King2016-03-071-0/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Since commit v3.4.2~2^2 (VS: Fix VS 2015 .vcxproj file value for GenerateDebugInformation, 2016-01-08) we generate invalid project files for the v110 and v120 toolsets. VS complains: C:\Program Files (x86)\MSBuild\Microsoft.Cpp\v4.0\V120\Microsoft.CppCommon.targets(639,9): error MSB4030: "Debug" is an invalid value for the "GenerateDebugInformation" parameter of the "Link" task. The "GenerateDebugInformation" parameter is of type "System.Boolean". This reveals that our VS flag map selection should be based on the toolset instead of the version of VS. However, that will be a non-trivial change so for now fix this particular use case by hard-coding a correction to the flag map. Reported-by: Gregor Jasny <gjasny@googlemail.com>
* | | Merge branch 'doc-typos' into releaseBrad King2016-02-241-5/+5
|\ \ \
| * | | Help: Fix typos in cmake-packages.7 manualAshley Whetter2016-02-241-5/+5
| | |/ | |/|
* | | Merge branch 'doc-cmake-E-details' into releaseBrad King2016-02-191-4/+8
|\ \ \
| * | | Help: Clarify `cmake -E` command behavior with respect to file existenceBartosz Kosiorek2016-02-191-4/+8
| |/ /
* | | 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
| | | |