diff options
Diffstat (limited to 'Tests/RunCMake')
-rw-r--r-- | Tests/RunCMake/VS10Project/RunCMakeTest.cmake | 1 | ||||
-rw-r--r-- | Tests/RunCMake/VS10Project/SourceGroupCMakeLists-check.cmake | 33 | ||||
-rw-r--r-- | Tests/RunCMake/VS10Project/SourceGroupCMakeLists.cmake | 3 |
3 files changed, 37 insertions, 0 deletions
diff --git a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake index db375ae..c796840 100644 --- a/Tests/RunCMake/VS10Project/RunCMakeTest.cmake +++ b/Tests/RunCMake/VS10Project/RunCMakeTest.cmake @@ -1,6 +1,7 @@ include(RunCMake) run_cmake(ExplicitCMakeLists) +run_cmake(SourceGroupCMakeLists) run_cmake(VsConfigurationType) run_cmake(VsTargetsFileReferences) diff --git a/Tests/RunCMake/VS10Project/SourceGroupCMakeLists-check.cmake b/Tests/RunCMake/VS10Project/SourceGroupCMakeLists-check.cmake new file mode 100644 index 0000000..c2a94bb --- /dev/null +++ b/Tests/RunCMake/VS10Project/SourceGroupCMakeLists-check.cmake @@ -0,0 +1,33 @@ +set(vcFiltersFile "${RunCMake_TEST_BINARY_DIR}/foo.vcxproj.filters") +if(NOT EXISTS "${vcFiltersFile}") + set(RunCMake_TEST_FAILED "Filters file ${vcFiltersFile} does not exist.") + return() +endif() + +set(foundFileFilter 0) +set(foundFilter 0) +file(STRINGS "${vcFiltersFile}" lines) +foreach(line IN LISTS lines) + if(line MATCHES "<Filter>CMakeListsSourceGroup</Filter>") + set(rule "${CMAKE_MATCH_1}") + if(foundFileFilter) + set(RunCMake_TEST_FAILED "Multiple files listed with filter for CMakeListsSourceGroup.") + return() + endif() + set(foundFileFilter 1) + endif() + if(line MATCHES "<Filter.*Include=\"CMakeListsSourceGroup\"") + set(rule "${CMAKE_MATCH_1}") + if(foundFilter) + set(RunCMake_TEST_FAILED "Multiple copies of CMakeListsSourceGroup filter listed.") + return() + endif() + set(foundFilter 1) + endif() +endforeach() +if(NOT foundFileFilter) + set(RunCMake_TEST_FAILED "File filter for CMakeListsSourceGroup not found.") +endif() +if(NOT foundFilter) + set(RunCMake_TEST_FAILED "Filter CMakeListsSourceGroup not found.") +endif() diff --git a/Tests/RunCMake/VS10Project/SourceGroupCMakeLists.cmake b/Tests/RunCMake/VS10Project/SourceGroupCMakeLists.cmake new file mode 100644 index 0000000..4ad87ec --- /dev/null +++ b/Tests/RunCMake/VS10Project/SourceGroupCMakeLists.cmake @@ -0,0 +1,3 @@ +set(CMAKE_CONFIGURATION_TYPES Debug) +add_custom_target(foo) +source_group("CMakeListsSourceGroup" FILES CMakeLists.txt) |