]> git.lyx.org Git - lyx.git/blob - src/support/tests/CMakeLists.txt
Objective-C compililation support with cmake and C++11
[lyx.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 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${LYX_CXX_SPECIFIC_FLAGS}")
10
11 macro(sources _program)
12         set(_tmplist)
13         foreach(_tmp ${ARGN})
14                 list(APPEND _tmplist "${TOP_SRC_DIR}/src/support/tests/${_tmp}")
15         endforeach()
16         set(${_program}_SOURCES ${_tmplist})
17         add_executable(${_program} ${_tmplist})
18         target_link_libraries(${_program} support
19                 ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
20                 ${ZLIB_LIBRARY} ${ICONV_LIBRARY})
21 endmacro()
22
23 file(GLOB test_sources ${TOP_SRC_DIR}/src/support/tests/${LYX_CPP_FILES})
24
25 include_directories(
26         ${TOP_SRC_DIR}/src/support/tests
27         ${QT_INCLUDES}
28         ${ICONV_INCLUDE_DIR}
29         ${ZLIB_INCLUDE_DIR})
30
31
32 set(check_PROGRAMS check_convert check_filetools check_lstrings)
33
34 file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/regfiles")
35
36 set(_depends)
37 foreach(_src ${check_PROGRAMS})
38         sources(${_src} ${_src}.cpp dummy_functions.cpp boost.cpp)
39         string(REPLACE "check_" "" _srcx ${_src})
40         set(src_data_file "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}")
41         if (MSVC AND EXISTS "${src_data_file}.MSVC")
42                 set(src_data_file "${src_data_file}.MSVC")
43         endif()
44         set(created_data_file "${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}_data")
45         add_test(NAME support/${_srcx}
46           COMMAND ${CMAKE_COMMAND} -DCommand=$<TARGET_FILE:${_src}>
47                                    -DInput=${src_data_file}
48                                    -DOutput=${created_data_file}
49                                    -P "${TOP_SRC_DIR}/src/support/tests/supporttest.cmake")
50
51         set_target_properties(${_src} PROPERTIES FOLDER "tests/support")
52         add_dependencies(lyx_run_tests ${_src})
53 endforeach()
54
55