summaryrefslogtreecommitdiffstats
path: root/Source
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'vs-no-indirect-output'Brad King2013-07-161-1/+9
|\ | | | | | | | | 45d2966 VS: Avoid leaking child process output back to IDE (#14266)
| * VS: Avoid leaking child process output back to IDE (#14266)Brad King2013-07-161-1/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | The VS IDE sets the environment variable VS_UNICODE_OUTPUT when executing build rules in order to tell MS tools to report output through a back door instead of through stdout/stderr. Unset this variable so that CMake can capture or properly redirect all output from processes it runs even when running inside a VS IDE build environment. This generalizes the special cases fixed by commit 80d045b0 (When GetPrerequisites.cmake runs dumpbin while running inside the VS IDE..., 2008-05-01) and commit 44aff73d (ExternalProject: Avoid bleed-through output when logging, 2011-01-06), so drop special handling of VS_UNICODE_OUTPUT in those instances.
* | Merge topic 'tid-system-argument'Brad King2013-07-1625-58/+284
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | 9cf3547 Add the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES target property. 1925cff Add a SYSTEM parameter to target_include_directories (#14180) 286f227 Extend the cmTargetPropCommandBase interface property handling. 83498d4 Store system include directories in the cmTarget. f1fcbe3 Add Target API to determine if an include is a system include. 2679a34 Remove unused variable.
| * | Add the INTERFACE_SYSTEM_INCLUDE_DIRECTORIES target property.Stephen Kelly2013-07-1611-14/+133
| | | | | | | | | | | | | | | | | | | | | | | | Unlike other target properties, this does not have a corresponding non-INTERFACE variant. This allows propagation of system attribute on include directories from link dependents.
| * | Add a SYSTEM parameter to target_include_directories (#14180)Stephen Kelly2013-07-028-21/+58
| | | | | | | | | | | | | | | | | | This is similar to the include_directories(SYSTEM) signature in that it allows telling the compiler to ignore warnings from such headers.
| * | Extend the cmTargetPropCommandBase interface property handling.Stephen Kelly2013-07-022-14/+25
| | | | | | | | | | | | | | | This can be used to handle INTERFACE SYSTEM include directories in particular.
| * | Store system include directories in the cmTarget.Stephen Kelly2013-07-025-19/+66
| | | | | | | | | | | | | | | | | | | | | Entries from the cmMakefile are processed and maintained similarly to other include directories. The include_directories(SYSTEM) signature affects all following targets, and all prior targets in the same makefile.
| * | Add Target API to determine if an include is a system include.Stephen Kelly2013-07-028-7/+20
| | | | | | | | | | | | | | | The implementation can be modified later so that system includes can be determined on a per-target basis.
| * | Remove unused variable.Stephen Kelly2013-07-021-1/+0
| | |
* | | CMake Nightly Date StampKitware Robot2013-07-161-1/+1
| | |
* | | Merge topic 'doc-deprecation-variables'Brad King2013-07-151-0/+24
|\ \ \ | | | | | | | | | | | | | | | | c64326b Document some variables for deprecation control.
| * | | Document some variables for deprecation control.Stephen Kelly2013-07-111-0/+24
| | | |
* | | | Merge topic 'compile-defs-debugging'Brad King2013-07-1519-110/+293
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | d7dd010 Add target property debugging for COMPILE_DEFINITIONS 1841215 Refactor cmTarget::GetCompileDefinitions to use an out-vector, not a string. afc9243 Add an overload of cmIDEOptions::AddDefines taking a vector of strings. d95651e Overload cmLocalGenerator::AppendDefines to add a list.
| * | | | Add target property debugging for COMPILE_DEFINITIONSStephen Kelly2013-07-125-66/+228
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use constructs similar to those for COMPILE_OPTIONS. This is a little different because there is a command to remove_definitions(), so we can't populate the equivalent target property until generate-time in cmGlobalGenerator.
| * | | | Refactor cmTarget::GetCompileDefinitions to use an out-vector, not a string.Stephen Kelly2013-07-1114-48/+54
| | | | | | | | | | | | | | | | | | | | Refactor to create AddCompileDefinitions.
| * | | | Add an overload of cmIDEOptions::AddDefines taking a vector of strings.Stephen Kelly2013-07-102-0/+6
| | | | |
| * | | | Overload cmLocalGenerator::AppendDefines to add a list.Stephen Kelly2013-07-102-0/+9
| | |_|/ | |/| |
* | | | Merge topic 'revert-CMAKE_SYSROOT'Brad King2013-07-159-135/+9
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 0416c94 Revert "Use --sysroot when cross compiling."
| * | | | Revert "Use --sysroot when cross compiling."Stephen Kelly2013-07-129-135/+9
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | This reverts commit de4da665d3205afa239749c41513a315c3831f51. This feature is not yet ready for release. It needs to be merged with the CMAKE_OSX_SYSROOT feature.
* | | | Merge topic 'update-kwsys'Brad King2013-07-151-8/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | 635e19d Merge branch 'upstream-kwsys' into update-kwsys 0a44fa4 KWSys 2013-07-10 (beef6819)
| * | | | Merge branch 'upstream-kwsys' into update-kwsysBrad King2013-07-111-8/+4
| |/ / /
* | | | Merge topic 'target-policies'Brad King2013-07-153-60/+54
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 484bb88 Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICY
| * | | | Genex: Make CMP0021 and CMP0022 usable with TARGET_POLICYStephen Kelly2013-07-113-60/+54
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Use preprocessor loops and add a unit test for the appropriate policies. All policies whose value is recorded at target creation time should be part of this list.
* | | | | 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
| |_|_|/ / / |/| | | | |