1 # This file is part of LyX, the document processor.
2 # Licence details can be found in the file COPYING.
4 # Copyright (c) 2012 Kornel Benko, kornel@lyx.org
9 macro(sources _program)
12 list(APPEND _tmplist "${TOP_SRC_DIR}/src/support/tests/${_tmp}")
14 set(${_program}_SOURCES ${_tmplist})
15 add_executable(${_program} ${_tmplist})
16 target_link_libraries(${_program} support ${intl_link}
17 ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
18 ${ZLIB_LIBRARY} ${ICONV_LIBRARY})
21 file(GLOB test_sources ${TOP_SRC_DIR}/src/support/tests/${LYX_CPP_FILES})
24 ${TOP_SRC_DIR}/src/support/tests
28 ${LIBINTL_INCLUDE_DIR})
31 set(check_PROGRAMS check_convert check_filetools check_lstrings)
33 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/regfiles")
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})