summaryrefslogtreecommitdiffstats
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* cmake: Do not open directories as scripts (#14966)Brad King2014-06-093-0/+4
| | | | | Check if a file path is a directory before opening it. Extend the RunCMake.CommandLine test with a case running "cmake -P" on a directory.
* Merge topic 'dev/backtrace-performance'Brad King2014-06-091-2/+2
|\ | | | | | | | | | | | | | | | | | | 86be733f cmGeneratorExpression: Add workaround for Borland compiler 3495ab0a tests: update unused variable test expected output 2a1b2d84 backtrace: Convert to local paths in IssueMessage a0829205 genex: remove the need for backtraces efc20569 cmake: remove dummy backtraces for IssueMessage d46c650d cmMakefile: return a backtrace
| * 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.
* | Merge topic 'testRST-no-preprocessor-FILE'Brad King2014-06-092-3/+10
|\ \ | | | | | | | | | | | | 218699eb Tests: Fix CMakeLib.testRST for relative __FILE__
| * | Tests: Fix CMakeLib.testRST for relative __FILE__Brad King2014-06-062-3/+10
| | | | | | | | | | | | | | | Pass the test input directory as a runtime argument instead of depending on __FILE__ to locate it.
* | | Merge topic 'xcode15-fix-RunCMake-TargetSources'Brad King2014-06-093-5/+8
|\ \ \ | | | | | | | | | | | | | | | | 0366ba5d Tests: Fix RunCMake.TargetSources on Xcode 1.5
| * | | Tests: Fix RunCMake.TargetSources on Xcode 1.5Brad King2014-06-063-5/+8
| |/ / | | | | | | | | | | | | | | | Xcode 1.5 does not support multiple configurations. The generator also adds some sources internally that cause extra OriginDebug output. Update the expected output to tolerate it.
* | | Merge topic 'fix-ctest-label-regex'Brad King2014-06-093-0/+56
|\ \ \ | |/ / |/| | | | | | | | 887532f0 CTest: Fix combined inclusive/exclusive label regular expressions
| * | CTest: Fix combined inclusive/exclusive label regular expressionsNils Gladitz2014-06-063-0/+56
| |/
* | tests: allow RelWithDebInfo and MinSizeRel configs to workBen Boeckel2014-06-052-0/+16
|/
* Merge topic 'delay-generator-toolset'Brad King2014-06-0510-1/+61
|\ | | | | | | | | | | | | 528e8af1 Allow a toolchain file to specify a generator toolset 98afb454 VS: Split user- and generator-provided PlatformToolset 3e9f6e36 Xcode: Rename internal variable {Platform => Generator}Toolset
| * Allow a toolchain file to specify a generator toolsetBrad King2014-06-0410-1/+61
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Delay use of CMAKE_GENERATOR_TOOLSET until the CMakeSystem.cmake file has been configured and loaded during the first project() or enable_language() command. This gives the toolchain file named by CMAKE_TOOLCHAIN_FILE a chance to set CMAKE_GENERATOR_TOOLSET. This point is still early enough to set the generator toolset prior to the initialization of any languages that might use the toolset. The cmake::GeneratorToolset member variable remains an indication of what was specified by the -T option or loaded from the cache. It does not need to be updated based on the toolchain file setting. The cmMakefile::TryCompile can still pass cmake::GeneratorToolset into the inner instance because the try-compiled project will do platform and language initialization using the CMakeSystem module configured for the outer project. Extend the RunCMake.GeneratorToolset test with cases that use a toolchain file to set CMAKE_GENERATOR_TOOLSET.
* | 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.