forked from lxqt/lxqt-panel
-
Notifications
You must be signed in to change notification settings - Fork 0
/
BuildPlugin.cmake
76 lines (62 loc) · 2.46 KB
/
BuildPlugin.cmake
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
MACRO (BUILD_LXQT_PLUGIN NAME)
set(PROGRAM "lxqt-panel")
project(${PROGRAM}_${NAME})
set(PROG_SHARE_DIR ${CMAKE_INSTALL_PREFIX}/share/lxqt/${PROGRAM})
set(PLUGIN_SHARE_DIR ${PROG_SHARE_DIR}/${NAME})
# Translations **********************************
include(LxQtTranslate)
lxqt_translate_ts(${PROJECT_NAME}_QM_FILES
SOURCES
${HEADERS}
${SOURCES}
${MOCS}
${UIS}
TS_SRC_FILE
translations/${NAME}.ts.src
INSTALLATION_DIR
${CMAKE_INSTALL_PREFIX}/share/lxqt/${PROGRAM}/${NAME}
)
#lxqt_translate_to(QM_FILES ${CMAKE_INSTALL_PREFIX}/share/lxqt/${PROGRAM}/${PROJECT_NAME})
file (GLOB ${PROJECT_NAME}_DESKTOP_FILES_IN resources/*.desktop.in)
lxqt_translate_desktop(DESKTOP_FILES
SOURCES
${${PROJECT_NAME}_DESKTOP_FILES_IN}
)
#************************************************
file (GLOB CONFIG_FILES resources/*.conf )
include_directories (
${CMAKE_CURRENT_SOURCE_DIR}/panel
${CMAKE_CURRENT_BINARY_DIR}
)
if (NOT DEFINED PLUGIN_DIR)
set (PLUGIN_DIR ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX}/${PROGRAM}/)
endif (NOT DEFINED PLUGIN_DIR)
if(USE_QT5)
qt5_wrap_cpp(MOC_SOURCES ${MOCS})
qt5_add_resources(QRC_SOURCES ${RESOURCES})
qt5_wrap_ui(UI_SOURCES ${UIS})
set(QTX_LIBRARIES Qt5::Widgets)
if(QT_USE_QTXML)
set(QTX_LIBRARIES ${QTX_LIBRARIES} Qt5::Xml)
endif()
if(QT_USE_QTDBUS)
set(QTX_LIBRARIES ${QTX_LIBRARIES} Qt5::DBus)
endif()
else()
qt4_wrap_cpp(MOC_SOURCES ${MOCS})
qt4_add_resources(QRC_SOURCES ${RESOURCES})
qt4_wrap_ui(UI_SOURCES ${UIS})
set(QTX_LIBRARIES ${QT_CORE_LIBRARY} ${QT_GUI_LIBRARY})
if(QT_USE_QTXML)
set(QTX_LIBRARIES ${QTX_LIBRARIES} ${QT_XML_LIBRARY})
endif()
if(QT_USE_QTDBUS)
set(QTX_LIBRARIES ${QTX_LIBRARIES} ${QT_DBUS_LIBRARY})
endif()
endif()
add_library(${NAME} MODULE ${HEADERS} ${SOURCES} ${MOC_SOURCES} ${${PROJECT_NAME}_QM_FILES} ${QRC_SOURCES} ${UIS} ${DESKTOP_FILES})
target_link_libraries(${NAME} ${QTX_LIBRARIES} ${LXQT_LIBRARIES} ${LIBRARIES})
install(TARGETS ${NAME} DESTINATION ${PLUGIN_DIR})
install(FILES ${CONFIG_FILES} DESTINATION ${PLUGIN_SHARE_DIR})
install(FILES ${DESKTOP_FILES} DESTINATION ${PROG_SHARE_DIR})
ENDMACRO(BUILD_LXQT_PLUGIN)