Warning, /graphics/krita/krita/CMakeLists.txt is written in an unsupported language. File is not indexed.
0001 add_subdirectory( dtd ) 0002 add_subdirectory( data ) 0003 add_subdirectory( integration ) 0004 # Install the application icons following the freedesktop icon theme spec 0005 add_subdirectory( "pics/branding/${BRANDING}" ) 0006 0007 if (ANDROID) 0008 include_directories (${Qt5AndroidExtras_INCLUDE_DIRS}) 0009 endif() 0010 0011 set(krita_SRCS main.cc) 0012 0013 # Set the application icon on the application 0014 if (NOT APPLE) 0015 file(GLOB ICON_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/*-apps-krita.png") 0016 else() 0017 set(ICON_SRCS 0018 "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/16-apps-krita.png" 0019 "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/32-apps-krita.png" 0020 "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/48-apps-krita.png" 0021 "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/128-apps-krita.png" 0022 "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/256-apps-krita.png" 0023 "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/512-apps-krita.png" 0024 "${CMAKE_CURRENT_SOURCE_DIR}/pics/branding/${BRANDING}/1024-apps-krita.png" 0025 ) 0026 endif() 0027 0028 if (WIN32) 0029 set(krita_windows_stub_ICONS_SRCS "") 0030 ecm_add_app_icon(krita_windows_stub_ICONS_SRCS ICONS ${ICON_SRCS} OUTFILE_BASENAME krita) 0031 0032 # This is used to generate an ICO file for the file icon, We don't actually 0033 # want to embed this icon into an EXE. 0034 file(GLOB krafile_ICON_SRCS "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/*-mimetypes-application-x-krita.png") 0035 set(krafile_dummy_ICONS_SRCS "") 0036 ecm_add_app_icon(krafile_dummy_ICONS_SRCS ICONS ${krafile_ICON_SRCS} OUTFILE_BASENAME kritafile) 0037 add_library(krafile_dummy_obj OBJECT ${krafile_dummy_ICONS_SRCS}) 0038 0039 # These icons are used to replace those in the shell extension package. 0040 install( 0041 FILES 0042 ${CMAKE_CURRENT_BINARY_DIR}/krita.ico 0043 ${CMAKE_CURRENT_BINARY_DIR}/kritafile.ico 0044 DESTINATION ${CMAKE_INSTALL_PREFIX}/installer 0045 ) 0046 else() 0047 ecm_add_app_icon(krita_SRCS ICONS ${ICON_SRCS}) 0048 endif() 0049 0050 # Install the mimetype icons 0051 ecm_install_icons(ICONS 0052 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/16-mimetypes-application-x-krita.png" 0053 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/22-mimetypes-application-x-krita.png" 0054 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/32-mimetypes-application-x-krita.png" 0055 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/48-mimetypes-application-x-krita.png" 0056 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/64-mimetypes-application-x-krita.png" 0057 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/128-mimetypes-application-x-krita.png" 0058 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/256-mimetypes-application-x-krita.png" 0059 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/512-mimetypes-application-x-krita.png" 0060 "${CMAKE_CURRENT_SOURCE_DIR}/pics/mimetypes/1024-mimetypes-application-x-krita.png" 0061 DESTINATION ${KDE_INSTALL_ICONDIR} THEME hicolor) 0062 0063 # separate listing, both used by Krita and KritaSketch 0064 set(krita_QRCS 0065 ${CMAKE_SOURCE_DIR}/krita/krita.qrc 0066 ${CMAKE_SOURCE_DIR}/krita/pics/Breeze-dark/breeze-dark-icons.qrc 0067 ${CMAKE_SOURCE_DIR}/krita/pics/Breeze-light/breeze-light-icons.qrc 0068 ${CMAKE_SOURCE_DIR}/krita/pics/layerbox/layerbox-icons.qrc 0069 ${CMAKE_SOURCE_DIR}/krita/pics/layers/layers-icons.qrc 0070 ${CMAKE_SOURCE_DIR}/krita/pics/misc-light/misc-light-icons.qrc 0071 ${CMAKE_SOURCE_DIR}/krita/pics/misc-dark/misc-dark-icons.qrc 0072 ${CMAKE_SOURCE_DIR}/krita/pics/paintops/paintops-icons.qrc 0073 ${CMAKE_SOURCE_DIR}/krita/pics/tools/SVG/16/tools-svg-16-icons.qrc 0074 ${CMAKE_SOURCE_DIR}/krita/pics/tool_transform/tool-transform-icons.qrc 0075 ${CMAKE_SOURCE_DIR}/krita/pics/svg/svg-icons.qrc 0076 ${CMAKE_SOURCE_DIR}/libs/flake/flake.qrc 0077 ${CMAKE_SOURCE_DIR}/libs/widgets/kritawidgets.qrc 0078 ${CMAKE_SOURCE_DIR}/pics/icons.qrc 0079 ${CMAKE_SOURCE_DIR}/krita/data/aboutdata/aboutdata.qrc 0080 ${CMAKE_SOURCE_DIR}/krita/data/shaders/shaders.qrc 0081 ${CMAKE_SOURCE_DIR}/krita/data/cursors/cursors.qrc 0082 ${CMAKE_SOURCE_DIR}/krita/data/gamutmasks/gamutmasks.qrc 0083 ${CMAKE_SOURCE_DIR}/plugins/paintops/defaultpresets/defaultpresets.qrc 0084 ${CMAKE_SOURCE_DIR}/krita/pics/branding/${BRANDING}/branding.qrc 0085 ${CMAKE_SOURCE_DIR}/krita/data/splash/splash.qrc 0086 ${CMAKE_SOURCE_DIR}/krita/banner/banner.qrc 0087 ${CMAKE_SOURCE_DIR}/krita/pics/sponsors/sponsors.qrc 0088 CACHE INTERNAL "krita_QRCS" 0089 ) 0090 0091 qt5_add_resources(krita_SRCS ${krita_QRCS}) 0092 0093 if (ANDROID) 0094 kis_add_library(krita SHARED ${krita_SRCS}) 0095 target_link_libraries(krita PRIVATE Qt5::AndroidExtras) 0096 elseif (WIN32) 0097 # Build the main implementation into a DLL to be called by a stub EXE. 0098 kis_add_library(krita SHARED ${krita_SRCS}) 0099 set_target_properties(krita PROPERTIES PREFIX "") 0100 else() 0101 add_executable(krita ${krita_SRCS}) 0102 endif() 0103 target_link_libraries(krita 0104 PRIVATE 0105 kritamultiarch 0106 kritaui 0107 Qt5::Core 0108 Qt5::Gui 0109 Qt5::Widgets 0110 Qt5::Xml 0111 Qt5::Network 0112 Qt5::PrintSupport 0113 Qt5::Svg 0114 Qt5::Concurrent) 0115 if(HAVE_KCRASH) 0116 target_link_libraries(krita PRIVATE KF5::Crash) 0117 endif() 0118 0119 if (APPLE) 0120 set(KRITA_VERSION_NUMBER_STRING "${KRITA_STABLE_VERSION_MAJOR}.${KRITA_STABLE_VERSION_MINOR}.${KRITA_VERSION_RELEASE}") 0121 set_target_properties(krita PROPERTIES INSTALL_RPATH "@loader_path/../../../../lib;@loader_path/../lib; 0122 @loader_path/../Frameworks;@executable_path/../../../../lib;@executable_path/../lib;@executable_path/../Frameworks") 0123 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_INFO_PLIST ${CMAKE_CURRENT_SOURCE_DIR}/Info.plist.template) 0124 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_GUI_IDENTIFIER "org.krita") 0125 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_BUNDLE_NAME "Krita") 0126 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_ICON_FILE "krita_SRCS.icns") 0127 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_LONG_VERSION_STRING ${KRITA_VERSION_STRING}) 0128 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_SHORT_VERSION_STRING ${KRITA_VERSION_NUMBER_STRING}) 0129 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_BUNDLE_VERSION ${KRITA_VERSION_NUMBER_STRING}) 0130 set_target_properties(krita PROPERTIES MACOSX_BUNDLE_COPYRIGHT "GNU Public License, V2 or, at your option, any later version.") 0131 endif () 0132 0133 if (NOT ANDROID) 0134 set(KRITAVERSION_SRCS kritaversion.cpp) 0135 add_executable(krita_version ${KRITAVERSION_SRCS}) 0136 target_link_libraries(krita_version 0137 PRIVATE 0138 Qt5::Core 0139 kritaversion 0140 ) 0141 0142 0143 install(TARGETS krita_version ${INSTALL_TARGETS_DEFAULT_ARGS}) 0144 0145 if(APPLE) 0146 set_target_properties(krita_version PROPERTIES INSTALL_RPATH "@loader_path/../Frameworks;@executable_path/../lib;@executable_path/../Frameworks") 0147 set_property(TARGET krita_version PROPERTY MACOSX_BUNDLE OFF) 0148 endif () 0149 endif() 0150 0151 0152 install(TARGETS krita ${INSTALL_TARGETS_DEFAULT_ARGS}) 0153 install(FILES org.kde.krita.desktop DESTINATION ${KDE_INSTALL_APPDIR}) 0154 install(FILES krita.action kritamenu.action DESTINATION ${DATA_INSTALL_DIR}/krita/actions) 0155 install(FILES org.kde.krita.appdata.xml DESTINATION ${KDE_INSTALL_METAINFODIR} ) 0156 0157 install(DIRECTORY DESTINATION ${DATA_INSTALL_DIR}/krita/shortcuts) 0158 0159 if (WIN32) 0160 configure_file(versioninfo.rc.in ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc) 0161 configure_file(krita.exe.manifest.in ${CMAKE_CURRENT_BINARY_DIR}/krita.exe.manifest) 0162 if (MINGW) 0163 # CMake does not know how to embed manifest on mingw, so we create our own RC file to be included 0164 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/krita.exe.manifest.rc "1 24 \"krita.exe.manifest\"\n") 0165 set(KRITA_MANIFEST_SRC ${CMAKE_CURRENT_BINARY_DIR}/krita.exe.manifest.rc) 0166 else() 0167 set(KRITA_MANIFEST_SRC 0168 ${CMAKE_CURRENT_BINARY_DIR}/krita.exe.manifest) 0169 endif() 0170 add_executable(krita_windows_stub_exe 0171 windows_stub_main.cpp 0172 ${krita_windows_stub_ICONS_SRCS} 0173 ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc 0174 ${KRITA_MANIFEST_SRC} 0175 ) 0176 target_link_libraries(krita_windows_stub_exe PRIVATE krita Qt5::WinMain) 0177 set_target_properties(krita_windows_stub_exe 0178 PROPERTIES 0179 OUTPUT_NAME "krita" 0180 ) 0181 if (MSVC) 0182 target_link_options(krita_windows_stub_exe PRIVATE "/DEBUG:NONE") 0183 endif() 0184 install(TARGETS krita_windows_stub_exe ${INSTALL_TARGETS_DEFAULT_ARGS}) 0185 0186 add_executable(krita_windows_stub_com 0187 windows_stub_main.cpp 0188 ${CMAKE_CURRENT_BINARY_DIR}/versioninfo.rc 0189 ${KRITA_MANIFEST_SRC} 0190 ) 0191 target_link_libraries(krita_windows_stub_com PRIVATE krita) 0192 set_target_properties(krita_windows_stub_com 0193 PROPERTIES 0194 WIN32_EXECUTABLE false 0195 OUTPUT_NAME "krita" 0196 SUFFIX ".com" 0197 ) 0198 if (MSVC) 0199 target_link_options(krita_windows_stub_com PRIVATE "/DEBUG:NONE") 0200 # If MSVC uses incremental linking, it will race the database 0201 # for krita.exe with the one for krita.com. 0202 add_dependencies(krita_windows_stub_com krita_windows_stub_exe) 0203 endif() 0204 install(TARGETS krita_windows_stub_com ${INSTALL_TARGETS_DEFAULT_ARGS}) 0205 endif (WIN32)