summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* cmTarget: Allow transitive evaluation of SOURCES property.Stephen Kelly2014-04-021-0/+1
| | | | | | | Extend the cmGeneratorExpressionDAGChecker with an interface returning the name of the top target. Use that to determine when there is a DAG violation, as required by the RunCMake.Languages tests.
* cmTarget: Make the source files depend on the config.Stephen Kelly2014-04-021-0/+4
| | | | | | | | | | | | | | | | | Disallow the use of config-specific source files with the Visual Studio and Xcode generators. They don't have any way to represent the condition currently. Use the same common-config API in cmQtAutoGenerators. While it accepts config-specific files, it doesn't have to support multiple configurations yet. Loop over the configs in cmTargetTraceDependencies and cmGlobalGenerator::WriteSummary and consume all source files. Loop over the configs in cmComputeTargetDepends and compute the object library dependencies for each config.
* Merge topic 'dev/string-apis'Brad King2014-03-091-0/+2
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b633b263 CPackWiX: Fix test to build with expected config 191f25e2 stringapi: Prevent a NULL dereference in WiX 219d6ad6 speedup: Avoid excess iterator dereferences caaad357 speedup: Cache strings for comparisons 7abf4e31 stringapi: Use strings for dependency information 94fc63e2 stringapi: Use strings for cache iterator values 85fc9f26 stringapi: Command names 6557382d stringapi: Use strings for program paths 1a1b737c stringapi: Use strings for generator names 24b5e93d stringapi: Use strings for directories 11ed3e2c stringapi: Add string overload for the Def struct b3bf31a5 stringapi: Miscellaneous char* parameters 5af95c39 typo: Match argument name with the header 2b17626e stringapi: Pass strings as install directories in CPack 3def29da stringapi: Use strings for feature arguments acb116e3 stringapi: Return a string reference for the configuration ...
| * CPackWiX: Fix test to build with expected configBrad King2014-03-081-0/+2
| |
* | Utilities/Release: Fix nightly build uploadBrad King2014-03-061-1/+1
|/ | | | | | | | | | Since commit 71b14dcb (Utilities/Release: Do not upload doc staging tarball, 2014-02-26) the prefix upload_release.cmake computes does not match any files when used with -DVERSION=master as has been done for the nightly binary builds. Since the version is not actually 'master' anyway, change the nightly binary upload logic to explicitly pass the destination directory. Do not pass any VERSION so the default is taken and matches the binaries.
* Tests: Optionally configure tests exclusively, with an external CMakeBrad King2014-03-031-16/+28
| | | | | | | | | | | Add an undocumented CMake_TEST_EXTERNAL_CMAKE option to name an external CMake 'bin' directory. Skip all main CMake binary builds and instead configure the Tests directory to run using the external CMake provided. This will provide a means to exercise the CMake test suite generating for target platforms and compilers with which the CMake source does not build. That will allow us to raise the level of C++ features required of a compiler to build our source while retaining tests for generating projects with older compiler tools.
* Tests: Drop CMAKE_TEST_GENERATOR(|_TOOLSET) variablesBrad King2014-03-031-42/+42
| | | | s/CMAKE_TEST_GENERATOR/CMAKE_GENERATOR/g
* Tests: Drop CMAKE_TEST_MAKEPROGRAM variableBrad King2014-03-031-6/+5
| | | | | Remaining uses of the variable simply test its value so use CMAKE_MAKE_PROGRAM directly instead.
* Tests: Rename CMAKE_TEST_MAKEPROGRAM uses for explicit make programBrad King2014-03-031-11/+12
| | | | | Rename uses of the variable for specifying the make program used to build test projects to CMake_TEST_EXPLICIT_MAKE_PROGRAM.
* Tests: Rename CMAKE_TEST_MAKEPROGRAM uses for nested test projectsBrad King2014-03-031-3/+3
| | | | | | | In the ExportImport, Fortran, and MacRuntimePath tests the CMAKE_TEST_MAKEPROGRAM variable is used to pass an explicit request for a CMAKE_MAKE_PROGRAM value to be used when building the inner projects. Rename these use cases to CMake_TEST_NESTED_MAKE_PROGRAM.
* Tests: Rename CMAKE_TEST_DEVENV -> CMake_TEST_DEVENVBrad King2014-03-031-7/+8
| | | | | | Follow the convention of naming variables related to the CMake build itself as "CMake_" rather than "CMAKE_". While at it, consolidate the code computing CMake_TEST_DEVENV to be more localized.
* Tests: Drop CMAKE_TEST_MSVC and test MSVC directlyBrad King2014-03-031-2/+2
| | | | | Now that we no longer support running tests using a different generator we can trust the MSVC platform indicator directly.
* Tests: Drop CMAKE_TEST_GENERATOR and CMAKE_TEST_MAKEPROGRAM optionsBrad King2014-03-031-10/+8
| | | | | | | | | | | Drop the option to test with a different generator and make program than was used to build. This was used only to test support for the Open Watcom compiler which at one time could not build CMake. Instead we will allow CMake to be configured to skip building binaries and just run the test suite using an external CMake (in a future change). For now leave the two option variables hard-coded to the old option defaults until code can be updated to stop using them.
* Tests: Drop kwsys testBrad King2014-03-031-13/+0
| | | | | | KWSys now has its own dashboard and test clients that run on all the machines where we test CMake. We no longer need a test inside CMake to test KWSys independently.
* Add test for find_dependency macro.Stephen Kelly2014-02-261-0/+1
|
* Remove the Example from the source.Stephen Kelly2014-02-091-12/+0
| | | | | It is not showing modern practice, and is obsolete as documentation after the rst documentation system and new content.
* 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