File: BuildPlugin.cmake

package info (click to toggle)
lxqt-panel 2.2.2-1
  • links: PTS, VCS
  • area: main
  • in suites: forky, sid
  • size: 16,076 kB
  • sloc: cpp: 27,654; xml: 798; makefile: 19
file content (66 lines) | stat: -rw-r--r-- 2,038 bytes parent folder | download
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
MACRO (BUILD_LXQT_PLUGIN NAME)
    set(PROGRAM "lxqt-panel")
    project(${PROGRAM}_${NAME})

    set(PROG_SHARE_DIR ${CMAKE_INSTALL_FULL_DATAROOTDIR}/lxqt/${PROGRAM})
    set(PLUGIN_SHARE_DIR ${PROG_SHARE_DIR}/${NAME})

    # Translations **********************************
    lxqt_translate_ts(${PROJECT_NAME}_QM_FILES
        UPDATE_TRANSLATIONS ${UPDATE_TRANSLATIONS}
        SOURCES
            ${HEADERS}
            ${SOURCES}
            ${MOCS}
            ${UIS}
        TEMPLATE
            ${NAME}
        INSTALL_DIR
            ${LXQT_TRANSLATIONS_DIR}/${PROGRAM}/${NAME}
    )

    #lxqt_translate_to(QM_FILES ${CMAKE_INSTALL_FULL_DATAROOTDIR}/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}
        USE_YAML
    )

    lxqt_plugin_translation_loader(QM_LOADER ${NAME} "lxqt-panel")
    #************************************************

    file (GLOB CONFIG_FILES resources/*.conf)

    if (NOT DEFINED PLUGIN_DIR)
        set (PLUGIN_DIR ${CMAKE_INSTALL_FULL_LIBDIR}/${PROGRAM})
    endif (NOT DEFINED PLUGIN_DIR)

    list(FIND STATIC_PLUGINS ${NAME} IS_STATIC)
    set(SRC
        ${HEADERS}
        ${SOURCES}
        ${QM_LOADER}
        ${MOC_SOURCES}
        ${${PROJECT_NAME}_QM_FILES}
        ${RESOURCES}
        ${UIS}
        ${DESKTOP_FILES}
    )
    if (${IS_STATIC} EQUAL -1) # not static
        add_library(${NAME} MODULE ${SRC}) # build dynamically loadable modules
        install(TARGETS ${NAME} DESTINATION ${PLUGIN_DIR}) # install the *.so file
    else() # static
        add_library(${NAME} STATIC ${SRC}) # build statically linked lib
    endif()
    target_link_libraries(${NAME}
        Qt6::Widgets
        lxqt
        ${LIBRARIES}
        KF6::WindowSystem
    )

    install(FILES ${CONFIG_FILES}  DESTINATION ${PLUGIN_SHARE_DIR})
    install(FILES ${DESKTOP_FILES} DESTINATION ${PROG_SHARE_DIR})

ENDMACRO(BUILD_LXQT_PLUGIN)