xlnt/tests/CMakeLists.txt

66 lines
2.3 KiB
CMake
Raw Normal View History

2017-03-06 11:39:27 +08:00
cmake_minimum_required(VERSION 3.2)
2017-01-21 22:04:10 +08:00
project(xlnt.test)
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
2016-10-28 06:40:20 +08:00
if(NOT COMBINED_PROJECT)
2017-04-14 02:51:35 +08:00
add_subdirectory(${CMAKE_CURRENT_SOURCE_DIR}/../source ${CMAKE_CURRENT_BINARY_DIR}/source)
2016-10-28 06:40:20 +08:00
endif()
2017-04-14 07:01:30 +08:00
file(GLOB CELL_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/cell/*.hpp)
file(GLOB PACKAGING_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/packaging/*.hpp)
file(GLOB STYLES_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/styles/*.hpp)
file(GLOB UTILS_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/utils/*.hpp)
file(GLOB WORKBOOK_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/workbook/*.hpp)
file(GLOB WORKSHEET_TESTS ${CMAKE_CURRENT_SOURCE_DIR}/worksheet/*.hpp)
2017-03-12 03:47:56 +08:00
2017-04-14 02:51:35 +08:00
set(TESTS
${CELL_TESTS}
${PACKAGING_TESTS}
${STYLES_TESTS}
${UTILS_TESTS}
${WORKBOOK_TESTS}
${WORKSHEET_TESTS})
2017-04-14 02:51:35 +08:00
file(GLOB HELPERS_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/helpers/*.hpp)
file(GLOB HELPERS_SOURCES ${CMAKE_CURRENT_SOURCE_DIR}/helpers/*.cpp)
2017-04-14 02:51:35 +08:00
set(HELPERS ${HELPERS_HEADERS} ${HELPERS_SOURCES})
set(RUNNER ${CMAKE_CURRENT_SOURCE_DIR}/runner.cpp)
2016-11-01 11:03:34 +08:00
if(COVERAGE)
2017-03-22 10:34:49 +08:00
set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fprofile-arcs -ftest-coverage")
2016-11-01 11:03:34 +08:00
endif()
add_executable(xlnt.test ${RUNNER} ${TESTS} ${HELPERS} $<TARGET_OBJECTS:libstudxml>)
2017-04-14 02:51:35 +08:00
target_link_libraries(xlnt.test PRIVATE xlnt)
target_include_directories(xlnt.test
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../source
2017-04-14 07:01:30 +08:00
PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/../third-party/libstudxml)
2017-04-14 02:51:35 +08:00
set(XLNT_TEST_DATA_DIR ${CMAKE_CURRENT_SOURCE_DIR}/data)
target_compile_definitions(xlnt.test PRIVATE XLNT_TEST_DATA_DIR=${XLNT_TEST_DATA_DIR})
2017-04-14 07:01:30 +08:00
if(MSVC)
set_target_properties(xlnt.test PROPERTIES COMPILE_FLAGS "/wd\"4068\" /bigobj")
endif()
2017-04-14 02:51:35 +08:00
source_group(helpers FILES ${HELPERS})
2017-04-14 07:01:30 +08:00
source_group(runner FILES ${RUNNER})
source_group(tests\\cell FILES ${CELL_TESTS})
source_group(tests\\packaging FILES ${PACKAGING_TESTS})
source_group(tests\\serialization FILES ${SERIALIZATION_TESTS})
source_group(tests\\styles FILES ${STYLES_TESTS})
source_group(tests\\utils FILES ${UTILS_TESTS})
source_group(tests\\workbook FILES ${WORKBOOK_TESTS})
source_group(tests\\worksheet FILES ${WORKSHEET_TESTS})
2017-04-14 02:51:35 +08:00
if(MSVC AND NOT STATIC)
add_custom_command(TARGET xlnt.test POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy_if_different
$<TARGET_FILE:xlnt>
$<TARGET_FILE_DIR:xlnt.test>)
endif()