169 lines
5.1 KiB
CMake
Raw Normal View History

2024-06-29 11:52:32 +06:00
include_directories(
${CMAKE_CURRENT_SOURCE_DIR}/..
)
# For lib/gwenviewconfig.h and config-gwenview.h
include_directories(
${CMAKE_CURRENT_BINARY_DIR}/..
)
set(gwenview_SRCS
abstractcontextmanageritem.cpp
alignwithsidebarwidgetaction.cpp
configdialog.cpp
gvcore.cpp
documentinfoprovider.cpp
viewmainpage.cpp
fileoperations.cpp
filtercontroller.cpp
folderviewcontextmanageritem.cpp
fullscreencontent.cpp
infocontextmanageritem.cpp
imagemetainfodialog.cpp
imageopscontextmanageritem.cpp
fileopscontextmanageritem.cpp
main.cpp
mainwindow.cpp
spotlightmode.cpp
preloader.cpp
renamedialog.cpp
saveallhelper.cpp
savebar.cpp
sidebar.cpp
startmainpage.cpp
thumbnailviewhelper.cpp
browsemainpage.cpp
gwenview.qrc
abstractcontextmanageritem.h
alignwithsidebarwidgetaction.h
configdialog.h
gvcore.h
documentinfoprovider.h
viewmainpage.h
fileoperations.h
filtercontroller.h
folderviewcontextmanageritem.h
fullscreencontent.h
infocontextmanageritem.h
imagemetainfodialog.h
imageopscontextmanageritem.h
fileopscontextmanageritem.h
mainwindow.h
spotlightmode.h
preloader.h
renamedialog.h
saveallhelper.h
savebar.h
sidebar.h
startmainpage.h
thumbnailviewhelper.h
browsemainpage.h
)
ecm_qt_declare_logging_category(gwenview_SRCS HEADER gwenview_app_debug.h IDENTIFIER GWENVIEW_APP_LOG CATEGORY_NAME org.kde.kdegraphics.gwenview.app DESCRIPTION "gwenview app (kdegraphics)" EXPORT GWENVIEW)
# need by GV_RETURN_VALUE_IF_FAIL
ecm_qt_declare_logging_category(gwenview_SRCS HEADER gwenview_lib_debug.h IDENTIFIER GWENVIEW_LIB_LOG CATEGORY_NAME org.kde.kdegraphics.gwenview.lib DESCRIPTION "gwenview lib (kdegraphics)" EXPORT GWENVIEW)
if (NOT GWENVIEW_SEMANTICINFO_BACKEND_NONE)
set (gwenview_SRCS
${gwenview_SRCS}
semanticinfocontextmanageritem.cpp
semanticinfocontextmanageritem.h
)
endif()
kde_source_files_enable_exceptions(
main.cpp
)
ki18n_wrap_ui(gwenview_SRCS
advancedconfigpage.ui
fullscreenconfigwidget.ui
generalconfigpage.ui
imageviewconfigpage.ui
renamedialog.ui
semanticinfodialog.ui
startmainpage.ui
browsemainpage.ui
)
if (NOT GWENVIEW_SEMANTICINFO_BACKEND_NONE)
ki18n_wrap_ui(gwenview_SRCS
semanticinfosidebaritem.ui
)
endif()
file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/../icons/*-apps-gwenview.png")
ecm_add_app_icon(gwenview_SRCS ICONS ${ICONS_SRCS})
add_executable(gwenview ${gwenview_SRCS})
target_link_libraries(gwenview
KF6::ItemModels
KF6::WidgetsAddons
KF6::GuiAddons
gwenviewlib
)
if (HAVE_KACTIVITIES)
if (QT_MAJOR_VERSION STREQUAL "6")
target_link_libraries(gwenview Plasma::Activities)
else()
target_link_libraries(gwenview KF5::Activities)
endif()
endif()
if (KF6Purpose_FOUND)
target_link_libraries(gwenview KF6::PurposeWidgets)
endif()
target_link_libraries(gwenview LINK_INTERFACE_LIBRARIES KF6::KIOCore Qt::Core)
if (HAVE_TIFF)
target_link_libraries(gwenview TIFF::TIFF)
endif()
if (APPLE)
# own plist template
set_target_properties (gwenview PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/MacOSXBundleInfo.plist.in)
# the MacOSX bundle display name property (CFBundleDisplayName) is not currently supported by cmake,
# so has to be set for all targets in this cmake file
set(MACOSX_BUNDLE_DISPLAY_NAME Gwenview5)
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.gwenview")
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Gwenview5")
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_DISPLAY_NAME "Gwenview5")
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_INFO_STRING "Gwenview, KDE Image Viewer")
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_LONG_VERSION_STRING "Gwenview ${RELEASE_SERVICE_VERSION}")
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING "${KDE_APPLICATIONS_VERSION_MAJOR}.${RELEASE_SERVICE_VERSION_MINOR}")
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION "${RELEASE_SERVICE_VERSION}")
set_target_properties(gwenview PROPERTIES MACOSX_BUNDLE_COPYRIGHT "2002-2016 The Gwenview Authors")
endif (APPLE)
configure_file(org.kde.gwenview.desktop.cmake ${CMAKE_CURRENT_BINARY_DIR}/org.kde.gwenview.desktop)
install(TARGETS gwenview
${KDE_INSTALL_TARGETS_DEFAULT_ARGS})
install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.gwenview.desktop
DESTINATION ${KDE_INSTALL_APPDIR})
install(FILES org.kde.gwenview.appdata.xml
DESTINATION ${KDE_INSTALL_METAINFODIR})
# slideshowfileitemaction plugin
add_definitions(-DTRANSLATION_DOMAIN=\"gwenview\")
kcoreaddons_add_plugin(slideshowfileitemaction
SOURCES slideshowfileitemaction.cpp slideshowfileitemaction.h
INSTALL_NAMESPACE "kf6/kfileitemaction")
target_link_libraries(slideshowfileitemaction
KF6::I18n
KF6::KIOWidgets
KF6::Notifications)
if(kImageAnnotator-Qt6_FOUND)
target_link_libraries(gwenview kImageAnnotator::kImageAnnotator)
endif()