diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index b3bbddc0e..c5ac3b56c 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -1,73 +1,73 @@ project (kmymoney-and-all-its-deps) # # Build all dependencies for KMyMoney and finally KMyMoney itself. # Parameters: EXTERNALS_DOWNLOAD_DIR place to download all packages # INSTALL_ROOT place to install everything to # # Example usage: cmake ..\kmymoneydep -DEXTERNALS_DOWNLOAD_DIR=/dev2/d -DINSTALL_ROOT=/dev2/i cmake_minimum_required(VERSION 2.8.6) if(NOT SUBMAKE_JOBS) set(SUBMAKE_JOBS 1) endif() 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}") message( STATUS "CMAKE_GENERATOR: ${CMAKE_GENERATOR}") set(GLOBAL_BUILD_TYPE RelWithDebInfo) set(GLOBAL_PROFILE ${GLOBAL_PROFILE} -DBUILD_TESTING=false) set(SECURITY_EXE_LINKER_FLAGS "") set(SECURITY_SHARED_LINKER_FLAGS "") set(SECURITY_MODULE_LINKER_FLAGS "") if (DEFINED EP_PREFIX) set_directory_properties(PROPERTIES EP_PREFIX ${EP_PREFIX}) endif () if (UNIX AND NOT APPLE) set(LINUX true) set(PATCH_COMMAND patch) endif () # this list must be dependency-ordered add_subdirectory( ext_iconv ) add_subdirectory( ext_gettext ) add_subdirectory( ext_zlib ) add_subdirectory( ext_boost ) add_subdirectory( ext_png ) +add_subdirectory( ext_icu ) add_subdirectory( ext_xml ) add_subdirectory( ext_xslt ) add_subdirectory( ext_lzma ) add_subdirectory( ext_fontconfig) add_subdirectory( ext_freetype) add_subdirectory( ext_qt ) add_subdirectory( ext_frameworks ) add_subdirectory( ext_gmp ) add_subdirectory( ext_alkimia ) add_subdirectory( ext_kdiagram ) -add_subdirectory( ext_icu ) diff --git a/3rdparty/ext_icu/CMakeLists.txt b/3rdparty/ext_icu/CMakeLists.txt index 9b68db8d4..010a541ae 100644 --- a/3rdparty/ext_icu/CMakeLists.txt +++ b/3rdparty/ext_icu/CMakeLists.txt @@ -1,16 +1,16 @@ SET(PREFIX_ext_icu "${EXTPREFIX}" ) ExternalProject_Add( ext_icu DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} URL http://download.icu-project.org/files/icu4c/62.1/icu4c-62_1-src.tgz URL_MD5 490ad9d920158e0314e10ba74ae9a150 INSTALL_DIR ${PREFIX_ext_icu} - CONFIGURE_COMMAND ./configure --prefix=${PREFIX_ext_icu} ${GLOBAL_AUTOMAKE_PROFILE} + CONFIGURE_COMMAND ./source/configure --prefix=${PREFIX_ext_icu} ${GLOBAL_AUTOMAKE_PROFILE} BUILD_COMMAND make INSTALL_COMMAND make install UPDATE_COMMAND "" BUILD_IN_SOURCE 1 ) diff --git a/3rdparty/ext_xml/CMakeLists.txt b/3rdparty/ext_xml/CMakeLists.txt index 00dfc5056..9b670a588 100644 --- a/3rdparty/ext_xml/CMakeLists.txt +++ b/3rdparty/ext_xml/CMakeLists.txt @@ -1,17 +1,16 @@ SET(PREFIX_ext_xml "${EXTPREFIX}" ) ExternalProject_Add( ext_xml DOWNLOAD_DIR ${EXTERNALS_DOWNLOAD_DIR} URL ftp://xmlsoft.org/libxslt/libxml2-2.9.7.tar.gz URL_MD5 896608641a08b465098a40ddf51cefba INSTALL_DIR ${PREFIX_ext_xml} - PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/liconv.diff - CONFIGURE_COMMAND ./configure --prefix=${PREFIX_ext_xml} --without-python + CONFIGURE_COMMAND LIBS="-liconv" && ./configure --prefix=${PREFIX_ext_xml} --without-python BUILD_COMMAND make INSTALL_COMMAND make install UPDATE_COMMAND "" BUILD_IN_SOURCE 1 ) diff --git a/3rdparty/ext_xml/liconv.diff b/3rdparty/ext_xml/liconv.diff deleted file mode 100644 index ace0a5124..000000000 --- a/3rdparty/ext_xml/liconv.diff +++ /dev/null @@ -1,13 +0,0 @@ -diff -ruN libxml2-2.9.7.orig/configure.ac libxml2-2.9.7/configure.ac ---- libxml2-2.9.7.orig/configure.ac 2017-10-30 08:37:06.000000000 +0100 -+++ libxml2-2.9.7/configure.ac 2018-08-24 17:13:34.714491406 +0200 -@@ -1438,7 +1438,8 @@ - iconv_t cd = iconv_open ("",""); - iconv (cd, NULL, NULL, NULL, NULL);]])],[ - AC_MSG_RESULT(yes) -- WITH_ICONV=1],[ -+ WITH_ICONV=1 -+ ICONV_LIBS="${ICONV_LIBS} -liconv"],[ - AC_MSG_RESULT(no) - AC_MSG_CHECKING(for iconv in -liconv) - diff --git a/packaging/linux/appimage/build-deps.sh b/packaging/linux/appimage/build-deps.sh index 7d7592c8c..59bf866b0 100755 --- a/packaging/linux/appimage/build-deps.sh +++ b/packaging/linux/appimage/build-deps.sh @@ -1,76 +1,75 @@ #!/bin/bash # # Build all KMyMoney's dependencies on Ubuntu 14.04. # # Prerequisites: cmake git build-essential libxcb-keysyms1-dev plus all deps for Qt5 # # Halt on errors and be verbose about what we are doing set -e set -x # Read in our parameters export BUILD_PREFIX=$1 export KMYMONEY_SOURCES=$2 # qjsonparser, used to add metadata to the plugins needs to work in a en_US.UTF-8 environment. # That's not always the case, so make sure it is export LC_ALL=en_US.UTF-8 export LANG=en_us.UTF-8 # We want to use $prefix/deps/usr/ for all our dependencies export DEPS_INSTALL_PREFIX=$BUILD_PREFIX/deps/usr/ export DOWNLOADS_DIR=$BUILD_PREFIX/downloads/ # Setup variables needed to help everything find what we build export LD_LIBRARY_PATH=$DEPS_INSTALL_PREFIX/lib:$LD_LIBRARY_PATH export PATH=$DEPS_INSTALL_PREFIX/bin:$PATH export PKG_CONFIG_PATH=$DEPS_INSTALL_PREFIX/share/pkgconfig:$DEPS_INSTALL_PREFIX/lib/pkgconfig:/usr/lib/pkgconfig:$PKG_CONFIG_PATH export CMAKE_PREFIX_PATH=$DEPS_INSTALL_PREFIX:$CMAKE_PREFIX_PATH # A kmymoney build layout looks like this: # kmymoney/ -- the source directory # downloads/ -- downloads of the dependencies from files.kde.org # deps-build/ -- build directory for the dependencies # deps/ -- the location for the built dependencies # build/ -- build directory for kmymoney itself # kmymoney.appdir/ -- install directory for kmymoney and the dependencies # Make sure our downloads directory exists if [ ! -d $DOWNLOADS_DIR ] ; then mkdir -p $DOWNLOADS_DIR fi # Make sure our build directory exists if [ ! -d $BUILD_PREFIX/deps-build/ ] ; then mkdir -p $BUILD_PREFIX/deps-build/ fi # The 3rdparty dependency handling in KMyMoney also requires the install directory to be pre-created if [ ! -d $DEPS_INSTALL_PREFIX ] ; then mkdir -p $DEPS_INSTALL_PREFIX fi # Switch to our build directory as we're basically ready to start building... cd $BUILD_PREFIX/deps-build/ # Configure the dependencies for building cmake $KMYMONEY_SOURCES/3rdparty -DCMAKE_INSTALL_PREFIX=$DEPS_INSTALL_PREFIX -DINSTALL_ROOT=$DEPS_INSTALL_PREFIX -DEXTERNALS_DOWNLOAD_DIR=$DOWNLOADS_DIR # Now start building everything we need, in the appropriate order cmake --build . --config RelWithDebInfo --target ext_iconv cmake --build . --config RelWithDebInfo --target ext_gettext cmake --build . --config RelWithDebInfo --target ext_zlib cmake --build . --config RelWithDebInfo --target ext_boost cmake --build . --config RelWithDebInfo --target ext_png +cmake --build . --config RelWithDebInfo --target ext_icu cmake --build . --config RelWithDebInfo --target ext_xml cmake --build . --config RelWithDebInfo --target ext_xslt cmake --build . --config RelWithDebInfo --target ext_lzma -cmake --build . --config RelWithDebInfo --target ext_fontconfig -cmake --build . --config RelWithDebInfo --target ext_freetype +# cmake --build . --config RelWithDebInfo --target ext_fontconfig +# cmake --build . --config RelWithDebInfo --target ext_freetype cmake --build . --config RelWithDebInfo --target ext_qt -cmake --build . --config RelWithDebInfo --target ext_frameworks cmake --build . --config RelWithDebInfo --target ext_gmp cmake --build . --config RelWithDebInfo --target ext_alkimia cmake --build . --config RelWithDebInfo --target ext_kdiagram -cmake --build . --config RelWithDebInfo --target ext_icu