forked from openkylin/ukui-menu
50 lines
1.5 KiB
CMake
50 lines
1.5 KiB
CMake
project(recent-file-extension LANGUAGES CXX)
|
|
|
|
cmake_minimum_required(VERSION 3.16)
|
|
|
|
set(CMAKE_CXX_STANDARD 11)
|
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
|
set(CMAKE_INCLUDE_CURRENT_DIR ON)
|
|
|
|
set(CMAKE_AUTOMOC ON)
|
|
set(CMAKE_AUTORCC ON)
|
|
|
|
find_package(Qt5 COMPONENTS
|
|
Core Gui Widgets Quick LinguistTools DBus
|
|
REQUIRED)
|
|
|
|
include_directories(../../src/extension)
|
|
set(SOURCE recent-file-extension.cpp recent-file-extension.h)
|
|
|
|
find_package(PkgConfig REQUIRED)
|
|
set(EXTERNAL_LIBS "")
|
|
set(PC_PKGS glib-2.0 gio-unix-2.0)
|
|
|
|
foreach(lib IN ITEMS ${PC_PKGS})
|
|
pkg_check_modules(${lib} REQUIRED ${lib})
|
|
if(${${lib}_FOUND})
|
|
include_directories(${${lib}_INCLUDE_DIRS})
|
|
link_directories(${${lib}_LIBRARY_DIRS})
|
|
list(APPEND EXTERNAL_LIBS ${${lib}_LIBRARIES})
|
|
endif()
|
|
endforeach()
|
|
|
|
set(QRC_FILES qml/qml.qrc)
|
|
# 翻译文件
|
|
file(GLOB TS_FILES "translations/*.ts")
|
|
# 更新翻译并创建.qm文件
|
|
qt5_create_translation(QM_FILES ${PROJECT_SOURCE_DIR} ${TS_FILES})
|
|
|
|
set(RECENT_FILE_TRANSLATION_DIR "${UKUI_MENU_TRANSLATION_DIR}/${PROJECT_NAME}")
|
|
add_compile_definitions(RECENT_FILE_TRANSLATION_DIR="${RECENT_FILE_TRANSLATION_DIR}")
|
|
|
|
add_library(${PROJECT_NAME} SHARED ${SOURCE} ${QM_FILES} ${QRC_FILES})
|
|
target_link_libraries(${PROJECT_NAME} PRIVATE
|
|
Qt5::Core Qt5::Gui Qt5::Widgets Qt5::Quick Qt5::DBus
|
|
${EXTERNAL_LIBS}
|
|
${UKUI_MENU_LIBRARY_NAME}
|
|
)
|
|
|
|
install(TARGETS ${PROJECT_NAME} LIBRARY DESTINATION "${UKUI_MENU_EXTENSION_DIR}")
|
|
install(FILES ${QM_FILES} DESTINATION "${RECENT_FILE_TRANSLATION_DIR}")
|