Warning, /graphics/koko/src/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 # SPDX-FileCopyrightText: 2014 Vishesh Handa <vhanda@kde.org> 0002 # SPDX-FileCopyrightText: 2019 Nicolas Fella <nicolas.fella@gmx.de> 0003 # SPDX-FileCopyrightText: 2021 Carl Schwan <carl@carlschwan.eu> 0004 # SPDX-License-Identifier: LGPL-2.1-or-later 0005 # 0006 # Common Library 0007 # 0008 set(LIB_SRCS 0009 imagestorage.cpp 0010 exiv2extractor.cpp 0011 filesystemimagefetcher.cpp 0012 ${LIB_SRCS} 0013 ) 0014 0015 add_library(kokocommon SHARED ${LIB_SRCS}) 0016 target_link_libraries(kokocommon 0017 Qt::Core 0018 Qt::Positioning 0019 Qt::Sql 0020 Qt::Svg 0021 KF6::CoreAddons 0022 KF6::DBusAddons 0023 KF6::FileMetaData 0024 KF6::ConfigGui 0025 KF6::ConfigCore 0026 LibExiv2::LibExiv2 0027 ) 0028 0029 generate_export_header(kokocommon BASE_NAME KOKO EXPORT_FILE_NAME koko_export.h) 0030 set_target_properties(kokocommon PROPERTIES 0031 VERSION 0.0.1 0032 SOVERSION 0.0.1 0033 ) 0034 0035 install(TARGETS kokocommon EXPORT KokoLibraryTargets ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0036 0037 # 0038 # Application 0039 # 0040 0041 set(koko_SRCS 0042 main.cpp 0043 openfilemodel.cpp 0044 reversegeocoder.cpp 0045 filesystemtracker.cpp 0046 processor.cpp 0047 committimer.cpp 0048 imageprocessorrunnable.cpp 0049 vectorimage.cpp 0050 controller.cpp 0051 kdtree.cpp 0052 filemenu.h 0053 filemenu.cpp 0054 resources.qrc 0055 ) 0056 0057 kconfig_add_kcfg_files(koko_SRCS kokoconfig.kcfgc GENERATE_MOC) 0058 0059 add_executable(koko ${koko_SRCS}) 0060 0061 target_link_libraries(koko 0062 Qt::Quick 0063 Qt::Widgets 0064 Qt::Qml 0065 Qt::Positioning 0066 KF6::ConfigCore 0067 KF6::I18n 0068 KF6::CoreAddons 0069 KF6::KIOCore 0070 KF6::KIOWidgets 0071 KF6::ConfigWidgets 0072 kokocommon 0073 ) 0074 0075 target_include_directories(koko PRIVATE ${CMAKE_BINARY_DIR}) 0076 0077 if(ANDROID) 0078 target_link_libraries(koko Qt::AndroidExtras) 0079 else() 0080 target_link_libraries(koko KF6::WindowSystem) 0081 endif() 0082 0083 target_compile_definitions(koko PRIVATE $<$<OR:$<CONFIG:Debug>,$<CONFIG:RelWithDebInfo>>:QT_QML_DEBUG>) 0084 0085 install(TARGETS koko ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0086 0087 # 0088 # QML Plugin 0089 # 0090 set (qml_plugin_SRCS 0091 qmlplugins.cpp 0092 dirmodelutils.cpp 0093 openfilemodel.cpp 0094 imagelocationmodel.cpp 0095 imagefavoritesmodel.cpp 0096 imagetagsmodel.cpp 0097 imagetimemodel.cpp 0098 imagefoldermodel.cpp 0099 sortmodel.cpp 0100 imagelistmodel.cpp 0101 notificationmanager.cpp 0102 types.cpp 0103 roles.cpp 0104 fileinfo.cpp 0105 displaycolorspace.cpp 0106 ) 0107 0108 add_library (kokoqmlplugin SHARED ${qml_plugin_SRCS}) 0109 0110 target_link_libraries (kokoqmlplugin 0111 Qt6::Qml 0112 KF6::KIOCore 0113 KF6::KIOFileWidgets 0114 KF6::KIOWidgets 0115 KF6::GuiAddons 0116 KF6::I18n 0117 KF6::Notifications 0118 kokocommon 0119 ) 0120 0121 install (TARGETS kokoqmlplugin DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/koko) 0122 install (FILES qmldir DESTINATION ${KDE_INSTALL_QMLDIR}/org/kde/koko) 0123 install (FILES org.kde.koko.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0124 0125 # FIXME this needs to be adapted for Qt6 0126 if (TARGET XCB::XCB) 0127 target_compile_definitions(kokoqmlplugin PRIVATE HAVE_X11) 0128 target_link_libraries(kokoqmlplugin XCB::XCB Qt6::GuiPrivate) 0129 endif() 0130 0131 # 0132 # Reverse GeoLookup Data 0133 # 0134 # Packagers can download the file and put it in the tarball 0135 if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/cities1000.zip) 0136 file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/cities1000.zip DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 0137 endif() 0138 0139 if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/cities1000.zip) 0140 file (DOWNLOAD "http://download.geonames.org/export/dump/cities1000.zip" 0141 ${CMAKE_CURRENT_BINARY_DIR}/cities1000.zip 0142 SHOW_PROGRESS 0143 STATUS status 0144 ) 0145 list(GET status 0 status_code) 0146 if(NOT status_code EQUAL 0) 0147 message(FATAL_ERROR "You need to download some files separately. See the packaging section of README.md.") 0148 endif() 0149 endif() 0150 0151 execute_process( 0152 COMMAND ${CMAKE_COMMAND} -E tar -xzf ${CMAKE_CURRENT_BINARY_DIR}/cities1000.zip 0153 WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} 0154 ) 0155 0156 if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/admin1CodesASCII.txt) 0157 file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/admin1CodesASCII.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 0158 endif() 0159 0160 if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/admin1CodesASCII.txt) 0161 file (DOWNLOAD "http://download.geonames.org/export/dump/admin1CodesASCII.txt" 0162 ${CMAKE_CURRENT_BINARY_DIR}/admin1CodesASCII.txt 0163 SHOW_PROGRESS 0164 STATUS status 0165 ) 0166 list(GET status 0 status_code) 0167 if(NOT status_code EQUAL 0) 0168 message(FATAL_ERROR "You need to download some files separately. See the packaging section of README.md.") 0169 endif() 0170 endif() 0171 file(RENAME ${CMAKE_CURRENT_BINARY_DIR}/admin1CodesASCII.txt ${CMAKE_CURRENT_BINARY_DIR}/admin1Codes.txt) 0172 0173 if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/admin2Codes.txt) 0174 file(COPY ${CMAKE_CURRENT_SOURCE_DIR}/admin2Codes.txt DESTINATION ${CMAKE_CURRENT_BINARY_DIR}) 0175 endif() 0176 0177 if (NOT EXISTS ${CMAKE_CURRENT_BINARY_DIR}/admin2Codes.txt) 0178 file (DOWNLOAD "http://download.geonames.org/export/dump/admin2Codes.txt" 0179 ${CMAKE_CURRENT_BINARY_DIR}/admin2Codes.txt 0180 SHOW_PROGRESS 0181 STATUS status 0182 ) 0183 list(GET status 0 status_code) 0184 if(NOT status_code EQUAL 0) 0185 message(FATAL_ERROR "You need to download some files separately. See the packaging section of README.md.") 0186 endif() 0187 endif() 0188 0189 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/cities1000.txt DESTINATION ${KDE_INSTALL_DATADIR}/koko) 0190 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/admin1Codes.txt DESTINATION ${KDE_INSTALL_DATADIR}/koko) 0191 install (FILES ${CMAKE_CURRENT_BINARY_DIR}/admin2Codes.txt DESTINATION ${KDE_INSTALL_DATADIR}/koko) 0192 install (FILES countries.csv DESTINATION ${KDE_INSTALL_DATADIR}/koko) 0193 install (FILES koko.notifyrc DESTINATION ${KDE_INSTALL_KNOTIFYRCDIR})