timewarrior/test/CMakeLists.txt
Shaun Ruffell d92ce2110f test: The tests depend on the documentation.
The help.t test wants to verify that some of the man pages exist.
Therefore we need to make sure the documentation is built, otherwise:

  $ git clean -ffdx .
  $ cmake -DCMAKE_BUILD_TYPE=Debug .
  $ make test

Will fail some of the help.t tests.

Signed-off-by: Shaun Ruffell <sruffell@sruffell.net>
2021-04-10 22:52:04 +02:00

49 lines
1.9 KiB
CMake

cmake_minimum_required (VERSION 2.8.12)
# This is a work-around for the following CMake issue:
# https://gitlab.kitware.com/cmake/cmake/issues/16062
# The issue has been fixed in CMake 3.11.0; the policy is set
# to OLD for compatibility with older versions of CMake only.
if(POLICY CMP0037 AND ${CMAKE_VERSION} VERSION_LESS "3.11.0")
cmake_policy(SET CMP0037 OLD)
endif()
# If this is a debug build, check if we have libfiu installed and available on
# the system. If so, we will be able to use it to add additional tests of the
# failure conditions
if (uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG")
find_library(FIU_ENABLE fiu)
if (FIU_ENABLE)
message (STATUS "libfiu found")
add_definitions (-DFIU_ENABLE)
set (test_LIBS fiu ${TIMEW_LIBRARIES})
else (FIU_ENABLE)
message (STATUS "NOTE: install libfiu to run additional tests")
set (test_LIBS ${TIMEW_LIBRARIES})
endif (FIU_ENABLE)
else (uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG")
set (test_LIBS ${TIMEW_LIBRARIES})
endif (uppercase_CMAKE_BUILD_TYPE MATCHES "DEBUG")
include_directories (${CMAKE_SOURCE_DIR}
${CMAKE_SOURCE_DIR}/src
${CMAKE_SOURCE_DIR}/src/libshared/src
${CMAKE_SOURCE_DIR}/test)
include_directories (${CMAKE_INSTALL_PREFIX}/include)
link_directories(${CMAKE_INSTALL_PREFIX}/lib)
set (test_SRCS AtomicFileTest data.t Datafile.t DatetimeParser.t exclusion.t helper.t interval.t range.t rules.t util.t TagInfoDatabase.t)
add_custom_target (test ./run_all --verbose
DEPENDS ${test_SRCS} timew_executable doc
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/test)
foreach (src_FILE ${test_SRCS})
add_executable (${src_FILE} "${src_FILE}.cpp" test.cpp)
target_link_libraries (${src_FILE} timew libshared ${test_LIBS})
endforeach (src_FILE)
configure_file(run_all run_all COPYONLY)
configure_file(problems problems COPYONLY)