cmake_minimum_required(VERSION 3.16) project(qt5-style-ukui) set(CMAKE_AUTOUIC ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_CXX_STANDARD 11) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(QT_MIN_VERSION "5.12.0") set(KF5_MIN_VERSION "5.66.0") set(CMAKE_MODULE_PATH ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules ${CMAKE_CURRENT_SOURCE_DIR}/cmake/kde-modules ${CMAKE_MODULE_PATH}) # QtCreator supports the following variables for Android, which are identical to qmake Android variables. # Check http://doc.qt.io/qt-5/deployment-android.html for more information. # They need to be set before the find_package(Qt5 ...) call. #if(ANDROID) # set(ANDROID_PACKAGE_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/android") # if (ANDROID_ABI STREQUAL "armeabi-v7a") # set(ANDROID_EXTRA_LIBS # ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libcrypto.so # ${CMAKE_CURRENT_SOURCE_DIR}/path/to/libssl.so) # endif() #endif() find_package(Qt5Gui) message(${imported_location}) set(LIB_PATH ${imported_location}) get_filename_component(PARENT_PATH "${LIB_PATH}" PATH) get_filename_component(PARENT_PATH "${PARENT_PATH}" PATH) message("qt5-style-ukui PARENT_PATH: ${PARENT_PATH}") find_package(Qt5 ${QT_MIN_VERSION} CONFIG REQUIRED COMPONENTS DBus Widgets X11Extras ) include_directories(${Qt5Widgets_PRIVATE_INCLUDE_DIRS}) include_directories(${Qt5Gui_PRIVATE_INCLUDE_DIRS}) find_package(KF5WindowSystem ${KF5_MIN_VERSION} CONFIG REQUIRED COMPONENTS) find_package(KF5Wayland CONFIG REQUIRED COMPONENTS) find_package(PkgConfig) pkg_check_modules(Qsettings REQUIRED gsettings-qt) pkg_check_modules(KYSDKCONF2 REQUIRED kysdk-conf2) include_directories(${Qsettings_INCLUDE_DIRS}) #file(GLOB_RECURSE native_srcs /qt5-config-style-ukui/*.cpp) if (KYSDKCONF2_FOUND) include_directories(${KYSDKCONF2_INCLUDE_DIRS}) link_directories(${KYSDKCONF2_LIBRARY_DIRS}) endif() file(GLOB_RECURSE Header "*.h" "*.hpp" ) file(GLOB_RECURSE Src "*.cpp" "*.c") SOURCE_GROUP("header" FILES ${Header}) SOURCE_GROUP("src" FILES ${Src}) file(GLOB_RECURSE Json "*.json") source_group(TREE ${CMAKE_CURRENT_SOURCE_DIR} FILES ${Header} ${Src} ${Json}) include_directories(../libqt5-ukui-style) add_library(${PROJECT_NAME} MODULE ${Header} ${Src} ${Json}) target_include_directories(${PROJECT_NAME} PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/libqt5-ukui-style/animations) target_link_libraries(${PROJECT_NAME} PRIVATE Qt5::Widgets Qt5::DBus Qt5::Gui Qt5::X11Extras KF5::WaylandClient KF5::WindowSystem xcb ${XCB_LIBS} gsettings-qt qt5-ukui-style ${KYSDKCONF2_LIBRARIES} ) #add_subdirectory(qt5-config-style-ukui) add_definitions(-DQT5UKUIPLATFORMTHEME_LIBRARY) add_definitions(-DQT_DEPRECATED_WARNINGS) add_definitions(-DQT_MESSAGELOGCONTEXT) if(UNIX) set(TARGET_PATH "${PARENT_PATH}/styles") MESSAGE("libukui-styles TARGET_PATH: ${TARGET_PATH}") install(TARGETS ${PROJECT_NAME} DESTINATION ${TARGET_PATH}) set(JSON_PATH "/usr/share/qt5-ukui-platformtheme/themeconfig/") file(GLOB_RECURSE JSON_FILES0 "qt5-config-style-ukui/themeconfig/*.json") install(FILES ${JSON_FILES0} DESTINATION ${JSON_PATH}) install(FILES ${JSON_FILES1} DESTINATION ${JSON_PATH}) endif()