summaryrefslogtreecommitdiff
path: root/Tests
diff options
context:
space:
mode:
authorChaoren Lin <chaorenl@google.com>2016-08-17 13:48:23 -0700
committerBrad King <brad.king@kitware.com>2016-08-23 10:37:38 -0400
commit9bd0643a771b19131d14613e963d61d4b32106ee (patch)
tree7477d8169c14ba48fe50cfd12b652096b16ac454 /Tests
parent797f7ad87d6f1b6dd7cbbb553d5525ac8ee390f1 (diff)
downloadcmake-9bd0643a771b19131d14613e963d61d4b32106ee.tar.gz
Tests: Refactor testing of extra generators.
Use a loop instead of repeating the same thing multiple times.
Diffstat (limited to 'Tests')
-rw-r--r--Tests/CMakeLists.txt77
1 files changed, 30 insertions, 47 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index 6f1805b04f..c119cfdcf1 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -569,60 +569,43 @@ if(BUILD_TESTING)
ADD_LINK_FLAGS_TEST(mod_flags_config dll_flags_config)
ADD_LINK_FLAGS_TEST(exe_flags_config mod_flags_config)
- # If we are running right now with a UnixMakefiles based generator,
+ # If we are running right now with a Unix Makefiles or Ninja based generator,
# build the "Simple" test with the ExtraGenerators, if available
# This doesn't test whether the generated project files work (unfortunately),
# mainly it tests that cmake doesn't crash when generating these project files.
- if(${CMAKE_GENERATOR} MATCHES "Unix Makefiles" OR ${CMAKE_GENERATOR} MATCHES "KDevelop")
+ if(${CMAKE_GENERATOR} MATCHES "Unix Makefiles" OR ${CMAKE_GENERATOR} MATCHES "Ninja")
+
# check which generators we have
execute_process(COMMAND ${CMAKE_CMAKE_COMMAND} --help
OUTPUT_VARIABLE cmakeOutput ERROR_VARIABLE cmakeOutput)
- # check for the Eclipse generator
- if ("${cmakeOutput}" MATCHES Eclipse)
- add_test(Simple_EclipseGenerator ${CMAKE_CTEST_COMMAND}
- --build-and-test
- "${CMake_SOURCE_DIR}/Tests/Simple"
- "${CMake_BINARY_DIR}/Tests/Simple_EclipseGenerator"
- --build-two-config
- --build-generator "Eclipse CDT4 - Unix Makefiles"
- --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
- --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
- --build-project Simple
- --build-options ${build_options}
- --test-command Simple)
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_EclipseGenerator")
- endif ()
- # check for the CodeBlocks generator
- if ("${cmakeOutput}" MATCHES CodeBlocks)
- add_test(Simple_CodeBlocksGenerator ${CMAKE_CTEST_COMMAND}
- --build-and-test
- "${CMake_SOURCE_DIR}/Tests/Simple"
- "${CMake_BINARY_DIR}/Tests/Simple_CodeBlocksGenerator"
- --build-two-config
- --build-generator "CodeBlocks - Unix Makefiles"
- --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
- --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
- --build-project Simple
- --build-options ${build_options}
- --test-command Simple)
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_CodeBlocksGenerator")
- endif ()
- # check for the KDevelop3 generator
- if ("${cmakeOutput}" MATCHES KDevelop3)
- add_test(Simple_KDevelop3Generator ${CMAKE_CTEST_COMMAND}
- --build-and-test
- "${CMake_SOURCE_DIR}/Tests/Simple"
- "${CMake_BINARY_DIR}/Tests/Simple_KDevelop3Generator"
- --build-two-config
- --build-generator "KDevelop3 - Unix Makefiles"
- --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
- --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
- --build-project Simple
- --build-options ${build_options}
- --test-command Simple)
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/Simple_KDevelop3Generator")
- endif ()
+ set(extraGenerators
+ "CodeBlocks"
+ "CodeLite"
+ "Eclipse CDT4"
+ "Kate"
+ "KDevelop3"
+ "Sublime Text 2")
+
+ foreach(extraGenerator ${extraGenerators})
+ if ("${cmakeOutput}" MATCHES "${extraGenerator} - ${CMAKE_GENERATOR}")
+ set(extraGeneratorTestName "Simple_${extraGenerator}Generator")
+ string(REPLACE " " "" extraGeneratorTestName ${extraGeneratorTestName})
+
+ add_test(${extraGeneratorTestName} ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMake_SOURCE_DIR}/Tests/Simple"
+ "${CMake_BINARY_DIR}/Tests/${extraGeneratorTestName}"
+ --build-two-config
+ --build-generator "${extraGenerator} - ${CMAKE_GENERATOR}"
+ --build-generator-platform "${CMAKE_GENERATOR_PLATFORM}"
+ --build-generator-toolset "${CMAKE_GENERATOR_TOOLSET}"
+ --build-project Simple
+ --build-options ${build_options}
+ --test-command Simple)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${extraGeneratorTestName}")
+ endif ()
+ endforeach(extraGenerator)
endif()