summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'fix-Qt-autogen'Brad King2014-02-041-0/+12
|\ | | | | | | | | | | 6053ce22 QtAutogen: Make uic work even when the source is in a subdir. 1fc9ecfa FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.
| * FindQt4: Make AUTOMOC work regardless which order Qt 4/5 is found.Stephen Kelly2014-01-291-0/+12
| | | | | | | | | | | | | | | | | | Commit 321e348e (QtAutogen: Use Qt 4 IMPORTED targets to find executable locations., 2014-01-24) attempted to fix this problem, but only solved it for a particular ordering of find_package for Qt 4 and Qt 5. Add a test to ensure that it works with both orderings.
* | VisibilityInlinesHidden: only apply -fvisibility-inlines-hidden to C++ sourcesNils Gladitz2014-02-011-0/+23
|/
* allow to mark a test as "Not Run" with a specific return code (#8466)Rolf Eike Beer2014-01-141-0/+12
|
* Merge topic 'optional-install'Brad King2014-01-091-0/+13
|\ | | | | | | | | be0458c InstallRules: added new variable to disable generation of install rules
| * InstallRules: added new variable to disable generation of install rulesNils Gladitz2014-01-081-0/+13
| | | | | | | | | | | | The boolean variable CMAKE_SKIP_INSTALL_RULES allows disabling generation of install rules for projects which don't want them.
* | Run the add_compile_options command unit test.Stephen Kelly2014-01-041-0/+1
| | | | | | | | | | This has not been executed since it was added in commit a984f325 (Introduce add_compile_options command., 2013-06-04).
* | CTest: fix regressions introduced by the ctest-fix-run-serial topicNils Gladitz2013-12-231-0/+9
|/ | | | | | The first regression resulted in endless looping due to unrun test dependencies. The second regression prioritized all tests with dependencies in serial test runs.
* Remove INTERFACE build targets.Stephen Kelly2013-12-101-18/+0
| | | | | | | | | | | | | | | Commit b04f3b9a (Create make rules for INTERFACE_LIBRARY targets., 2013-08-21) extended the makefile generator to create build targets for INTERFACE_LIBRARY targets. No other generators were extended with this feature. This conflicts with the feature of whitelisting of target properties read from INTERFACE_LIBRARY targets. The INTERFACE_* properties of the INTERFACE_LIBRARY may legitimately contain TARGET_PROPERTY generator expressions for reading properties from the 'head target'. The 'head target' would be the INTERFACE_LIBRARY itself when creating the build rules for it, which means that non-whitelisted properties would be read.
* QtAutoUic: Add INTERFACE_AUTOUIC_OPTIONS target property.Stephen Kelly2013-11-271-0/+30
| | | | | | | | | | | | | | | | | | | | Transitively consume the property from linked dependents. Implement configuration-specific support by following the pattern set out for compile definitions and includes in cmQtAutoGenerators. Implement support for origin-tracking with CMAKE_DEBUG_TARGET_PROPERTIES. This is motivated by the needs of KDE, which provides a separate translation system based on gettext instead of the Qt linguist translation system. The Qt uic tool provides command line options for configuring the method used to translate text, and to add an include directive to the generated file to provide the method. http://thread.gmane.org/gmane.comp.kde.devel.frameworks/7930/focus=7992 Implement the interface to provide the uic options as a usage-requirement on the KI18n target, as designed for KDE.
* Introduce CMAKE_STAGING_PREFIX variable.Stephen Kelly2013-11-211-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | This variable can be useful in cross-compiling contexts where the sysroot is read-only or where the sysroot should otherwise remain pristine. If the new CMAKE_STAGING_PREFIX variable is set, it is used instead of CMAKE_INSTALL_PREFIX when generating the installation rules in cmake_install.cmake. This way, the CMAKE_INSTALL_PREFIX variable always refers to the installation prefix on the target device, regardless of whether host==target. If any -rpath paths passed to the linker contain the CMAKE_STAGING_PREFIX, the matching path fragments are replaced with the CMAKE_INSTALL_PREFIX. Matching paths in the -rpath-link are not transformed. The cross-prefix usr-move workaround is assumed not to require extension regarding CMAKE_STAGING_PREFIX. The staging area is a single prefix, so there is no scope for cross-prefix symlinks. The CMAKE_INSTALL_PREFIX is still used to determine the workaround path, and that variable remains the relevant one even if CMAKE_STAGING_PREFIX is used. If the generated export files are deployed to the target, the workaround will still be in place, and still be employed if required.
* Tests: Do not use an explicit make program for VS generatorsBrad King2013-11-181-1/+5
| | | | | Do not pass the CMAKE_MAKE_PROGRAM cache entry to tests when using the VS generators. Allow them to pick the correct build tool automatically.
* Tests: Fix MFC test heuristic for empty CMAKE_TEST_MAKEPROGRAMBrad King2013-11-181-1/+1
| | | | Also disable the MFC test if CMAKE_MAKE_PROGRAM is vcexpress.
* Tests: Pass CMAKE_MAKE_PROGRAM instead of --build-makeprogramBrad King2013-11-181-4/+6
| | | | | | | | | | Pass the CMAKE_TEST_MAKEPROGRAM, if any, to each test at CMake time in the CMAKE_MAKE_PROGRAM cache entry. Pass the CMAKE_TEST_MAKEPROGRAM into the ExportImport, Fortran, and MacRuntimePath tests so that they may do the same for the nested project configurations. Now "ctest --build-and-test" can get the make program from the test build tree cache, so drop the explicit --build-makeprogram.
* Tests: Configure SubProject-Stage2 test more robustlyBrad King2013-11-181-13/+12
| | | | | | | | | | | Fix the condition that adds the test to check CMAKE_TEST_GENERATOR rather than the tools used to build CMake. Drop the test on Ninja because the generator does not support subproject generation anyway. Stop using the general build_generator_args and pass the --build-generator options explicitly. Also pass --build-makeprogram explicitly when CMAKE_TEST_MAKEPROGRAM is available because there is no CMakeCache.txt in the test project subdirectory from which to pick up the make program.
* Tests: Simplify VSExcludeFromDefaultBuild configurationBrad King2013-11-181-2/+9
| | | | | | | | | | | Create a CTEST_TEST_DEVENV variable that is set to the CMAKE_MAKE_PROGRAM used for Visual Studio 7, 8, and 9. It will always be either "devenv" or "VCExpress", and not "MSBuild". Add the VSExcludeFromDefaultBuild test only when this variable is set, and use its value as the --build-makeprogram value. More work will be needed later to restore the test on VS 10 and above when devenv is available, but this is the simplest approach for now.
* Tests: Simplify VSProjectInSubdir configurationBrad King2013-11-181-25/+11
| | | | | | | | The test is only enabled on VS 10 and above, where the generators now select for "ctest --build-and-test" the MSBuild tool by default. Simplify the test configuration by dropping the --build-makeprogram option and all the logic needed to compute its value. The test will automatically use MSBuild.
* Tests: Simplify CTest.BuildCommand.ProjectInSubdir configurationBrad King2013-11-181-6/+7
| | | | | Collect all ctest_configure options in a list to configure it into the test script. Drop the unused -DCMAKE_MAKE_PROGRAM argument to ctest.
* Tests: Pass --build-options to every testBrad King2013-11-181-27/+98
| | | | | Create a "build_options" variable whose value is passed to every "ctest --build-and-test" call through the --build-options argument.
* Tests: Split <test>_EXTRA_OPTIONS into <test>_(CTEST|BUILD)_OPTIONSBrad King2013-11-181-10/+12
| | | | | | Some extra options are for "ctest --build-and-test" directly, and others are values for "--build-options". Split these two roles out into two separate variables and update existing uses.
* Tests: Simplify ExternalProjectUpdate test argumentsBrad King2013-11-181-1/+0
| | | | | Drop the -DCMAKE_TEST_MAKEPROGRAM argument because the value is not used inside the test script.
* Tests: Fix make capability selection for empty CMAKE_TEST_MAKEPROGRAMBrad King2013-11-181-3/+3
|
* Tests: Launch BootstrapTest through cmake instead of ctestBrad King2013-11-181-10/+6
| | | | | | Run the bootstrap script through "cmake -P" instead of "ctest --build-and-test" so that we do not need to abuse the --build-makeprogram option of the latter.
* Tests: Move CMAKE_TEST_MAKEPROGRAM into Tests/CMakeLists.txtBrad King2013-11-181-0/+4
| | | | | Also drop the temporary MAKEPROGRAM variable and the DART_ROOT special case. We never run dashboard clients with Dart anymore.
* Tests: Drop remnants of unused ShellInstall testBrad King2013-11-181-13/+0
| | | | The ShellInstall test has long been replaced by the CMake.Install test.
* Merge topic 'configure_file-drop-IMMEDIATE'Brad King2013-11-141-1/+1
|\ | | | | | | | | 15610bb Drop use of configure_file IMMEDIATE option
| * Drop use of configure_file IMMEDIATE optionDaniele E. Domenichelli2013-11-131-1/+1
| | | | | | | | | | | | Since commit 7d47c693 (Drop compatibility with CMake < 2.4, 2013-10-08) we no longer need to use the configure_file IMMEDIATE option to support compatibility modes less than 2.0.
* | Copyright.txt: Add test to check year rangeBrad King2013-11-121-0/+3
|/ | | | | | Add a CMake.Copyright test that, when the CMake version number knows the year (as it does in development versions), checks that Copyright.txt has been updated with the current version year.
* Tests: added test for ctest_empty_binary_directory()Nils Gladitz2013-11-011-0/+11
|
* Tests: Add test for CTEST_USE_LAUNCHERS capture of custom commandsNils Gladitz2013-10-311-0/+11
| | | | | This new test detects if custom command failures are detected with launchers.
* Merge topic 'Qt-auto-generators'Brad King2013-10-281-14/+23
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9c87d9c Add automatic rcc invocation for Qt. 84218e1 Add automatic uic invocation for Qt. 94a0ca6 Record which files are skipped by automoc. 18fb758 Run the main executable created in the autogen tests. e485ba1 Rename the QtAutomoc tests to QtAutogen. 7ce65c3 Add extra checks for the AUTOMOC target property. 32771fc Update output messages for generic use. f371ab5 Rename RunAutomoc to RunAutogen. 85b3d6e Extract an SetupAutoMocTarget method. ca124a1 Rename the AutomocInfo.cmake file to be more generic. a342c9f Move some makefile definitions up away from moc-specific code. 98632ef Add the AUTOGEN_TARGETS_FOLDER and obsolete AUTOMOC_TARGETS_FOLDER. 63378ba Rename some variables to reflect broader scope. 97f1aa3 Rename method to reflect generic use. 4abb111 Rename local variable to reflect generic use. 03878c9 Move variable set to where it is used. ...
| * Run the main executable created in the autogen tests.Stephen Kelly2013-10-241-2/+11
| | | | | | | | | | | | | | | | | | | | Don't try to show the windows, which would require a gui capable test machine, and that's not guaranteed. Automatically link to qtmain.a on Windows to avoid a policy warning. Set policy CMP0020 to NEW by increasing the required version. Don't attempt to run the test when using Windows.
| * Rename the QtAutomoc tests to QtAutogen.Stephen Kelly2013-10-241-12/+12
| |
* | Merge topic 'ctest-fix-run-serial'Brad King2013-10-261-0/+3
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ff59365 CTest: fix dashboard issues associated with the ctest-fix-run-serial topic 7a665ae CTest: added test for RUN_SERIAL issue #14484 384beff CTest: added comments that describe the basic test sorting approach adbe00d CTest: removed redundant copy of test dependency set 1b750cb CTest: perform cycle test early 6d4d7ca CTest: consider previously failed tests before all others e809d8c CTest: prioritize tests by their depth in the dependency graph 44017a4 CTest: handle dependent and non dependent test requirements equally
| * | CTest: fix dashboard issues associated with the ctest-fix-run-serial topicNils Gladitz2013-10-251-1/+2
| | |
| * | CTest: added test for RUN_SERIAL issue #14484Nils Gladitz2013-10-211-0/+2
| | |
* | | ctest_update: Add support for Perforce p4 clientPedro Navarro2013-10-261-0/+20
| |/ |/| | | | | | | | | | | | | | | | | | | Teach the ctest_update implementation to use the p4 command-line client to perform updates and extract the list of changes. Add a CTest.UpdateP4 test like those that exist already for the other version control tools. Make the test available when p4 and the p4d server are found. During the test launch p4d in the background to serve a repository from the test directory. Then direct the client toward this server for the duration of the test.
* | Merge topic 'remove-cmake-i-wizard'Brad King2013-10-221-5/+4
|\ \ | | | | | | | | | | | | a8226e9 cmake: Drop support for "-i" wizard mode
| * | cmake: Drop support for "-i" wizard modeBrad King2013-10-181-5/+4
| |/ | | | | | | | | Tell users to pass cache values with the -D option on the command line or use cmake-gui or ccmake.
* | Create make rules for INTERFACE_LIBRARY targets.Stephen Kelly2013-10-211-0/+17
|/ | | | | | | | | | | | | | | | | | | | | | | | | | | | The result is that the depends of the target are created. So, add_library(somelib foo.cpp) add_library(anotherlib EXCLUDE_FROM_ALL foo.cpp) add_library(extra EXCLUDE_FROM_ALL foo.cpp) target_link_libraries(anotherlib extra) add_library(iface INTERFACE) target_link_libraries(iface INTERFACE anotherlib) Executing 'make iface' will result in the anotherlib and extra targets being made. Adding a regular executable to the INTERFACE of an INTERFACE_LIBRARY will not result in the executable being built with 'make iface' because of the logic in cmComputeTargetDepends::AddTargetDepend. So far, this is implemented only for the Makefile generator. Other generators will follow if this feature is possible for them. Make INTERFACE_LIBRARY targets part of the all target by default. Test this by building the all target and making the expected library EXCLUDE_FROM_ALL.
* Drop CMAKE_STRICT modeBrad King2013-10-151-3/+0
| | | | | | | With our modern development workflow it is less likely a property will be added to C++ code without documentation. This mode only existed to support the DocTest which had very limited coverage of the properties anyway.
* Require CMake 2.8.4 or greater to build CMakeStephen Kelly2013-10-151-27/+10
| | | | | | | | | | | | | | This allows the use of the $<TARGET_FILE:...> generator expression as a replacement for the use of the LOCATION target property. The use of the LOCATION target property is now deprecated for in-build targets. Also drop other checks for older CMake versions: * Simplify cmake_set_target_folder macro. * Use find_package(LibArchive) unconditionally. * Simplify condition for running testVisualStudioSlnParser test. * Convert two macros to functions. * Unconditionally run the CTestTestRerunFailed test.
* Merge topic 'FindGTK2-targets'Brad King2013-10-091-0/+5
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7efef02 FindGTK2: Add tests for components and targets in gtk and gtkmm modules 95fc47a FindGTK2: Make pangocairo and cairo optional dependencies 26f790f FindGTK2: Change extra includes -> optional 24e0272 FindGTK2: do not skip target creation if optional dependencies are not found d5f130c FindGTK2: Refactor _GTK2_ADJUST_LIB_VARS into _GTK2_ADD_TARGET fffbd72 FindGTK2: Do not add freetype includes if they are not found b69720d FindGTK2: Add libraries to the GTK2_LIBRARIES variable only when found 425ec40 FindGTK2: Do not link libfreetype e9f46df FindGTK2: Add config directories only if different from include ones 56a79e1 FindGTK2: Set INTERFACE_COMPILE_DEFINITIONS target property only if not empty 4b47586 FindGTK2: Add check to ensure that target exists 61242cc FindGTK2: Fix gmodule, glibmm, pangoft2, and pangoxft targets 4b876de FindGTK2: Link freetype libs to targets including freetype includes 67e761f FindGTK2: Small cleanup 682eea3 FindGTK2: Do not require the GTK_ prefix in all the internal functions 0bc3763 FindGTK2: Better handling of include directories ...
| * FindGTK2: Add tests for components and targets in gtk and gtkmm modulesDaniele E. Domenichelli2013-10-081-0/+5
| |
* | Merge topic 'INTERFACE_LIBRARY-target-type'Brad King2013-10-081-0/+1
|\ \ | | | | | | | | | | | | | | | | | | ce0c303 install: Teach EXPORT option to handle INTERFACE_LIBRARY targets 435c912 export: Add support for INTERFACE_LIBRARY targets fe73226 Add the INTERFACE_LIBRARY target type.
| * | Add the INTERFACE_LIBRARY target type.Stephen Kelly2013-10-071-0/+1
| |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This target type only contains INTERFACE_* properties, so it can be used as a structural node. The target-specific commands enforce that they may only be used with the INTERFACE keyword when used with INTERFACE_LIBRARY targets. The old-style target properties matching LINK_INTERFACE_LIBRARIES_<CONFIG> are always ignored for this target type. The name of the INTERFACE_LIBRARY must match a validity generator expression. The validity is similar to that of an ALIAS target, but with the additional restriction that it may not contain double colons. Double colons will carry the meaning of IMPORTED or ALIAS targets in CMake 2.8.13. An ALIAS target may be created for an INTERFACE library. At this point it can not be exported and does not appear in the buildsystem and project files are not created for them. That may be added as a feature in a later commit. The generators need some changes to handle the INTERFACE_LIBRARY targets returned by cmComputeLinkInterface::GetItems. The Ninja generator does not use that API, so it doesn't require changes related to that.
* | Merge topic 'Add-coverage.py-Coverage'Brad King2013-10-081-0/+19
|\ \ | | | | | | | | | | | | d0ec3a0 Adding support for the Python coverage.py tool.
| * | Adding support for the Python coverage.py tool.Patrick Reynolds2013-10-081-0/+19
| |/ | | | | | | | | | | This assumes that coverage.py has been run in such a way to produce its standard XML output. This uses the Cobertura schema and should be somewhat generalizable.
* | Merge topic 'ctest_rerun_failed'Brad King2013-10-081-0/+10
|\ \ | | | | | | | | | | | | eb2decc ctest: Add --rerun-failed option
| * | ctest: Add --rerun-failed optionZack Galbreath2013-10-081-0/+10
| |/ | | | | | | | | | | | | | | Add a new command line argument to ctest. This allows users to rerun tests that failed during the previous call to ctest. This is accomplished by analyzing the most recently modified file named "^LastTestsFailed*" in the Testing/Temporary subdirectory of the project's binary directory.