summaryrefslogtreecommitdiffstats
Commit message (Collapse)AuthorAgeFilesLines
* ExternalData: Preserve escaped semicolons during argument expansionBrad King2013-03-1210-5/+69
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CMake language implicitly flattens lists so a ";" in a list element must be escaped with a backslash. List expansion removes backslashes escaping semicolons to leave raw semicolons in the values. Teach ExternalData_Add_Test and ExternalData_Expand_Arguments to re-escape semicolons found in list elements so the resulting argument lists work as if constructed directly by the set() command. For example: ExternalData_Add_Test(Data NAME test1 COMMAND ... "a\\;b") ExternalData_Expand_Arguments(Data args2 "c\\;d") add_test(NAME test2 COMMAND ... ${args2}) should be equivalent to set(args1 "a\\;b") add_test(NAME test1 COMMAND ... ${args1}) set(args2 "c\\;d") add_test(NAME test2 COMMAND ... ${args2}) which is equivalent to add_test(NAME test1 COMMAND ... "a;b") add_test(NAME test2 COMMAND ... "c;d") Note that it is not possible to make ExternalData_Add_Test act exactly like add_test when quoted arguments contain semicolons because the CMake language flattens lists when constructing function ARGN values. This re-escape approach at least allows test arguments to have semicolons. While at it, teach ExternalData APIs to not transform "DATA{...;...}" arguments because the contained semicolons are non-sensical. Suggested-by: Jean-Christophe Fillion-Robin <jchris.fillionr@kitware.com>
* CMake Nightly Date StampKitware Robot2013-03-121-1/+1
|
* CMake Nightly Date StampKitware Robot2013-03-111-1/+1
|
* CMake Nightly Date StampKitware Robot2013-03-101-1/+1
|
* CMake Nightly Date StampKitware Robot2013-03-091-1/+1
|
* CMake Nightly Date StampKitware Robot2013-03-081-1/+1
|
* CMake Nightly Date StampKitware Robot2013-03-071-1/+1
|
* CMake Nightly Date StampKitware Robot2013-03-061-1/+1
|
* Merge topic 'FixPreLinkTest'Brad King2013-03-051-1/+1
|\ | | | | | | | | 5ab1259 Use PRE_LINK instead of PRE_BUILD when testing PRE_LINK.
| * Use PRE_LINK instead of PRE_BUILD when testing PRE_LINK.James Bigler2013-03-041-1/+1
| |
* | Merge topic 'vs10-stack-size'Brad King2013-03-051-1/+1
|\ \ | | | | | | | | | | | | 308c5a2 VS 10: Fix CMAKE_<LANG>_STACK_SIZE implementation (#13968)
| * | VS 10: Fix CMAKE_<LANG>_STACK_SIZE implementation (#13968)Brad King2013-03-041-1/+1
| |/ | | | | | | | | | | | | | | | | Use the /STACK: flag to pass the value through flag parsing so that the generator converts it to the StackReserveSize project file option. The option was accidentally left out by commit 7491f529 (first pass at VS 10, 2009-06-25). Suggested-by: goatboy160@yahoo.com
* | CMake Nightly Date StampKitware Robot2013-03-051-1/+1
| |
* | Merge topic 'GetPrerequisites-objdump'Brad King2013-03-042-19/+38
|\ \ | | | | | | | | | | | | | | | | | | | | | 12fb50d GetPrerequisites: Add documentation for objdump 8eb2fe9 GetPrerequisites: Enable test for BundleUtilities on MinGW 33c94c8 GetPrerequisites: Add support for objdump 5260a86 GetPrerequisites: Move tool search paths up
| * | GetPrerequisites: Add documentation for objdumpMichael Tänzer2013-03-011-0/+1
| | | | | | | | | | | | Signed-off-by: Michael Tänzer <neo@nhng.de>
| * | GetPrerequisites: Enable test for BundleUtilities on MinGWMichael Tänzer2013-03-011-0/+1
| | | | | | | | | | | | Signed-off-by: Michael Tänzer <neo@nhng.de>
| * | GetPrerequisites: Add support for objdumpMichael Tänzer2013-02-281-2/+18
| | | | | | | | | | | | | | | | | | Make it usable on MinGW without Visual Studio installed. Signed-off-by: Michael Tänzer <neo@nhng.de>
| * | GetPrerequisites: Move tool search paths upMichael Tänzer2013-02-281-17/+18
| | | | | | | | | | | | | | | | | | Make them usable in the gp_tool selection heuristic. Signed-off-by: Michael Tänzer <neo@nhng.de>
* | | Merge topic 'fix-genex-RPATH-handling'Brad King2013-03-043-6/+11
|\ \ \ | | | | | | | | | | | | | | | | dcb5907 Fix RPATH information when only a genex is used as a link library.
| * | | Fix RPATH information when only a genex is used as a link library.Stephen Kelly2013-02-283-6/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | As of commit 1da75022 (Don't include generator expressions in old-style link handling., 2012-12-23), such entries are not included in the LinkLibraries member. Generator expressions in LinkLibraries are not processed anyway, so port to the new way of getting link information.
* | | | Merge topic 'fix-genex-split-duplication'Brad King2013-03-041-2/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | f93a388 Fix the cmGeneratorExpression::Split when leading chars are present.
| * | | | Fix the cmGeneratorExpression::Split when leading chars are present.Stephen Kelly2013-02-281-2/+10
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In the case of input like foo$<1:bar> the preGenex should be 'foo'. In that case, the search for a ';' will not find one, and there is no preceding input to process as a non-genex list. Previously, the result of 'splitting' such a string would instead be a vector containing the same string two times.
* | | | Merge topic 'ctest_update-Git-HEAD'Brad King2013-03-042-6/+8
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 78b81b7 CTest: Fix ctest_update with 'HEAD' file in source tree
| * | | | CTest: Fix ctest_update with 'HEAD' file in source treeBrad King2013-02-282-6/+8
| |/ / / | | | | | | | | | | | | | | | | Add the '--' command-line separator to make the HEAD reference unambiguous. Extend the CTest.UpdateGIT test to cover this case.
* | | | Merge topic 'non-fatal-Qt4-missing-targets'Brad King2013-03-041-6/+10
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 4d5230d Only add existing targets to the Qt4 target depends properties.
| * | | | Only add existing targets to the Qt4 target depends properties.Stephen Kelly2013-02-261-6/+10
| | | | | | | | | | | | | | | | | | | | | | | | | Qt can be configured in ways which disable certain modules. Make sure we don't fail on that.
* | | | | Merge topic 'xcode-COMBINE_HIDPI_IMAGES'Brad King2013-03-041-0/+2
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 10d7bf4 Xcode: Generate recommended artwork setting (#13954)
| * | | | | Xcode: Generate recommended artwork setting (#13954)Brad King2013-02-261-0/+2
| |/ / / / | | | | | | | | | | | | | | | | | | | | Add the COMBINE_HIDPI_IMAGES = YES setting to all Xcode project targets. Otherwise Xcode may ask the user to "Update to recommended settings".
* | | | | Merge topic 'Win-HOST_SYSTEM_PROCESSOR'Brad King2013-03-041-1/+5
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | add8d22 properly detect processor architecture on Windows
| * | | | | properly detect processor architecture on WindowsRolf Eike Beer2013-02-251-1/+5
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CMake is usually run as a 32 bit process even on 64 bit Windows, so the PROCESSOR_ARCHITECTURE environment variable would always return x86. This post gives a description on how to do it properly: http://blogs.msdn.com/b/david.wang/archive/2006/03/26/howto-detect-process-bitness.aspx
* | | | | | Merge topic 'remove-TARGET_DEFINED-genex'Brad King2013-03-047-37/+8
|\ \ \ \ \ \ | |_|_|_|_|/ |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | cbf0756 Revert "Add the TARGET_DEFINED generator expression" 21a342c Remove use of TARGET_DEFINED from the target_link_libraries test. 47b8d32 Remove use of TARGET_DEFINED from the ExportImport test. 2e39d21 Remove use of TARGET_DEFINED from target_include_directories test.
| * | | | | Revert "Add the TARGET_DEFINED generator expression"Stephen Kelly2013-02-254-29/+0
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 2bee6f5ba5b3f33817cc00e056a7df60d05c9399. This expression is not used, and has a semantic which is not completely optimal (namely considering utility targets to be targets, though usually we are interested in linkable targets). Remove it so that we have more freedom to define better expressions in the future. Conflicts: Source/cmGeneratorExpressionEvaluator.cxx Tests/CMakeCommands/target_compile_definitions/CMakeLists.txt Tests/CMakeCommands/target_compile_definitions/consumer.cpp
| * | | | | Remove use of TARGET_DEFINED from the target_link_libraries test.Stephen Kelly2013-02-251-4/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the unit test introduced in commit 57175d55 (Only use early evaluation termination for transitive properties., 2013-02-07) to not use the expression, but still test the appropriate code.
| * | | | | Remove use of TARGET_DEFINED from the ExportImport test.Stephen Kelly2013-02-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Update the unit test introduced in commit 5daaa5c4 (Fix TARGET_PROPERTY target extractions., 2013-01-26) to not use the expression, but still test the appropriate code.
| * | | | | Remove use of TARGET_DEFINED from target_include_directories test.Stephen Kelly2013-02-251-3/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Change the unit test introduced in commit 24dcf0c0 (Make sure generator expressions can be used with target_include_directories., 2013-01-16) to not use the expression, but still test the appropriate code.
* | | | | | CMake Nightly Date StampKitware Robot2013-03-041-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-03-031-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-03-021-1/+1
| | | | | |
* | | | | | CMake Nightly Date StampKitware Robot2013-03-011-1/+1
| |_|_|/ / |/| | | |
* | | | | CMake Nightly Date StampKitware Robot2013-02-281-1/+1
| |_|_|/ |/| | |
* | | | CMake Nightly Date StampKitware Robot2013-02-271-1/+1
| |_|/ |/| |
* | | CMake Nightly Date StampKitware Robot2013-02-261-1/+1
| | |
* | | Merge topic 'memoize-link-iface-includes-defines'Brad King2013-02-251-44/+88
|\ \ \ | | | | | | | | | | | | | | | | 42ebb18 Memoize includes and defines from interface libraries.
| * | | Memoize includes and defines from interface libraries.Stephen Kelly2013-02-241-44/+88
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This is similar in spirit to commit e48d8420 (Cache context-independent includes on evaluation., 2013-02-03), but it is needed since commit a1c4905f (Use the link information as a source of compile definitions and includes., 2013-02-12), which changed how includes and defines are determined. As they are now determined through the link interface, we need to cache the result of evaluating them through that. In the case of the includes, the result was already being cached and then immediately disposed. Store the result as a member variable instead to make use of the caching.
* | | | Merge topic 'interface-property-external-read'Brad King2013-02-258-47/+113
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 8dfdf1c Fix the tests for evaluating includes and defines. 98a6725 Fix constness of accessors. 7e70744 Expand includes and defines transitively in 'external' genexes. d1a2729 Fix DAG checker finding cycling dependencies. e72eaad Workaround broken code where a target has itself in its link iface. ec2c67b Strip stray semicolons when evaluating generator expressions.
| * | | | Fix the tests for evaluating includes and defines.Stephen Kelly2013-02-232-6/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We should also check whether the INTERFACE_ variant of a property is being read, and in the case of the compile definitions, we should test the _<CONFIG> suffixed variants. That is already available through the use of the methods. This way, we use the ALREADY_SEEN optimization when evaluating the includes of a target in 'external' generator expressions, ie, those used in a add_custom_command invokation, as opposed to evaluating the INCLUDE_DIRECTORIES of a target itself via GetIncludeDirectories.
| * | | | Fix constness of accessors.Stephen Kelly2013-02-232-4/+4
| | | | |
| * | | | Expand includes and defines transitively in 'external' genexes.Stephen Kelly2013-02-234-37/+91
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This means that we can use expressions of the form $<TARGET_PROPERTY:foo,INTERFACE_INCLUDE_DIRECTORIES> to get a list of the interface include directories of foo, including those coming from dependencies. We can't have a test of a target which has a single include directory in its INCLUDE_DIRECTORIES because the shell on the MSYS platforms transforms a single include directory to include a prefix, which is not what the test expects. We test a target with two directories instead as a means to test a target with no link dependencies.
| * | | | Fix DAG checker finding cycling dependencies.Stephen Kelly2013-02-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Before this patch, the following is reported falsely as a self-reference: target_link_libraries(empty2 LINK_PUBLIC empty3) target_link_libraries(empty3 LINK_PUBLIC empty2) add_custom_target(... -DINCLUDES=$<TARGET_PROPERTY:empty2,INTERFACE_INCLUDE_DIRECTORIES> ) The reason is that the existing code assumed that all reading of include directories would be done through cmTarget::GetIncludeDirectories() and would therefore be initialized with a DagChecker. That is not the case if reading the property with an 'external' generator expression.
| * | | | Workaround broken code where a target has itself in its link iface.Stephen Kelly2013-02-231-0/+7
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | There is a test for this since commit 8e756d2b (Tolerate cycles in shared library link interfaces (#12647), 2012-01-12), so make sure it continues to pass, even as we require no self-references in new INTERFACE_ property generator expressions.