summaryrefslogtreecommitdiffstats
path: root/Tests/RunCMake/CMakeLists.txt
Commit message (Collapse)AuthorAgeFilesLines
* Add tests for VS_SOLUTION_GLOBAL_SECTIONSPetr Kmoch2012-11-161-0/+1
| | | | | Add tests for correct appliation of directory properties VS_SOLUTION_GLOBAL_SECTIONS_*
* Merge topic 'deprecate-load_command'Brad King2012-11-131-0/+1
|\ | | | | | | | | d2d4398 load_command: Deprecate and document pending removal
| * load_command: Deprecate and document pending removalBrad King2012-11-071-0/+1
| | | | | | | | | | | | | | | | | | This command works only when building projects using the same architecture as the running CMake binary. Since it was introduced CMake has learned macro() and function() to add commands, and the execute_process() command to launch advanced external computations. Add a RunCMake.load_command test to verify the warning appears.
* | GenEx: Fix reporting about not-found include directories and libraries.Stephen Kelly2012-10-171-0/+1
| | | | | | | | | | | | This fixes a regression introduced in commit 290e92ad (Move GetIncludeDirectories to cmGeneratorTarget, 2012-09-16) which loops over cmGeneratorTargets before they get created, so the container is empty.
* | Process generator expressions in the INCLUDE_DIRECTORIES property.Stephen Kelly2012-09-281-0/+1
|/ | | | | This use of generator expressions, like all others to come which operate on target properties, must initalize the dag checker.
* Add boolean generator expressionsBrad King2012-08-151-0/+1
| | | | | | | | | | | | | Add generator expressions that combine and use boolean test results: $<0:...> = empty string (ignores "...") $<1:...> = content of "..." $<AND:?[,?]...> = '1' if all '?' are '1', else '0' $<OR:?[,?]...> = '0' if all '?' are '0', else '1' $<NOT:?> = '0' if '?' is '1', else '1' These will be useful to evaluate (future) boolean query expressions and condition content on the results. Include tests and documentation.
* include: Ignore empty string as file name (#13388)Brad King2012-07-101-0/+1
| | | | | | | | | Previously CMake silently accepted the empty string and added a bogus dependency on the current directory. Instead warn about the empty file name and ignore it. We cannot make this an error because there may be existing projects that accidentally depend on the old behavior. Add a RunCMake.include test to cover this case.
* Do not crash on SHARED library without language (#13324)Brad King2012-06-201-0/+1
| | | | | | | | | | | | | Since commit e1409ac5 (Support building shared libraries or modules without soname, 2012-04-22) CMake crashes on the code add_library(foo SHARED foo.nolang) because the logic to lookup the language's soname flag was moved from cmTarget::GetLibraryNames to cmMakefile::GetSONameFlag without its check for a NULL language. Restore the check for NULL. Add RunCMake.Languages test to cover language error cases like this one.
* Merge branch 'list-empty-error' into enhance-include_external_msprojectBrad King2012-04-191-0/+1
|\ | | | | | | Resolve conflict in Tests/RunCMake/CMakeLists.txt by adding both tests.
| * list: Handle errors on empty lists more gracefully (#13138)Brad King2012-04-171-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Since commit ed1ea24c (Fix INSERT to allow inserting to empty list, 2006-05-15) the list command allows insertion into an empty list at index 0. Fix rejection of insertion at non-zero (negative) indices to present an error message instead of crashing. While at it, fix the error message of the GET and REMOVE_AT operations when the list is empty to not present a bogus allowed range. Add a "RunCMake.list" test to cover failure cases on empty lists.
* | include_external_msproject: Test TYPE, GUID, PLATFORM options (#13120)Brad King2012-04-191-0/+4
| | | | | | | | | | | | | | | | | | Add "RunCMake.include_external_msproject" test to use the TYPE, GUID, and PLATFORM options to include_external_msproject. Since projects with custom types and platforms cannot be loaded without special VS plugins validate the results by directly parsing the generated solution (.sln). Co-Author: Leonid Yurchenko <nocturne@qarea.com>
* | Teach RunCMake tests to allow custom checksBrad King2012-04-191-3/+8
|/ | | | | | Look for a <SubTest>-check.cmake script and load it to check side effects of the sub test. Provide it with the test source and build tree paths in variables. Check for a failure message in a result variable.
* Test OBJECT library failure casesBrad King2012-03-161-0/+2
| | | | | | | | | | | | | | Add "RunCMake.ObjectLibrary" test to verify that unsupported use cases are rejected with errors: * An OBJECT library may not reference another object library * An OBJECT library may not be referenced in target_link_libraries * An OBJECT library may not contain non-compiling sources * An OBJECT library may not have pre/post build/link commands * An OBJECT library may not be installed, exported, or imported Also verify that invalid $<TARGET_OBJECTS:...> expressions are diagnosed.
* Use generalized RunCMake test infrastrucure for build_command testBrad King2012-03-121-0/+1
| | | | | | | The CMakeCommands.build_command test performs output/error checking so move it over to RunCMake to re-use the generalized infrastrucure. This is the only test left using Tests/CMakeCommands/CMakeLists.txt so remove it.
* Use generalized RunCMake test infrastrucure for find_package testBrad King2012-03-121-0/+2
|
* Add stronger infrastructure for CMake-only testsBrad King2012-03-121-0/+41
The CMakeOnly directory added by commit 9a20abf0 (Add infrastructure for CMake-only tests, 2012-01-11) was sufficient only for tests that always run CMake to successfully configure a project. Later commit eeaaffcb (find_package: Test error and warning messages in failure cases, 2012-02-28) added a sample test that covers failure cases. Generalize the above to create new "RunCMake" test infrastructure that can run CMake multiple times for a single project with different variations and check for expected result/stdout/stderr. Allow for both successful and failing CMake project configuration cases. This will be useful to test error messages and failure behavior.