draconisplusplus/subprojects/quill-4.2.0/quill/test/unit_tests/CMakeLists.txt

67 lines
2.5 KiB
CMake
Raw Normal View History

2024-06-02 06:03:21 -04:00
function(quill_add_test TEST_NAME SOURCES)
set(HEADER_FILES
${PROJECT_SOURCE_DIR}/quill/test/bundled/doctest/doctest.h
${PROJECT_SOURCE_DIR}/quill/test/misc/TestUtilities.h
)
set(ADD_SOURCE_FILES
${PROJECT_SOURCE_DIR}/quill/test/misc/TestMain.cpp
${PROJECT_SOURCE_DIR}/quill/test/misc/TestUtilities.cpp
${PROJECT_SOURCE_DIR}/quill/test/misc/DocTestExtensions.cpp)
list(APPEND SOURCES ${ADD_SOURCE_FILES})
# Create a test executable
add_executable(${TEST_NAME} "")
set_common_compile_options(${TEST_NAME})
# Add sources
target_sources(${TEST_NAME} PRIVATE ${SOURCES} ${HEADER_FILES})
# include dirs
target_include_directories(${TEST_NAME}
PUBLIC
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/quill/test/misc>
$<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/quill/test/bundled>
$<INSTALL_INTERFACE:include>
PRIVATE
${PROJECT_SOURCE_DIR}/quill/test)
# Link dependencies
target_link_libraries(${TEST_NAME} quill)
# Do not decay cxx standard if not specified
set_property(TARGET ${TEST_NAME} PROPERTY CXX_STANDARD_REQUIRED ON)
# Set output test directory
set_target_properties(${TEST_NAME} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/build/test)
# Add this target to the post build unit tests
doctest_discover_tests(${TEST_NAME})
endfunction()
include(${PROJECT_SOURCE_DIR}/cmake/doctest.cmake)
quill_add_test(TEST_BoundedQueueTest BoundedQueueTest.cpp)
quill_add_test(TEST_DynamicFormatArgStore DynamicFormatArgStoreTest.cpp)
quill_add_test(TEST_FileUtilities FileUtilitiesTest.cpp)
quill_add_test(TEST_LoggerManager LoggerManagerTest.cpp)
quill_add_test(TEST_Logger LoggerTest.cpp)
quill_add_test(TEST_LogLevel LogLevelTest.cpp)
quill_add_test(TEST_MacroMetadata MacroMetadataTest.cpp)
quill_add_test(TEST_MathUtils MathUtilsTest.cpp)
quill_add_test(TEST_PatternFormatter PatternFormatterTest.cpp)
quill_add_test(TEST_RotatingFileSink RotatingFileSinkTest.cpp)
quill_add_test(TEST_SinkManager SinkManagerTest.cpp)
quill_add_test(TEST_StringFromTime StringFromTimeTest.cpp)
quill_add_test(TEST_ThreadContextManager ThreadContextManagerTest.cpp)
quill_add_test(TEST_TimestampFormatter TimestampFormatterTest.cpp)
quill_add_test(TEST_TransitEventBuffer TransitEventBufferTest.cpp)
quill_add_test(TEST_UnboundedQueue.cpp UnboundedQueueTest.cpp)
quill_add_test(TEST_Utility UtilityTest.cpp)
if (NOT QUILL_USE_VALGRIND)
quill_add_test(TEST_RdtscClock RdtscClockTest.cpp)
endif ()