]> git.lyx.org Git - lyx.git/blob - src/frontends/qt4/CMakeLists.txt
Cmake build:
[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_qt4)
8
9 file(GLOB frontends_qt4_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_qt4_sources ${moc_files} .)
13 list(REMOVE_ITEM frontends_qt4_sources ${TOP_SRC_DIR}/src/frontends/qt4/liblyxqt4.cpp)
14 list(REMOVE_ITEM frontends_qt4_sources ${TOP_SRC_DIR}/src/frontends/qt4/Resources.cpp)
15
16 file(GLOB frontends_qt4_headers ${TOP_SRC_DIR}/src/frontends/qt4/${LYX_HPP_FILES})
17 file(GLOB frontend_qt4_UI ${TOP_SRC_DIR}/src/frontends/qt4/ui/*.ui)
18
19 lyx_add_msvc_pch(frontends_qt4)
20
21 lyx_automoc(${frontends_qt4_sources})
22
23 lyx_add_ui_files(frontends_qt4_sources ui_files ${frontend_qt4_UI})
24
25 file(GLOB_RECURSE frontend_qt4_images_png      ${TOP_SRC_DIR}/lib/images/*.png)
26 file(GLOB_RECURSE frontend_qt4_images_gif      ${TOP_SRC_DIR}/lib/images/*.gif)
27 set(resource_name ${CMAKE_CURRENT_BINARY_DIR}/Resources.qrc)
28 set(frontend_qt4_images ${frontend_qt4_images_png} ${frontend_qt4_images_gif})
29
30 #lyx_qt_resources_file(${resource_name} "${TOP_SRC_DIR}/lib/" frontend_qt4_images)
31
32 add_custom_command(
33         OUTPUT  ${resource_name}
34         COMMAND ${CMAKE_COMMAND}
35                 -DIMAGES_DIR=${TOP_SRC_DIR}/lib/images
36                 -DRESOURCE_NAME=${resource_name}
37                 -DMAPPED_DIR=${TOP_SRC_DIR}/lib/
38                 -P ${TOP_SRC_DIR}/development/cmake/modules/LyXCreateImagesResource.cmake
39         )
40
41 add_custom_target(Resources.qrc DEPENDS ${resource_name})
42
43 qt4_add_resources(resource_files ${resource_name})
44
45
46 add_definitions(-DQT_GENUINE_STR -DLYX_BUILD_QT4_FRONTEND)
47
48 include_directories(
49         ${TOP_SRC_DIR}/src/frontends/qt4
50         ${QT_INCLUDES}
51         ${CMAKE_CURRENT_BINARY_DIR})
52
53 if(LYX_MERGE_FILES)
54         lyx_const_touched_files(_allinone frontends_qt4_sources)
55         set(depends_moc_uic ${frontends_qt4_headers} ${ui_files})
56         set_source_files_properties(_allinone_const.C PROPERTIES OBJECT_DEPENDS "${depends_moc_uic}")
57         set_source_files_properties(_allinone_touched.C PROPERTIES OBJECT_DEPENDS "${depends_moc_uic}")
58         add_library(frontend_qt4 ${library_type}
59                 ${_allinone_files} ${frontends_qt4_headers} ${ui_files} ${resource_files})
60 else()
61         add_library(frontend_qt4 ${library_type} ${frontends_qt4_sources} ${frontends_qt4_headers} ${ui_files} ${resource_files})
62 endif()
63
64
65 target_link_libraries(frontend_qt4
66         frontends
67         ${QT_QTCORE_LIBRARY}
68         ${QT_QTGUI_LIBRARY})
69
70 lyx_add_gcc_pch(frontend_qt4)
71
72 if(WIN32)
73         target_link_libraries(frontend_qt4 Gdi32)
74 endif()
75
76 project_source_group("${GROUP_CODE}" frontends_qt4_sources frontends_qt4_headers)
77
78 source_group("Uic files" FILES ${frontend_qt4_UI})
79