Commit 505d234c authored by Boudewijn Rempt's avatar Boudewijn Rempt

Various build fixes for the dependencies on Windows

And extensive extra notes in the readme for cross-platform builds
parent e3ddbc8f
...@@ -32,11 +32,7 @@ set(TOP_INST_DIR ${INSTALL_ROOT}) ...@@ -32,11 +32,7 @@ set(TOP_INST_DIR ${INSTALL_ROOT})
set(EXTPREFIX "${TOP_INST_DIR}") set(EXTPREFIX "${TOP_INST_DIR}")
set(CMAKE_PREFIX_PATH "${EXTPREFIX}") set(CMAKE_PREFIX_PATH "${EXTPREFIX}")
if (MSCV) if (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64")
message("WIN64_BUILD" ${WIN64_BUILD})
endif()
if (WIN64_BUILD STREQUAL "TRUE")
SET(GLOBAL_PROFILE SET(GLOBAL_PROFILE
-DCMAKE_MODULE_LINKER_FLAGS=/machine:x64 -DCMAKE_MODULE_LINKER_FLAGS=/machine:x64
-DCMAKE_EXE_LINKER_FLAGS=/machine:x64 -DCMAKE_EXE_LINKER_FLAGS=/machine:x64
......
...@@ -44,97 +44,129 @@ Note: on all operating systems the entire procedure is done in a terminal window ...@@ -44,97 +44,129 @@ Note: on all operating systems the entire procedure is done in a terminal window
== Qt == == Qt ==
Install Qt. Either build from source or with the qt.io installer. Make sure qmake is in your path. 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
When installing from source, you can use these example configure commands: When installing from source, you can use these example configure commands:
* Linux: * Linux:
./configure \ ./configure \
-skip qt3d \ -skip qt3d \
-skip qtactiveqt \ -skip qtactiveqt \
-skip qtcanvas3d \ -skip qtcanvas3d \
-skip qtconnectivity \ -skip qtconnectivity \
-skip qtdoc \ -skip qtdoc \
-skip qtenginio \ -skip qtenginio \
-skip qtgraphicaleffects \ -skip qtgraphicaleffects \
-skip qtlocation \ -skip qtlocation \
-skip qtmultimedia \ -skip qtmultimedia \
-skip qtsensors \ -skip qtsensors \
-skip qtserialport \ -skip qtserialport \
-skip qtwayland \ -skip qtwayland \
-skip qtwebchannel \ -skip qtwebchannel \
-skip qtwebengine \ -skip qtwebengine \
-skip qtwebkit \ -skip qtwebkit \
-skip qtwebkit-examples \ -skip qtwebkit-examples \
-skip qtwebsockets \ -skip qtwebsockets \
-skip qtxmlpatterns \ -skip qtxmlpatterns \
-opensource -confirm-license -release \ -opensource -confirm-license -release \
-no-qml-debug -no-mtdev -no-journald \ -no-qml-debug -no-mtdev -no-journald \
-no-openssl -no-libproxy \ -no-openssl -no-libproxy \
-no-pulseaudio -no-alsa -no-nis \ -no-pulseaudio -no-alsa -no-nis \
-no-cups -no-tslib -no-pch \ -no-cups -no-tslib -no-pch \
-no-dbus -no-gstreamer -no-system-proxies \ -no-dbus -no-gstreamer -no-system-proxies \
-no-openssl -no-libproxy -no-pulseaudio \ -no-openssl -no-libproxy -no-pulseaudio \
-qt-xcb -xcb -qt-freetype -qt-harfbuzz \ -qt-xcb -xcb -qt-freetype -qt-harfbuzz \
-qt-pcre -qt-xkbcommon-x11 -xcb-xlib \ -qt-pcre -qt-xkbcommon-x11 -xcb-xlib \
-prefix $BUILDROOT/i -prefix BUILDROOT/i
make -j8 make -j8
* OSX * OSX
* Windows * 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
== Prepare the externals build == == Prepare the externals build ==
1. enter the BUILDROOT/b directory 1. enter the BUILDROOT/b directory
2. run cmake: 2. run cmake:
* Linux: * Linux:
cmake ../krita/3rdparty -DINSTALL_ROOT=$BUILDROOT/i -DEXTERNALS_DOWNLOAD_DIR=$BUILDROOT/d -DCMAKE_INSTALL_PREFIX=$BUILDROOT/i cmake ../krita/3rdparty -DINSTALL_ROOT=BUILDROOT/i -DEXTERNALS_DOWNLOAD_DIR=BUILDROOT/d -DCMAKE_INSTALL_PREFIX=BUILDROOT/i
:
* OSX: * OSX:
* Windows 32 bits: * Windows 32 bits:
* Windows 64 bits: * Windows 64 bits:
Note that the cmake command needs to point to your buildroot like /dev/d, not c:\dev\d.
set PATH=BUILDROOT\i\bin\;BUILDROOT\i\lib;%PATH%
cmake ..\krita\3rdparty -DEXTERNALS_DOWNLOAD_DIR=/dev/d -DINSTALL_ROOT=/dev/i -G "Visual Studio 14 Win64"
3. build the packages: 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. 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: On Windows:
cmake --build . --config RelWithDebInfo --target ext_patch cmake --build . --config RelWithDebInfo --target ext_patch
cmake --build . --config RelWithDebInfo --target ext_png2ico cmake --build . --config RelWithDebInfo --target ext_png2ico
cmake --build . --config RelWithDebInfo --target ext_phtreads cmake --build . --config RelWithDebInfo --target ext_pthreads
On all operating systems: On all operating systems:
cmake --build . --config RelWithDebInfo --target ext_boost cmake --build . --config RelWithDebInfo --target ext_boost
cmake --build . --config RelWithDebInfo --target ext_eigen3 cmake --build . --config RelWithDebInfo --target ext_eigen3
cmake --build . --config RelWithDebInfo --target ext_exiv2 cmake --build . --config RelWithDebInfo --target ext_exiv2
cmake --build . --config RelWithDebInfo --target ext_fftw3 cmake --build . --config RelWithDebInfo --target ext_fftw3
cmake --build . --config RelWithDebInfo --target ext_ilmbase cmake --build . --config RelWithDebInfo --target ext_ilmbase
cmake --build . --config RelWithDebInfo --target ext_jpeg cmake --build . --config RelWithDebInfo --target ext_jpeg
cmake --build . --config RelWithDebInfo --target ext_lcms2 cmake --build . --config RelWithDebInfo --target ext_lcms2
cmake --build . --config RelWithDebInfo --target ext_ocio cmake --build . --config RelWithDebInfo --target ext_ocio
cmake --build . --config RelWithDebInfo --target ext_openexr cmake --build . --config RelWithDebInfo --target ext_openexr
cmake --build . --config RelWithDebInfo --target ext_png
cmake --build . --config RelWithDebInfo --target ext_tiff Note for OSX:
cmake --build . --config RelWithDebInfo --target ext_vc
cmake --build . --config RelWithDebInfo --target ext_libraw On OSX, you need to first build openexr; that will fail; then you need to set the rpath
cmake --build . --config RelWithDebInfo --target ext_openjpeg for the two utilities correctly, then try to build openexr again.
install_name_tool -add_rpath $BUILD_ROOT/i/lib $BUILD_ROOT/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./b44ExpLogTable
install_name_tool -add_rpath $BUILD_ROOT/i/lib $BUILD_ROOT/b/ext_openexr/ext_openexr-prefix/src/ext_openexr-build/IlmImf/./dwaLookups
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.
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
On All operatting systems:
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 and OSX
cmake --build . --config RelWithDebInfo --target ext_kwindowsystem
On Windows On Windows
cmake --build . --config RelWithDebInfo --target ext_freetype (Note: skip this for now if you're using msvc 2015, poppler isn't compatible
cmake --build . --config RelWithDebInfo --target ext_poppler with that compiler yet)
cmake --build . --config RelWithDebInfo --target ext_kwindowsystem cmake --build . --config RelWithDebInfo --target ext_freetype
cmake --build . --config RelWithDebInfo --target ext_poppler
On Linux On Linux
cmake --build . --config RelWithDebInfo --target ext_kcrash cmake --build . --config RelWithDebInfo --target ext_kcrash
Note: poppler should be buildable on Linux as well with a home-built freetype Note: poppler should be buildable on Linux as well with a home-built freetype
...@@ -150,23 +182,38 @@ Note 2: libcurl still isn't available. ...@@ -150,23 +182,38 @@ Note 2: libcurl still isn't available.
2. Enter the BUILDROOT/build 2. Enter the BUILDROOT/build
3. Run 3. Run
On Windows
cmake ..\krita -G"Visual Studio 14 Win64" -DBoost_DEBUG=OFF -DBOOST_INCLUDEDIR=c:\dev\i\include -DBOOST_DEBUG=ON -DBOOST_ROOT=c:\dev\i -DBOOST_LIBRARYDIR=c:\dev\i\lib -DCMAKE_INSTALL_PREFIX=c:\dev\i -DCMAKE_PREFIX_PATH=c:\dev\i -DCMAKE_BUILD_TYPE=RelWithDebInfo -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DHAVE_MEMORY_LEAK_TRACKER=OFF -DPACKAGERS_BUILD=ON -Wno-dev -DDEFINE_NO_DEPRECATED=1...\
On Linux
cmake ../krita -DCMAKE_INSTALL_PREFIX=BUILDROOT/i -DDEFINE_NO_DEPRECATED=1 cmake ../krita -DCMAKE_INSTALL_PREFIX=BUILDROOT/i -DDEFINE_NO_DEPRECATED=1 -DPACKAGERS_BUILD=ON -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF
4. Run make On OSX
5. Run make install
cmake ../krita -DCMAKE_INSTALL_PREFIX=/Users/boud/dev/i -DDEFINE_NO_DEPRECATED=1 -DBUILD_TESTING=OFF -DKDE4_BUILD_TESTS=OFF -DPACKAGERS_BUILD=ON -DBUNDLE_INSTALL_DIR=$HOME/dev/i/bin
4. Run
On Linux and OSX
make
make install
On Windows
cmake --build . --config RelWithDebInfo --target INSTALL
6. Run krita: 6. Run krita:
On Linux On Linux
BUILDROOT/i/bin/krita BUILDROOT/i/bin/krita
On Windows On Windows
BUILDROOT\i\bin\krita.exe BUILDROOT\i\bin\krita.exe
On OSX On OSX
BUILDROOT/i/bin/krita.app/Contents/MacOS/krita BUILDROOT/i/bin/krita.app/Contents/MacOS/krita
...@@ -5,6 +5,8 @@ ExternalProject_Add( ext_exiv2 ...@@ -5,6 +5,8 @@ ExternalProject_Add( ext_exiv2
URL http://files.kde.org/krita/build/dependencies/exiv2-0.25.tar.gz URL http://files.kde.org/krita/build/dependencies/exiv2-0.25.tar.gz
URL_MD5 258d4831b30f75a01e0234065c6c2806 URL_MD5 258d4831b30f75a01e0234065c6c2806
PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/tzname.patch
INSTALL_DIR ${PREFIX_ext_exiv2} 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 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
......
diff --git a/src/localtime.c b/src/localtime.c
index d6533c7..9a096fa 100644
--- a/src/localtime.c
+++ b/src/localtime.c
@@ -105,6 +105,10 @@ struct lsinfo { /* leap second information */
#define MY_TZNAME_MAX 255
#endif /* !defined TZNAME_MAX */
+#ifdef _MSC_VER
+#define tzname _tzname
+#endif
+
struct state {
int leapcnt;
int timecnt;
SET(PREFIX_ext_expat "${EXTPREFIX}" ) SET(PREFIX_ext_expat "${EXTPREFIX}" )
if (MSCV) if (MSVC)
ExternalProject_Add( ext_expat ExternalProject_Add( ext_expat
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/expat-2.1.0.tar.gz URL http://files.kde.org/krita/build/dependencies/expat-2.1.0.tar.gz
......
SET(PREFIX_ext_fftw3 "${EXTPREFIX}" ) SET(PREFIX_ext_fftw3 "${EXTPREFIX}" )
if (MSVC) if (MSVC)
if (WIN64_BUILD STREQUAL "TRUE") if (${CMAKE_GENERATOR} STREQUAL "Visual Studio 14 2015 Win64")
ExternalProject_Add( ext_fftw3 ExternalProject_Add( ext_fftw3
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll64.zip URL http://files.kde.org/krita/build/dependencies/fftw-3.3.4-dll64.zip
......
...@@ -6,7 +6,7 @@ ExternalProject_Add( ...@@ -6,7 +6,7 @@ ExternalProject_Add(
URL http://files.kde.org/krita/build/dependencies/gettext-0.18.tar.gz URL http://files.kde.org/krita/build/dependencies/gettext-0.18.tar.gz
URL_MD5 d52a3e061032a1ed13856d42fc86f0fd URL_MD5 d52a3e061032a1ed13856d42fc86f0fd
PATCH_COMMAND -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/gettext-0.18-20130319.diff PATCH_COMMAND ${PATCH_COMMAND} --binary -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/gettext-0.18-20130319.diff
INSTALL_DIR ${PREFIX_ext_gettext} INSTALL_DIR ${PREFIX_ext_gettext}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_gettext} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_gettext} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
......
...@@ -2,6 +2,18 @@ ...@@ -2,6 +2,18 @@
# From https://github.com/ampl/gsl. which adds CMake support to gsl # From https://github.com/ampl/gsl. which adds CMake support to gsl
# #
SET(EXTPREFIX_gsl "${EXTPREFIX}" ) SET(EXTPREFIX_gsl "${EXTPREFIX}" )
if (MSVC)
ExternalProject_Add(
ext_gsl
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
GIT_REPOSITORY https://github.com/ampl/gsl.git
GIT_TAG 709cc572279e4a56b0e218b834f202c1b3f757af
INSTALL_DIR ${EXTPREFIX_gsl}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_gsl} -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
UPDATE_COMMAND ""
ALWAYS 0
)
else()
ExternalProject_Add( ext_gsl ExternalProject_Add( ext_gsl
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
...@@ -13,3 +25,4 @@ ExternalProject_Add( ext_gsl ...@@ -13,3 +25,4 @@ ExternalProject_Add( ext_gsl
UPDATE_COMMAND "" UPDATE_COMMAND ""
ALWAYS 0 ALWAYS 0
) )
endif()
...@@ -6,7 +6,7 @@ ExternalProject_Add( ext_jpeg ...@@ -6,7 +6,7 @@ ExternalProject_Add( ext_jpeg
URL_MD5 86b0d5f7507c2e6c21c00219162c3c44 URL_MD5 86b0d5f7507c2e6c21c00219162c3c44
INSTALL_DIR ${PREFIX_ext_jpeg} INSTALL_DIR ${PREFIX_ext_jpeg}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_jpeg} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_jpeg} -DWITH_SIMD=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
UPDATE_COMMAND "" UPDATE_COMMAND ""
ALWAYS 0 ALWAYS 0
......
SET(EXTPREFIX_ocio "${EXTPREFIX}" ) SET(EXTPREFIX_ocio "${EXTPREFIX}" )
if (MSVC)
ExternalProject_Add( ExternalProject_Add(
ext_ocio ext_ocio
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/opencolorio-a557a85454ee1ffa8cb66f8a96238e079c452f08.tgz URL http://files.kde.org/krita/build/dependencies/opencolorio-a557a85454ee1ffa8cb66f8a96238e079c452f08.tgz
URL_MD5 c7db4cdcac40ab12870cdeb6bbd0b875 URL_MD5 c7db4cdcac40ab12870cdeb6bbd0b875
PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/patch.diff PATCH_COMMAND ${PATCH_COMMAND} -binary -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/patch.diff
INSTALL_DIR ${EXTPREFIX_ocio} 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 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
UPDATE_COMMAND "" UPDATE_COMMAND ""
ALWAYS 0 ALWAYS 0
DEPENDS ext_boost DEPENDS ext_boost
) )
else()
ExternalProject_Add(
ext_ocio
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/opencolorio-a557a85454ee1ffa8cb66f8a96238e079c452f08.tgz
URL_MD5 c7db4cdcac40ab12870cdeb6bbd0b875
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
UPDATE_COMMAND ""
ALWAYS 0
DEPENDS ext_boost
)
endif()
...@@ -20,7 +20,7 @@ index b539ea1..ab47729 100644 ...@@ -20,7 +20,7 @@ index b539ea1..ab47729 100644
ExternalProject_Add(tinyxml ExternalProject_Add(tinyxml
URL ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.tar.gz URL ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.tar.gz
- PATCH_COMMAND patch -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch - PATCH_COMMAND patch -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch
+ PATCH_COMMAND ${PATCH} -binary -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch + PATCH_COMMAND ${PATCH} --binary -f -p1 < ${CMAKE_SOURCE_DIR}/ext/tinyxml_${TINYXML_VERSION}.patch
BINARY_DIR ext/build/tinyxml BINARY_DIR ext/build/tinyxml
INSTALL_DIR ext/dist INSTALL_DIR ext/dist
CMAKE_ARGS ${TINYXML_CMAKE_ARGS} CMAKE_ARGS ${TINYXML_CMAKE_ARGS}
...@@ -29,7 +29,7 @@ index b539ea1..ab47729 100644 ...@@ -29,7 +29,7 @@ index b539ea1..ab47729 100644
URL ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.tar.gz URL ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.tar.gz
BINARY_DIR ext/build/yaml-cpp BINARY_DIR ext/build/yaml-cpp
- PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch - PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch
+ PATCH_COMMAND ${PATCH} -binary -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch + PATCH_COMMAND ${PATCH} --binary -p1 < ${CMAKE_SOURCE_DIR}/ext/yaml-cpp-${YAML_CPP_VERSION}.patch
INSTALL_DIR ext/dist INSTALL_DIR ext/dist
CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS} CMAKE_ARGS ${YAML_CPP_CMAKE_ARGS}
) )
...@@ -42,7 +42,7 @@ index db42c2f..538b3a7 100644 ...@@ -42,7 +42,7 @@ index db42c2f..538b3a7 100644
DEPENDS setuptools docutils Jinja2 Pygments DEPENDS setuptools docutils Jinja2 Pygments
URL ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.tar.gz URL ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.tar.gz
- PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.patch - PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.patch
+ PATCH_COMMAND patch -binary -p1 < ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.patch + PATCH_COMMAND patch --binary -p1 < ${CMAKE_SOURCE_DIR}/ext/Sphinx-${SPHINX_VERSION}.patch
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH} CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory ${EXTDIST_PYTHONPATH}
BUILD_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build BUILD_COMMAND PYTHONPATH=${PYTHONPATH} ${PYTHON} setup.py build
...@@ -2,13 +2,13 @@ SET(PREFIX_ext_png2ico "${EXTPREFIX}" ) ...@@ -2,13 +2,13 @@ SET(PREFIX_ext_png2ico "${EXTPREFIX}" )
ExternalProject_Add( ext_png2ico ExternalProject_Add( ext_png2ico
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/png2ico.zip URL http://files.kde.org/krita/build/dependencies/png2ico.zip
URL_MD5 b9c8b31d62f4b2e4f1887bbb63e8a905 URL_MD5 20592f02540607317cec8a3b847c7b1a
INSTALL_DIR ${PREFIX_ext_png2ico} INSTALL_DIR ${PREFIX_ext_png2ico}
CONFIGURE_COMMAND "" CONFIGURE_COMMAND ""
BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying png2ico.exe binary BUILD_COMMAND ${CMAKE_COMMAND} -E echo deploying png2ico.exe binary
INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${PREFIX_ext_png2ico}/bin INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory ${PREFIX_ext_png2ico}/bin
COMMAND ${CMAKE_COMMAND} -E copy bin/png2ico.exe ${PREFIX_ext_patch}/bin/png2ico.exe COMMAND ${CMAKE_COMMAND} -E copy png2ico.exe ${PREFIX_ext_png2ico}/bin/png2ico.exe
UPDATE_COMMAND "" UPDATE_COMMAND ""
BUILD_IN_SOURCE 1 BUILD_IN_SOURCE 1
......
...@@ -5,7 +5,7 @@ ExternalProject_Add( ext_pthreads ...@@ -5,7 +5,7 @@ ExternalProject_Add( ext_pthreads
URL_MD5 6d30c693233b1464ef8983fedd8ccb22 URL_MD5 6d30c693233b1464ef8983fedd8ccb22
INSTALL_DIR ${PREFIX_ext_pthreads} INSTALL_DIR ${PREFIX_ext_pthreads}
PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/pthreads-w32-2-8-0-release-20110729.diff PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/pthreads-w32-2-8-0-release-20110729.diff
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_pthreads} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_pthreads} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
UPDATE_COMMAND "" UPDATE_COMMAND ""
......
...@@ -5,7 +5,7 @@ ExternalProject_Add( ext_tiff ...@@ -5,7 +5,7 @@ ExternalProject_Add( ext_tiff
URL http://files.kde.org/krita/build/dependencies/tiff-4.0.3.tar.gz URL http://files.kde.org/krita/build/dependencies/tiff-4.0.3.tar.gz
URL_MD5 051c1068e6a0627f461948c365290410 URL_MD5 051c1068e6a0627f461948c365290410
PATCH_COMMAND -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/tiff-4.0.3-20130124.diff PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/tiff-4.0.3-20130124.diff
INSTALL_DIR ${EXTPREFIX_tiff} INSTALL_DIR ${EXTPREFIX_tiff}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_tiff} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTPREFIX_tiff} -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
......
SET(PREFIX_ext_vc "${EXTPREFIX}" ) SET(PREFIX_ext_vc "${EXTPREFIX}" )
ExternalProject_Add( ext_vc ExternalProject_Add( ext_vc
DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR}
URL http://files.kde.org/krita/build/dependencies/Vc-0.7.5.tar.gz URL http://files.kde.org/krita/build/dependencies/Vc-0.7.5.tar.gz
URL_MD5 59854e2381b78d602b4a00e459e3d333 URL_MD5 59854e2381b78d602b4a00e459e3d333
INSTALL_DIR ${PREFIX_ext_vc} INSTALL_DIR ${PREFIX_ext_vc}
CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_vc} -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE} CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${PREFIX_ext_vc} -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=${GLOBAL_BUILD_TYPE} ${GLOBAL_PROFILE}
UPDATE_COMMAND "" UPDATE_COMMAND ""
......
...@@ -15,3 +15,8 @@ cl errors out during cmake phase ...@@ -15,3 +15,8 @@ cl errors out during cmake phase
need to add png2ico, icons, mimeinfo, translations need to add png2ico, icons, mimeinfo, translations
===========================
3rdparty deps:
poppler: doesn't build with msvc 2015 bevause of compiler compatibility issues
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment