summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'INTERFACE_LINK_LIBRARIES-prop'Brad King2013-07-1519-30/+468
|\ | | | | | | | | | | | | | | | | 3e30d9e TLL: Don't populate old link interface if CMP0022 is NEW. 574fec9 Export: Generate INTERFACE_LINK_LIBRARIES property on targets. d0a76ea Introduce the INTERFACE_LINK_LIBRARIES property. ddde61c Introduce the LINK_ONLY generator expression. 5aa9731 GenexEval: Add abstracted access to link interface for a target.
| * TLL: Don't populate old link interface if CMP0022 is NEW.Stephen Kelly2013-07-084-10/+53
| | | | | | | | | | | | | | | | | | | | | | | | | | Always populate the INTERFACE_LINK_LIBRARIES for interface entries. Don't populate the old interface properties matching (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)? if CMP0022 is NEW. Because the INTERFACE_LINK_LIBRARIES property is now populated by the target_link_libraries when operating on a static library, make an equivalent change which populates the property with the same value when the old link_libraries() command is used. This silences the policy warning in that case.
| * Export: Generate INTERFACE_LINK_LIBRARIES property on targets.Stephen Kelly2013-07-0812-8/+150
| | | | | | | | | | | | | | | | | | | | This property is generated only for targets which have recorded policy CMP0022 as NEW, and a compatibility mode is added to additionally export the old interfaces in that case too. If the old interfaces are not exported, the generated export files require CMake 2.8.12. Because the unit tests use a version which is not yet called 2.8.12, temporarily require a lower version.
| * Introduce the INTERFACE_LINK_LIBRARIES property.Stephen Kelly2013-07-085-8/+202
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This property replaces the properties which match (IMPORTED_)?LINK_INTERFACE_LIBRARIES(_<CONFIG>)?, and is enabled for IMPORTED targets, and for non-IMPORTED targets only with a policy. For static libraries, the INTERFACE_LINK_LIBRARIES property is also used as the source of transitive usage requirements content. Static libraries still require users to link to all entries in their LINK_LIBRARIES, but usage requirements such as INCLUDE_DIRECTORIES COMPILE_DEFINITIONS and COMPILE_OPTIONS can be restricted to only certain interface libraries. Because the INTERFACE_LINK_LIBRARIES property is populated unconditionally, we need to compare the evaluated result of it with the link implementation to determine whether to issue the policy warning for static libraries. For shared libraries, the policy warning is issued if the contents of the INTERFACE_LINK_LIBRARIES property differs from the contents of the relevant config-specific old LINK_INTERFACE_LIBRARIES property.
| * Introduce the LINK_ONLY generator expression.Stephen Kelly2013-07-073-1/+40
| | | | | | | | | | This is an internal expression for use by target_link_libraries for static libraries.
| * GenexEval: Add abstracted access to link interface for a target.Stephen Kelly2013-07-073-5/+25
| | | | | | | | | | | | This can be extended with special handling for static libraries so that we can process the link dependencies separately from the usage dependencies.
* | Merge topic 'try_compile-COPY_FILE_ERROR'Brad King2013-07-152-5/+45
|\ \ | | | | | | | | | | | | c28715b try_compile: Add COPY_FILE_ERROR option to capture failure
| * | try_compile: Add COPY_FILE_ERROR option to capture failureBrad King2013-07-152-5/+45
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When the COPY_FILE operation fails optionally capture the error message with a COPY_FILE_ERROR option instead of reporting the error immediately. This gives callers a chance to do something else or report the error. Teach the RunCMake.try_compile test to cover bad argument combinations involving COPY_FILE_ERROR. Teach the TryCompile test to cover the case of a COPY_FILE error message captured by COPY_FILE_ERROR.
* | | Merge topic 'cmake-error-advice'Brad King2013-07-151-3/+19
|\ \ \ | | | | | | | | | | | | | | | | 18e1bfb cmake: On configure error suggest looking at CMake*.log files
| * | | cmake: On configure error suggest looking at CMake*.log filesBrad King2013-07-091-3/+19
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMake reports failure to configure a project, especially when the toolchain does not initialize properly, the true reason may be clear from reading the CMakeFiles/CMake(Output|Error).log files. Advise users to look at these files if they exist when configuration fails. Add RunCMake.Configure test to check that the log files are mentioned when configuration fails.
* | | Merge topic 'vs-flag-MAP-with-value'Brad King2013-07-153-3/+3
|\ \ \ | | | | | | | | | | | | | | | | f2caf79 VS: Fix /MAP:mapfile flag mapping (#14282)
| * | | VS: Fix /MAP:mapfile flag mapping (#14282)Brad King2013-07-093-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We have two mappings for the "/MAP" flag. The first does not care whether there is a value and activates the GenerateMapFile boolean setting. The second takes a value and puts it in the MapFileName setting. The latter must treat the ":" as part of the flag. This is similar to commit 8ae66bf4 (Fix optionally-valued booleans in VS 10 flag table, 2009-10-23).
* | | | Merge topic 'doc-include-clarify'Brad King2013-07-151-4/+5
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | e934b1f include: Clarify variable access scope for included file
| * | | | include: Clarify variable access scope for included fileBrad King2013-07-091-4/+5
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | The wording "Commands in the file are processed immediately as if they were written in place of the include command" sounds as if some kind of macro replacement is performed. This is not accurate. Update the wording to describe behavior of the included code in terms of the variable access scope.
* | | | Merge topic 'try_compile-escape-flags'Brad King2013-07-151-8/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 290857b try_compile: Escape CMAKE_<lang>_FLAGS in test projects (#14268)
| * | | | try_compile: Escape CMAKE_<lang>_FLAGS in test projects (#14268)Brad King2013-07-151-8/+8
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If CMAKE_<lang>_FLAGS contains quotes or other CMake language characters they must be escaped when written into the generated CMakeLists.txt file so that the test project parses them properly. Teach the TryCompile test to cover this case by adding a flag with quotes into CMAKE_C_FLAGS during a C language try_compile.
* | | | Merge topic 'doc-project-top-level'Brad King2013-07-151-1/+7
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 4a71168 project: Document top-level CMakeLists.txt requirement
| * | | | project: Document top-level CMakeLists.txt requirementBrad King2013-07-081-1/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake requires the top-level CMakeLists.txt to contain a direct call to the project() command and will insert one if there is not. Document this requirement since some authors have tried to use include() to load a file calling the project command.
* | | | | Merge topic 'IMPORTED-build-dependencies'Brad King2013-07-151-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 4f7ceb5 Test non-IMPORTED libraries in the INTERFACE of IMPORTED libraries. 3405351 Add entire link interface transitive closure as target depends.
| * | | | | Add entire link interface transitive closure as target depends.Stephen Kelly2013-07-021-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This was missing from commit 30962029 (Make targets depend on the link interface of their dependees., 2012-12-26), which caused only immeditate entries of the link interface to become target depends.
* | | | | | CMake Nightly Date StampKitware Robot2013-07-151-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-07-141-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-07-131-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-07-121-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-07-111-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-07-101-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-07-091-1/+1
| |_|_|/ / |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2013-07-081-1/+1
| |_|_|/ |/| | |
* | | | CMake Nightly Date StampKitware Robot2013-07-071-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2013-07-061-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2013-07-051-1/+1
| | | |
* | | | CMake Nightly Date StampKitware Robot2013-07-041-1/+1
| |_|/ |/| |
* | | CMake Nightly Date StampKitware Robot2013-07-031-1/+1
| | |
* | | Merge topic 'update-kwsys'Brad King2013-07-021-57/+57
|\ \ \ | | | | | | | | | | | | | | | | | | | | c314da0 Merge branch 'upstream-kwsys' into update-kwsys 2e3c935 KWSys 2013-07-01 (f6c4c247)
| * | | Merge branch 'upstream-kwsys' into update-kwsysBrad King2013-07-011-57/+57
| | | |
* | | | Merge topic 'make-depends-collapse-paths'Brad King2013-07-023-14/+44
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 551d334 cmDependsC: Collapse relative include paths
| * | | | cmDependsC: Collapse relative include pathsPavel Shramov2013-06-263-14/+44
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While calculating dependencies collapse sequences such as ../../../a/b/c/../../d/e/../../e/f to avoid total path lengths over the Windows path length limit as much as possible.
* | | | | Merge topic 'vs-generator-brief-doc-update'Brad King2013-07-023-3/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 52f1464 VS: Clarify Visual Studio product year for each version
| * | | | | VS: Clarify Visual Studio product year for each versionRobert Maynard2013-07-023-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add to the brief documentation of the Visual Studio 10, 11, and 12 generators the corresponding VS product year. Clarify that VS11 is for Visual Studio 2012, and VS12 is for Visual Studio 2013.
* | | | | | CMake Nightly Date StampKitware Robot2013-07-021-1/+1
| |_|/ / / |/| | | |
* | | | | Merge topic 'vs12-generator'Brad King2013-07-0112-8/+925
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9a76d83 VS12: Find proper MSBuild for VSProjectInSubdir test 4e5cb39 Merge branch 'master' into vs12-generator 78fdbbc FindBoost: Add -vc120 mangling for VS 12 e99d7b1 VS12: Generate flag tables from MSBuild v120 tool files 77ac9b8 VS12: Add Visual Studio 12 generator (#14251)
| * \ \ \ \ Merge branch 'master' into vs12-generatorBrad King2013-06-28157-1357/+5389
| |\ \ \ \ \ | | |/ / / / | |/| | | | | | | | | | | | | | | | Resolve conflicts in Tests/Preprocess/CMakeLists.txt by keeping the side from 'master'.
| * | | | | VS12: Generate flag tables from MSBuild v120 tool filesBrad King2013-06-285-6/+763
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Run cmparseMSBuildXML.py on cl.xml, lib.xml, and link.xml to generate our flag tables: python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/v120/1033/cl.xml" > cmVS12CLFlagTable.h python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/v120/1033/lib.xml" > cmVS12LibFlagTable.h python cmparseMSBuildXML.py -x ".../MSBuild/Microsoft.Cpp/v4.0/v120/1033/link.xml" > cmVS12LinkFlagTable.h Fix up the declaration names at the top of each file. Finally, teach cmVisualStudio10TargetGenerator to select the version of the table matching the version of VS.
| * | | | | VS12: Add Visual Studio 12 generator (#14251)Brad King2013-06-287-2/+162
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy cmGlobalVisualStudio11Generator to cmGlobalVisualStudio12Generator and update version numbers accordingly. Add the VS12 enumeration value. Add module CMakeVS12FindMake to find MSBuild. Look for MSBuild in its now-dedicated Windows Registry entry. Teach the platform module Windows-MSVC to set MSVC12 and document the variable. Teach module InstallRequiredSystemLibraries to look for the VS 12 runtime libraries. Teach tests CheckCompilerRelatedVariables, Preprocess, VSExternalInclude, and RunCMake.GeneratorToolset to treat VS 12 as they do VS 10 and 11. Inspired-by: Minmin Gong <minmin.gong@gmail.com>
* | | | | Merge topic 'clang-register-warnings'Brad King2013-07-0120-101/+110
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | e1381b1 Document removal of 'register' from flex/bison output 1399825 Remove some uses of obsolete 'register' storage specifier
| * | | | | Document removal of 'register' from flex/bison outputBrad King2013-06-289-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In each .l and .y input file that has instructions for manual transformation of the output to include a step to remove the 'register' storage specifier.
| * | | | | Remove some uses of obsolete 'register' storage specifierSean McBride2013-06-2811-101/+101
| | |/ / / | |/| | | | | | | | | | | | | Remove the keyword from all Source/* files outside of KWSys.
* | | | | Merge topic 'AddAutomocTargetFolder'Brad King2013-07-013-3/+23
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ba0e06f automoc: add a global AUTOMOC_TARGETS_FOLDER property
| * | | | | automoc: add a global AUTOMOC_TARGETS_FOLDER propertyAlex Neundorf2013-06-283-3/+23
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This has been requested, along with a patch, by Shaun Williams in http://public.kitware.com/Bug/view.php?id=13788 . It adds a global property AUTOMOC_TARGETS_FOLDER, which can be used to group the automoc targets together in a folder e.g. in Visual Studio. Alex
* | | | | Merge topic 'DontStripImportLibs'Brad King2013-07-011-3/+3
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | ae8e654 install: do not strip dll import libraries (#14123)