]> git.lyx.org Git - lyx.git/blobdiff - src/support/tests/CMakeLists.txt
Amend 7d021a93: Use interprocedural optimization if possible
[lyx.git] / src / support / tests / CMakeLists.txt
index 213b578a4ff68d5294e14f37259000cc67910115..e5ef4fa6a8f8ef65e13e57c7f0c26062f7ec80ba 100644 (file)
@@ -13,7 +13,15 @@ macro(sources _program)
        endforeach()
        set(${_program}_SOURCES ${_tmplist})
        add_executable(${_program} ${_tmplist})
-       target_link_libraries(${_program} support ${Lyx_Boost_Libraries} ${QT_QTCORE_LIBRARY} ${ZLIB_LIBRARY} ${LIBINTL_LIBRARIES} ${ICONV_LIBRARY})
+       target_link_libraries(${_program} support
+               ${Lyx_Boost_Libraries} ${QT_QTGUI_LIBRARY} ${QT_QTCORE_LIBRARY}
+               ${ZLIB_LIBRARY} ${ICONV_LIBRARY})
+       lyx_target_link_libraries(${_program} Magic)
+       if(CYGWIN)
+               target_link_libraries(${_program} shlwapi)
+       endif()
+       qt_use_modules(${_program} Core)
+       set_property(TARGET ${_program} PROPERTY INTERPROCEDURAL_OPTIMIZATION FALSE)
 endmacro()
 
 file(GLOB test_sources ${TOP_SRC_DIR}/src/support/tests/${LYX_CPP_FILES})
@@ -22,27 +30,30 @@ include_directories(
        ${TOP_SRC_DIR}/src/support/tests
        ${QT_INCLUDES}
        ${ICONV_INCLUDE_DIR}
-       ${ZLIB_INCLUDE_DIR}
-       ${LIBINTL_INCLUDE_DIR})
+       ${ZLIB_INCLUDE_DIR})
 
 
-set(check_PROGRAMS check_convert check_filetools check_lstrings)
+set(check_PROGRAMS check_convert check_filetools check_lstrings check_trivstring)
+
+file(MAKE_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/regfiles")
 
 set(_depends)
 foreach(_src ${check_PROGRAMS})
        sources(${_src} ${_src}.cpp dummy_functions.cpp boost.cpp)
-       #message(STATUS "${_src}_SOURCES = " ${${_src}_SOURCES})
        string(REPLACE "check_" "" _srcx ${_src})
-       add_custom_command(
-               OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}
-               COMMAND ${CMAKE_COMMAND} -E make_directory "${CMAKE_CURRENT_BINARY_DIR}/regfiles"
-               COMMAND "${CMAKE_BINARY_DIR}/bin/${_src}" > ${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}
-               COMMAND ${CMAKE_COMMAND} -E compare_files "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}" "${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}"
-               DEPENDS "${CMAKE_BINARY_DIR}/bin/${_src}" "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}"
-               COMMENT "'${CMAKE_BINARY_DIR}/bin/${_src}' > '${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}'"
-       )
-       list(APPEND _depends "${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}")
+       set(src_data_file "${TOP_SRC_DIR}/src/support/tests/regfiles/${_srcx}")
+       if (MSVC AND EXISTS "${src_data_file}.MSVC")
+               set(src_data_file "${src_data_file}.MSVC")
+       endif()
+       set(created_data_file "${CMAKE_CURRENT_BINARY_DIR}/regfiles/${_src}_data")
+        add_test(NAME support/${_srcx}
+          COMMAND ${CMAKE_COMMAND} -DCommand=$<TARGET_FILE:${_src}>
+                                   -DInput=${src_data_file}
+                                   -DOutput=${created_data_file}
+                                   -P "${TOP_SRC_DIR}/src/support/tests/supporttest.cmake")
+
+       set_target_properties(${_src} PROPERTIES FOLDER "tests/support")
+       add_dependencies(lyx_run_tests ${_src})
 endforeach()
 
-add_custom_target(checkregfiles DEPENDS support ${_depends})