git repos / SagoImageBrowser

blame: CMakeLists.txt

normal view · raw

032aa1e1 Poul Sander 2026-02-19 18:55 1
cmake_minimum_required(VERSION 3.21)
29db91d7 Poul Sander 2026-02-23 19:08 2
project(SagoImageBrowser LANGUAGES CXX)
032aa1e1 Poul Sander 2026-02-19 18:55 3
032aa1e1 Poul Sander 2026-02-19 18:55 4
set(CMAKE_CXX_STANDARD 17)
032aa1e1 Poul Sander 2026-02-19 18:55 5
set(CMAKE_AUTOMOC ON)
032aa1e1 Poul Sander 2026-02-19 18:55 6
997c3caf Poul Sander 2026-05-31 13:07 7
include(GNUInstallDirs)
997c3caf Poul Sander 2026-05-31 13:07 8
4c41f5ff Poul Sander 2026-05-31 00:01 9
find_package(Qt6 REQUIRED COMPONENTS Widgets LinguistTools)
48534775 Poul Sander 2026-06-08 18:57 10
include(FetchContent)
bbd6685b Poul Sander 2026-06-09 17:35 11
# Build exiv2lib as a static library so it is linked into the executable
bbd6685b Poul Sander 2026-06-09 17:35 12
set(BUILD_SHARED_LIBS OFF CACHE INTERNAL "")
48534775 Poul Sander 2026-06-08 18:57 13
set(EXIV2_BUILD_SAMPLES OFF CACHE INTERNAL "")
48534775 Poul Sander 2026-06-08 18:57 14
set(EXIV2_BUILD_EXIV2_COMMAND OFF CACHE INTERNAL "")
48534775 Poul Sander 2026-06-08 18:57 15
set(EXIV2_BUILD_UNIT_TESTS OFF CACHE INTERNAL "")
48534775 Poul Sander 2026-06-08 18:57 16
set(EXIV2_BUILD_DOC OFF CACHE INTERNAL "")
48534775 Poul Sander 2026-06-08 18:57 17
set(EXIV2_ENABLE_INIH OFF CACHE INTERNAL "")
48534775 Poul Sander 2026-06-08 18:57 18
FetchContent_Declare(
48534775 Poul Sander 2026-06-08 18:57 19
    exiv2
48534775 Poul Sander 2026-06-08 18:57 20
    GIT_REPOSITORY https://github.com/Exiv2/exiv2.git
48534775 Poul Sander 2026-06-08 18:57 21
    GIT_TAG v0.28.8
48534775 Poul Sander 2026-06-08 18:57 22
)
48534775 Poul Sander 2026-06-08 18:57 23
FetchContent_MakeAvailable(exiv2)
48534775 Poul Sander 2026-06-08 18:57 24
48534775 Poul Sander 2026-06-08 18:57 25
# Exiv2 0.28.8 generates this header in the build root but doesn't add it to include paths
48534775 Poul Sander 2026-06-08 18:57 26
target_include_directories(exiv2lib INTERFACE $<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>)
032aa1e1 Poul Sander 2026-02-19 18:55 27
29db91d7 Poul Sander 2026-02-23 19:08 28
qt_add_executable(SagoImageBrowser
323e0142 Poul Sander 2026-02-23 18:56 29
    src/main.cpp
323e0142 Poul Sander 2026-02-23 18:56 30
    src/mainwindow.cpp
323e0142 Poul Sander 2026-02-23 18:56 31
    src/mainwindow.h
323e0142 Poul Sander 2026-02-23 18:56 32
    src/imagemodel.cpp
323e0142 Poul Sander 2026-02-23 18:56 33
    src/imagemodel.h
40efdfde Poul Sander 2026-05-19 21:24 34
    src/fsdirmodel.cpp
40efdfde Poul Sander 2026-05-19 21:24 35
    src/fsdirmodel.h
323e0142 Poul Sander 2026-02-23 18:56 36
    src/thumbnailworker.cpp
323e0142 Poul Sander 2026-02-23 18:56 37
    src/thumbnailworker.h
ac476ca8 Poul Sander 2026-05-18 16:47 38
    src/thumbnailcache.cpp
ac476ca8 Poul Sander 2026-05-18 16:47 39
    src/thumbnailcache.h
323e0142 Poul Sander 2026-02-23 18:56 40
    src/imageviewwidget.cpp
ac476ca8 Poul Sander 2026-05-18 16:47 41
    src/imageviewwidget.h
ac476ca8 Poul Sander 2026-05-18 16:47 42
    src/preferencesdialog.cpp
53fdab93 Poul Sander 2026-05-18 18:45 43
    src/preferencesdialog.h
83f0e0bc Poul Sander 2026-05-30 17:59 44
    src/shortcutmanager.cpp
83f0e0bc Poul Sander 2026-05-30 17:59 45
    src/shortcutmanager.h
53fdab93 Poul Sander 2026-05-18 18:45 46
    src/exifreader.cpp
fd7f51cd Poul Sander 2026-05-22 15:30 47
    src/exifreader.h
fd7f51cd Poul Sander 2026-05-22 15:30 48
    src/pathcompletermodel.cpp
1dcea855 Poul Sander 2026-05-26 21:48 49
    src/pathcompletermodel.h
1dcea855 Poul Sander 2026-05-26 21:48 50
    src/thumbnaildelegate.cpp
1dcea855 Poul Sander 2026-05-26 21:48 51
    src/thumbnaildelegate.h)
032aa1e1 Poul Sander 2026-02-19 18:55 52
aae9a61b Poul Sander 2026-05-31 00:11 53
set_source_files_properties(extra/icons/sago_image_browser.svg PROPERTIES QT_RESOURCE_ALIAS sago_image_browser.svg)
aae9a61b Poul Sander 2026-05-31 00:11 54
qt_add_resources(SagoImageBrowser "icons" PREFIX "/icons" FILES extra/icons/sago_image_browser.svg)
aae9a61b Poul Sander 2026-05-31 00:11 55
48534775 Poul Sander 2026-06-08 18:57 56
target_link_libraries(SagoImageBrowser PRIVATE Qt6::Widgets exiv2lib)
4c41f5ff Poul Sander 2026-05-31 00:01 57
35c3554c Poul Sander 2026-06-07 13:09 58
add_executable(test_exifreader test/test_exifreader.cpp src/exifreader.cpp)
48534775 Poul Sander 2026-06-08 18:57 59
target_include_directories(test_exifreader PRIVATE ${CMAKE_CURRENT_SOURCE_DIR}/src)
48534775 Poul Sander 2026-06-08 18:57 60
target_link_libraries(test_exifreader PRIVATE Qt6::Widgets exiv2lib)
a686d839 Poul Sander 2026-06-06 22:34 61
4c41f5ff Poul Sander 2026-05-31 00:01 62
qt_add_translations(SagoImageBrowser
4c41f5ff Poul Sander 2026-05-31 00:01 63
    TS_FILES translations/da.ts
997c3caf Poul Sander 2026-05-31 13:07 64
    RESOURCE_PREFIX "/translations")
997c3caf Poul Sander 2026-05-31 13:07 65
997c3caf Poul Sander 2026-05-31 13:07 66
install(TARGETS SagoImageBrowser RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR})
997c3caf Poul Sander 2026-05-31 13:07 67
install(FILES extra/sago-image-browser.desktop DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/applications)
997c3caf Poul Sander 2026-05-31 13:07 68
install(FILES extra/icons/sago_image_browser.svg DESTINATION ${CMAKE_INSTALL_DATAROOTDIR}/icons/hicolor/scalable/apps)