summaryrefslogtreecommitdiff
path: root/Tests
Commit message (Collapse)AuthorAgeFilesLines
* Port all cmOStringStream to std::ostringstream.Stephen Kelly2015-01-111-1/+1
| | | | All compilers hosting CMake support the std class.
* RunCMake: Expect empty output by default.Stephen Kelly2014-12-319-4/+17
| | | | | | | | | | | Expect tests to specify stderr content if it is present. Fix the CMP0019 test, which has only been testing the WARN status until now. Specify in the CommandLine and FPHSA tests that content is at least one character. Set policies in the Language and CheckModules tests, which have empty test output, modulo unrelated policies on some platforms.
* Merge topic 'ninja-fix-subdir-objlib-languages'Brad King2014-12-245-0/+10
|\ | | | | | | | | | | 07fc7b75 Tests: Test using objects from a language enabled in a subdirectory (#15325) fdbfcfdf Ninja: Generate rules only for languages compiled in a target (#15325)
| * Tests: Test using objects from a language enabled in a subdirectory (#15325)Brad King2014-12-225-0/+10
| | | | | | | | | | | | | | | | Add a test case that enables CXX in the top level and C in a subdirectory. Create an executable in the top level that uses C objects compiled in the subdirectory. Strictly speaking this is not defined behavior for all language combinations, but happens to work in this case. Test this behavior since projects might try to use it.
| * Merge branch 'vs-phone-store-deployment-location' into releaseBrad King2014-12-034-12/+17
| |\
| * \ Merge branch 'vs-hlsl-settings' into releaseBrad King2014-12-033-2/+8
| |\ \
| * \ \ Merge branch 'target-sources-error-conditions' into releaseBrad King2014-12-0114-5/+41
| |\ \ \
* | \ \ \ Merge topic 'AppleClang-5.1-features'Brad King2014-12-232-4/+8
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | bb83cdaa Help: Add notes for topic 'AppleClang-5.1-features' bd6b42c1 Features: Record for AppleClang 5.1 b341799e Tests: Fix RunCMake.CompileFeatures test NonValidTarget2 case
| * | | | | Features: Record for AppleClang 5.1Stephen Kelly2014-12-221-4/+6
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Apple's Clang 5.1 already supports most of the C and C++ features CMake enumerates.
| * | | | | Tests: Fix RunCMake.CompileFeatures test NonValidTarget2 caseBrad King2014-12-221-0/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Mark the generated source file with the GENERATED property explicitly since it is not marked automatically as the output of any custom command. Mark both the 0 and 1 variants so it works no matter the outcome of the generator expression.
* | | | | | Merge topic 'add-FindGSL'Brad King2014-12-234-0/+51
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | 1b28e3b2 FindGSL: Add module to find the GNU Scientific Library
| * | | | | FindGSL: Add module to find the GNU Scientific LibraryKelly Thompson2014-12-174-0/+51
| | | | | |
* | | | | | Merge topic 'osx-cfbundle-tweaks'Brad King2014-12-192-8/+6
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | b189c599 Tests: Run CFBundleTest only with valid configuration 3a605693 Xcode: Call IsCFBundleOnApple to decide if bundle is being built 207b7af0 cmTarget: Use GetCFBundleDirectory within GetFullNameInternal
| * | | | | | Tests: Run CFBundleTest only with valid configurationBrad King2014-12-192-8/+6
| |/ / / / / | | | | | | | | | | | | | | | | | | The verification script needs to know the configuration tested.
* | | | | | Merge topic 'install-EXPORT-absolute-prefix'Brad King2014-12-197-0/+44
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | dd089e08 install: Allow absolute EXPORT destination with relative targets (#15258)
| * | | | | | install: Allow absolute EXPORT destination with relative targets (#15258)Brad King2014-12-157-0/+44
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | When install(EXPORT) is given an absolute destination we cannot compute the install prefix relative to the installed export file location. Previously we disallowed installation of targets in such exports with a relative destination, but did not enforce this for target property values besides the location of the main target file. This could lead to broken installations when the EXPORT is installed to an absolute path but usage requirements are specified relative to the install prefix. Since an EXPORT installed to an absolute destination cannot be relocated we can just hard-code the value of CMAKE_INSTALL_PREFIX as the base for relative paths. This will allow absolute install(EXPORT) destinations to work with relative destinations for targets and usage requirements. Extend the ExportImport test with a case covering this behavior.
* | | | | | Merge topic 'vs-nsight-tegra-min-api'Brad King2014-12-181-0/+1
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | eeaa25e5 Add 'ANDROID_API_MIN' target property to set Android Target MIN API
| * | | | | | Add 'ANDROID_API_MIN' target property to set Android Target MIN APIDmitry Polyanitsa2014-12-171-0/+1
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Also add a 'CMAKE_ANDROID_API_MIN' variable to set the property default. Teach the VS generator to write the MIN API value into Nsight Tegra project files.
* | | | | | Merge topic 'test-memcheck-with-RunCMake'Brad King2014-12-1876-301/+354
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 7ca6bdf0 Tests: Move CTestTestMemcheck tools into Tests/CMakeLib 1651dc96 Tests: Move CTestTestMemcheck cases into a RunCMake.CTestMemcheck test
| * | | | | | Tests: Move CTestTestMemcheck tools into Tests/CMakeLibBrad King2014-12-185-5/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The dummy memcheck tools we build for the RunCMake.CTestMemcheck tests require CMakeLib, so put them in a Tests/CMakeLib/PseudoMemcheck directory.
| * | | | | | Tests: Move CTestTestMemcheck cases into a RunCMake.CTestMemcheck testBrad King2014-12-1871-256/+311
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The CTestTestMemcheck test cases all try to check the ctest output with a regular expression. They fail intermittently due to ordering of the portions of the output that come from stdout and stderr being mixed. Convert all the test cases to use the RunCMake infrastructure to match stdout and stderr separately.
* | | | | | | Merge topic 'test-RunCMake-updates'Brad King2014-12-172-4/+4
|\ \ \ \ \ \ \ | |/ / / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 29533380 Tests: Allow RunCMake expected result code to be a regex a85ee8b8 Tests: Simplify RunCMake test extra argument passing da7155f5 Tests: Allow RunCMake tests to pass generator expressions
| * | | | | | Tests: Allow RunCMake expected result code to be a regexBrad King2014-12-161-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This will allow the '-result.txt' files to specify a regex matching different results on different platforms.
| * | | | | | Tests: Simplify RunCMake test extra argument passingBrad King2014-12-151-2/+2
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Allow add_RunCMake_test calls to pass non-optional arguments immediately.
| * | | | | | Tests: Allow RunCMake tests to pass generator expressionsBrad King2014-12-151-1/+1
| |/ / / / /
* | | | | | Tests: Fix CheckSourceTree test for newer GitBrad King2014-12-161-2/+2
|/ / / / / | | | | | | | | | | | | | | | | | | | | The output of 'git status' no longer starts each line in '#'. Match that optionally.
* | | | | Tests: Fix OS X version check to use component-wise testBrad King2014-12-121-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Otherwise 10.10 may be considered to be less than 10.4 and the tests for CPack will not run. Reported-by: Sean McBride <sean@rogue-research.com>
* | | | | find_library: Fix repeat call after changing directory content (#15293)Brad King2014-12-085-0/+25
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | We use cmGlobalGenerator::GetDirectoryContent to avoid repeating directory listings. However, GetDirectoryContent loads content from disk at most once. This breaks find_library calls that occur when disk content has changed since preceding find_library calls. Teach cmGlobalGenerator::GetDirectoryContent to save the directory modification time when content is loaded and re-load content if it changes. Create a RunCMake.find_library test with a case covering this.
* | | | | Merge topic 'custom-command-multiple-outputs'Brad King2014-12-082-0/+41
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 6c67b816 Makefile: Workaround Borland Make bug with multiple outputs 65ea5eb7 Tests: Cover rebuild with multiple custom command outputs (#15116) 644b4688 Makefile: Fix rebuild with multiple custom command outputs (#15116) 8a4c6d2d Xcode: Fix rebuild with multiple custom command outputs (#15116)
| * | | | | Tests: Cover rebuild with multiple custom command outputs (#15116)Brad King2014-12-052-0/+41
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extend the BuildDepends test with a case covering multiple custom command outputs with the second one consumed by another rule. With the old "multiple output pair" infrastructure used in the Makefile and Xcode generators this did not work. Now that it is fixed, test the case explicitly.
* | | | | | Merge topic 'ExternalProject_TEST_EXCLUDE_FROM_MAIN'Brad King2014-12-081-0/+25
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | 636f0c1d ExternalProject: Add TEST_EXCLUDE_FROM_MAIN option
| * | | | | | ExternalProject: Add TEST_EXCLUDE_FROM_MAIN optionDaniele E. Domenichelli2014-12-051-0/+25
| |/ / / / / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | If this option is enabled, the test step is created with the EXCLUDE_FROM_MAIN option, and if TEST_BEFORE_INSTALL is enabled, the install step does not depend on the test step. This means that the test step is never executed, unless the test target is explicitly created by calling ExternalProject_Add_StepTarget, or by passing it with the STEP_TARGETS option, or with the EP_STEP_TARGETS directory property.
* | | | | | Merge topic 'try_compile-link-flags'Brad King2014-12-084-0/+86
|\ \ \ \ \ \ | |/ / / / / |/| | | | | | | | | | | | | | | | | | | | | | | 88eb5824 try_compile: Pass linker flags into test project (#14066) a4f9b6f0 CMakeDetermineCompilerABI: Use normal linker flags in ABI project
| * | | | | try_compile: Pass linker flags into test project (#14066)Brad King2014-12-034-0/+86
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Copy CMAKE_EXE_LINKER_FLAGS into the test project generated by try_compile, just like we already copy CMAKE_<LANG>_FLAGS. Add CMake Policy CMP0056 to activate this behavior in a compatible way, but do not warn by default when the policy is not set since it will affect all try_compile calls. Extend the RunCMake.try_compile test with a case covering this behavior for each policy setting.
* | | | | | Merge topic 'cached-regex-clear-fixed'Brad King2014-12-045-0/+116
|\ \ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | ceecd790 cmMakefile: store the number of last matches in a CMake var 7878d061 test: add a test for clearing regex results
| * | | | | | test: add a test for clearing regex resultsBen Boeckel2014-12-035-0/+116
| | | | | | |
* | | | | | | Merge topic 'vs-phone-store-deployment-location'Brad King2014-12-044-12/+17
|\ \ \ \ \ \ \ | |_|/ / / / / |/| | | | | / | | |_|_|_|/ | |/| | | | 352f246f VS: Add source file property to specify Windows App deployment location
| * | | | | VS: Add source file property to specify Windows App deployment locationGilles Khouzam2014-12-034-12/+17
| | |_|_|/ | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Add a VS_DEPLOYMENT_LOCATION source file property to specify where to put files that are part of the package. For example: set_property(SOURCE ${ASSET_FILES} PROPERTY VS_DEPLOYMENT_LOCATION "assets") Without this, sources marked with VS_DEPLOYMENT_CONTENT cannot be located properly.
* | | | | Merge topic 'file-LOCK-command'Brad King2014-12-0345-0/+196
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 93017828 Help: Add notes for topic 'file-LOCK-command' e6db4c5a file: Add LOCK subcommand to do file and directory locking 05d6531c cmSystemTools: Add StringToInt helper
| * | | | | file: Add LOCK subcommand to do file and directory lockingRuslan Baratov2014-12-0345-0/+196
| | |/ / / | |/| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Provide options to fail without blocking or to block up to a timeout. Provide options to specify the scope containing the lock so it can be released automatically at the end of a function, file, or process. Extend the RunCMake.file test with cases covering the file(LOCK) command usage and error cases.
* | | | | Merge topic 'icase-source-file-prop'Brad King2014-12-034-0/+40
|\ \ \ \ \ | | | | | | | | | | | | | | | | | | | | | | | | b7d760ae test: test source file properties with case-insensitivity
| * | | | | test: test source file properties with case-insensitivityBen Boeckel2014-12-024-0/+40
| |/ / / / | | | | | | | | | | | | | | | | | | | | Some filesystems are case insensitive, so when setting properties on the files, this should be respected (modulo a policy decision).
* | | | | Merge topic 'vs-hlsl-settings'Brad King2014-12-033-2/+8
|\ \ \ \ \ | | |/ / / | |/| | | | | | | | | | | | | 2a224b4c VS: Add source file properties to set the hlsl shader entry point and model
| * | | | VS: Add source file properties to set the hlsl shader entry point and modelCedric Perthuis2014-12-033-2/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Create properties VS_SHADER_ENTRYPOINT and VS_SHADER_MODEL. Without these many .hlsl source files may not be possible to use. Extend the VSWinStorePhone test project to cover them.
* | | | | continue: Add a new CMake language command for loop continuation (#14013)Gregor Jasny2014-12-0119-0/+100
| |/ / / |/| | | | | | | | | | | | | | | Inspired-by: Doug Barbieri Signed-off-by: Gregor Jasny <gjasny@googlemail.com>
* | | | Merge topic 'target-sources-error-conditions'Brad King2014-12-0114-5/+41
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | | | | | | | | | 8a75c7ef Help: Document the export limitation of INTERFACE_SOURCES. e1348056 Export: Disallow export of targets with INTERFACE_SOURCES bb5905bb cmTarget: Don't allow relative paths in INTERFACE_SOURCES
| * | | Export: Disallow export of targets with INTERFACE_SOURCESStephen Kelly2014-11-297-0/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This can be allowed in the next release, but it needs to have some features present and tested such as * Ensuring that relative paths do not appear in the generated property. * Ensuring that paths to the source or build directories do not appear. * Generating a check in the file for CMake 3.1 or later so that the resulting property will be consumed. * Ensuring that any referenced targets are part of an export set and generating a check for them. * INSTALL_INTERFACE and BUILD_INTERFACE content. All of these checks are already done for INTERFACE_INCLUDE_DIRECTORIES, but it is too late to add them for INTERFACE_SOURCES for CMake 3.1. As the checks introduce some new error conditions, it is better to disallow exporting fully for this case and introduce proper error conditions later instead of policies.
| * | | cmTarget: Don't allow relative paths in INTERFACE_SOURCESStephen Kelly2014-11-298-5/+24
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Follow the pattern of checks that are made for INTERFACE_INCLUDE_DIRECTORIES. Existence is already checked by cmSourceFile::GetFullPath. Add a check to disallow relative paths in source directories. Otherwise code such as target_sources(lib1 INTERFACE foo.cpp) would fail if consumed by a target in a different directory. Unlike the INTERFACE_INCLUDE_DIRECTORIES behavior, we don't care whether the entry comes from an IMPORTED target or not. In the include directories case, the directory for a non-imported target might not exist yet but might be created. In the sources case, a file which does not yet exist in the filesystem must be explicitly marked with the GENERATED property. Adjust existing tests and add a new test for the error.
* | | | Merge topic 'fix-transitive-OBJECT_SOURCES-context'Brad King2014-12-011-1/+4
|\ \ \ \ | | |_|/ | |/| | | | | | | | | | 672f1001 Genex: Fix evaluation context propagation for TARGET_OBJECTS.
| * | | Genex: Fix evaluation context propagation for TARGET_OBJECTS.Stephen Kelly2014-11-261-1/+4
| |/ / | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Extract a new method to encapsulate the requirements of evaluating dependent-expressions, namely, propagation of the EvaluateForBuildsystem setting, which is missing from the getLinkedTargetsContent implementation. Commit v3.1.0-rc1~688^2 (Genex: Only evaluate TARGET_OBJECTS to determine target sources., 2014-03-20) introduced an error case for use of TARGET_OBJECTS outside of the context of generating the buildsystem, as the path to object files may be dependent on buildsystem variables (See bug #15226). Commit v3.1.0-rc1~314^2 (Allow INTERFACE_SOURCES to specify $<TARGET_OBJECTS> (#14970), 2014-07-09) made it possible to propagate such content to dependent targets. While that commit propagated the EvaluateForBuildsystem setting for the case of a TARGET_PROPERTY expression, as generated for direct dependencies of a target in cmTargetInternals::AddInterfaceEntries, it did not add propagation for content from further transitive target dependencies, as determined by getLinkedTargetsContent.