summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Tests: Refactor RunCMake.VisibilityPreset test setupBrad King2015-05-223-22/+9
| | | | | | | | Enable languages only in the individual test case. Enable the test everywhere except Visual Studio generators (which do not implement the properties) and just set fake flags as needed to activate relevant code paths. Drop unneeded CMAKE_SUPPRESS_REGENERATION which seems to have been copied from an unrelated test when this test was created.
* Merge topic 'run-include-what-you-use'Brad King2015-05-2119-0/+63
|\ | | | | | | | | | | ada5ffce Add options to run include-what-you-use with the compiler 67fa3da9 cmake: Add internal -E mode to run include-what-you-use with the compiler
| * Add options to run include-what-you-use with the compilerBrad King2015-05-1910-0/+49
| | | | | | | | | | | | Create a <LANG>_INCLUDE_WHAT_YOU_USE target property (initialized by a CMAKE_<LANG>_INCLUDE_WHAT_YOU_USE variable) to specify an IWYU command line to be run along with the compiler.
| * cmake: Add internal -E mode to run include-what-you-use with the compilerBill Hoffman2015-05-199-0/+14
| | | | | | | | | | | | | | | | Add an internal "cmake -E __run_iwyu" mode to wrap the compiler call. Run a given include-what-you-use command line with the compiler options and report a warning if it finds anything. Then run the real compiler. Co-Author: Brad King <brad.king@kitware.com>
* | Merge topic 'use-std-unordered_map'Brad King2015-05-196-6/+6
|\ \ | | | | | | | | | | | | | | | | | | d7923b82 Use std::unordered_map instead of hash_map where available. 820777af Tests: Don't rely on ordering of targets in maps. 921d74d8 AutoGen: Don't iterate over a container while populating it.
| * | Tests: Don't rely on ordering of targets in maps.Stephen Kelly2015-05-176-6/+6
| |/
* | Merge topic 'minor-cleanups'Brad King2015-05-194-0/+14
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 61d52e6e cmListFileBacktrace: Hide the context-stack implementation detail. a271f7f1 cmTarget: Simplify CMP0023 message loop. f4300cd4 cmTarget: Simplify output computation. 65a42849 cmTarget: Store context in stack only if different. 9645cba3 cmListFileContext: Implement EqualityComparable. 52a8d19c cmTarget: Store only cmListFileContext for CMP0023 handling. 59ba1215 cmTarget: Remove needless iteration. 18f810a8 cmListFileContext: Sort by line before file. e96b5d14 cmListFileContext: Implement LessThanComparable. 7eb0dfa0 cmMakefile: Use std::set::insert API to simplify CMP0054 handling. f9785e0c cmMakefile: Simplify CMP0054 handling. e17b5e42 cmMakefile: Add access to the top-level execution context. 1ec1bf9f if(): Test the effect of cmMakefileCall use in elseif() handling. 9b4aefad cmMakefile: Replace deques with vectors.
| * | if(): Test the effect of cmMakefileCall use in elseif() handling.Stephen Kelly2015-05-184-0/+14
| |/
* | Merge topic 'fix-function-missing-endforeach'Brad King2015-05-197-0/+32
|\ \ | |/ |/| | | | | 3a656065 Fix assertion failure on unmatched foreach in function (#15572)
| * Fix assertion failure on unmatched foreach in function (#15572)Brad King2015-05-187-0/+32
| | | | | | | | | | | | | | | | | | | | | | | | The lexical scope counting added by commit v3.2.0-rc1~332^2~1 (Track nested loop levels in CMake language with a stack of counters, 2014-11-18) forgot to account for scopes popped by error messages about unclosed scopes. Teach the error handler to pop the lexical scope it reports as unclosed. Re-order the lexical scope RAII object to be inside the variable scope RAII object scope so that the lexical scope is fully closed before we check assertions about variable scopes. Extend the RunCMake.Syntax test with a case covering this.
| * Merge branch 'configure_file-NEWLINE_STYLE-no-warn' into releaseBrad King2015-03-0923-0/+78
| |\
* | \ Merge topic 'refactor-cmLocalGenerator'Brad King2015-05-152-0/+17
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ce167b54 cmMakefile: Handle CMP0014 before configuring the generator. 7baef756 cmLocalGenerator: Assert that there is a parent. 63255342 cmMakefile: Remove redundant variable set. 894961af cmMakefile: Use the state to determine the parent directory. 115e9199 Use new top-level check abstraction. c5059c90 cmLocalGenerator: Add abstraction to check if top-level. b17686d2 cmGlobalGenerator: Move some flags from cmLocalGenerator. ed41a8e7 cmLocalGenerator: Port loops to cmState::Snapshot. 48a9e91b cmState: Add an accessor for Parent snapshot and a validity check. e7f7c2e2 cmLocalGenerator: Convert two recursive methods to loops. c5cb3a73 cmLocalGenerator: Get project directories from the cmState. 76b59831 cmLocalGenerator: Initialize state before creating cmMakefile. 34c9ee2e cmLocalGenerator: Require a global generator in the constructor. 3837c483 Tests: Add case for 'ctest' run with bad CTestTestfile b317b38d cmGlobalBorlandMakefileGenerator: Do not inherit from NMake generator 94867698 Don't use a cmLocalGenerator instance to call static methods. ...
| * | | Tests: Add case for 'ctest' run with bad CTestTestfileBrad King2015-05-142-0/+17
| | | |
* | | | Merge topic 'disallow-install-of-export'Brad King2015-05-159-0/+49
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | b85d3b66 install: Disallow installing export() result. 501c237a install: Use an intermediate filesVector variable.
| * | | | install: Disallow installing export() result.Stephen Kelly2015-05-149-0/+49
| |/ / /
* | | | Tests: Fix failures when running under the default install prefix (#15566)Brad King2015-05-143-0/+9
|/ / / | | | | | | | | | | | | | | | | | | Fix test cases whose behavior differs when their source or build tree is under CMAKE_INSTALL_PREFIX by setting an install prefix under the build tree. Otherwise they may fail when run under the default install prefix (e.g. /usr/local).
* | | Merge topic 'ctest-no-make-i'Brad King2015-05-1215-1/+87
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 226df303 CTest: Stop telling 'make' to ignore errors with -i 28e7a135 Help: Fix build_command alternative signature docs 231601b6 build_command: Choose configuration consistently across signatures
| * | | CTest: Stop telling 'make' to ignore errors with -iBrad King2015-05-1215-1/+87
| | | | | | | | | | | | | | | | Add policy CMP0061 to maintain compatibility for existing projects.
* | | | Merge topic 'ExternalProject-improve-missing-source-error'Brad King2015-05-1210-0/+69
|\ \ \ \ | |/ / / |/| | | | | | | | | | | dcb18836 ExternalProject: Improve error when SOURCE_DIR is missing (#15560)
| * | | ExternalProject: Improve error when SOURCE_DIR is missing (#15560)Brad King2015-05-0810-0/+69
| | | | | | | | | | | | | | | | | | | | Mention the SOURCE_DIR that we checked and found empty or missing so that the user can see the full path to what we expected to find.
* | | | execute_process: Improve stdout/stderr mergingBrad King2015-05-078-0/+56
|/ / / | | | | | | | | | | | | | | | | | | Use the KWSys Process "MergeOutput" option to give the child process the same pipe (or file) for both stdout and stderr. This allows natural merging of stdout and stderr together instead of merging on arbitrary buffered read boundaries as before.
* | | Merge topic 'test-RunCMake-parallel-make'Brad King2015-04-301-0/+3
|\ \ \ | | | | | | | | | | | | | | | | 703e7625 Tests: Protect RunCMake tests from MAKEFLAGS in environment (#15542)
| * | | Tests: Protect RunCMake tests from MAKEFLAGS in environment (#15542)Brad King2015-04-291-0/+3
| | | |
* | | | if: Implement new IN_LIST operatorNils Gladitz2015-04-3010-0/+81
| | | |
* | | | Revert "add_custom_command: Diagnose MAIN_DEPENDENCY limitation."Nils Gladitz2015-04-3011-70/+0
|/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This reverts commit 242c3966 (add_custom_command: Diagnose MAIN_DEPENDENCY limitation, 2015-03-09) and the follow up commit b372a99a (UseSWIG: Do not use MAIN_DEPENDENCY on custom commands, 2015-03-26). I misdiagnosed the underlying issue that prompted creation of policy CMP0057. The actual issue surfaces when a single custom command's MAIN_DEPENDENCY is listed in more than one target; this issue will have to be addressed independently.
* | | Merge topic 'deterministic-CTest-tests'Brad King2015-04-281-0/+2
|\ \ \ | | | | | | | | | | | | | | | | bf24b6c5 Tests: Guard more CTest tests against parallel execution.
| * | | Tests: Guard more CTest tests against parallel execution.Stephen Kelly2015-04-271-0/+2
| | | |
* | | | Tests: Fix RunCMake.CTest to tolerate source line number changesBrad King2015-04-271-1/+1
|/ / /
* | | Merge topic 'deterministic-CTest-tests'Brad King2015-04-231-0/+3
|\ \ \ | | | | | | | | | | | | | | | | | | | | b5b20d20 ctest: Treat ENV{CTEST_OUTPUT_ON_FAILURE} as a boolean fcf9cf6c Tests: Make a CTest test deterministic.
| * | | Tests: Make a CTest test deterministic.Stephen Kelly2015-04-201-0/+3
| | | | | | | | | | | | | | | | The test expect sub-test not to run in parallel.
* | | | ExternalProject: Allow dependencies on INTERFACE librariesBrad King2015-04-227-0/+29
| | | | | | | | | | | | | | | | | | | | Respect INTERFACE library property whitelist. Check that a target has type "UTILITY" before querying other properties.
* | | | ExternalProject: Allow generator expressions in initial cache optionsAndrey Pokrovskiy2015-04-216-7/+16
| | | | | | | | | | | | | | | | | | | | | | | | Use file(GENERATE) to write the initial cache file so that we can evaluate generator expressions. Use a per-config initial cache file name in case the content varies by configuration.
* | | | Merge topic 'ExternalProject-test-refactor'Brad King2015-04-216-58/+63
|\ \ \ \ | |/ / / |/| | | | | | | | | | | 28429270 Tests: Delay RunCMake.ExternalProject case checks
| * | | Tests: Delay RunCMake.ExternalProject case checksBrad King2015-04-206-58/+63
| | | | | | | | | | | | | | | | | | | | Use RunCMake "-check.cmake" scripts to check the generated initial cache file content so that the full generation process is completed.
* | | | Merge topic 'stable-xcode-projects'Brad King2015-04-201-2/+2
|\ \ \ \ | |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6693590f Xcode: Refine quoting rules for Strings a6331eb8 Xcode: Let PrintComment decide if the comment is non-empty 6e8952c1 Xcode: PrintComment will prepend a whitespace itself before the comment 4bd2544b Xcode: Do not add whitespace after attribute group opening brace 5cb4c838 Xcode: Properly indent PBXFileReference and PBXBuildFile a723427b Xcode: Remove extra space in PBXProject comment 2fe8bca5 Xcode: Add comment after root object 2e0e205e Xcode: Indent using tabs 7b68c8df Xcode: Sort Xcode objects by Id
| * | | Xcode: Refine quoting rules for StringsGregor Jasny2015-04-171-2/+2
| | | | | | | | | | | | | | | | | | | | $ and . do not need to be quoted, but brackets and * must be to not confuse the Xcode parser.
* | | | Deprecate Visual Studio 7 generator (.NET 2002)Brad King2015-04-155-0/+13
| | | | | | | | | | | | | | | | | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* | | | Deprecate Visual Studio 6 generatorBrad King2015-04-155-0/+15
| | | | | | | | | | | | | | | | | | | | Update documentation to mark the generator deprecated. Add a warning at the end of generation plus an option to turn off the warning.
* | | | Merge topic 'cmake-cleanups'Brad King2015-04-133-0/+53
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 07d44d63 cmake: Remove confusing duplication. ea819b29 cmMakefile: Remove unused method. 6ad86c7f cmMakefile: Remove bad comment. fca2b542 cmMakefile: Internalize setting of CMakeInstance on Properties. 7bb4e3db cmMakefile: Out-of-line Home directory accessors. 6241253a cmake: Out-of-line Home and Start directory methods. 0ee3ccb3 cmake: Fix variable name bugs. 57dd094e Use vector, not list for cmCommand storage. 6deb43e6 Remove some files which do not need to be in BootstrapCommands. ecdb1b3b Add some missing includes. 04b307b9 cmake: Simplify CommandExists method. 0f1f324b cmake: Rename oddly named variables. 275185ac cmake: Constify GetCommand method. c57f086a cmake: Don't lower-case a string needlessly. 23368c9b cmake: Use make_pair instead of Foo::value_type. 14c70b8c cmake: out-of-line try compile state methods. ...
| * | | | Test expected value of DEBUG_CONFIGURATIONS global property.Stephen Kelly2015-04-123-0/+53
| | | | |
* | | | | Merge topic 'cmake-G-print-generators'Brad King2015-04-132-2/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 588dcb33 cmake: Provide guidance when an invalid -G option is given
| * | | | | cmake: Provide guidance when an invalid -G option is givenGerald Combs2015-04-102-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Print a list of generators if no generator or an invalid one is supplied. Signed-off-by: Gerald Combs <gerald@wireshark.org>
* | | | | | Merge topic 'move-command-line-tests'Brad King2015-04-1338-0/+108
|\ \ \ \ \ \ | |/ / / / / | | | | | | | | | | | | | | | | | | 4e039a9a Tests: Move more command line tests into RunCMake.CommandLine
| * | | | | Tests: Move more command line tests into RunCMake.CommandLineBrad King2015-04-1038-0/+108
| |/ / / / | | | | | | | | | | | | | | | | | | | | | | | | | Port most CMakeTestBadCommandLines test cases to RunCMake.CommandLine and drop the former test. Add validation of expected results, which was not done by the old test.
* | | | | Merge topic 'emulator-property'Brad King2015-04-131-0/+8
|\ \ \ \ \ | |/ / / / |/| | | | | | | | | | | | | | c9e9c31c Tests: Create pseudo_emulator output dir for Xcode 2.x
| * | | | Tests: Create pseudo_emulator output dir for Xcode 2.xBrad King2015-04-101-0/+8
| | | | | | | | | | | | | | | | | | | | | | | | | Apply the workardound from commit v2.8.2~598 (Create CMakeLibTests output dir for Xcode, 2009-12-09) to the pseudo_emulator tool.
* | | | | Tests: Consolidate, refactor and extend -E tar testsNils Gladitz2015-04-1038-13/+198
| | | | |
* | | | | cmake: Teach "-E tar" command a "--format=" optionNils Gladitz2015-04-103-0/+3
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | Allows specifying a libarchive defined archive format currently restricted to 7zip, gnutar, pax, paxr and zip. The default is "paxr" (pax restricted).
* | | | Merge topic 'link-implicit-libs-full-path'Brad King2015-04-0919-2/+105
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 882f48e5 Link libraries by full path even in implicit directories 318cd370 Help: Add link target for Find Modules section of cmake-developer.7 1535dcd8 Tests: Teach RunCMake to optionally merge command output to stdout
| * | | | Link libraries by full path even in implicit directoriesBrad King2015-04-0918-0/+97
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When CMP0003 was first introduced we wanted to link all libraries by full path. However, some projects had problems on platforms where find_library would find /usr/lib/libfoo.so when the project really wanted to link to /usr/lib/<arch>/libfoo.so and had been working by accident because pre-CMP0003 behavior used -lfoo to link. We first tried to address that in commit v2.6.0~440 (Teach find_library to avoid returning library paths in system directories, 2008-01-23) by returning just "foo" for libraries in implicit link directories. This caused problems for projects expecting find_library to always return a full path. We ended up using the solution in commit v2.6.0~366 (... switch library paths found in implicit link directories to use -l, 2008-01-31). However, the special case for libraries in implicit link directories has also proven problematic and confusing. Introduce policy CMP0060 to switch to linking all libraries by full path even if they are in implicit link directories. Explain in the policy documentation the factors that led to the original approach and now to this approach.