summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
...
| * | tests: update unused variable test expected outputBen Boeckel2014-06-051-2/+2
| |/ | | | | | | | | The expected output is now a relative path, not a full path. Update the pass/fail detection accordingly.
* | CTest: Fix combined inclusive/exclusive label regular expressionsNils Gladitz2014-06-061-0/+11
|/
* CTest: Generalize Cobertura coverage format handlingJoseph Snyder2014-06-041-0/+18
| | | | | | | | | Add support for Cobertura coverage files written by Java. Add a test which uses the report from a Java run of Cobertura to calculate coverage. In the documentation of CTEST_COVERAGE_COMMAND, give a sample .sh file to merge the Cobertura .ser files and generate the XML report from the merged file.
* Tests: Try to make CTestTestTimeout more robustBrad King2014-05-231-1/+1
| | | | | | | | Write to the timeout test log file before sleeping and flush to be sure it is created. Move the check that the after-sleep line is not written out to the ctest script. Rename the CheckChild test to TestSleep since it no longer checks. Do not try to read the log file if it does not exist.
* Merge topic 'fix_mumps_coverage'Brad King2014-05-161-2/+4
|\ | | | | | | | | 9ad07fbe CTest: Fix MUMPS coverage parsing and test
| * CTest: Fix MUMPS coverage parsing and testJoseph Snyder2014-05-161-2/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix the MUMPS coverage parser: * Account for tabs after entry points * Stop double incrementing lines that have explicit calls to the 0 line * If a line has been previously marked as non executable, but then contains a count, increment it an extra one to push it back into the executable code set. Add a custom routine and corresponding coverage files in the test case. This file is smaller and has cmcov/mcov files that have data for only that routine.
* | Add the WriteCompilerDetectionHeader module.Stephen Kelly2014-05-141-0/+2
| | | | | | | | | | | | | | | | Provide a function to write a portable header to detect compiler features. Generate a preprocessor #error for unknown compilers and compiler versions whose features are not yet recorded. This error condition might be relaxed in the future, but for now it is useful for verification of expectations.
* | Merge topic 'ctest-bad-generator'Brad King2014-05-081-0/+12
|\ \ | |/ |/| | | | | 54111286 ctest_build: Do not crash on bad generator name
| * ctest_build: Do not crash on bad generator nameBrad King2014-05-071-0/+12
| | | | | | | | | | | | | | | | | | | | If creation of the global generator fails, return early with an error message instead of trying to use the generator and crashing. Add a CTestTestBadGenerator test to cover this case. Reported-by: Mathieu Malaterre <malat@debian.org> Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=747306
* | Tests: Execute compile features tests unconditionally.Stephen Kelly2014-04-171-5/+3
| | | | | | | | Conditionally create a dummy test if there are no known features.
* | Merge topic 'target_compile_features'Brad King2014-04-151-0/+18
|\ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 9eaf3755 Export: Populate INTERFACE_COMPILE_FEATURES property. 8ed59fc2 Add target_compile_features command. 4e6ca504 cmTargetPropCommandBase: Change the interface to return bool. 5412dede cmTarget: Transitively evaluate compiler features. baff4434 cmTarget: Allow populating COMPILE_FEATURES using generator expressions. f97bf437 Features: Add cxx_auto_type. 03355d6b cmTarget: Add COMPILE_FEATURES target property. faeddf64 project: Add infrastructure for recording CXX compiler features 913394af cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties. 8238a6cd Add some COMPILE_OPTIONS for specifying C++ dialect. 892243fc Tests: Require CMake 3.0 for the SystemInformation test. 59b5fdd3 Don't load Clang-CXX from AppleClang-CXX.
| * | Add target_compile_features command.Stephen Kelly2014-04-071-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can be used to set the compiler features required by particular targets. An error is issued at CMake time if the compiler does not support the required feature. If a language dialect flag is required by the features used, that will be added automatically. Base the target_compile_features command on cmTargetPropCommandBase. This gives us 'free' handling of IMPORTED, ALIAS, INTERFACE, non-compilable and missing targets.
| * | Features: Add cxx_auto_type.Stephen Kelly2014-04-071-0/+4
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Record the availability of this feature for GNU 4.8 on (UNIX AND NOT APPLE) only. In the future, availability can be recorded for earlier GNU, for other platforms and for other compilers. Initially the affected configurations are as restricted as possible to allow for easy testing while extending the features vector in only one dimension. The error message when using the set_property API directly is not very good, but follow up commits will provide origin debugging of the property and a target_compile_features command which will provide a configure-time backtrace when possible.
| * | cmTarget: Add CXX_STANDARD and CXX_EXTENSION target properties.Stephen Kelly2014-04-071-0/+13
| | | | | | | | | | | | | | | These are used to determine whether to add -std=c++11, -std=gnu++11 etc flags on the compile line.
* | | Remove .* expressions from beginning and end of MATCHES regexsRolf Eike Beer2014-04-141-2/+2
|/ / | | | | | | | | | | | | | | | | All these expressions work the same: "foo" ".*foo.*" "^.*foo.*$" This assumes that the "Intel*" expressions were meant to be "Intel.*".
* | Tests: Fix CTestTestFailedSubmit-ftp with OS X system libcurlAlex Ciobanu2014-04-031-0/+1
| | | | | | | | | | | | | | | | | | On OS X 10.9 the system libcurl has a different error message when failing to connect: Failed connect to :21; Connection refused Match this message to pass the test.
* | 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.