First Commit
This commit is contained in:
49
externals/cryptopp-cmake/test/unit/CMakeLists.txt
vendored
Normal file
49
externals/cryptopp-cmake/test/unit/CMakeLists.txt
vendored
Normal file
@ -0,0 +1,49 @@
|
||||
# ===-----------------------------------------------------------------------===#
|
||||
# Distributed under the 3-Clause BSD License. See accompanying file LICENSE or
|
||||
# copy at https://opensource.org/licenses/BSD-3-Clause).
|
||||
# SPDX-License-Identifier: BSD-3-Clause
|
||||
# ===-----------------------------------------------------------------------===#
|
||||
|
||||
file(GLOB tests "${CMAKE_CURRENT_SOURCE_DIR}/*")
|
||||
list(REMOVE_ITEM tests "${CMAKE_CURRENT_SOURCE_DIR}/CMakeLists.txt")
|
||||
|
||||
foreach(test ${tests})
|
||||
cmake_path(GET test FILENAME test_name)
|
||||
message(STATUS "Adding unit test: ${test_name}")
|
||||
# Configure
|
||||
add_test(
|
||||
NAME cryptopp-${test_name}-configure
|
||||
COMMAND
|
||||
${CMAKE_COMMAND}
|
||||
# Always use ninja, never the visual studio generator (bugged)
|
||||
-G${CMAKE_GENERATOR}
|
||||
# Pass the locations for common cmake files
|
||||
-D "TEST_CMAKE_FILES_DIR=${TEST_CMAKE_FILES_DIR}"
|
||||
# Pass the locations for common test source files
|
||||
-D "TEST_EXAMPLE_SOURCES_DIR=${TEST_EXAMPLE_SOURCES_DIR}"
|
||||
# Use ccache
|
||||
-D "USE_CCACHE=TRUE"
|
||||
# Override cmake compiler flags for ccache/MSVC
|
||||
-D
|
||||
"CMAKE_USER_MAKE_RULES_OVERRIDE=${TEST_CMAKE_FILES_DIR}/ResetInitialCompilerOptions.cmake"
|
||||
# Setup cmake source/build dirs
|
||||
-S "${test}" -B "${CMAKE_BINARY_DIR}/test-dirs/${test_name}"
|
||||
# Use local source code for cryptopp-cmake
|
||||
-D "CPM_cryptopp-cmake_SOURCE=${cryptopp-cmake_SOURCE_DIR}"
|
||||
# Enable verbose makefiles so we can see the full compile command line
|
||||
-D CMAKE_VERBOSE_MAKEFILE=ON
|
||||
# Set the build-type to what we are building
|
||||
-D CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
|
||||
set_tests_properties(cryptopp-${test_name}-configure PROPERTIES
|
||||
FIXTURES_SETUP ${test_name}-config
|
||||
LABELS "cryptopp;cryptopp-unit-tests;cryptopp-${test_name}")
|
||||
# Build
|
||||
add_test(NAME cryptopp-${test_name}-build
|
||||
COMMAND ${CMAKE_COMMAND} --build
|
||||
"${CMAKE_BINARY_DIR}/test-dirs/${test_name}"
|
||||
--config ${CMAKE_BUILD_TYPE})
|
||||
# Run build test case after the configure test case
|
||||
set_tests_properties(cryptopp-${test_name}-build PROPERTIES
|
||||
FIXTURES_REQUIRED ${test_name}-config
|
||||
LABELS "cryptopp;cryptopp-unit-tests;cryptopp-${test_name}")
|
||||
endforeach()
|
||||
Reference in New Issue
Block a user