]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/CMakeLists.txt
Set a maximum value to zoom level
[lyx.git] / src / frontends / qt4 / 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) 2006-2011 Peter Kümmel, <syntheticpp@gmx.net>
5 #
6
7 project(frontend_qt)
8
9 file(GLOB frontends_qt_sources ${TOP_SRC_DIR}/src/frontends/qt4/${LYX_CPP_FILES})
10 file(GLOB moc_files ${TOP_SRC_DIR}/src/frontends/qt4/${LYX_MOC_FILES})
11
12 list(REMOVE_ITEM frontends_qt_sources ${moc_files} .)
13 list(REMOVE_ITEM frontends_qt_sources ${TOP_SRC_DIR}/src/frontends/qt4/liblyxqt4.cpp)
14 list(REMOVE_ITEM frontends_qt_sources ${TOP_SRC_DIR}/src/frontends/qt4/Resources.cpp)
15
16 file(GLOB frontends_qt_headers ${TOP_SRC_DIR}/src/frontends/qt4/${LYX_HPP_FILES})
17 file(GLOB frontend_qt_UI ${TOP_SRC_DIR}/src/frontends/qt4/ui/*.ui)
18
19 lyx_add_msvc_pch(frontends_qt4)
20
21 lyx_automoc(${frontends_qt_sources})
22
23 lyx_add_ui_files(frontends_qt_sources ui_files ${frontend_qt_UI})
24
25 set(resource_name ${CMAKE_CURRENT_BINARY_DIR}/Resources.qrc)
26
27 add_custom_command(
28         OUTPUT  ${resource_name}
29         COMMAND ${CMAKE_COMMAND}
30                 -DIMAGES_DIR=${TOP_SRC_DIR}/lib/images
31                 -DRESOURCE_NAME=${resource_name}
32                 -DMAPPED_DIR=${TOP_SRC_DIR}/lib/
33                 -DSUFFIX=${LYX_INSTALL_SUFFIX}
34                 -P ${TOP_SCRIPT_PATH}/LyXCreateImagesResource.cmake
35         )
36
37 qt_add_resources(resource_files ${resource_name})
38
39 add_definitions(-DQT_GENUINE_STR -DLYX_BUILD_QT_FRONTEND)
40
41 include_directories(
42         ${TOP_SRC_DIR}/src/frontends/qt4
43         ${QT_INCLUDES}
44         ${CMAKE_CURRENT_BINARY_DIR})
45
46 if(LYX_MERGE_FILES)
47         lyx_const_touched_files(_allinone frontends_qt_sources)
48         set(depends_moc_uic ${frontends_qt_headers} ${ui_files})
49         set_source_files_properties(_allinone_const.C PROPERTIES OBJECT_DEPENDS "${depends_moc_uic}")
50         set_source_files_properties(_allinone_touched.C PROPERTIES OBJECT_DEPENDS "${depends_moc_uic}")
51         add_library(frontend_qt ${library_type}
52                 ${_allinone_files} ${frontends_qt_headers} ${ui_files} ${resource_files})
53 else()
54         add_library(frontend_qt ${library_type} ${frontends_qt_sources} ${frontends_qt_headers} ${ui_files} ${resource_files})
55 endif()
56 set_target_properties(frontend_qt PROPERTIES FOLDER "applications/LyX")
57
58 if(Qt5Core_FOUND AND APPLE)
59        qt_use_modules(frontend_qt Core Gui Widgets Concurrent Svg MacExtras)
60 else()
61        if (Qt5WinExtras_FOUND)
62            qt_use_modules(frontend_qt Core Gui Widgets Concurrent Svg WinExtras)
63        else()
64            qt_use_modules(frontend_qt Core Gui Widgets Concurrent Svg)
65        endif()
66 endif()
67 target_link_libraries(frontend_qt
68         frontends
69         ${QT_QTCORE_LIBRARY}
70         ${QT_QTGUI_LIBRARY})
71
72 lyx_add_gcc_pch(frontend_qt)
73
74 if(WIN32)
75         target_link_libraries(frontend_qt gdi32)
76 endif()
77
78 project_source_group("${GROUP_CODE}" frontends_qt_sources frontends_qt_headers)
79
80 source_group("Uic files" FILES ${frontend_qt_UI})
81