diff --git a/3rdparty/CMakeLists.txt b/3rdparty/CMakeLists.txt index 17ef3f40b..783b676e7 100644 --- a/3rdparty/CMakeLists.txt +++ b/3rdparty/CMakeLists.txt @@ -1,97 +1,98 @@ project (kmymoney-and-all-its-deps) # # Build all dependencies for KMyMoney and finally KMyMoney itself. # Parameters: EXT_DOWNLOAD_DIR place to download all packages # INSTALL_ROOT place to install everything to # # Example usage: cmake ..\kmymoneydep -DEXT_DOWNLOAD_DIR=/dev2/d -DINSTALL_ROOT=/dev2/i 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() # Tools must be obtained to work with: include(ExternalProject) # allow specification of a directory with pre-downloaded # requirements if(NOT IS_DIRECTORY ${EXT_DOWNLOAD_DIR}) message(FATAL_ERROR "No externals download dir set. Use -DEXT_DOWNLOAD_DIR") endif() if(NOT IS_DIRECTORY ${EXT_INSTALL_DIR}) message(FATAL_ERROR "No install dir set. Use -DEXT_INSTALL_DIR") endif() message( STATUS "CMAKE_GENERATOR: ${CMAKE_GENERATOR}") set(CMAKE_PREFIX_PATH "${EXT_INSTALL_DIR}") set(CMAKE_INSTALL_PREFIX "${EXT_INSTALL_DIR}") set(CMAKE_BUILD_TYPE RelWithDebInfo) set(CMAKE_GLOBAL_PROFILE -DCMAKE_BUILD_TYPE=RelWithDebInfo - -DCMAKE_INSTALL_PREFIX=${EXT_INSTALL_DIR} - -DCMAKE_PREFIX_PATH=${EXT_INSTALL_DIR} + -DCMAKE_INSTALL_PREFIX=${CMAKE_PREFIX_PATH} + -DCMAKE_PREFIX_PATH=${CMAKE_INSTALL_PREFIX} -DBUILD_TESTING=FALSE ) # without --host=x86_64 gmp builds with optimizations for skylake and that prevents running KMyMoney on pre-skylake CPUs set(AT_HOST --host=x86_64-linux-gnu) set(AT_SHARED_ONLY --disable-static --enable-shared) -set(AT_CPP_FLAGS "-L${EXT_INSTALL_DIR}/lib -I${EXT_INSTALL_DIR}/include") +set(AT_CPP_FLAGS "-I${EXT_INSTALL_DIR}/include") +set(AT_LD_FLAGS "-L${EXT_INSTALL_DIR}/lib") set(PATCH_COMMAND patch) # this list must be dependency-ordered add_subdirectory( ext_iconv ) add_subdirectory( ext_zlib ) add_subdirectory( ext_lzma ) add_subdirectory( ext_icu ) add_subdirectory( ext_ncurses ) add_subdirectory( ext_readline ) add_subdirectory( ext_xml ) add_subdirectory( ext_gettext ) add_subdirectory( ext_png ) add_subdirectory( ext_nasm ) add_subdirectory( ext_jpeg ) add_subdirectory( ext_boost ) add_subdirectory( ext_xslt ) add_subdirectory( ext_fontconfig ) add_subdirectory( ext_intltool ) add_subdirectory( ext_sharedmimeinfo ) add_subdirectory( ext_gmp ) add_subdirectory( ext_gpgerror ) add_subdirectory( ext_assuan2 ) add_subdirectory( ext_nettle ) add_subdirectory( ext_tasn1 ) add_subdirectory( ext_unistring ) add_subdirectory( ext_gnutls ) add_subdirectory( ext_pcre2 ) add_subdirectory( ext_freetype ) add_subdirectory( ext_harfbuzz ) add_subdirectory( ext_sqlite ) add_subdirectory( ext_openssl ) add_subdirectory( ext_mysql ) add_subdirectory( ext_tcl ) add_subdirectory( ext_postgresql ) add_subdirectory( ext_qt ) add_subdirectory( ext_phonon ) add_subdirectory( ext_frameworks ) add_subdirectory( ext_grantlee ) add_subdirectory( ext_applications ) add_subdirectory( ext_alkimia ) add_subdirectory( ext_kdiagram ) add_subdirectory( ext_ktoblzcheck ) add_subdirectory( ext_gcrypt ) add_subdirectory( ext_gwenhywfar ) add_subdirectory( ext_xmlsec1 ) add_subdirectory( ext_aqbanking ) add_subdirectory( ext_gpgme ) add_subdirectory( ext_sqlcipher ) add_subdirectory( ext_opensp ) add_subdirectory( ext_ofx ) add_subdirectory( ext_ical ) diff --git a/3rdparty/ext_aqbanking/CMakeLists.txt b/3rdparty/ext_aqbanking/CMakeLists.txt index 2021884fa..b2c8233a4 100644 --- a/3rdparty/ext_aqbanking/CMakeLists.txt +++ b/3rdparty/ext_aqbanking/CMakeLists.txt @@ -1,12 +1,12 @@ ExternalProject_Add( ext_aqbanking DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://www.aquamaniac.de/sites/download/download.php?package=03&release=217&file=02&dummy=aqbanking-5.7.8.tar.gz URL_MD5 6aceeaad3a1000f22f08986e68946db3 - CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} ${AT_SHARED_ONLY} CPPFLAGS=${AT_CPP_FLAGS} + CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} ${AT_SHARED_ONLY} CPPFLAGS=${AT_CPP_FLAGS} LDFLAGS=${AT_LD_FLAGS} BUILD_COMMAND $(MAKE) INSTALL_COMMAND $(MAKE) install DEPENDS ext_gwenhywfar ext_ktoblzcheck ext_xmlsec1 ext_gmp ) diff --git a/3rdparty/ext_frameworks/CMakeLists.txt b/3rdparty/ext_frameworks/CMakeLists.txt index 05e2cc3a3..c54db0129 100644 --- a/3rdparty/ext_frameworks/CMakeLists.txt +++ b/3rdparty/ext_frameworks/CMakeLists.txt @@ -1,360 +1,360 @@ # All needed frameworks: # Tier 1 # Archive # Codecs # Config # CoreAddons # DBusAddons # GuiAddons # I18n # ItemModels # ItemViews # WidgetsAddons # WindowSystem # Solid # Sonnet # SyntaxHighlighting # Tier 2 # Activities # Auth # Completion # Crash # JobWidgets # Notifications # Package # Tier 3 # Emoticons # ConfigWidgets # IconThemes # Service # TextWidgets # XmlGui # Bookmarks # GlobalAccel # KIO # Declarative # KCMUtils # Wallet ExternalProject_Add( ext_extra_cmake_modules DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/extra-cmake-modules-5.51.0.zip URL_MD5 0c49de5686624746af45f578486c275f CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} ) ExternalProject_Add( ext_karchive DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/karchive-5.51.0.zip URL_MD5 a1df7fa0e563774582a141be902bf9e0 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kcodecs DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kcodecs-5.51.0.zip URL_MD5 690e3fc89a72a64ebf7d4dccfea07cb4 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kconfig DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kconfig-5.51.0.zip URL_MD5 efd15b025d74c6bdb7ba1f6c70eb59d3 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kdbusaddons DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kdbusaddons-5.51.0.zip URL_MD5 a4e3f38596815004815e1d5912dcc9f7 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kcoreaddons DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kcoreaddons-5.51.0.zip URL_MD5 bd29fb792d368dcc031277182e20dd57 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_sharedmimeinfo ext_extra_cmake_modules ) ExternalProject_Add( ext_kguiaddons DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kguiaddons-5.51.0.zip URL_MD5 a4ed02d971740b5a69d3bbd8078cd53c CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_ki18n DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/ki18n-5.51.0.zip URL_MD5 97ea04262c49403ba8c33323b367c362 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ext_gettext ) ExternalProject_Add( ext_kitemmodels DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kitemmodels-5.51.0.zip URL_MD5 82989ebe8c2c76df6fbd3bc4581923a8 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kitemviews DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kitemviews-5.51.0.zip URL_MD5 4b0ac783dd4a08b57442a6b349a29af0 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kwidgetsaddons DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kwidgetsaddons-5.51.0.zip URL_MD5 069a7907a50a573f237b0ae07e143c31 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kwindowsystem DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kwindowsystem-5.51.0.zip URL_MD5 1cc9f16aef24588f56712beacea04173 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_solid DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/solid-5.51.0.zip URL_MD5 20928ec5ac4f24ac50d28e1f859564fc CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_sonnet DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/sonnet-5.51.0.zip URL_MD5 6da10e377b65fd0eb38a893f3b02bda4 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_syntaxhighlighting DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/syntax-highlighting-5.51.0.zip URL_MD5 960aa4322276d5591fe038351c420607 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kholidays DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://download.kde.org/stable/frameworks/5.51/kholidays-5.51.0.zip URL_MD5 41b208d432246eb8f012d55bc0c1b9ee CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ) ExternalProject_Add( ext_kactivities DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kactivities-5.51.0.zip URL_MD5 397fe66ad6b2bd4151de87b5bea27550 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} - DEPENDS ext_kconfig ext_kcoreaddons ext_kwindowsystem + DEPENDS ext_boost ext_kconfig ext_kcoreaddons ext_kwindowsystem ) ExternalProject_Add( ext_kauth DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kauth-5.51.0.zip URL_MD5 c44908198ce80868a0f84d93bfbd2a0b CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kcoreaddons ) ExternalProject_Add( ext_kcompletion DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kcompletion-5.51.0.zip URL_MD5 0538aaf30384c0ac0e69a245d4c99dc5 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kwidgetsaddons ext_kconfig ) ExternalProject_Add( ext_kcrash DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kcrash-5.51.0.zip URL_MD5 4d424ec54f369eb6f6f8d9571e72d0f9 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kcoreaddons ext_kwindowsystem ) ExternalProject_Add( ext_kjobwidgets DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kjobwidgets-5.51.0.zip URL_MD5 e352949fc004cad1a5df7ac6095e061f CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kcoreaddons ext_kwidgetsaddons ) ExternalProject_Add( ext_knotifications DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/knotifications-5.51.0.zip URL_MD5 1727ef67b293228e783d70a8a04fb2b2 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kwindowsystem ext_kconfig ext_kcodecs ext_kcoreaddons ext_phonon ) ExternalProject_Add( ext_kpackage DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kpackage-5.51.0.zip URL_MD5 7e04ab888adb565d6b3c7edab3f5f88b CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_karchive ext_ki18n ext_kcoreaddons ) ExternalProject_Add( ext_kconfigwidgets DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kconfigwidgets-5.51.0.zip URL_MD5 943fe07904feaa3a8b05fe81733d1eb4 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kauth ext_kcoreaddons ext_kcodecs ext_kconfig ext_kguiaddons ext_ki18n ext_kwidgetsaddons ) ExternalProject_Add( ext_kiconthemes DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kiconthemes-5.51.0.zip URL_MD5 6da17c5f2006b893025da305b1dfc011 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_karchive ext_ki18n ext_kcoreaddons ext_kconfigwidgets ext_kwidgetsaddons ext_kitemviews ) ExternalProject_Add( ext_kservice DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kservice-5.51.0.zip URL_MD5 7444dbd3388a1e3cce9d8f7cd64c7d23 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kconfig ext_kcoreaddons ext_kcrash ext_kdbusaddons ext_ki18n ) ExternalProject_Add( ext_kemoticons DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kemoticons-5.51.0.zip URL_MD5 f437001a8a5e401a8ac284cf554357ec CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_karchive ext_kconfig ext_kservice ext_kcoreaddons ) ExternalProject_Add( ext_ktextwidgets DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/ktextwidgets-5.51.0.zip URL_MD5 2edb4f80800e47d6ecf52353decbdf10 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ext_kcompletion ext_kconfig ext_kconfigwidgets ext_ki18n ext_kiconthemes ext_kservice ext_kwidgetsaddons ext_kwindowsystem ext_sonnet ) ExternalProject_Add( ext_kglobalaccel DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kglobalaccel-5.51.0.zip URL_MD5 1cf9b73d7e909ed5899496eb52dfedc2 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kconfig ext_kcoreaddons ext_kcrash ext_kdbusaddons ext_kwindowsystem ) ExternalProject_Add( ext_kxmlgui DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kxmlgui-5.51.0.zip URL_MD5 35555839af065708281ecf95f2cd9363 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kcoreaddons ext_kitemviews ext_kconfig ext_kconfigwidgets ext_ki18n ext_kiconthemes ext_ktextwidgets ext_kwidgetsaddons ext_kwindowsystem ext_kglobalaccel ) ExternalProject_Add( ext_kbookmarks DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kbookmarks-5.51.0.zip URL_MD5 036f8e3e2d9c1cd537a275636569d1c6 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kconfig ext_kcoreaddons ext_kcodecs ext_kconfigwidgets ext_kiconthemes ext_kwidgetsaddons ext_kxmlgui ) ExternalProject_Add( ext_kwallet DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kwallet-5.51.0.zip URL_MD5 da6f7e2282f6316b612cb0acaa7a140a CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} - DEPENDS ext_kcoreaddons ext_kconfig ext_kwindowsystem ext_ki18n + DEPENDS ext_kcoreaddons ext_kconfig ext_kwindowsystem ext_ki18n ext_kconfigwidgets ext_knotifications ext_kservice ext_kwidgetsaddons ext_kiconthemes ext_kdbusaddons ) ExternalProject_Add( ext_kio DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kio-5.51.0.zip URL_MD5 ea59ac8326e5856b0ef1202c83d575b3 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_extra_cmake_modules ext_karchive ext_kconfig ext_kcoreaddons ext_kdbusaddons ext_ki18n ext_kservice ext_solid ext_kwindowsystem ext_kwidgetsaddons ext_kcompletion ext_kconfigwidgets ext_kiconthemes ext_kitemviews ext_kjobwidgets ext_kbookmarks ext_kwallet ) ExternalProject_Add( ext_kdeclarative DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kdeclarative-5.51.0.zip URL_MD5 6d8b8a15b7d02ac662e7f22152e92f3f CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kconfig ext_ki18n ext_kiconthemes ext_kio ext_kwidgetsaddons ext_kwindowsystem ext_kglobalaccel ext_kguiaddons ext_kpackage ) ExternalProject_Add( ext_kcmutils DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kcmutils-5.51.0.zip URL_MD5 4f548b92a27716f1d498b9da8887cf32 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kitemviews ext_kconfigwidgets ext_kcoreaddons ext_ki18n ext_kiconthemes ext_kservice ext_kxmlgui ext_kdeclarative ) ExternalProject_Add( ext_kimageformats DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL http://download.kde.org/stable/frameworks/5.51/kimageformats-5.51.0.zip URL_MD5 bb889cbd5a3b39f226d57da4c694ff57 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} DEPENDS ext_kitemviews ) \ No newline at end of file diff --git a/3rdparty/ext_gcrypt/CMakeLists.txt b/3rdparty/ext_gcrypt/CMakeLists.txt index fdd078383..8ccaaa58e 100644 --- a/3rdparty/ext_gcrypt/CMakeLists.txt +++ b/3rdparty/ext_gcrypt/CMakeLists.txt @@ -1,10 +1,11 @@ ExternalProject_Add( ext_gcrypt DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://www.gnupg.org/ftp/gcrypt/libgcrypt/libgcrypt-1.8.3.tar.bz2 URL_MD5 3139c2402e844985a67fb288a930534d CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} ${AT_SHARED_ONLY} --disable-doc BUILD_COMMAND $(MAKE) INSTALL_COMMAND $(MAKE) install + DEPENDS ext_gpgerror ) diff --git a/3rdparty/ext_gnutls/CMakeLists.txt b/3rdparty/ext_gnutls/CMakeLists.txt index 6050633cb..f805b6ced 100644 --- a/3rdparty/ext_gnutls/CMakeLists.txt +++ b/3rdparty/ext_gnutls/CMakeLists.txt @@ -1,12 +1,12 @@ ExternalProject_Add( ext_gnutls DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.4.tar.xz URL_MD5 63363d1c00601f4d11a5cadc8b5e0799 - CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} ${AT_SHARED_ONLY} --disable-tests --disable-doc --enable-openssl-compatibility -disable-gtk-doc --enable-cxx --without-p11-kit CPPFLAGS=${AT_CPP_FLAGS} + CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} ${AT_SHARED_ONLY} --disable-tests --disable-doc --enable-openssl-compatibility -disable-gtk-doc --enable-cxx --without-p11-kit CPPFLAGS=${AT_CPP_FLAGS} LDFLAGS=${AT_LD_FLAGS} BUILD_COMMAND $(MAKE) INSTALL_COMMAND $(MAKE) install DEPENDS ext_assuan2 ext_gpgerror ext_nettle ext_tasn1 ext_unistring ) diff --git a/3rdparty/ext_gwenhywfar/CMakeLists.txt b/3rdparty/ext_gwenhywfar/CMakeLists.txt index b42d1d041..4e6364ef0 100644 --- a/3rdparty/ext_gwenhywfar/CMakeLists.txt +++ b/3rdparty/ext_gwenhywfar/CMakeLists.txt @@ -1,14 +1,14 @@ set(gwenhywfar_guis "qt5 cpp") ExternalProject_Add( ext_gwenhywfar DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://www.aquamaniac.de/sites/download/download.php?package=01&release=208&file=02&dummy=gwenhywfar-4.20.0.tar.gz URL_MD5 0744255cae68adca6dff81d3a9f3932d - CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_SHARED_ONLY} --with-guis=${gwenhywfar_guis} CPPFLAGS=${AT_CPP_FLAGS} + CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_SHARED_ONLY} --with-guis=${gwenhywfar_guis} CPPFLAGS=${AT_CPP_FLAGS} LDFLAGS=${AT_LD_FLAGS} BUILD_COMMAND $(MAKE) INSTALL_COMMAND $(MAKE) install DEPENDS ext_gnutls ext_gcrypt ) diff --git a/3rdparty/ext_mysql/CMakeLists.txt b/3rdparty/ext_mysql/CMakeLists.txt index f992de4d9..2cca591f8 100644 --- a/3rdparty/ext_mysql/CMakeLists.txt +++ b/3rdparty/ext_mysql/CMakeLists.txt @@ -1,48 +1,46 @@ ExternalProject_Add( ext_mysql DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://cdn.mysql.com//Downloads/MySQL-8.0/mysql-boost-8.0.12.tar.gz URL_MD5 82ba7cc22755f77635768c6e6d184161 CMAKE_ARGS ${CMAKE_GLOBAL_PROFILE} -DWITH_BOOST=/boost -DBUILD_CONFIG=mysql_release -DWITH_LZMA=system -DWITH_ICU=system -DWITH_ZLIB=system -# -DINSTALL_STATIC_LIBRARIES=OFF -# -DWITH_SSL=${EXT_INSTALL_DIR}/openssl -# -DOPENSSL_EXECUTABLE=${EXT_INSTALL_DIR}/openssl/bin/openssl + -DINSTALL_STATIC_LIBRARIES=OFF # -DCPACK_MONOLITHIC_INSTALL=1 # -DIGNORE_AIO_CHECK=1 BUILD_COMMAND "" # on default whole server would be built INSTALL_COMMAND "" DEPENDS ext_ncurses #ext_openssl ) # build and install client only ExternalProject_Add_Step( ext_mysql client COMMAND ${CMAKE_MAKE_PROGRAM} COMMAND ${CMAKE_MAKE_PROGRAM} install DEPENDEES install WORKING_DIRECTORY /libmysql ) ExternalProject_Add_Step( ext_mysql scripts COMMAND ${CMAKE_MAKE_PROGRAM} COMMAND ${CMAKE_MAKE_PROGRAM} install DEPENDEES client WORKING_DIRECTORY /scripts ) # build and install headers ExternalProject_Add_Step( ext_mysql headers COMMAND ${CMAKE_MAKE_PROGRAM} COMMAND ${CMAKE_MAKE_PROGRAM} install DEPENDEES scripts WORKING_DIRECTORY /include) \ No newline at end of file diff --git a/3rdparty/ext_postgresql/CMakeLists.txt b/3rdparty/ext_postgresql/CMakeLists.txt index 314d6c7d5..730fb0a8b 100644 --- a/3rdparty/ext_postgresql/CMakeLists.txt +++ b/3rdparty/ext_postgresql/CMakeLists.txt @@ -1,18 +1,17 @@ -set(openSSLLDFlags "-L${EXT_INSTALL_DIR}/openssl/lib") ExternalProject_Add( ext_postgresql DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://ftp.postgresql.org/pub/source/v11.0/postgresql-11.0.tar.bz2 URL_MD5 338ede84c0443db02ff6e8c4c8cbc5e9 - CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} --with-libxml --with-libxslt --with-icu --with-tcl --enable-thread-safety --without-readline --with-libraries=${EXT_INSTALL_DIR}/lib --with-includes=${EXT_INSTALL_DIR}/include + CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} --with-libxml --with-libxslt --with-icu --with-tcl --enable-thread-safety --without-readline --with-libraries=${EXT_INSTALL_DIR}/lib --with-includes=${EXT_INSTALL_DIR}/include CPPFLAGS=${AT_CPP_FLAGS} LDFLAGS=${AT_LD_FLAGS} BUILD_COMMAND rsync -a --ignore-existing src/backend/utils/ src/include/utils/ COMMAND rsync -a --ignore-existing src/backend/catalog/ src/include/catalog/ COMMAND $(MAKE) -C src/bin install COMMAND $(MAKE) -C src/include install COMMAND $(MAKE) -C src/interfaces install INSTALL_COMMAND "" UPDATE_COMMAND "" BUILD_IN_SOURCE 1 - DEPENDS ext_readline ext_tcl ext_xslt + DEPENDS ext_readline ext_tcl ext_xslt #ext_openssl ) diff --git a/3rdparty/ext_qt/CMakeLists.txt b/3rdparty/ext_qt/CMakeLists.txt index ce9c07d03..9f12ed6c4 100644 --- a/3rdparty/ext_qt/CMakeLists.txt +++ b/3rdparty/ext_qt/CMakeLists.txt @@ -1,18 +1,18 @@ # qtquickcontrols and qtwebchannel are required by qtwebengine -# "Pepper Plugins" are required by "Printing and PDF" +# "WebRTC" is required by "Pepper Plugins" is required by "Printing and PDF" # don't use -I and -L switches as they will cause explicit link to # OpenSSL instead of BoringSSL in QWebEngine ExternalProject_Add( ext_qt DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://download.qt.io/official_releases/qt/5.11/5.11.2/single/qt-everywhere-src-5.11.2.tar.xz URL_MD5 152a8ade9c11fe33ff5bc95310a1bb64 PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/qsql_mysql.diff CONFIGURE_COMMAND /configure -prefix ${EXT_INSTALL_DIR} -opensource -confirm-license -verbose -nomake examples -nomake tests ICU_LIBDIR="${EXT_INSTALL_DIR}/lib" ICU_INCDIR="${EXT_INSTALL_DIR}/include" ZLIB_LIBDIR="${EXT_INSTALL_DIR}/lib" ZLIB_INCDIR="${EXT_INSTALL_DIR}/include" HARFBUZZ_LIBDIR="${EXT_INSTALL_DIR}/lib" HARFBUZZ_INCDIR="${EXT_INSTALL_DIR}/include" FREETYPE_LIBDIR="${EXT_INSTALL_DIR}/lib" FREETYPE_INCDIR="${EXT_INSTALL_DIR}/include" -skip qt3d -skip qtactiveqt -skip qtcanvas3d -skip qtconnectivity -skip qtenginio -skip qtgraphicaleffects -skip qtlocation -skip qtwayland -skip qtandroidextras -skip qtserialport -skip qtdatavis3d -skip qtvirtualkeyboard -skip qtspeech -skip qtsensors -skip qtgamepad -skip qtscxml -skip qtremoteobjects -skip qtxmlpatterns -skip qtcharts -skip qtdatavis3d -skip qtgamepad -skip qtpurchasing -skip qtscxml -skip qtserialbus -skip qtspeech -skip qtvirtualkeyboard -skip qtdoc -skip qtmacextras -skip qtwinextras -skip qtwebglplugin -skip qtwebsockets -skip qtwebview -skip qtmultimedia -skip qtnetworkauth -skip qtimageformats -system-webengine-icu BUILD_COMMAND $(MAKE) INSTALL_COMMAND $(MAKE) install DEPENDS ext_xslt ext_mysql ext_sqlite ext_postgresql ext_pcre2 ) diff --git a/3rdparty/ext_sqlcipher/CMakeLists.txt b/3rdparty/ext_sqlcipher/CMakeLists.txt index f0edfde13..3e23efd5e 100644 --- a/3rdparty/ext_sqlcipher/CMakeLists.txt +++ b/3rdparty/ext_sqlcipher/CMakeLists.txt @@ -1,12 +1,12 @@ ExternalProject_Add( ext_sqlcipher DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL https://github.com/sqlcipher/sqlcipher/archive/v3.4.2.zip URL_MD5 f12c5975d784856ea89f83cfc9af1a6c - CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} ${AT_SHARED_ONLY} CPPFLAGS=${AT_CPP_FLAGS} --enable-tempstore=yes CFLAGS=-DSQLITE_HAS_CODEC + CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} ${AT_SHARED_ONLY} CPPFLAGS=${AT_CPP_FLAGS} LDFLAGS=${AT_LD_FLAGS} --enable-tempstore=yes CFLAGS=-DSQLITE_HAS_CODEC BUILD_COMMAND $(MAKE) INSTALL_COMMAND $(MAKE) install DEPENDS ext_tcl ) diff --git a/3rdparty/ext_xml/CMakeLists.txt b/3rdparty/ext_xml/CMakeLists.txt index 30145f4e7..e7e66d1bc 100644 --- a/3rdparty/ext_xml/CMakeLists.txt +++ b/3rdparty/ext_xml/CMakeLists.txt @@ -1,14 +1,14 @@ # --without-catalog is requirement of QWebEngine ExternalProject_Add( ext_xml DOWNLOAD_DIR ${EXT_DOWNLOAD_DIR} URL ftp://xmlsoft.org/libxslt/libxml2-2.9.8.tar.gz URL_MD5 b786e353e2aa1b872d70d5d1ca0c740d PATCH_COMMAND ${PATCH_COMMAND} -p1 -i ${CMAKE_CURRENT_SOURCE_DIR}/xml.diff - CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} --without-python --with-icu --without-catalog --with-lzma=${EXT_INSTALL_DIR}/lib --with-zlib=${EXT_INSTALL_DIR}/lib CPPFLAGS=${AT_CPP_FLAGS} + CONFIGURE_COMMAND /configure --prefix=${EXT_INSTALL_DIR} ${AT_HOST} --without-python --with-icu --without-catalog --with-lzma=${EXT_INSTALL_DIR}/lib --with-zlib=${EXT_INSTALL_DIR}/lib CPPFLAGS=${AT_CPP_FLAGS} LDFLAGS=${AT_LD_FLAGS} BUILD_COMMAND $(MAKE) INSTALL_COMMAND $(MAKE) install DEPENDS ext_lzma ext_zlib ext_readline ext_icu ) diff --git a/packaging/linux/appimage/build-deps.sh b/packaging/linux/appimage/build-deps.sh index 05d2b907b..392c75d73 100755 --- a/packaging/linux/appimage/build-deps.sh +++ b/packaging/linux/appimage/build-deps.sh @@ -1,92 +1,87 @@ #!/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 -DEXT_INSTALL_DIR=$DEPS_INSTALL_PREFIX -DEXT_DOWNLOAD_DIR=$DOWNLOADS_DIR # Now start building everything we need, in the appropriate order cmake --build . --target ext_iconv cmake --build . --target ext_zlib cmake --build . --target ext_lzma cmake --build . --target ext_xml cmake --build . --target ext_gettext cmake --build . --target ext_xslt cmake --build . --target ext_png # cmake --build . --target ext_jpeg cmake --build . --target ext_freetype cmake --build . --target ext_harfbuzz cmake --build . --target ext_freetype # that's not a mistake that it's here a second time, harfbuzz nad freetype are interdependent cmake --build . --target ext_qt -cmake --build . --target ext_sharedmimeinfo -cmake --build . --target ext_gnutls cmake --build . --target ext_boost -cmake --build . --target ext_knotifications -cmake --build . --target ext_kio cmake --build . --target ext_kcmutils cmake --build . --target ext_kactivities cmake --build . --target ext_kitemmodels cmake --build . --target ext_kitemviews cmake --build . --target ext_kholidays cmake --build . --target ext_kidentitymanagement cmake --build . --target ext_kcontacts cmake --build . --target ext_akonadi cmake --build . --target ext_alkimia cmake --build . --target ext_kdiagram cmake --build . --target ext_aqbanking cmake --build . --target ext_gpgme cmake --build . --target ext_sqlcipher cmake --build . --target ext_ofx cmake --build . --target ext_ical