project(xlnt.test) include_directories(../include) include_directories(../source) include_directories(../tests) include_directories(../third-party/cxxtest) include_directories(../third-party/pugixml/src) FILE(GLOB CELL_TESTS ../source/cell/tests/test_*.hpp) FILE(GLOB CHARTS_TESTS ../source/charts/tests/test_*.hpp) FILE(GLOB CHARTSHEET_TESTS ../source/chartsheet/tests/test_*.hpp) FILE(GLOB DRAWING_TESTS ../source/drawing/tests/test_*.hpp) FILE(GLOB FORMULA_TESTS ../source/formula/tests/test_*.hpp) FILE(GLOB PACKAGING_TESTS ../source/packaging/tests/test_*.hpp) FILE(GLOB SERIALIZATION_TESTS ../source/serialization/tests/test_*.hpp) FILE(GLOB STYLES_TESTS ../source/styles/tests/test_*.hpp) FILE(GLOB UTILS_TESTS ../source/utils/tests/test_*.hpp) FILE(GLOB WORKBOOK_TESTS ../source/workbook/tests/test_*.hpp) FILE(GLOB WORKSHEET_TESTS ../source/worksheet/tests/test_*.hpp) SET(TESTS ${CELL_TESTS} ${CHARTS_TESTS} ${CHARTSHEET_TESTS} ${DRAWING_TESTS} ${FORMULA_TESTS} ${PACKAGING_TESTS} ${SERIALIZATION_TESTS} ${STYLES_TESTS} ${UTILS_TESTS} ${WORKBOOK_TESTS} ${WORKSHEET_TESTS}) FILE(GLOB TEST_HELPERS_HEADERS ../tests/helpers/*.hpp) FILE(GLOB TEST_HELPERS_SOURCES ../tests/helpers/*.cpp) SET(TEST_HELPERS ${TEST_HELPERS_HEADERS} ${TEST_HELPERS_SOURCES}) SET(RUNNER ../tests/runner-autogen.cpp) add_executable(xlnt.test ${TEST_HELPERS} ${TESTS} ${RUNNER} ) source_group(helpers FILES ${TEST_HELPERS}) source_group(tests\\cell FILES ${CELL_TESTS}) source_group(tests\\charts FILES ${CHARTS_TESTS}) source_group(tests\\chartsheet FILES ${CHARTSHEET_TESTS}) source_group(tests\\drawing FILES ${DRAWING_TESTS}) source_group(tests\\formula FILES ${FORMULA_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}) source_group(runner FILES ${RUNNER}) target_link_libraries(xlnt.test xlnt) # Needed for PathFileExists in path_helper (test helper) if(${CMAKE_CXX_COMPILER_ID} STREQUAL "MSVC") target_link_libraries(xlnt.test Shlwapi) endif() add_custom_target (generate-test-runner COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/generate-tests COMMENT "Generating test runner ${RUNNER}" ) add_dependencies(xlnt.test generate-test-runner) if(AUTORUN_TESTS) add_custom_command( TARGET xlnt.test POST_BUILD COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/../bin/xlnt.test VERBATIM ) endif()