summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* CMake 3.5.1v3.5.1Brad King2016-03-241-1/+1
|
* Merge branch 'fix-variable_watch-reallocation' into releaseBrad King2016-03-233-10/+19
|\
| * Avoid occasional use-after-free when a variable watch is executedYves Frederix2016-03-233-10/+19
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Re-lookup a variable value when an associated VariableWatch is executed in cmMakefile::GetDefinition. This fixes a problem with 'def' sometimes becoming invalid due to memory reallocation inside an std::vector. In this case, the problem was that if the call to VariableAccessed actually executed a callback function, the internal state of the makefile has changed due to the associated function scope being pushed. This in turn implies that a new cmDefinitions instance was pushed in cmMakefile::VarTree. As cmLinkedTree is based on an std::vector, this push can have triggered reallocation of its internal memory buffer. However, as the value of 'def', which was computed on method entry, actually points to a property of one of the cmDefinitions instances in cmMakefile::VarTree, reallocation can invalidate the value of 'def' so that it cannot simply be returned at the end of the function. The solution implemented here is to simply lookup the value of 'def' again.
* | Merge branch 'FindCUDA-verbatim' into releaseBrad King2016-03-221-1/+6
|\ \
| * | FindCUDA: Fix regression in separate compilation (#16027)Brad King2016-03-221-1/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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. Fix the separate compilation code path to not add its own quoting when the VERBATIM option will be used.
* | | Merge branch 'fix-repeat-pkg-config' into releaseBrad King2016-03-212-6/+7
|\ \ \
| * | | FindPkgConfig: set correctly named variables in cache (#15903)Ben Boeckel2016-03-212-6/+7
| | |/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | The fix in commit v3.5.0-rc1~27^2 (FindPkgConfig: set standard variables in the cache, 2016-01-20) added the wrong variable name to the cache. The test was only testing that the cache variable existed, not that it also had the correct value. Update the test to ensure that the cache value matches the local variable value. Reported-by: Bernd Lörwald
* | | Merge branch 'cpack-osx-optional-CoreServices' into releaseBrad King2016-03-182-1/+20
|\ \ \
| * | | 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.
* | | | Merge branch 'cmake-gui-osx-identifier' into releaseBrad King2016-03-171-0/+1
|\ \ \ \
| * | | | cmake-gui: Populate CFBundleIdentifier in our Info.plist file (#16023)Brad King2016-03-171-0/+1
| | |/ / | |/| |
* | | | Merge branch 'cpack-osx-no-carbon' into releaseBrad King2016-03-172-16/+7
|\ \ \ \ | | |/ / | |/| |
| * | | 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.
* | | Merge branch 'ios-install-combined-one-arch' into releaseBrad King2016-03-154-1/+75
|\ \ \
| * | | Fix iOS combined feature for single architecture targetsRuslan Baratov2016-03-154-1/+75
| |/ / | | | | | | | | | | | | | | | | | | If list of valid target architectures is empty for given SDK then there will be no VALID_ARCHS build setting returned by Xcode. Return "" (empty string) explicitly in this case. This may happens if CMAKE_IOS_INSTALL_COMBINED is ON but only one architecture used in target.
* | | Merge branch 'FindBoost-optional-indirect-depends' into releaseBrad King2016-03-151-2/+12
|\ \ \ | |/ / |/| |
| * | FindBoost: Tolerate missing indirect dependencies (#16013)Roger Leigh2016-03-151-2/+12
|/ / | | | | | | | | | | | | | | | | Depending upon the configuration, certain components may or may not be installed, for example Boost.Regex, but other components may still have header dependencies upon these components which will obviously fail to work. Since we can't make a sensible determination with the hardcoded dependency information, we choose to interpret these dependencies less strictly.
* | 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
|\ \ \ \