]> git.lyx.org Git - features.git/blob - src/support/tests/CMakeLists.txt
7a25e2ad45e29d1dfad02ab2be54956bc453439f
[features.git] / src / support / tests / CMakeLists.txt
1 # This file is part of LyX, the document processor.
2 # Licence details can be found in the file COPYING.
3 #
4 # Copyright (c) 2012 Kornel Benko, kornel@lyx.org
5 #
6
7 project(supporttest)
8
9 macro(sources _program)
10         set(_tmplist)
11         foreach(_tmp ${ARGN})
12                 list(APPEND _tmplist "${TOP_SRC_DIR}/src/support/tests/${_tmp}")
13         endforeach()
14         set(${_program}_SOURCES ${_tmplist})
15         add_executable(${_program} ${_tmplist})
16         target_link_libraries(${_program} support
17                 ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
18                 ${ZLIB_LIBRARY} ${LIBINTL_LIBRARIES} ${ICONV_LIBRARY})
19 endmacro()
20
21 file(GLOB test_sources ${TOP_SRC_DIR}/src/support/tests/${LYX_CPP_FILES})
22
23 include_directories(
24         ${TOP_SRC_DIR}/src/support/tests
25         ${QT_INCLUDES}
26         ${ICONV_INCLUDE_DIR}
27         ${ZLIB_INCLUDE_DIR}
28         ${LIBINTL_INCLUDE_DIR})
29
30
31 set(check_PROGRAMS check_convert check_filetools check_lstrings)
32
33 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/regfiles")
34
35 set(_depends)
36 foreach(_src ${check_PROGRAMS})
37         sources(${_src} ${_src}.cpp dummy_functions.cpp boost.cpp)
38         string(REPLACE "check_" "" _srcx ${_src})
39         set(src_data_file "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}")
40         set(created_data_file "${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}_data")
41         add_test(NAME build_${_srcx}
42           COMMAND "${CMAKE_COMMAND}" --build ${CMAKE_BINARY_DIR} --target ${_src})
43         add_test(NAME data_${_srcx}
44           COMMAND ${_src} > "${created_data_file}")
45         add_test(NAME compare_${_srcx}
46           COMMAND ${CMAKE_COMMAND} -E compare_files "${src_data_file}" "${created_data_file}")
47         set_tests_properties(data_${_srcx} PROPERTIES DEPENDS build_${_srcx} )
48         set_tests_properties(compare_${_srcx} PROPERTIES DEPENDS data_${_srcx})
49 endforeach()
50
51