Warning, /utilities/ark/app/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 find_package(KF6BreezeIcons ${KF_DEP_VERSION} QUIET) 0002 0003 add_subdirectory(icons) 0004 add_subdirectory(kconf_update) 0005 0006 include_directories(${CMAKE_BINARY_DIR}) # for version.h generated by cmake 0007 include_directories(${CMAKE_SOURCE_DIR}/part) # for part's interface.h 0008 add_executable(ark) 0009 0010 target_sources(ark PRIVATE 0011 batchextract.cpp 0012 main.cpp 0013 mainwindow.cpp 0014 welcomeview/welcomeview.cpp 0015 welcomeview/recentfilesmodel.cpp 0016 ark.qrc 0017 ) 0018 0019 ecm_qt_declare_logging_category(ark 0020 HEADER ark_debug.h 0021 IDENTIFIER ARK 0022 CATEGORY_NAME ark.main DESCRIPTION "Ark Main" EXPORT ARK) 0023 0024 0025 ki18n_wrap_ui(ark welcomeview/welcomeview.ui) 0026 0027 # For Mac and Windows. 0028 file(GLOB ICONS_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/icons/*-apps-ark.png") 0029 0030 include(ECMAddAppIcon) 0031 ecm_add_app_icon(ark_SRCS ICONS ${ICONS_SRCS}) 0032 0033 0034 target_link_libraries(ark 0035 kerfuffle 0036 KF6::Crash 0037 KF6::DBusAddons 0038 KF6::KIOFileWidgets 0039 KF6::Parts 0040 KF6::WindowSystem 0041 KF6::IconThemes) 0042 0043 if(TARGET KF6::BreezeIcons) 0044 target_link_libraries(ark 0045 KF6::BreezeIcons 0046 ) 0047 target_compile_definitions(ark PRIVATE WITH_BREEZEICONS_LIB) 0048 endif () 0049 0050 # we provide our own Info.plist containing a simple "we open anything" instruction. 0051 if(APPLE) 0052 # own plist template 0053 set_target_properties (ark PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/MacOSXBundleInfo.plist.in) 0054 0055 # the MacOSX bundle display name property (CFBundleDisplayName) is not currently supported by cmake, 0056 # so has to be set for all targets in this cmake file 0057 set(MACOSX_BUNDLE_DISPLAY_NAME Ark) 0058 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "org.kde.Ark") 0059 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Ark") 0060 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_DISPLAY_NAME "Ark") 0061 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_INFO_STRING "Ark - KDE Archiving Tool") 0062 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_LONG_VERSION_STRING "Ark ${RELEASE_SERVICE_VERSION}") 0063 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING "${RELEASE_SERVICE_VERSION}") 0064 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION "${RELEASE_SERVICE_VERSION}") 0065 set_target_properties(ark PROPERTIES MACOSX_BUNDLE_COPYRIGHT "1997-2017, The Ark Developers") 0066 endif() 0067 0068 # Remove duplicate mimetypes from list of supported formats. 0069 list(REMOVE_DUPLICATES SUPPORTED_ARK_MIMETYPES) 0070 0071 configure_file( 0072 ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.ark.desktop.cmake 0073 ${CMAKE_CURRENT_BINARY_DIR}/org.kde.ark.desktop 0074 ) 0075 0076 list(POP_BACK SUPPORTED_ARK_MIMETYPES) 0077 list(JOIN SUPPORTED_ARK_MIMETYPES "\", \"" SUPPORTED_ARK_MIMETYPES_JSON) 0078 0079 configure_file( 0080 ${CMAKE_CURRENT_SOURCE_DIR}/ark_dndextract.json.cmake 0081 ${CMAKE_CURRENT_BINARY_DIR}/ark_dndextract.json 0082 ) 0083 0084 install(TARGETS ark ${KDE_INSTALL_TARGETS_DEFAULT_ARGS}) 0085 install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/org.kde.ark.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0086 install(FILES ${CMAKE_CURRENT_SOURCE_DIR}/org.kde.ark.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR}) 0087 install(FILES arkrc DESTINATION ${KDE_INSTALL_CONFDIR}) 0088 0089 ############ ark_extract_here plugin ############### 0090 0091 set(extracthere_SRCS batchextract.cpp extractHereDndPlugin.cpp ark_debug.cpp) 0092 0093 kcoreaddons_add_plugin(extracthere 0094 SOURCES ${extracthere_SRCS} 0095 INSTALL_NAMESPACE kf6/kio_dnd) 0096 0097 target_link_libraries(extracthere kerfuffle KF6::KIOWidgets KF6::KIOFileWidgets) 0098 0099 # compressfileitemaction plugin 0100 0101 kcoreaddons_add_plugin(compressfileitemaction 0102 SOURCES compressfileitemaction.cpp 0103 INSTALL_NAMESPACE "kf6/kfileitemaction") 0104 0105 target_link_libraries(compressfileitemaction 0106 kerfuffle 0107 KF6::I18n 0108 KF6::KIOWidgets) 0109 0110 # extractfileitemaction plugin 0111 0112 kcoreaddons_add_plugin(extractfileitemaction 0113 SOURCES extractfileitemaction.cpp batchextract.cpp ${CMAKE_CURRENT_BINARY_DIR}/ark_debug.cpp 0114 INSTALL_NAMESPACE "kf6/kfileitemaction") 0115 0116 target_link_libraries(extractfileitemaction 0117 kerfuffle 0118 KF6::I18n 0119 KF6::ConfigGui 0120 KF6::KIOWidgets 0121 KF6::KIOFileWidgets)