Warning, /utilities/ark/app/CMakeLists.txt is written in an unsupported language. File is not indexed.

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