Members of the KDE Community are recommended to subscribe to the kde-community mailing list at https://mail.kde.org/mailman/listinfo/kde-community to allow them to participate in important discussions and receive other important announcements

Commit 6677f240 authored by Dmitry Kazakov's avatar Dmitry Kazakov

Merge remote-tracking branch 'origin/master' into krita-testing-kazakov

# Conflicts:
#	krita/ui/KisNodeView.cpp
parents b5f3cc4c 24988c34

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.

......@@ -38,7 +38,6 @@ if (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64")
-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 ()
......
......@@ -23,7 +23,7 @@ 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
* Linux: gcc, minimum version 4.8
* 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
......@@ -31,7 +31,8 @@ Note: on all operating systems the entire procedure is done in a terminal window
== Prepare your directory layout ==
1. Make a toplevel build directory, say $HOME/dev or c:\dev. We'll refer to this directory as BUILDROOT
1. Make a toplevel build directory, say $HOME/dev or c:\dev. We'll refer to this directory as BUILDROOT. You can use a variable for this, on WINDOWS %BUILDROOT%, on OSX and Linux $BUILDROOT.
2. Checkout krita in BUILDROOT
cd BUILDROOT
git clone git://anongit.kde.org/krita.git
......@@ -44,7 +45,7 @@ Note: on all operating systems the entire procedure is done in a terminal window
== Qt ==
Install Qt. Either build from source or with the qt.io installer. Make sure qmake is in your path. You need qtbase, qtsvg, qttools, qtscript, qtdeclarative, qtgraphicaleffects, qttranslations
Install Qt. Either build from source or with the qt.io installer. Make sure qmake is in your path. You need qtbase, qtsvg, qttools, qtscript, qtdeclarative, qtgraphicaleffects, qttranslations. On Windows, you also need qtwinextras, on Linux qtx11extras.
When installing from source, you can use these example configure commands:
......@@ -83,6 +84,34 @@ When installing from source, you can use these example configure commands:
* OSX
./configure \
-skip qt3d \
-skip qtactiveqt \
-skip qtcanvas3d \
-skip qtconnectivity \
-skip qtdeclarative \
-skip qtdoc \
-skip qtenginio \
-skip qtgraphicaleffects \
-skip qtlocation \
-skip qtmultimedia \
-skip qtsensors \
-skip qtserialport \
-skip qtwayland \
-skip qtwebchannel \
-skip qtwebengine \
-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 \
-nomake examples -nomake demos \
-prefix $BUILDROOT/i
* Windows
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 qtwebsockets -skip qtxmlpatterns -opensource -confirm-license -release -no-qml-debug -no-mtdev -no-openssl -no-libproxy -no-nis -no-dbus -no-system-proxies -no-libproxy -opengl desktop -prefix %BUILDROOT%\i
......@@ -122,6 +151,15 @@ On all operating systems:
cmake --build . --config RelWithDebInfo --target ext_eigen3
cmake --build . --config RelWithDebInfo --target ext_exiv2
cmake --build . --config RelWithDebInfo --target ext_fftw3
Note for Windows:
fftw3 is still broken, don't know why. Copy the bin, lib and include folders from
\b\ext_fftw3\ext_fftw3-prefix\src\ext_fftw3
manuall to BUILDROOT\i
cmake --build . --config RelWithDebInfo --target ext_ilmbase
cmake --build . --config RelWithDebInfo --target ext_jpeg
cmake --build . --config RelWithDebInfo --target ext_lcms2
......@@ -140,6 +178,7 @@ Note for Windows:
With MSVC 2015, the boost library has a name that later on makes the libraries unfindable, so you need to copy them.
cd BUILDROOT\i\lib
copy boost_system-vc-mt-1_55.dll boost_system140-mt-1_55.ddl
copy boost_system-vc-mt-1_55.lib boost_system140-mt-1_55.lib
......@@ -200,6 +239,7 @@ On OSX
On Linux and OSX
make
make install
On Windows
cmake --build . --config RelWithDebInfo --target INSTALL
......
SET(PREFIX_ext_boost "${EXTPREFIX}" )
if (MSVC)
if (WIN64_BUILD)
if (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64")
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
URL http://files.kde.org/krita/build/dependencies/boost_1_55_0.zip
URL_MD5 8aca361a4713a1f491b0a5e33fee0f1f
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
......@@ -21,8 +21,8 @@ if (MSVC)
ext_boost
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/boost_1_55_0.tar.bz2
URL_MD5 d6eef4b4cacb2183f2bf265a5a03a354
URL http://files.kde.org/krita/build/dependencies/boost_1_55_0.zip
URL_MD5 8aca361a4713a1f491b0a5e33fee0f1f
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
......
#
# The latest opencolorio doesn't build on Windows without using boost::ptr, but if you build
# it with boost::ptr, you cannot link to it because of missing dll exports, so build an older
# ocio on Windows.
#
SET(EXTPREFIX_ocio "${EXTPREFIX}" )
if (MSVC)
ExternalProject_Add(
ext_ocio
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/opencolorio-a557a85454ee1ffa8cb66f8a96238e079c452f08.tgz
URL_MD5 c7db4cdcac40ab12870cdeb6bbd0b875
PATCH_COMMAND ${PATCH_COMMAND} -binary -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/patch.diff
URL http://files.kde.org/krita/build/dependencies/ext_ocio.zip
URL_MD5 e0bc2c7177dc02bdc82e8f38f52b1058
INSTALL_DIR ${EXTPREFIX_ocio}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_ocio} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} -DOCIO_BUILD_APPS=OFF -DOCIO_BUILD_TRUELIGHT=OFF -DOCIO_BUILD_NUKE=OFF -DOCIO_BUILD_DOCS=OFF -DOCIO_BUILD_TESTS=OFF -DOCIO_BUILD_PYGLUE=OFF -DOCIO_BUILD_STATIC_JNIGLUE=OFF -DOCIO_USE_BOOST_PTR=ON
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_ocio} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} -DOCIO_BUILD_APPS=OFF -DOCIO_BUILD_TRUELIGHT=OFF -DOCIO_BUILD_NUKE=OFF -DOCIO_BUILD_DOCS=OFF -DOCIO_BUILD_TESTS=OFF -DOCIO_BUILD_PYGLUE=OFF -DOCIO_BUILD_STATIC_JNIGLUE=OFF
UPDATE_COMMAND ""
ALWAYS 0
......
......@@ -2,7 +2,7 @@ SET(PREFIX_ext_png2ico "${EXTPREFIX}" )
ExternalProject_Add( ext_png2ico
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/png2ico.zip
URL_MD5 20592f02540607317cec8a3b847c7b1a
URL_MD5 5be668b436990255b75cce4ce03be282
INSTALL_DIR ${PREFIX_ext_png2ico}
CONFIGURE_COMMAND ""
......
......@@ -249,12 +249,6 @@ find_package(Qt5 ${MIN_QT_VERSION}
)
# Note: OPTIONAL_COMPONENTS does not seem to be reliable
# (as of ECM 5.15.0, CMake 3.2)
find_package(Qt5Quick ${MIN_QT_VERSION})
find_package(Qt5DBus ${MIN_QT_VERSION})
set(HAVE_DBUS ${Qt5DBus_FOUND})
set(QT_QTTEST_LIBRARY Qt5::Test)
if (USEOPENGL)
......@@ -269,27 +263,44 @@ include (MacroAddFileDependencies)
macro_ensure_out_of_source_build("Compiling Calligra inside the source directory is not possible. Please refer to the build instruction http://community.kde.org/Calligra/Building/Building_Calligra")
find_package(KF5KIO ${MIN_FRAMEWORKS_VERSION})
macro_bool_to_01(KF5KIO_FOUND HAVE_KIO)
find_package(KF5Crash ${MIN_FRAMEWORKS_VERSION})
macro_bool_to_01(KF5Crash_FOUND HAVE_KCRASH)
find_package(X11)
if(X11_FOUND)
find_package(Qt5 ${MIN_QT_VERSION} REQUIRED NO_MODULE COMPONENTS
X11Extras
)
set(HAVE_X11 TRUE)
add_definitions(-DHAVE_X11)
else()
set(HAVE_X11 FALSE)
endif()
# Note: OPTIONAL_COMPONENTS does not seem to be reliable
# (as of ECM 5.15.0, CMake 3.2)
find_package(Qt5Quick ${MIN_QT_VERSION} QUIET)
macro_log_feature($PQt5Quick_FOUND} "QtQuick" "Qt Quick" "http://www.qt.io" FALSE "" "Necessary to build the tablet gui for Krita")
find_package(Qt5DBus ${MIN_QT_VERSION} QUIET)
set(HAVE_DBUS ${Qt5DBus_FOUND})
macro_log_feature(${Qt5DBus_FOUND} "dbus" "Qt DBUS integration" "http://www.qt.io/" FALSE "" "Optionally used to provide a dbus api on Linux")
find_package(XCB COMPONENTS XCB ATOM)
if(XCB_FOUND)
set(HAVE_XCB TRUE)
if (NOT WIN32 AND NOT APPLE)
find_package(KF5KIO ${MIN_FRAMEWORKS_VERSION} QUIET)
macro_bool_to_01(KF5KIO_FOUND HAVE_KIO)
macro_log_feature(${KF5KIO_FOUND} "KIO" "KDE's KIO Framework" "http://api.kde.org/frameworks-api/frameworks5-apidocs/kio/html/index.html" FALSE "" "Optionally used for recent document handling")
find_package(KF5Crash ${MIN_FRAMEWORKS_VERSION} QUIET)
macro_bool_to_01(KF5Crash_FOUND HAVE_KCRASH)
macro_log_feature(${KF5Crash_FOUND} "kcrash" "KDE's Crash Handler" "http://api.kde.org/frameworks-api/frameworks5-apidocs/kcrash/html/index.html" FALSE "" "Optionally used to provide crash reporting on Linux")
find_package(X11)
if(X11_FOUND)
find_package(Qt5 ${MIN_QT_VERSION} REQUIRED NO_MODULE COMPONENTS X11Extras)
set(HAVE_X11 TRUE)
add_definitions(-DHAVE_X11)
else()