Commit ab36b445 authored by Boudewijn Rempt's avatar Boudewijn Rempt

Add cmake external projects for all dependencies

Qt is supposed to be built/installed separately because building Qt from
a complex cmake externals tree almost always fails somewhere.

Also missing are curl and libssh2 which are optional dependencies for
g'mic. poppler/freetype/fontconfig doesn't work on Linux yet, fontconfig
cannot find a locally installed freetype.

The internal dependencies graph isn't really filled in yet, because
trying to build all deps in one almost always fails anyway -- better
build the deps by hand or provide your own bat or sh script for that.

This now works on Linux; check 3rdparty/description for a small
howto. Next phase are adapting to OSX and Windows...
parent 4b83e054
project (krita-and-all-its-deps)
#
# Build all dependencies for Krita and finally Krita itself.
# Parameters: EXTERNALS_DOWNLOAD_DIR place to download all packagfes
# INSTALL_ROOT place to install everything to
# WIN64_BUILD=TRUE/FALSE Whether it's a win64 build: false is default
#
# Example usage: cmake ..\kritadeposx -DEXTERNALS_DOWNLOAD_DIR=/dev2/d -DINSTALL_ROOT=/dev2/i -DWIN64_BUILD=TRUE -DBOOST_LIBRARYDIR=/dev2/i/lib -G "Visual Studio 11 Win64"
cmake_minimum_required(VERSION 2.8.6)
if (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
message(FATAL_ERROR "Compiling in the source directory is not supported. Use for example 'mkdir build; cd build; cmake ..'.")
endif (CMAKE_SOURCE_DIR STREQUAL CMAKE_BINARY_DIR)
# Tools must be obtained to work with:
include (ExternalProject)
# allow specification of a directory with pre-downloaded
# requirements
if(NOT IS_DIRECTORY ${EXTERNALS_DOWNLOAD_DIR})
message(FATAL_ERROR "No externals download dir set. Use -DEXTERNALS_DOWNLOAD_DIR")
endif()
if(NOT IS_DIRECTORY ${INSTALL_ROOT})
message(FATAL_ERROR "No install dir set. Use -DINSTALL_ROOT")
endif()
set(TOP_INST_DIR ${INSTALL_ROOT})
set(EXTPREFIX "${TOP_INST_DIR}")
set(CMAKE_PREFIX_PATH "${EXTPREFIX}")
if (MSCV)
message("WIN64_BUILD" ${WIN64_BUILD})
endif()
if (WIN64_BUILD STREQUAL "TRUE")
SET(GLOBAL_PROFILE
-DCMAKE_MODULE_LINKER_FLAGS=/machine:x64
-DCMAKE_EXE_LINKER_FLAGS=/machine:x64
-DCMAKE_SHARED_LINKER_FLAGS=/machine:x64
-DCMAKE_STATIC_LINKER_FLAGS=/machine:x64
-DCMAKE_RC_COMPILER = "C:/Program Files (x86)/Windows Kits/8.0/bin/x64/rc.exe"
)
endif ()
message( STATUS "CMAKE_GENERATOR: ${CMAKE_GENERATOR}")
message( STATUS "CMAKE_CL_64: ${CMAKE_CL_64}")
set(GLOBAL_BUILD_TYPE RelWithDebInfo)
set(GLOBAL_PROFILE -DBUILD_TESTING=false)
if (MSVC)
set(GLOBAL_PROFILE ${GLOBAL_PROFILE} -DCMAKE_EXE_LINKER_FLAGS=/PROFILE -DCMAKE_SHARED_LINKER_FLAGS=/PROFILE)
set(PATCH_COMMAND myptch)
endif()
if (MSYS)
set(GLOBAL_PROFILE ${GLOBAL_PROFILE} -DCMAKE_TOOLCHAIN_FILE=/data/mxe/mxe/usr/i686-w64-mingw32/share/cmake/mxe-conf.cmake
-DCMAKE_FIND_PREFIX_PATH=${CMAKE_PREFIX_PATH}
-DCMAKE_SYSTEM_INCLUDE_PATH=${CMAKE_PREFIX_PATH}/include
-DCMAKE_INCLUDE_PATH=${CMAKE_PREFIX_PATH}/include
-DCMAKE_LIBRARY_PATH=${CMAKE_PREFIX_PATH}/lib
-DZLIB_ROOT=${CMAKE_PREFIX_PATH}
)
set(GLOBAL_AUTOMAKE_PROFILE --host=i686-pc-mingw32 )
endif()
if (APPLE)
set(GLOBAL_PROFILE -DMACOS_RPATH=ON
-DCMAKE_MACOSX_RPATH=ON
-DCMAKE_SKIP_BUILD_RPATH=TRUE
-DCMAKE_BUILD_WITH_INSTALL_RPATH=TRUE
-DCMAKE_INSTALL_RPATH_USE_LINK_PATH=TRUE
)
set(PATCH_COMMAND patch)
endif ()
if (UNIX AND NOT APPLE)
set(LINUX true)
set(PATCH_COMMAND patch)
endif ()
# this list must be dependency-ordered
if (MSVC)
add_subdirectory( ext_patch )
add_subdirectory( ext_png2ico )
endif (MSVC)
add_subdirectory( ext_zlib )
add_subdirectory( ext_iconv )
add_subdirectory( ext_libxml2 )
add_subdirectory( ext_libxslt )
add_subdirectory( ext_boost )
add_subdirectory( ext_jpeg )
add_subdirectory( ext_tiff )
add_subdirectory( ext_png )
add_subdirectory( ext_eigen3 )
add_subdirectory( ext_expat ) # for exiv2
add_subdirectory( ext_exiv2 )
add_subdirectory( ext_ilmbase )
add_subdirectory( ext_lcms2 )
add_subdirectory( ext_openexr )
add_subdirectory( ext_vc )
add_subdirectory( ext_gsl )
add_subdirectory( ext_fftw3 )
add_subdirectory( ext_ocio )
add_subdirectory( ext_openjpeg )
if (MSVC)
add_subdirectory( ext_pthreads )
endif (MSVC)
add_subdirectory( ext_freetype)
if (LINUX)
add_subdirectory( ext_fontconfig)
endif()
add_subdirectory( ext_poppler )
add_subdirectory( ext_libraw )
add_subdirectory( ext_frameworks )
= CMake external projects to build krita's dependencies on Linux, Windows or OSX =
If you need to build Krita's dependencies for the following reasons:
* you develop on Windows
* you develop on OSX and aren't using Homebrew
* you want to build a generic, distro-agnostic version of Krita for Linux
* you develop on Linux, but some dependencies aren't available for your distribution
and you know what you're doing, you can use the following guide to build
the dependencies that Krita needs.
If you develop on Linux and your distribution has the dependencies available,
YOU DO NOT NEED THIS GUIDE AND YOU STOP READING NOW
== Prerequisites ==
Note: on all operating systems the entire procedure is done in a terminal window.
1. git: https://git-scm.com/downloads. Make sure git is in your path
2. cmake: https://cmake.org/download/. Make sure cmake is in your path.
3. Make sure you have a compiler:
* Linux: gcc, minimum version 4.5
* OSX: clang, you need to install xcode for this
* Windows: MSVC 2015 Community Edition: https://www.visualstudio.com/en-us/products/visual-studio-community-vs.aspx
4. On linux, install nasm (for libjpeg-turbo)
== Setup your environment ==
== Prepare your directory layout ==
1. Make a toplevel build directory, say $HOME/dev or c:\dev. We'll refer to this directory as BUILDROOT
2. Checkout krita in BUILDROOT
cd BUILDROOT
git clone git://anongit.kde.org/krita.git
3. Create the build directory
mkdir BUILDROOT/b
4. Create the downloads directory
mkdir BUILDROOT/d
5. Create the install directory
mkdir BUILDROOT/i
== Qt ==
Install Qt. Either build from source or with the qt.io installer. Make sure qmake is in your path.
When installing from source, you can use these example configure commands:
* Linux:
./configure \
-skip qt3d \
-skip qtactiveqt \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdoc \
-skip qtenginio \
-skip qtgraphicaleffects \
-skip qtlocation \
-skip qtmultimedia \
-skip qtsensors \
-skip qtserialport \
-skip qtwayland \
-skip qtwebchannel \
-skip qtwebengine \
-skip qtwebkit \
-skip qtwebkit-examples \
-skip qtwebsockets \
-skip qtxmlpatterns \
-opensource -confirm-license -release \
-no-qml-debug -no-mtdev -no-journald \
-no-openssl -no-libproxy \
-no-pulseaudio -no-alsa -no-nis \
-no-cups -no-tslib -no-pch \
-no-dbus -no-gstreamer -no-system-proxies \
-no-openssl -no-libproxy -no-pulseaudio \
-qt-xcb -xcb -qt-freetype -qt-harfbuzz \
-qt-pcre -qt-xkbcommon-x11 -xcb-xlib \
-prefix $BUILDROOT/i
make -j8
* OSX
* Windows
== Prepare the externals build ==
1. enter the BUILDROOT/b directory
2. run cmake:
* Linux:
cmake ../krita/3rdparty -DINSTALL_ROOT=$BUILDROOT/i -DEXTERNALS_DOWNLOAD_DIR=$BUILDROOT/d -DCMAKE_INSTALL_PREFIX=$BUILDROOT/i
* OSX:
* Windows 32 bits:
* Windows 64 bits:
3. build the packages:
With a judicious application of DEPENDS statements, it's possible to build it all in one go, but in my experience that fails anyway, so it's better to build the dependencies indepdendently.
On Windows:
cmake --build . --config RelWithDebInfo --target ext_patch
cmake --build . --config RelWithDebInfo --target ext_png2ico
cmake --build . --config RelWithDebInfo --target ext_phtreads
On all operating systems:
cmake --build . --config RelWithDebInfo --target ext_boost
cmake --build . --config RelWithDebInfo --target ext_eigen3
cmake --build . --config RelWithDebInfo --target ext_exiv2
cmake --build . --config RelWithDebInfo --target ext_fftw3
cmake --build . --config RelWithDebInfo --target ext_ilmbase
cmake --build . --config RelWithDebInfo --target ext_jpeg
cmake --build . --config RelWithDebInfo --target ext_lcms2
cmake --build . --config RelWithDebInfo --target ext_ocio
cmake --build . --config RelWithDebInfo --target ext_openexr
cmake --build . --config RelWithDebInfo --target ext_png
cmake --build . --config RelWithDebInfo --target ext_tiff
cmake --build . --config RelWithDebInfo --target ext_vc
cmake --build . --config RelWithDebInfo --target ext_libraw
cmake --build . --config RelWithDebInfo --target ext_openjpeg
On Windows
cmake --build . --config RelWithDebInfo --target ext_freetype
cmake --build . --config RelWithDebInfo --target ext_poppler
cmake --build . --config RelWithDebInfo --target ext_kwindowsystem
On Linux
cmake --build . --config RelWithDebInfo --target ext_kcrash
Note: poppler should be buildable on Linux as well with a home-built freetype
and fontconfig, but I don't know how to make fontconfig find freetype, and on
Linux, fontconfig is needed for poppler. Poppler is needed for PDF import.
Note 2: libcurl still isn't available.
== Build Krita ==
1. Make a krita build directory:
mkdir BUILDROOT/build
2. Enter the BUILDROOT/build
3. Run
cmake ../krita -DCMAKE_INSTALL_PREFIX=BUILDROOT/i -DDEFINE_NO_DEPRECATED=1
4. Run make
5. Run make install
6. Run krita:
On Linux
BUILDROOT/i/bin/krita
On Windows
BUILDROOT\i\bin\krita.exe
On OSX
BUILDROOT/i/bin/krita.app/Contents/MacOS/krita
SET(PREFIX_ext_boost "${EXTPREFIX}" )
if (MSVC)
if (WIN64_BUILD)
ExternalProject_Add(
ext_boost
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/boost_1_55_0.tar.bz2
URL_MD5 d6eef4b4cacb2183f2bf265a5a03a354
CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.bat --prefix=${PREFIX_ext_boost}
BUILD_COMMAND <SOURCE_DIR>/b2.exe --with-system --build-dir=build-dir --prefix=${PREFIX_ext_boost} toolset=msvc variant=release link=shared threading=multi architecture=x86 address-model=64 variant=release install
INSTALL_COMMAND ""
INSTALL_DIR ${EXTPREFIX_boost}
UPDATE_COMMAND ""
ALWAYS 0
BUILD_IN_SOURCE 1
)
else()
ExternalProject_Add(
ext_boost
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/boost_1_55_0.tar.bz2
URL_MD5 d6eef4b4cacb2183f2bf265a5a03a354
CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.bat --prefix=${PREFIX_ext_boost}
BUILD_COMMAND <SOURCE_DIR>/b2.exe --with-system --build-dir=build-dir --prefix=${PREFIX_ext_boost} toolset=msvc variant=release link=shared threading=multi architecture=x86 variant=release install
INSTALL_COMMAND ""
INSTALL_DIR ${EXTPREFIX_boost}
UPDATE_COMMAND ""
ALWAYS 0
BUILD_IN_SOURCE 1
)
endif()
else()
ExternalProject_Add( ext_boost
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/boost_1_55_0.tar.bz2
URL_MD5 d6eef4b4cacb2183f2bf265a5a03a354
CONFIGURE_COMMAND <SOURCE_DIR>/bootstrap.sh --prefix=${PREFIX_ext_boost} --with-libraries=system
BUILD_COMMAND <SOURCE_DIR>/b2 install
INSTALL_COMMAND ""
INSTALL_DIR ${PREFIX_ext_boost}
UPDATE_COMMAND ""
ALWAYS 0
BUILD_IN_SOURCE 1
)
endif()
SET(EXTPREFIX_eigen3 "${EXTPREFIX}" )
ExternalProject_Add( ext_eigen3
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/eigen3-3.2.6.tar.gz
URL_MD5 9f93bfc14ba0816220c9674e99b8c418
INSTALL_DIR ${EXTPREFIX_eigen3}
PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/dart.diff
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_eigen3} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
UPDATE_COMMAND ""
ALWAYS 0
)
SET(PREFIX_ext_exiv2 "${EXTPREFIX}" )
ExternalProject_Add( ext_exiv2
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/exiv2-0.25.tar.gz
URL_MD5 258d4831b30f75a01e0234065c6c2806
INSTALL_DIR ${PREFIX_ext_exiv2}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_exiv2} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DEXIV2_ENABLE_BUILD_SAMPLES=OFF -DEXIV2_ENABLE_BUILD_PO=OFF -DEXIV2_ENABLE_NLS=OFF -DICONV_INCLUDE_DIR=${PREFIX_ext_exiv2}/include
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_iconv ext_zlib ext_expat
)
SET(PREFIX_ext_expat "${EXTPREFIX}" )
if (MSCV)
ExternalProject_Add( ext_expat
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/expat-2.1.0.tar.gz
URL_MD5 dd7dab7a5fea97d2a6a43f511449b7cd
PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/expat-2.1.0-20130311.diff
INSTALL_DIR ${PREFIX_ext_expat}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_expat} -DBUILD_tests=OFF -DBUILD_examples=OFF -DBUILD_tools=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_patch
)
else()
ExternalProject_Add( ext_expat
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/expat-2.1.0.tar.gz
URL_MD5 dd7dab7a5fea97d2a6a43f511449b7cd
INSTALL_DIR ${PREFIX_ext_expat}
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX_ext_expat} ${GLOBAL_AUTOMAKE_PROFILE}
BUILD_COMMAND make
INSTALL_COMMAND make install
UPDATE_COMMAND ""
ALWAYS 0
)
endif()
SET(PREFIX_ext_fftw3 "${EXTPREFIX}" )
if (MSVC)
if (WIN64_BUILD STREQUAL "TRUE")
ExternalProject_Add( ext_fftw3
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll64.zip
URL_MD5 c4ec1e6d84e7a8b1cd61121d11d44ee4
INSTALL_DIR ${PREFIX_ext_fftw3}
CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying fftw3 64 binary
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory bin ${PREFIX_ext_fftw3}
COMMAND ${CMAKE_COMMAND} -E copy_directory lib ${PREFIX_ext_fftw3}
COMMAND ${CMAKE_COMMAND} -E copy_directory include ${PREFIX_ext_fftw3}
UPDATE_COMMAND ""
ALWAYS 0
)
else()
ExternalProject_Add( ext_fftw3
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll32.zip
URL_MD5 03754fe2a7fbaf983b0cc9a728e0a5b3
INSTALL_DIR ${PREFIX_ext_fftw3}
CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying fftw3 32 binary
INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory bin ${PREFIX_ext_fftw3}
COMMAND ${CMAKE_COMMAND} -E copy_directory lib ${PREFIX_ext_fftw3}
COMMAND ${CMAKE_COMMAND} -E copy_directory include ${PREFIX_ext_fftw3}
UPDATE_COMMAND ""
ALWAYS 0
)
endif()
else (MSVC)
ExternalProject_Add( ext_fftw3
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4.tar.gz
URL_MD5 2edab8c06b24feeb3b82bbb3ebf3e7b3
INSTALL_DIR ${PREFIX_ext_fftw3}
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX_ext_fftw3} ${GLOBAL_AUTOMAKE_PROFILE} --enable-static=false --enable-shared=yes
BUILD_COMMAND make
INSTALL_COMMAND make install
UPDATE_COMMAND ""
ALWAYS 0
)
endif (MSVC)
# -*- coding: utf-8 -*-
import info
class subinfo( info.infoclass ):
def setTargets( self ):
self.targets[ '3.2.2' ] = 'http://www.fftw.org/fftw-3.2.2.tar.gz'
self.targetDigests[ '3.2.2' ] = 'd43b799eedfb9408f62f9f056f5e8a645618467b'
self.targetInstSrc[ '3.2.2' ] = "fftw-3.2.2"
self.patchToApply[ '3.2.2' ] = [ ( 'fftw-3.2.2-20111221.diff', 1 ),
( 'fftw-3.2.2-20130818.diff', 1 ) ]
self.shortDescription = "a C subroutine library for computing the discrete Fourier transform (DFT)"
self.defaultTarget = '3.2.2'
def setDependencies( self ):
self.buildDependencies[ 'virtual/base' ] = 'default'
from Package.CMakePackageBase import *
class Package( CMakePackageBase ):
def __init__( self ):
CMakePackageBase.__init__( self )
self.supportsNinja = False
self.subinfo.options.configure.defines = "-DFFTW_SINGLE=ON -DFFTW_DOUBLE=OFF -DBUILD_BENCHMARKS=OFF"
SET(PREFIX_ext_fontconfig "${EXTPREFIX}" )
ExternalProject_Add( ext_fontconfig
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/fontconfig-2.11.94.tar.gz
URL_MD5 479be870c7f83f15f87bac085b61d641
CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${PREFIX_ext_fontconfig} ${GLOBAL_AUTOMAKE_PROFILE}
BUILD_COMMAND make
INSTALL_COMMAND make install
UPDATE_COMMAND ""
ALWAYS 0
)
SET(EXTPREFIX_frameworks "${EXTPREFIX}" )
#
# All needed frameworks:
#
# Archive
# Config
# WidgetsAddons
# Completion
# CoreAddons
# GuiAddons
# I18n
# ItemModels
# ItemViews
# WindowSystem
# On Linux:
# KCrash
ExternalProject_Add(
ext_extra_cmake_modules
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/extra-cmake-modules-5.17.0.zip
URL_MD5 c302bb1771b7c366c6eeebf3742b2f54
INSTALL_DIR ${EXTPREFIX_frameworks}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
${GLOBAL_PROFILE}
-DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
-DBUILD_TESTING=false
UPDATE_COMMAND ""
ALWAYS 0
)
ExternalProject_Add(
ext_karchive
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/karchive-5.17.0.zip
URL_MD5 d6bf0fcb6dbcffe1328b75f427593fd0
INSTALL_DIR ${EXTPREFIX_frameworks}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
${GLOBAL_PROFILE}
-DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
-DBUILD_TESTING=false
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_extra_cmake_modules
)
ExternalProject_Add(
ext_kconfig
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/kconfig-5.17.0.zip
URL_MD5 f321e98ce591fdb3632e04c770a5b0c6
INSTALL_DIR ${EXTPREFIX_frameworks}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
${GLOBAL_PROFILE}
-DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
-DDEFINE_NO_DEPRECATED=1
-DBUILD_TESTING=false
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_karchive
)
ExternalProject_Add(
ext_kwidgetsaddons
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/kwidgetsaddons-5.17.0.zip
URL_MD5 bd32206b1973a3a13e7c405f135479c7
INSTALL_DIR ${EXTPREFIX_frameworks}
PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/kwidgetsaddons.diff
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
${GLOBAL_PROFILE}
-DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
-DDEFINE_NO_DEPRECATED=1
-DBUILD_TESTING=false
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_kconfig
)
ExternalProject_Add(
ext_kcompletion
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/kcompletion-5.17.0.zip
URL_MD5 f853f34a8bb8433ced2d7c46148361ce
INSTALL_DIR ${EXTPREFIX_frameworks}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
${GLOBAL_PROFILE}
-DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
-DDEFINE_NO_DEPRECATED=1
-DBUILD_TESTING=false
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_kwidgetsaddons
)
ExternalProject_Add(
ext_kcoreaddons
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/kcoreaddons-5.17.0.zip
URL_MD5 75145cb1bc3a78fe4f13ce4383e76947
INSTALL_DIR ${EXTPREFIX_frameworks}
PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/desktoptojson.diff
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
${GLOBAL_PROFILE}
-DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
-DDEFINE_NO_DEPRECATED=1
-DBUILD_TESTING=false
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_kcompletion
)
ExternalProject_Add(
ext_kguiaddons
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/kguiaddons-5.17.0.zip
URL_MD5 43b49b25d3ee9025d7172033d255e3b5
INSTALL_DIR ${EXTPREFIX_frameworks}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_frameworks}
-DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE}
${GLOBAL_PROFILE}
-DCMAKE_SYSTEM_PREFIX_PATH=${EXTPREFIX}
-DDEFINE_NO_DEPRECATED=1
-DBUILD_TESTING=false
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_kcoreaddons
)
ExternalProject_Add(