summaryrefslogtreecommitdiffstats
path: root/Tests/CMakeLists.txt
diff options
context:
space:
mode:
Diffstat (limited to 'Tests/CMakeLists.txt')
-rw-r--r--Tests/CMakeLists.txt116
1 files changed, 68 insertions, 48 deletions
diff --git a/Tests/CMakeLists.txt b/Tests/CMakeLists.txt
index db6dbf3..067ffdb 100644
--- a/Tests/CMakeLists.txt
+++ b/Tests/CMakeLists.txt
@@ -206,6 +206,26 @@ if(BUILD_TESTING)
set(${reg} 0)
endif()
endforeach()
+ if(COMMAND cmake_host_system_information)
+ set(info_vs15 "VS_15_DIR")
+ set(info_vs16 "VS_16_DIR")
+ set(vs_versions)
+ if(WIN32)
+ if(NOT CMAKE_VERSION VERSION_LESS 3.14)
+ set(vs_versions vs15 vs16)
+ elseif(NOT CMAKE_VERSION VERSION_LESS 3.8)
+ set(vs_versions vs15)
+ endif()
+ endif()
+ foreach(info ${vs_versions})
+ cmake_host_system_information(RESULT found QUERY "${info_${info}}")
+ if(found)
+ set(${info} 1)
+ else()
+ set(${info} 0)
+ endif()
+ endforeach()
+ endif()
endif()
#---------------------------------------------------------------------------
@@ -697,38 +717,28 @@ if(BUILD_TESTING)
# 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 "Ninja")
-
- # check which generators we have
- execute_process(COMMAND ${CMAKE_CMAKE_COMMAND} --help
- OUTPUT_VARIABLE cmakeOutput ERROR_VARIABLE cmakeOutput)
-
- set(extraGenerators
- "CodeBlocks"
- "CodeLite"
- "Eclipse CDT4"
- "Kate"
- "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
- --test-command Simple)
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${extraGeneratorTestName}")
- endif ()
- endforeach(extraGenerator)
-
+ if(CMAKE_GENERATOR MATCHES "^(Unix Makefiles|Ninja)$"
+ AND NOT "${CMAKE_CURRENT_BINARY_DIR}" STREQUAL "${CMAKE_CURRENT_SOURCE_DIR}")
+ foreach(extraGenerator
+ "CodeBlocks"
+ "CodeLite"
+ "Eclipse CDT4"
+ "Kate"
+ "Sublime Text 2"
+ )
+ string(REPLACE " " "" extraGeneratorTestName "Simple_${extraGenerator}Generator")
+ 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
+ --test-command Simple)
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/${extraGeneratorTestName}")
+ endforeach()
endif()
# test for correct sub-project generation
@@ -1451,6 +1461,7 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH
Patch
PostgreSQL
Protobuf
+ SDL
SQLite3
TIFF
Vulkan
@@ -2315,32 +2326,41 @@ ${CMake_SOURCE_DIR}/Utilities/Release/push.bash --dir dev -- '${CMake_BUILD_NIGH
endforeach()
endif()
+ macro(add_test_VSAndroid name generator platform)
+ add_test(NAME "VSAndroid.${name}.${platform}" COMMAND ${CMAKE_CTEST_COMMAND}
+ --build-and-test
+ "${CMake_SOURCE_DIR}/Tests/VSAndroid"
+ "${CMake_BINARY_DIR}/Tests/VSAndroid/${name}/${platform}"
+ --build-generator "${generator}"
+ --build-project VSAndroid
+ --build-config $<CONFIGURATION>
+ --build-options -DCMAKE_SYSTEM_NAME=Android "-A${platform}"
+ )
+ list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSAndroid/${name}")
+ endmacro()
if(tegra AND NOT "${CMake_SOURCE_DIR};${CMake_BINARY_DIR}" MATCHES " ")
- macro(add_test_VSNsightTegra name generator)
- add_test(NAME VSNsightTegra.${name} COMMAND ${CMAKE_CTEST_COMMAND}
- --build-and-test
- "${CMake_SOURCE_DIR}/Tests/VSNsightTegra"
- "${CMake_BINARY_DIR}/Tests/VSNsightTegra/${name}"
- --build-generator "${generator}"
- --build-project VSNsightTegra
- --build-config $<CONFIGURATION>
- --build-options -DCMAKE_SYSTEM_NAME=Android
- )
- list(APPEND TEST_BUILD_DIRS "${CMake_BINARY_DIR}/Tests/VSNsightTegra/${name}")
- endmacro()
if(vs10)
- add_test_VSNsightTegra(vs10 "Visual Studio 10 2010")
+ add_test_VSAndroid(vs10 "Visual Studio 10 2010" "Tegra-Android")
endif()
if(vs11)
- add_test_VSNsightTegra(vs11 "Visual Studio 11 2012")
+ add_test_VSAndroid(vs11 "Visual Studio 11 2012" "Tegra-Android")
endif()
if(vs12)
- add_test_VSNsightTegra(vs12 "Visual Studio 12 2013")
+ add_test_VSAndroid(vs12 "Visual Studio 12 2013" "Tegra-Android")
endif()
if(vs14)
- add_test_VSNsightTegra(vs14 "Visual Studio 14 2015")
+ add_test_VSAndroid(vs14 "Visual Studio 14 2015" "Tegra-Android")
endif()
endif()
+ if(vs14 AND CMake_TEST_ANDROID_VS14)
+ add_test_VSAndroid(vs14 "Visual Studio 14 2015" "ARM")
+ endif()
+ if(vs15 AND CMake_TEST_ANDROID_VS15)
+ add_test_VSAndroid(vs15 "Visual Studio 15 2017" "ARM")
+ endif()
+ if(vs16 AND CMake_TEST_ANDROID_VS16)
+ add_test_VSAndroid(vs16 "Visual Studio 16 2019" "ARM")
+ endif()
if (APPLE)
if (CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")