libaac-next/source/tests/CMakeLists.txt
wrapper 1f40310ad8
Some checks are pending
C++ CI / build (push) Waiting to run
C++ CI / test (push) Blocked by required conditions
C++ CI / check (push) Blocked by required conditions
first steps
2025-08-05 21:27:47 +07:00

73 lines
1.9 KiB
CMake

#
# Configure test project and environment
#
# CMake version
cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
# Meta information about the project
set(META_PROJECT_NAME "template")
# Declare project
project("${META_PROJECT_NAME}-tests")
enable_language(C)
enable_language(CXX)
# Set policies
set_policy(CMP0054 NEW) # ENABLE CMP0054: Only interpret if() arguments as variables or keywords when unquoted.
set_policy(CMP0042 NEW) # ENABLE CMP0042: MACOSX_RPATH is enabled by default.
set_policy(CMP0063 NEW) # ENABLE CMP0063: Honor visibility properties for all target types.
# Compiler settings and options
if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")
include(${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/CompileOptions.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/../../cmake/Custom.cmake)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/../../cmake")
else()
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/CompileOptions.cmake)
include(${CMAKE_CURRENT_SOURCE_DIR}/cmake/Custom.cmake)
list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake")
endif()
# Function: Build test and add command to execute it via target 'test'
function(add_test_without_ctest target)
add_subdirectory(${target})
if(NOT TARGET ${target})
return()
endif()
add_dependencies(test ${target})
add_custom_command(TARGET test POST_BUILD
COMMAND $<TARGET_FILE:${target}> --gtest_output=xml:gtests-${target}.xml
)
generate_coverage_report(${target})
endfunction()
find_package(googletest QUIET)
if (NOT TARGET googletest::googletest)
message(STATUS "Tests skipped: googletest not found")
return()
endif ()
#
# Target 'test'
#
if (NOT TARGET test)
add_custom_target(test)
set_target_properties(test PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD 1)
endif()
#
# Tests
#
# add_test_without_ctest(fiblib-test)