summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* set_property: Do not remove a property when APPENDing nothingBen Boeckel2013-07-241-0/+1
|
* Introduce the INTERFACE_LINK_LIBRARIES property.Stephen Kelly2013-07-081-0/+10
| | | | | | | | | | | | | | | | | | | | 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.
* VS12: Find proper MSBuild for VSProjectInSubdir testBrad King2013-06-281-3/+8
| | | | | | If the CTest make program is not msbuild we find the msbuild corresponding to the current test generator. In the case of VS 12 search for the msbuild it provides.
* Add whitespace after colons in error messages.Stephen Kelly2013-06-211-1/+1
|
* Merge topic 'suppress-unused-cli-with-value-in-cache'Brad King2013-06-141-1/+1
|\ | | | | | | | | 6a6cda5 Don't run the WarnUnusedCliUnused test on Windows.
| * Don't run the WarnUnusedCliUnused test on Windows.Stephen Kelly2013-06-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | Even with the NMake Makefiles generator, it is not able to properly clean up after the test. http://open.cdash.org/testDetails.php?test=193424220&build=2934501 Internal cmake changing into directory: C:/Dashboards/My Tests/CMake-nmake10-x64-continuous/Tests/WarnUnusedCliUnused Error: cmake execution failed CMake Error: Error: generator : NMake Makefiles Does not match the generator used previously: Visual Studio 10 Either remove the CMakeCache.txt file or choose a different binary directory.
* | Merge topic 'suppress-unused-cli-with-value-in-cache'Brad King2013-06-051-11/+17
|\ \ | |/ | | | | | | 273ecab CLI: Suppress the unused warning if the key value pair is cached.
| * CLI: Suppress the unused warning if the key value pair is cached.Stephen Kelly2013-06-041-11/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | It is common to specify a CMAKE_TOOLCHAIN_FILE and get a warning for using it despite it not being used. The WarnUnusedCliUnused test relies on the warning being emitted each time cmake is run on an existing build. That behavior is changed by this patch to warn only on the first invokation of CMake, and not on subsequent invokations (because the variable is in the cache with the same value). For that test, a clean target is added which clears the cache and cause the warning to be emitted each time. As the Ninja generator does not support the feature needed to test this, it is not tested with that generator.
* | Merge topic 'escape-regex-specials-in-path'Brad King2013-06-031-4/+1
|\ \ | | | | | | | | | | | | | | | e4e0921 Merge branch 'master' into escape-regex-specials-in-path c9b75dc Fix test failures caused by regexp-sensitive characters in the build paths
| * \ Merge branch 'master' into escape-regex-specials-in-pathRolf Eike Beer2013-06-031-6/+71
| |\ \ | | |/ | | | | | | | | | Resolve conflicts in Tests/CTestTestMemcheck/CMakeLists.txt by combining changes from both sides.
| * | Fix test failures caused by regexp-sensitive characters in the build pathsModestas Vainius2013-06-031-4/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Checkout [1] as an example of the test failures. In that particular cases, the failures is caused by the plus sign in the path being pass unescaped (buildd-cmake_2.8.9-1~bpo60+1-armel-3Lvkef) to the regexp. In addition to failures in the log, the following new tests also fail in 2.8.11: 243 - CTestTestMemcheckUnknown (Failed) 244 - CTestTestMemcheckUnknownQuoted (Failed) 248 - CTestTestMemcheckDummyValgrindFailPre (Failed) 249 - CTestTestMemcheckDummyValgrindFailPost (Failed) 250 - CTestTestMemcheckDummyPurify (Failed) 251 - CTestTestMemcheckDummyBC (Failed) 253 - CMake.List (Failed) [1] https://buildd.debian.org/status/fetch.php?pkg=cmake&arch=armel&ver=2.8.9-1~bpo60%2B1&stamp=1369243896
* | | Merge topic 'target-COMPILE_OPTIONS'Brad King2013-06-031-0/+2
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 24466f2 Add target_compile_options command. 80ca9c4 Add COMPILE_OPTIONS target property. 7cb2308 cmTarget: Rename LinkInterfaceIncludeDirectoriesEntries 47f80d9 cmTarget: Rename struct to be more re-usable. 1319a14 Add <LANG>_COMPILER_ID generator expressions. 3549676 Add cmLocalGenerator::GetCompileOptions. f3ad863 VS6: Rename some variables to correspond to config values.
| * | | Add target_compile_options command.Stephen Kelly2013-06-021-0/+1
| | | | | | | | | | | | | | | | This command populates the COMPILE_OPTIONS target property.
| * | | Add COMPILE_OPTIONS target property.Stephen Kelly2013-06-021-0/+1
| | |/ | |/| | | | | | | | | | | | | This method reads generator expressions from the COMPILE_OPTIONS target property, as well as INTERFACE_COMPILE_OPTIONS from linked dependents.
* | | Merge topic 'qt4-qt5-CMAKE_AUTOMOC'Brad King2013-06-031-0/+14
|\ \ \ | | | | | | | | | | | | | | | | | | | | fa55751 QtAutomoc: Get the Qt version through the target link interface f776316 Use the qt5::moc imported target instead of a variable.
| * | | QtAutomoc: Get the Qt version through the target link interfaceStephen Kelly2013-05-271-0/+14
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | In Qt 5.1, Qt5::Core has a INTERFACE_QT_MAJOR_VERSION property of '5', and since CMake 2.8.11, Qt4::QtCore has an INTERFACE_QT_MAJOR_VERSION of '4'. This was introduced in commit 4aa10cd6 (FindQt4: Set the INTERFACE_QT_MAJOR_VERSION for Qt4::QtCore, 2013-03-16), to produce an error if Qt 4 and Qt 5 are erroneously used by the same target. This can also be used however to determine the Qt major version, and therefore the particular moc executable to use during automoc steps. This means that targets in a single buildsystem can use a selection of Qt 4 and Qt 5, and still take advantage of the CMAKE_AUTOMOC feature without conflicting.
* | | Merge topic 'rpath-on-mac'Brad King2013-06-031-0/+10
|\ \ \ | |/ / |/| | | | | | | | | | | | | | | | | dc1d025 OS X: Add test for rpaths on Mac. 8576b3f OS X: Add support for @rpath in export files. 00d71bd Xcode: Add rpath support in Xcode generator. 94e7fef OS X: Add RPATH support for Mac.
| * | OS X: Add test for rpaths on Mac.Clinton Stimpson2013-06-031-0/+10
| |/ | | | | | | This also tests rpaths through export/import.
* | Merge topic 'vs-windows-forms'Brad King2013-05-211-0/+5
|\ \ | | | | | | | | | | | | 79ec786 VS: Add Windows Forms Support
| * | VS: Add Windows Forms SupportJohn Farrier2013-05-161-0/+5
| |/ | | | | | | | | | | | | Add support to maintain designer functionality for Visual Studio C++ Windows Forms projects. Also add a test project showing how to use the CMakeLists.txt file and, when successfully configured, will allow use of the designer for the included form.
* | Merge topic 'Automoc-Qt4-Qt5'Brad King2013-05-211-6/+20
|\ \ | | | | | | | | | | | | | | | | | | 6489015 Remove an endif() followed by an if() for the same condition. e7813b1 Add a test for Qt5Automoc 27fb96b Make the QtAutomoc test compile with either Qt 4 or Qt 5
| * | Remove an endif() followed by an if() for the same condition.Stephen Kelly2013-03-161-2/+1
| | |
| * | Add a test for Qt5AutomocStephen Kelly2013-03-161-5/+20
| |/ | | | | | | The same source is used as for the Qt4Automoc test.
* | Merge topic 'msbuild-targets-in-subdirs'Brad King2013-05-161-0/+37
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | ac9a5f4 ctest_build: Pass projectDir to GenerateBuildCommand a6c0299 CTest: Simplify ctest_* command source/build dir lookup 1ca9318 VS: Add test for building MSBuild project in subdir 3cd4000 VS: Use .sln parser to build targets in subdirs with msbuild (#13623) df035e4 VS: Create parser for Visual Studio .sln files de8be9e Add projectDir parameter to GenerateBuildCommand
| * | ctest_build: Pass projectDir to GenerateBuildCommandPetr Kmoch2013-04-121-0/+14
| | | | | | | | | | | | | | | | | | This allows the ctest_build command's TARGET option to name a target in a subdirectory and still build properly with msbuild. Add test case covering use of ctest_build() with such a TARGET.
| * | VS: Add test for building MSBuild project in subdirPetr Kmoch2013-04-121-0/+23
| |/ | | | | | | | | | | Add test covering cmGlobalGenerator::GenerateBuildCommand for VS solutions with MSBuild and building a target defined in a subdirectory and not part of ALL.
* | CTest: Add test for running many tests in parallelPaul Kunysch2013-03-221-0/+9
|/ | | | | | | In particular, this checks that CTest's use of select() has a sufficient file descriptor set size limit (FD_SETSIZE) to handle many child processes at the same time. Running 20 tests requires more than 64 descriptors, the Cygwin default that we override.
* Configure Tests/CMakeTests only with BUILD_TESTING ONBrad King2013-03-131-2/+2
| | | | | | | | | Since commit e03f83f3 (ProcessorCount test: fix path to cmsysTestsCxx executable, 2013-01-24) the directory references a target that is not built when BUILD_TESTING is OFF. It makes no sense to add tests without BUILD_TESTING anyway. While at it, use add_subdirectory instead of subdirs to add CMakeTests.
* Merge topic 'fix-automoc-no-qt'Brad King2013-03-131-0/+10
|\ | | | | | | | | | | a223a3b Automoc: Don't create automoc targets if Qt is not used (#13999) 65b5c1e Merge branch 'property-link-depends-no-crash' into fix-automoc-no-qt
| * Automoc: Don't create automoc targets if Qt is not used (#13999)Stephen Kelly2013-03-121-0/+10
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Commit 79568f95 (automoc: Add source file to target early to set the linker language, 2013-02-20) changed automoc initialization to a two step process. In the first step, the generated source file was added to the target, which allows the link language to be determined. However, this bypassed the check for the availability of Qt itself. At build-time the automoc file could not be generated because the moc tool was not available to create it. The solution is to only add the automoc file to the target if Qt is found.
* | GetPrerequisites: Enable test for BundleUtilities on MinGWMichael Tänzer2013-03-011-0/+1
| | | | | | | | Signed-off-by: Michael Tänzer <neo@nhng.de>
* | ExternalData: Test content link with a space in its nameBrad King2013-02-221-0/+1
| | | | | | | | | | | | Extend the Module.ExternalData test to cover a DATA{} reference whose name contains a space. Skip the case when the native build tool does not support spaces.
* | Tests: Generalize decision for 'make' tool supporting spacesBrad King2013-02-221-16/+22
| | | | | | | | | | | | Some make tools do not support spaces inside the source tree paths. Decide early whether to add tests that depend on support for spaces so we can use the result in a decision for any test.
* | Tests: Replace exec_program with execute_processBrad King2013-02-221-6/+5
|/ | | | | Drop use of the old exec_program command from CMake's own CMakeLists.txt files.
* Tests: Add generator toolset supportBrad King2013-02-071-0/+9
| | | | | Propagate CMAKE_GENERATOR_TOOLSET through the test hierarchy so that all tests can build with the selected generator toolset, if any.
* Tests: Consolidate ctest --build-and-test generator optionsBrad King2013-02-071-146/+78
| | | | | | | | | | | All ctest --build-and-test invocations require the options --build-generator ${CMAKE_GENERATOR} --build-makeprogram ${CMAKE_TEST_MAKEPROGRAM} to be passed and have consistent values, except for a few special cases. Collect the generator options in a variable instead of repeating the options everywhere explicitly.
* Merge topic 'add-ExternalData-module'Brad King2013-02-051-0/+13
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 5484c60 Merge branch 'vs6-rule-files' into add-ExternalData-module 1fd8d01 ExternalData: Attach download rules to content links in IDEs a6d3ffc Fix Module.ExternalData test on VS 6 aed590a Fix Module.ExternalData test on Cygwin 06e8ded Merge branch 'fix-atomic-rename-on-Windows' into add-ExternalData-module e2e0d2e ExternalData: Collapse ../ components in DATA{} paths ee2abfd ExternalData: Add support for SHA 1 and 2 hash algorithms aa8b228 ExternalData: Generalize hash algo/ext handling 9e518a8 ExternalData: Allow DATA{} syntax to reference directories 175ed02 ExternalData: Allow ()-groups in series match regex 4befecc ExternalData: Add tests covering interfaces and errors bcd2580 ExternalData: Improve series matching using an explicit syntax c0cebcb ExternalData: Remove unused private interface 5275993 ExternalData: Cleanup stray TODO and typo in comments 7bb8344 ExternalData: Do not match directory names when resolving DATA{} 00d801f ExternalData: Remove compatibility with CMake < 2.8.5 ...
| * Fix Module.ExternalData test on VS 6Brad King2013-02-041-0/+1
| | | | | | | | | | | | | | | | Run the test with the ctest --build-noclean option. The test CMakeLists.txt file already uses file(REMOVE_RECURSE) to clean out downloaded data anyway. Some file removed by "msdev ... /clean" causes CMake to re-run in the middle of the build step and file(REMOVE_RECURSE) wipes out already-generated files.
| * ExternalData: Add tests covering interfaces and errorsBrad King2013-01-301-0/+12
| | | | | | | | | | | | | | | | Add a Module.ExternalData test to verify data retrieval and test argument DATA{} references. Add a RunCMake.ExternalData test to verify error handling and automatic transformation of a raw data to a content link and staged object.
* | Tests: Avoid CTestLimitDashJ crash on Borland 5.8 buildsBrad King2013-01-311-0/+1
|/ | | | | | | | | | | | The test added by commit e378ba5f (Add CTestLimitDashJ test, 2012-12-26) crashes with CTest compiled by Borland 5.8. There seems to be interaction among the large number of internal ctest runs. It is probably related to the undiscovered underlying issue mentioned in commit 32478069 (CTest: Prevent creation of unbounded number of tests in ctest, 2012-12-18) when fixing the symptom covered by the CTestLimitDashJ test. Add --force-new-ctest-process to avoid the crash. Further investigation will still be needed to identify the true problem.
* Make INTERFACE determined properties readable in generator expressions.Stephen Kelly2013-01-201-0/+1
| | | | | The properties are evaluated as link-dependent interface properties when evaluating the generator expressions.
* Add the target_compile_definitions command.Stephen Kelly2013-01-101-0/+1
| | | | This is a convenience API to populate the corresponding properties.
* Add the target_include_directories command.Stephen Kelly2013-01-101-0/+1
| | | | This is a convenience API to populate the corresponding properties.
* Merge topic 'qt4-target-depends'Brad King2013-01-071-0/+15
|\ | | | | | | | | 57a67bf Qt4: Add module dependencies to the IMPORTED targets
| * Qt4: Add module dependencies to the IMPORTED targetsStephen Kelly2013-01-071-0/+15
| | | | | | | | | | | | | | | | | | | | | | | | | | | | This means for example, that consumers can use: target_link_libraries(foo ${QT_QTGUI_LIBRARIES}) instead of also needing to specify all 'public' dependencies: target_link_libraries(foo ${QT_QTGUI_LIBRARIES} ${QT_QTCORE_LIBRARIES} ) when using the IMPORTED targets. Also populate the IMPORTED_LINK_DEPENDENT_LIBRARIES property so CMake can help the linker find shared library dependencies.
* | Add CTestLimitDashJ test (#12904)David Cole2013-01-031-0/+3
|/ | | | | | | | | | | | | | | | | | | Add a test that verifies that when ctest -j 4 is called, at most, 4 tests are executed at any one time. The test works by running the same script as each of 100 tests. And then setting up test properties for DEPENDS, RUN_SERIAL, PROCESSORS and COST in order to get the tests to run in a semi-deterministic ordering, even in parallel. The script writes a file, sleeps for a bit, and then deletes the file. In the meantime, it counts files that currently exist, and emits output that triggers a test failure if the count of files is ever greater than 4. Prior to the commit that fixed bug #12904, this would result in a failed test because the output of some of the tests would indicate that more than 4 tests were running simultaneously. Now that this issue is resolved, this test will help guarantee that it stays resolved moving forward.
* Merge topic 'fix-11575-add-wix-support-to-cpack'David Cole2012-12-051-0/+23
|\ | | | | | | | | | | | | | | a74bd47 CPack: Fix dashboard errors and warnings (#11575) ad0f735 CPack: Fix dashboard warnings (#11575) 0729ad4 CPack: Fix dashboard errors (#11575) 85baac1 CPack: Add a WiX Generator (#11575)
| * CPack: Add a WiX Generator (#11575)Nils Gladitz2012-12-031-0/+23
| | | | | | | | | | | | | | | | | | | | This new CPack generator produces an *.msi installer file. Requires having the WiX Toolset installed in order to work properly. Download the WiX Toolset installer "WiX36.exe" here: http://wix.codeplex.com/releases/view/93929
* | Tests: Use the right path to CPack value for running CPack testsDavid Cole2012-11-291-3/+0
|/ | | | | | | | | These tests were not running properly on Visual Studio or Xcode dashboards before this commit because of the "Debug" or "Release" sub-directory. The scripts already have CMAKE_CPACK_COMMAND since the correct CMake executable is used to run the scripts, so just use that, rather than passing down an incorrect path to the CPack executable.
* NMake: Add a test to demonstrate EmptyDepends issue (#13392)David Cole2012-11-211-0/+2
|