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)