summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Merge topic 'expand_cobertura_coverage'Brad King2014-06-054-0/+190
|\ | | | | | | | | | | 50daf239 CTest: Generalize Cobertura coverage format handling a2822d30 CTest: Rename coverage implementation for "Python" to "Cobertura"
| * CTest: Generalize Cobertura coverage format handlingJoseph Snyder2014-06-044-0/+190
| | | | | | | | | | | | | | | | | | 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.
* | Merge topic 'fix-build-crash-on-bad-generator'Brad King2014-06-049-0/+14
|\ \ | |/ |/| | | | | 44e2923f cmake: Fix --build crash on bad CMAKE_GENERATOR in cache
| * cmake: Fix --build crash on bad CMAKE_GENERATOR in cacheBrad King2014-06-039-0/+14
| | | | | | | | | | | | | | | | | | | | If we fail to create the generator named by CMAKE_GENERATOR, exit with an error message instead of crashing. While at it, fix the wording of the error message when CMAKE_GENERATOR is not set. Extend the RunCMake.CommandLine test with cases covering the "cmake --build" option when the named directory does not provide a CMakeCache.txt with a valid CMAKE_GENERATOR.
| * CMP0022: Fix link language propagation in NEW behaviorBrad King2014-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The languages used in compiling STATIC libraries need to be propagated to dependents regardless of the settings of INTERFACE_LINK_LIBRARIES or CMP0022. They are independent of the libraries in the link interface. Prior to commit v2.8.12~192^2~2 (Introduce the INTERFACE_LINK_LIBRARIES property, 2013-06-04) the cmTarget::ComputeLinkInterface code path for "explicitLibraries" could never be taken for STATIC libraries, so the logic to propagate languages existed only in the non-explicitLibraries code path. After that commit, INTERFACE_LINK_LIBRARIES could be set for STATIC libraries to cause the "explicitLibraries" code path to be taken. The commit also left the old non-explicitLibraries code path conditional on CMP0022 not being set to NEW. Thus link language propagation was left missing from two cases by that commit. The explicitLibraries code path was fixed to propagate languages by commit v2.8.12~149^2~1 (cmTarget: Fix iface libraries and languages for static libraries, 2013-07-26). However, the non-explicitLibraries case was never taught to propagate languages when CMP0022 is set to NEW. Fix that now. Factor the logic to propagate link languages out of the link interface libraries conditions so that it always occurs. Update Tests/Fortran to set CMP0022 to NEW to test this case (because the test passes only if link language propagation works).
| * cmTarget: Evaluate CMP0026 in calling contextBrad King2014-05-093-0/+17
| | | | | | | | | | | | | | | | | | | | This policy should be checked at the call site that tries to access the LOCATION property, not the directory scope containing the target. Thread the caller context through cmTarget::GetProperty to use for checking the policy setting and emitting a diagnostic with proper backtrace. Extend the RunCMake.CMP0026 test with a cross-directory case.
* | Merge topic 'feature-extensions-by-default'Brad King2014-06-029-6/+20
|\ \ | | | | | | | | | | | | 60a981ea Features: Enable compiler extensions by default.
| * | Features: Enable compiler extensions by default.Stephen Kelly2014-05-319-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Compilers enable their extensions by default, and disabling them implicitly can lead to results which are surprising or non-obvious to debug. http://public.kitware.com/pipermail/cmake-developers/2014-May/010575.html http://thread.gmane.org/gmane.comp.programming.tools.cmake.devel/10214 https://www.mail-archive.com/cmake-developers@cmake.org/msg10116.html (Compiler feature extensions by default, 29 May 2014)
* | | Merge topic 'consistent-genex-target-message'Brad King2014-05-3019-0/+116
|\ \ \ | |/ / |/| | | | | | | | fb2fa476 Genex: Clarify error message on use with non-binary targets (#14899).
| * | Genex: Clarify error message on use with non-binary targets (#14899).Stephen Kelly2014-05-2919-0/+116
| | |
* | | Merge topic 'normalize-custom-command-paths'Brad King2014-05-291-0/+27
|\ \ \ | | | | | | | | | | | | | | | | c4af46b4 add_custom_command: Normalize OUTPUT and DEPENDS paths.
| * | | add_custom_command: Normalize OUTPUT and DEPENDS paths.Stephen Kelly2014-05-281-0/+27
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | While tracing dependencies of a target, cmTargetTraceDependencies follows sources by full path to determine if the source is to be produced by a custom command. Commit 4959f341 (cmSourceFileLocation: Collapse full path for directory comparisons., 2014-03-27) changed the storage of target sources to be in the form of a normalized path instead of an unnormalized path. The path is followed by looking it up in a mapping via cmMakefile::GetSourceFileWithOutput to acquire an appropriate cmSourceFile. The mapping is populated with the OUTPUT components of add_custom_command invocations, however it is populated with unnormalized paths. This means that the tracing logic does not find appropriate cmSourceFiles, and does not generate appropriate build rules for the generated sources. Normalize the paths in the OUTPUT components of add_custom_command to resolve this. The paths in the DEPENDS component of add_custom_command are also not normalized, leading to the same problem again. Normalize the depends paths after generator evaluation and expansion.
* | | Merge topic 'cxx14-features'Brad King2014-05-2913-1/+141
|\ \ \ | |/ / |/| | | | | | | | dd043c3f Features: Add support for C++14 features.
| * | Features: Add support for C++14 features.Stephen Kelly2014-05-2213-1/+141
| | | | | | | | | | | | Record the features implemented by GNU 4.9 and Clang 3.4.
* | | Merge topic 'cpack-properties'Brad King2014-05-2819-0/+94
|\ \ \ | | | | | | | | | | | | | | | | | | | | d0b1d2a6 CPackWiX: Implement CPACK_NEVER_OVERWRITE and CPACK_PERMANENT properties 15a8af21 Add an "installed file" property scope
| * | | Add an "installed file" property scopeNils Gladitz2014-05-2819-0/+94
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Teach set_property and get_property an "INSTALL" property type to be associated with install-tree file paths. Make the properties available to CPack for use during packaging. Add a "prop_inst" Sphinx domain object type for documentation of such properties.
* | | | Merge topic 'revise-CTestTestTimeout'Brad King2014-05-277-37/+40
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 9afcecaf Tests: Try to make CTestTestTimeout more robust
| * | | | Tests: Try to make CTestTestTimeout more robustBrad King2014-05-237-37/+40
| | |/ / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | | tests: test CMP0053 in WARN mode when watching variablesBen Boeckel2014-05-229-0/+37
|/ / / | | | | | | | | | | | | | | | | | | When CMP0053 is in WARN mode, variables get expanded twice, leaking the fact that the string was expanded twice and changing behavior. Instead, suppress variable watches when running the expansion to trigger the CMP0053 warning.
* | | Merge topic 'COMPILE_FEATURES-genex'Brad King2014-05-2215-0/+129
|\ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 0dfe395e Features: Add COMPILE_FEATURES generator expression. aa8a6fce cmMakefile: Add methods for checking availability of a feature. b6dedf03 cmMakefile: Extract CheckNeeded{C,Cxx}Language methods. 8dd129df cmMakefile: Extract CompileFeaturesAvailable method. 6b9b2fff cmMakefile: Extract CompileFeatureKnown method.
| * | | Features: Add COMPILE_FEATURES generator expression.Stephen Kelly2014-05-2115-0/+129
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow setting build properties based on the features available for a target. The availability of features is determined at generate-time by evaluating the link implementation. Ensure that the <LANG>_STANDARD determined while evaluating COMPILE_FEATURES in the link implementation is not lower than that provided by the INTERFACE of the link implementation. This is similar to handling of transitive properties such as POSITION_INDEPENDENT_CODE.
* | | | Merge topic 'clang-features'Brad King2014-05-211-2/+3
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | cda23319 Features: Record for Clang 3.4
| * | | | Features: Record for Clang 3.4Stephen Kelly2014-05-201-2/+3
| |/ / / | | | | | | | | | | | | Clang 3.4 supports all features currently known to CMake.
* | | | file: Report system error on failure to open fileBrad King2014-05-206-0/+15
|/ / /
* | | Merge topic 'test-BuildDepends-sleep'Brad King2014-05-202-8/+1
|\ \ \ | | | | | | | | | | | | | | | | e4114ee9 Tests/BuildDepends: Make 3-second delay more robust
| * | | Tests/BuildDepends: Make 3-second delay more robustBrad King2014-05-192-8/+1
| | | | | | | | | | | | | | | | | | | | Use "cmake -E sleep 3" instead of execute_process with a TIMEOUT of 3. This avoids using a busy loop or depending on a timeout to kill it.
* | | | Merge topic 'compile-features-C-language'Brad King2014-05-2033-17/+258
|\ \ \ \ | |/ / / |/| | | | | | | | | | | e0890d03 Features: Extend concept to C language.
| * | | Features: Extend concept to C language.Stephen Kelly2014-05-1433-17/+258
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add properties and variables corresponding to CXX equivalents. Add features for c_function_prototypes (C90), c_restrict (C99), c_variadic_macros (C99) and c_static_assert (C11). This feature set can be extended later. Add a <PREFIX>_RESTRICT symbol define to WriteCompilerDetectionHeader to conditionally represent the c_restrict feature.
* | | CMP0022: Fix link language propagation in NEW behaviorBrad King2014-05-191-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The languages used in compiling STATIC libraries need to be propagated to dependents regardless of the settings of INTERFACE_LINK_LIBRARIES or CMP0022. They are independent of the libraries in the link interface. Prior to commit v2.8.12~192^2~2 (Introduce the INTERFACE_LINK_LIBRARIES property, 2013-06-04) the cmTarget::ComputeLinkInterface code path for "explicitLibraries" could never be taken for STATIC libraries, so the logic to propagate languages existed only in the non-explicitLibraries code path. After that commit, INTERFACE_LINK_LIBRARIES could be set for STATIC libraries to cause the "explicitLibraries" code path to be taken. The commit also left the old non-explicitLibraries code path conditional on CMP0022 not being set to NEW. Thus link language propagation was left missing from two cases by that commit. The explicitLibraries code path was fixed to propagate languages by commit v2.8.12~149^2~1 (cmTarget: Fix iface libraries and languages for static libraries, 2013-07-26). However, the non-explicitLibraries case was never taught to propagate languages when CMP0022 is set to NEW. Fix that now. Factor the logic to propagate link languages out of the link interface libraries conditions so that it always occurs. Update Tests/Fortran to set CMP0022 to NEW to test this case (because the test passes only if link language propagation works).
* | | Merge topic 'xcode-file-type'Brad King2014-05-169-0/+24
|\ \ \ | | | | | | | | | | | | | | | | | | | | a339ea65 Xcode: Add source file property to control file type (#14854) ae80cb9f Xcode: Refactor internal source file type selection
| * | | Xcode: Add source file property to control file type (#14854)Brad King2014-05-159-0/+24
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | Add source file properties to control Xcode file type attributes: XCODE_EXPLICIT_FILE_TYPE => explicitFileType XCODE_LAST_KNOWN_FILE_TYPE => lastKnownFileType Add a RunCMake.XcodeProject test to verify generated project content.
* | | Merge topic 'fix_mumps_coverage'Brad King2014-05-167-1895/+108
|\ \ \ | |/ / |/| | | | | | | | 9ad07fbe CTest: Fix MUMPS coverage parsing and test
| * | CTest: Fix MUMPS coverage parsing and testJoseph Snyder2014-05-167-1895/+108
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* | | Merge topic 'WriteCompilerDetectionHeader-module'Brad King2014-05-1436-0/+274
|\ \ \ | | | | | | | | | | | | | | | | 62a4a67d Add the WriteCompilerDetectionHeader module.
| * | | Add the WriteCompilerDetectionHeader module.Stephen Kelly2014-05-1436-0/+274
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 'package-disable-registry'Brad King2014-05-122-3/+40
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ba387cb8 Help: Add notes for topic 'package-disable-registry' be8ae960 Allow the Package Registry to be disabled (#14849) d09fda5d Tests: Improve FindPackageTest for in-source builds ac24a1c0 Tests: Improve FindPackageTest exported package version
| * | | | Allow the Package Registry to be disabled (#14849)Daniele E. Domenichelli2014-05-121-1/+31
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When a project is packaged for redistribution the local package registries should not be updated or consulted. They are for developers. Add variables to disable use of package registries globally: * CMAKE_EXPORT_NO_PACKAGE_REGISTRY that disables the export(PACKAGE) command * CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY that disables the User Package Registry in all the find_package calls. * CMAKE_FIND_PACKAGE_NO_SYSTEM_PACKAGE_REGISTRY that disables the System Package Registry in all the find_package calls. Update documentation and unit tests.
| * | | | Tests: Improve FindPackageTest for in-source buildsBrad King2014-05-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | Use a different directory name for the Exporter build tree so that it is out-of-source even when the main test is in-source.
| * | | | Tests: Improve FindPackageTest exported package versionBrad King2014-05-122-2/+9
| | | | | | | | | | | | | | | | | | | | | | | | | Add a random version component so that the test is unlikely to conflict with other tests of the same CMake version on the same machine.
* | | | | Merge topic 'minor-cleanups'Brad King2014-05-124-13/+43
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bc9a8bba Makefile: Undef FEATURE_STRING iteration define after use. eb638c75 Tests: Make CompileFeatures feature list lang-specific. e2f09aff CMakeConfigurableFile: Remove excess newline. 5109b042 Features: Fix GNU 4.8.1 version test. 6a9fdbeb Test: Parameterize the language in the CompileFeature test. f5bf9d43 Tests: Make CompileFeature tests use highest standard known.
| * | | | | Tests: Make CompileFeatures feature list lang-specific.Stephen Kelly2014-05-102-4/+4
| | | | | |
| * | | | | Test: Parameterize the language in the CompileFeature test.Stephen Kelly2014-05-091-19/+23
| | | | | |
| * | | | | Tests: Make CompileFeature tests use highest standard known.Stephen Kelly2014-05-092-3/+29
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Remove the use of check_cxx_source_compiles which is now just getting in the way. Blacklist the cxx_alignof feature in the test with GNU 4.7. The test file compiles, but it is documented as available first in GNU 4.8.
* | | | | | cmTarget: Evaluate CMP0026 and CMP0051 in calling contextBrad King2014-05-096-1/+41
|/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | These policies should be checked at the call site that tries to access the LOCATION or SOURCES property, not the directory scope containing the target. Thread the caller context through cmTarget::GetProperty to use for checking the policy setting and emitting a diagnostic with proper backtrace. Extend the RunCMake.CMP0026 and RunCMake.CMP0051 tests with cross-directory cases.
* | | | | EVIS: Add tests for syntax corner cases and CMP0053Ben Boeckel2014-05-08108-14/+692
| |/ / / |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Include tests for: - @ expansion during normal execution - various characters in variable names for comparison between the new and the old parser - corner cases in the parsers - correct messages when behavior is different
* | | | Merge topic 'GNU-4.7-features'Brad King2014-05-081-7/+18
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | 9cbc63e4 Features: Record for GNU 4.7.
| * | | | Features: Record for GNU 4.7.Stephen Kelly2014-05-071-7/+18
| |/ / / | | | | | | | | | | | | | | | | Update the CompileFeatures test to verify that unsupported features do not work.
* | | | Merge topic 'ctest-bad-generator'Brad King2014-05-084-0/+42
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | 54111286 ctest_build: Do not crash on bad generator name
| * | | ctest_build: Do not crash on bad generator nameBrad King2014-05-074-0/+42
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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
* | | | Merge topic 'minor-cleanups'Brad King2014-05-084-4/+4
|\ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 47795421 Fix whitespace in docs. aa283b6b Features: Fix test for GNU 4.8.1. bbfd4cd4 Features: Include the language of the compiler in error messages.