cmake_minimum_required(VERSION 3.16) project(screenshot-gallery VERSION 1.0.0 LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) find_package(Qt6 REQUIRED COMPONENTS Core Gui Widgets Sql Concurrent) # Add resources file set(RESOURCE_FILES resources.qrc ) set(PROJECT_SOURCES src/main.cpp src/mainwindow.cpp src/mainwindow.h src/imagegallery.cpp src/imagegallery.h src/databasemanager.cpp src/databasemanager.h src/settingsdialog.cpp src/settingsdialog.h src/updatedatabasedialog.cpp src/updatedatabasedialog.h ) add_executable(screenshot-gallery ${PROJECT_SOURCES} ${RESOURCE_FILES}) # Install icons to standard system locations install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-64.png" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/64x64/apps" RENAME "orcs-gallery.png") install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-128.png" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/128x128/apps" RENAME "orcs-gallery.png") install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-256.png" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/256x256/apps" RENAME "orcs-gallery.png") install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/icons/orcs-gallery-512.png" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/icons/hicolor/512x512/apps" RENAME "orcs-gallery.png") target_link_libraries(screenshot-gallery PRIVATE Qt6::Core Qt6::Gui Qt6::Widgets Qt6::Sql Qt6::Concurrent ) install(TARGETS screenshot-gallery BUNDLE DESTINATION . RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR} ) # Install desktop file install(FILES "${CMAKE_CURRENT_SOURCE_DIR}/screenshot-gallery.desktop" DESTINATION "${CMAKE_INSTALL_PREFIX}/share/applications")