summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'cmake-depend-in-project-only'Brad King2016-03-245-0/+29
|\ | | | | | | | | | | | | b06e17da Help: Add notes for topic 'cmake-depend-in-project-only' 52540245 Tests: Add test for CMAKE_DEPENDS_IN_PROJECT_ONLY variable b1e1aa1e Makefile: Optionally scan only source and build trees for dependencies
| * Tests: Add test for CMAKE_DEPENDS_IN_PROJECT_ONLY variableBrad King2016-03-235-0/+29
| |
* | Merge topic 'vs-startup-project'Brad King2016-03-2410-1/+54
|\ \ | | | | | | | | | | | | | | | | | | | | | ad140c6e VS: Put ALL_BUILD in the PREDEFINED_TARGETS_FOLDER f069be05 VS: Fix default target support for targets nested inside a folder c05ea485 VS: Improve unit test macros 78ec0461 VS: Add option to choose the `.sln` startup project (#15578)
| * | VS: Fix default target support for targets nested inside a folderTaylor Braun-Jones2016-03-234-1/+20
| | | | | | | | | | | | | | | It's not actually the first target in a `.sln` file that is treated as the default startup project, but rather the first fully defined target.
| * | VS: Improve unit test macrosTaylor Braun-Jones2016-03-223-9/+12
| | | | | | | | | | | | | | | Change `getFirstProject` macro to more flexible version `getProjectNames`
| * | VS: Add option to choose the `.sln` startup project (#15578)Davy Durham2016-03-227-0/+31
| | | | | | | | | | | | | | | | | | | | | | | | Add a `VS_STARTUP_PROJECT` directory property to specify the project that should be placed first in the `.sln` file so that it will be selected as the default startup project. Co-Author: Taylor Braun-Jones <taylor.braunjones@avigilon.com>
* | | Merge topic 'timeout_after_match'Brad King2016-03-2210-0/+53
|\ \ \ | |_|/ |/| | | | | | | | | | | de7afd29 Help: Add notes for topic 'timeout_after_match' 993e48d0 CTest: Optionally use a secondary test timeout after matching output
| * | CTest: Optionally use a secondary test timeout after matching outputZack Galbreath2016-03-2210-0/+53
| | | | | | | | | | | | | | | | | | Allow a test N seconds to complete after we detect a matching line in its output. Activate this behavior with a new TIMEOUT_AFTER_MATCH test property.
* | | Merge topic 'test-rename-VSSolution'Brad King2016-03-2218-1/+1
|\ \ \ | | |/ | |/| | | | | | | 5c1f4da8 Tests: Rename RunCMake.{SolutionGlobalSections => VSSolution}
| * | Tests: Rename RunCMake.{SolutionGlobalSections => VSSolution}Brad King2016-03-1818-1/+1
| | | | | | | | | | | | The test will be suitable for covering other `.sln` content too.
* | | Merge topic 'ninja-directory-targets'Brad King2016-03-224-0/+21
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 9ead71df Help: Add notes for topic 'ninja-directory-targets' e9bf8ec8 Ninja: Add test for `$subdir/all` targets ca575fe9 Ninja: Add `$subdir/all` targets
| * | | Ninja: Add test for `$subdir/all` targetsBrad King2016-03-224-0/+21
| |/ /
* | | Merge topic 'fix-repeat-pkg-config'Brad King2016-03-221-5/+6
|\ \ \ | |/ / |/| | | | | | | | 6f4f9054 FindPkgConfig: set correctly named variables in cache (#15903)
| * | FindPkgConfig: set correctly named variables in cache (#15903)Ben Boeckel2016-03-211-5/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 topic 'ios-install-combined-one-arch'Brad King2016-03-173-0/+64
|\ \ \ | |_|/ |/| | | | | | | | e3fc2899 Fix iOS combined feature for single architecture targets
| * | Fix iOS combined feature for single architecture targetsRuslan Baratov2016-03-153-0/+64
| |/ | | | | | | | | | | | | 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 'fix-static-private-non-target-depends' into releaseBrad King2016-02-175-0/+17
| |\
| * \ Merge branch 'fix-cmake_parse_arguments-expansion' into releaseBrad King2016-02-121-0/+19
| |\ \
| * \ \ Merge branch 'fix-install-EXPORT-crash' into releaseBrad King2016-02-087-3/+14
| |\ \ \
* | \ \ \ Merge topic 'remove-vs6-generator'Brad King2016-03-108-19/+6
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b42866a3 Drop Visual Studio 6 generator cd9ba3ec cmLocalVisualStudio7Generator: Fix name of helper function
| * | | | | Drop Visual Studio 6 generatorBrad King2016-03-098-19/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This generator has been deprecated since CMake 3.3. Remove it. Update documentation, modules, and tests to drop content specific to this generator.
* | | | | | Xcode: ReRunCMake even if files disappeared (#15992)Gregor Jasny2016-03-091-0/+39
|/ / / / /
* | | | | Diagnose recursive project/enable_language without crashing (#15999)Brad King2016-03-0711-0/+27
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Calling `project()` or `enable_language()` from a toolchain file will infinitely recurse since those commands load the toolchain file. Diagnose and reject this case with an error message instead of crashing when the stack eventually overflows.
* | | | | VS: Add option to set `ConfigurationType` of a .vcxproj fileFabian Otto2016-02-266-0/+37
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a VS_CONFIGURATION_TYPE target property to set this value explicitly. This is useful to build a Windows Kernel Mode Driver, for example.
* | | | | Merge topic 'try_compile-target-type'Brad King2016-02-267-0/+41
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | 7f1bd9fe try_compile: Add option to control type of target
| * | | | | try_compile: Add option to control type of targetBrad King2016-02-197-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create a `CMAKE_TRY_COMPILE_TARGET_TYPE` option to specify use of `add_library(... STATIC ...)` for the generated test project. This will be useful for cross-compiling toolchains that cannot link a binary without custom flags or scripts.
* | | | | | file(DOWNLOAD): Fill STATUS variable on hash mismatch (#15987)Brad King2016-02-255-0/+21
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Although we fail with an error on a hash mismatch, it is not a fatal error so the script may continue processing. If the download itself had no error then report in the STATUS variable that the operation was not successful due to the hash mismatch. Suggested-by: Tobias Hieta <tobias@hieta.se>
* | | | | | cmake_parse_arguments: Additional regression testsDimitar Yordanov2016-02-242-0/+29
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add regression tests for the arguments handling in cmake_parse_arguments. The tests were run also against cmake 3.4.1 maint branch to verify that there are no regressions. Signed-off-by: Dimitar Yordanov <dimitar.yordanov@sap.com> Signed-off-by: Matthias Maennich <matthias.maennich@sap.com>
* | | | | Merge topic 'fix-static-private-non-target-depends'Brad King2016-02-185-0/+17
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | 87f44b75 Fix export of STATIC library PRIVATE non-target dependencies
| * | | | Fix export of STATIC library PRIVATE non-target dependenciesBrad King2016-02-175-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 topic 'fix-cmake_parse_arguments-expansion'Brad King2016-02-161-0/+19
|\ \ \ \ \ | | |_|_|/ | |/| | | | | | | | | | | | | c8c45a2c cmake_parse_arguments: Restore ;-list argument flattening
| * | | | cmake_parse_arguments: Restore ;-list argument flatteningDimitar Yordanov2016-02-121-0/+19
| |/ / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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>
* | | | CPack/RPM support for upper cased component variablesDomen Vrankar2016-02-137-12/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | CPACK_* variables expect component name in upper case. CPACK_RPM_* variables expected component name to be in same case as component name. This patch adds support for CPACK_RPM_* variables with upper case component names to match the convention with CPACK_* variables and also preserves same case component names for back compatibility.
* | | | Merge topic 'install-EXCLUDE_FROM_ALL'Brad King2016-02-0910-0/+60
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 586e56d0 Help: Add notes for topic 'install-EXCLUDE_FROM_ALL' d321c196 Tests: Add cases for install() command EXCLUDE_FROM_ALL option 18ce97c4 install: Add EXCLUDE_FROM_ALL option (#14921)
| * | | | Tests: Add cases for install() command EXCLUDE_FROM_ALL optionBrad King2016-02-0410-0/+60
| |/ / /
* | | | Merge topic 'test-ctest_submit-update'Brad King2016-02-094-4/+4
|\ \ \ \ | | |/ / | |/| | | | | | | | | | 2859d9ef Tests: Extend ctest_submit host lookup failure matching (#15958)
| * | | Tests: Extend ctest_submit host lookup failure matching (#15958)Orion Poplawski2016-02-084-4/+4
| |/ / | | | | | | | | | | | | | | | | | | Match this message: Could not resolve host: -no-site-; Name or service not known ^^^^^^^^^^^^^^^^^^^^^^^^^^^
* | | Merge topic 'fix-install-EXPORT-crash'Brad King2016-02-097-3/+14
|\ \ \ | | |/ | |/| | | | | | | | | | | | | a1ad098d Tests: Avoid OS X 10.5 limitation warning in RunCMake.install test 47460f3e install(EXPORT): Fix crash on target in another directory e86383e1 Tests: Use newer policy settings in RunCMake.install test
| * | Tests: Avoid OS X 10.5 limitation warning in RunCMake.install testBrad King2016-02-081-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The EXPORT-OldIFace test case uses install(TARGETS) and so generates a warning: CMake Warning in CMakeLists.txt: WARNING: Target "foo" has runtime paths which cannot be changed during install. To change runtime paths, OS X version 10.6 or newer is required. Therefore, runtime paths will not be changed when installing. CMAKE_BUILD_WITH_INSTALL_RPATH may be used to work around this limitation. Set CMAKE_BUILD_WITH_INSTALL_RPATH to avoid the warning since we do not need to run the binaries from the build tree anyway.
| * | install(EXPORT): Fix crash on target in another directoryBrad King2016-02-053-0/+9
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Refactoring merged by commit v3.5.0-rc1~299 (Merge topic 'use-generator-target', 2015-10-20) in and around commit v3.5.0-rc1~299^2~13 (cmExportSet: Store a cmGeneratorTarget, 2015-10-17) changed export sets to delay looking up actual targets and stores only their names. However, in InstallCommand::HandleExportMode we need to lookup targets immediately to check them for EXPORT_LINK_INTERFACE_LIBRARIES. The check was accidentally made local to the current directory, so if an export set contains a target from another directory the lookup fails and CMake crashes. Fix the check to look up the target name globally, and tolerate when no target is found just in case. Reported-by: Kelly Thompson <kgt@lanl.gov>
| * | Tests: Use newer policy settings in RunCMake.install testBrad King2016-02-054-3/+4
| |/ | | | | | | In particular, avoid CMP0042 warnings on OS X.
* | Merge topic 'error-multiple-targets'Brad King2016-02-084-0/+8
|\ \ | | | | | | | | | | | | | | | 497cad7c cmake: Teach --build to reject multiple --target options 886acd80 Help: Fix reference to `cmake --build` in cmake(1) manual
| * | cmake: Teach --build to reject multiple --target optionsSebastian Schuberth2016-02-054-0/+8
| |/ | | | | | | | | | | | | | | | | | | Previously we did not clearly document that `--target` is only supported to be specified once. Even worse, specifying it multiple times would silently ignore any previously specified targets and only build the last target. Update the documentation to specify this. Update the implementation to reject multiple `--target` options to prevent user errors.
* | list: Add FILTER subcommand (#3986)Ashley Whetter2016-02-0325-0/+61
|/ | | | Create a `list(FILTER)` command to filter lists by regular expression.
* Merge topic 'fix-CMAKE_MATCH-self-match'Brad King2016-02-022-0/+6
|\ | | | | | | | | 6ffc4323 cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)
| * cmConditionEvaluator: Fix matching of `CMAKE_MATCH_*` values (#15944)Brad King2016-02-012-0/+6
| | | | | | | | | | | | | | | | | | | | | | While evaluating `if(MATCHES)` we get a `const char*` pointer to the string to be matched. On code like if(CMAKE_MATCH_COUNT MATCHES "Y") the string to be matched may be owned by our own result variables. We must move the value to our own buffer before clearing them. Otherwise we risk reading freed storage.
* | add_custom_command: Clarify error when TARGET is out of scope (#15681)Brad King2016-01-2810-2/+19
|/ | | | | | | | The add_custom_command(TARGET) signature only works for targets defined in the current directory. Clarify this in the error message when the target exists but was defined elsewhere. Inspired-by: Bartosz Kosiorek <gang65@poczta.onet.pl>
* Merge topic 'fix-pkg_search_module-cache'Brad King2016-01-222-0/+17
|\ | | | | | | | | 40249bcc FindPkgConfig: set standard variables in the cache
| * FindPkgConfig: set standard variables in the cacheBen Boeckel2016-01-212-0/+17
| | | | | | | | | | | | | | | | | | Fixes a regression introduced when the code was simplified to use the variable queries. Fixes #15903. Reported-by: Bernd Lörwald
* | cmake: Fix `-E time` argument passing to childBrad King2016-01-204-0/+10
|/ | | | | | | | | | Since this command was introduced in 2002 it has incorrectly constructed the child process command line by concatenating arguments separated by spaces with no quoting. Fix this by passing the command argument vector directly to RunSingleCommand without an intermediate quoting and re-parsing step. Reported-by: Andrey Pokrovskiy <wonder.mice@gmail.com>