Generates runner only when tests files changed.

And move generated files into CMAKE_CURRENT_BINARY_DIR.
This commit is contained in:
Xpol Wan 2016-06-29 18:23:04 +08:00
parent 49e47a57a2
commit 0fd1264903
4 changed files with 10 additions and 7 deletions

1
.gitignore vendored
View File

@ -12,4 +12,3 @@ docs/doxyxml/
#*#
*~
.DS_Store
tests/runner-autogen.cpp

View File

@ -1,2 +1,2 @@
cd ${0%/*}
../third-party/cxxtest/bin/cxxtestgen --runner=ErrorPrinter -o ../tests/runner-autogen.cpp ../tests/*.hpp ../source/*/tests/*.hpp
../third-party/cxxtest/bin/cxxtestgen --runner=ErrorPrinter -o "$1"/tests/runner-autogen.cpp ../tests/*.hpp ../source/*/tests/*.hpp

View File

@ -1,2 +1,2 @@
cd %~dp0
../third-party/cxxtest/bin/cxxtestgen --runner=ErrorPrinter -o ../tests/runner-autogen.cpp ../tests/*.hpp ../source/*/tests/*.hpp
../third-party/cxxtest/bin/cxxtestgen --runner=ErrorPrinter -o "%1"/tests/runner-autogen.cpp ../tests/*.hpp ../source/*/tests/*.hpp

View File

@ -25,8 +25,8 @@ FILE(GLOB TEST_HELPERS_SOURCES tests/helpers/*.cpp)
SET(TEST_HELPERS ${TEST_HELPERS_HEADERS} ${TEST_HELPERS_SOURCES})
file(WRITE tests/runner-autogen.cpp "#error This file should be generated from tests before compiling")
SET(RUNNER tests/runner-autogen.cpp)
SET(RUNNER "${CMAKE_CURRENT_BINARY_DIR}/tests/runner-autogen.cpp")
SET_SOURCE_FILES_PROPERTIES(${RUNNER} PROPERTIES GENERATED TRUE)
add_executable(xlnt.test ${TEST_HELPERS} ${TESTS} ${RUNNER} )
@ -59,9 +59,13 @@ 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}/cmake/generate-tests
add_custom_command(OUTPUT ${RUNNER}
COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/cmake/generate-tests ${CMAKE_CURRENT_BINARY_DIR}
DEPENDS ${TESTS}
IMPLICIT_DEPENDS CXX ${TESTS}
COMMENT "Generating test runner ${RUNNER}"
)
add_custom_target(generate-test-runner DEPENDS ${RUNNER})
add_dependencies(xlnt.test generate-test-runner)