1
0
mirror of https://github.com/rwengine/openrw.git synced 2024-10-05 08:37:20 +02:00
openrw/cmake/ctest/script_ci.ctest
2018-06-14 02:26:18 +02:00

87 lines
2.4 KiB
Plaintext

cmake_minimum_required(VERSION 3.2.2)
set(MODEL_NAME "continuous")
include("${CTEST_SCRIPT_DIRECTORY}/utils.ctest")
openrw_src_dir(CTEST_SOURCE_DIRECTORY)
if($ENV{DOCKER})
set(CTEST_BINARY_DIRECTORY "/build")
else()
openrw_bin_dir_default(CTEST_BINARY_DIRECTORY)
endif()
set(CTEST_COMMAND "${CMAKE_CTEST_COMMAND}")
message(STATUS "CTEST_SOURCE_DIRECTORY=${CTEST_SOURCE_DIRECTORY}")
message(STATUS "CTEST_BINARY_DIRECTORY=${CTEST_BINARY_DIRECTORY}")
openrw_build_name(BUILDER_NAME_BASE BUILD_NAME)
set(BUILDER_NAME_BASE "${BUILDER_NAME_BASE}-$ENV{NAME_SUFFIX}")
message(STATUS "Removing binary directory '${CTEST_BINARY_DIRECTORY}'...")
if(EXISTS "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt")
message(STATUS "CMakeCache.txt file exists ==> removing")
ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
endif()
file(MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
message(STATUS "Linux detected")
include("${CTEST_SCRIPT_DIRECTORY}/configure_linux.ctest")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
message(STATUS "Windows detected")
include("${CTEST_SCRIPT_DIRECTORY}/configure_windows.ctest")
elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
message(STATUS "MacOS X detected")
include("${CTEST_SCRIPT_DIRECTORY}/configure_darwin.ctest")
else()
message(FATAL_ERROR "Unknown CMAKE_SYSTEM_NAME detected '${CMAKE_SYSTEM_NAME}'")
endif()
set(WARNING_MESSAGES)
set(ERROR_MESSAGES)
if($ENV{USE_CONAN})
set(USE_CONAN TRUE)
else()
set(USE_CONAN FALSE)
endif()
set(SEPARATE_TEST_SUITES FALSE)
set(RUN_COVERAGE FALSE)
set(RUN_MEMCHECK FALSE)
openrw_should_submit_ci(SUBMIT)
# Build with no data and test
set(BUILDER_NAME "${BUILDER_NAME_BASE}-nodata")
set(APPEND_RESULTS FALSE)
set(TESTS_NODATA TRUE)
set(RUN_TESTS TRUE)
include("${CTEST_SCRIPT_DIRECTORY}/build.ctest")
# Build with data and do not test
set(BUILDER_NAME "${BUILDER_NAME_BASE}-data")
set(APPEND_RESULTS FALSE)
set(TESTS_NODATA FALSE)
set(RUN_TESTS FALSE)
include("${CTEST_SCRIPT_DIRECTORY}/build.ctest")
if(WARNING_MESSAGES)
foreach(WARNING_MESSAGE ${WARNING_MESSAGES})
message(WARNING "${WARNING_MESSAGE}")
endforeach()
message(WARNING "Warning(s) detected")
endif()
if(ERROR_MESSAGES)
foreach(ERROR_MESSAGE ${ERROR_MESSAGES})
message(SEND_ERROR "${ERROR_MESSAGE}")
endforeach()
message(FATAL_ERROR "Error(s) detected")
endif()