From 1b95d5dfedf72199e172aa5e361c29e26fb615b3 Mon Sep 17 00:00:00 2001 From: "Scott E. Graves" Date: Mon, 22 Jul 2024 15:19:43 -0500 Subject: [PATCH] updated build system --- CMakeLists.txt | 21 ------ cmake/libraries.cmake | 23 +----- cmake/libraries/cli11.cmake | 28 -------- .../{cpphttplib.cmake => cpp_httplib.cmake} | 0 cmake/libraries/dtl.cmake | 20 ------ cmake/libraries/flac.cmake | 37 ---------- cmake/libraries/fmt.cmake | 30 -------- cmake/libraries/fontconfig.cmake | 41 ----------- cmake/libraries/freetype2.cmake | 39 ---------- cmake/libraries/gtkmm.cmake | 14 ---- cmake/libraries/libbitcoinsystem.cmake | 72 ------------------- cmake/libraries/libevent.cmake | 40 ----------- cmake/libraries/nuspell.cmake | 32 --------- cmake/libraries/ogg.cmake | 30 -------- cmake/libraries/openal.cmake | 30 -------- cmake/libraries/rocksdb.cmake | 41 ----------- cmake/libraries/secp256k1.cmake | 41 ----------- cmake/libraries/sfml.cmake | 66 ----------------- cmake/libraries/spdlog.cmake | 33 --------- .../libraries/{gtest.cmake => testing.cmake} | 0 cmake/libraries/tpl.cmake | 27 ------- cmake/libraries/vorbis.cmake | 33 --------- cmake/libraries/wxwidgets.cmake | 47 ------------ cmake/options.cmake | 25 ------- 24 files changed, 2 insertions(+), 768 deletions(-) delete mode 100644 cmake/libraries/cli11.cmake rename cmake/libraries/{cpphttplib.cmake => cpp_httplib.cmake} (100%) delete mode 100644 cmake/libraries/dtl.cmake delete mode 100644 cmake/libraries/flac.cmake delete mode 100644 cmake/libraries/fmt.cmake delete mode 100644 cmake/libraries/fontconfig.cmake delete mode 100644 cmake/libraries/freetype2.cmake delete mode 100644 cmake/libraries/gtkmm.cmake delete mode 100644 cmake/libraries/libbitcoinsystem.cmake delete mode 100644 cmake/libraries/libevent.cmake delete mode 100644 cmake/libraries/nuspell.cmake delete mode 100644 cmake/libraries/ogg.cmake delete mode 100644 cmake/libraries/openal.cmake delete mode 100644 cmake/libraries/rocksdb.cmake delete mode 100644 cmake/libraries/secp256k1.cmake delete mode 100644 cmake/libraries/sfml.cmake delete mode 100644 cmake/libraries/spdlog.cmake rename cmake/libraries/{gtest.cmake => testing.cmake} (100%) delete mode 100644 cmake/libraries/tpl.cmake delete mode 100644 cmake/libraries/vorbis.cmake delete mode 100644 cmake/libraries/wxwidgets.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt index 1482d7d6..858b2c1d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -89,38 +89,17 @@ endif() -DPROJECT_DESC=${PROJECT_DESC} -DPROJECT_DIST_DIR=${PROJECT_DIST_DIR} -DPROJECT_ENABLE_BOOST=${PROJECT_ENABLE_BOOST} - -DPROJECT_ENABLE_CLI11=${PROJECT_ENABLE_CLI11} -DPROJECT_ENABLE_CPP_HTTPLIB=${PROJECT_ENABLE_CPP_HTTPLIB} -DPROJECT_ENABLE_CURL=${PROJECT_ENABLE_CURL} - -DPROJECT_ENABLE_DTL=${PROJECT_ENABLE_DTL} - -DPROJECT_ENABLE_FLAC=${PROJECT_ENABLE_FLAC} - -DPROJECT_ENABLE_FMT=${PROJECT_ENABLE_FMT} - -DPROJECT_ENABLE_FONTCONFIG=${PROJECT_ENABLE_FONTCONFIG} - -DPROJECT_ENABLE_FREETYPE2=${PROJECT_ENABLE_FREETYPE2} -DPROJECT_ENABLE_FUSE=${PROJECT_ENABLE_FUSE} - -DPROJECT_ENABLE_FZF=${PROJECT_ENABLE_FZF} - -DPROJECT_ENABLE_GTKMM=${PROJECT_ENABLE_GTKMM} -DPROJECT_ENABLE_JSON=${PROJECT_ENABLE_JSON} - -DPROJECT_ENABLE_LIBBITCOIN_SYSTEM=${PROJECT_ENABLE_LIBBITCOIN_SYSTEM} - -DPROJECT_ENABLE_LIBEVENT=${PROJECT_ENABLE_LIBEVENT} -DPROJECT_ENABLE_LIBSODIUM=${PROJECT_ENABLE_LIBSODIUM} - -DPROJECT_ENABLE_NUSPELL=${PROJECT_ENABLE_NUSPELL} - -DPROJECT_ENABLE_OGG=${PROJECT_ENABLE_OGG} - -DPROJECT_ENABLE_OPENAL=${PROJECT_ENABLE_OPENAL} -DPROJECT_ENABLE_OPENSSL=${PROJECT_ENABLE_OPENSSL} -DPROJECT_ENABLE_PUGIXML=${PROJECT_ENABLE_PUGIXML} - -DPROJECT_ENABLE_ROCKSDB=${PROJECT_ENABLE_ROCKSDB} - -DPROJECT_ENABLE_SAGO_PLATFORM_FOLDERS=${PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS} - -DPROJECT_ENABLE_SECP256K1=${PROJECT_ENABLE_SECP256K1} - -DPROJECT_ENABLE_SFML=${PROJECT_ENABLE_SFML} - -DPROJECT_ENABLE_SPDLOG=${PROJECT_ENABLE_SPDLOG} -DPROJECT_ENABLE_SQLITE=${PROJECT_ENABLE_SQLITE} -DPROJECT_ENABLE_STDUUID=${PROJECT_ENABLE_STDUUID} -DPROJECT_ENABLE_TESTING=${PROJECT_ENABLE_TESTING} - -DPROJECT_ENABLE_TPL=${PROJECT_ENABLE_TPL} - -DPROJECT_ENABLE_VORBIS=${PROJECT_ENABLE_VORBIS} -DPROJECT_ENABLE_WINFSP=${PROJECT_ENABLE_WINFSP} - -DPROJECT_ENABLE_WXWIDGETS=${PROJECT_ENABLE_WXWIDGETS} -DPROJECT_EXTERNAL_BUILD_ROOT=${PROJECT_EXTERNAL_BUILD_ROOT} -DPROJECT_FUSE=${PROJECT_FUSE} -DPROJECT_FUSE_INCLUDE_DIRS=${PROJECT_FUSE_INCLUDE_DIRS} diff --git a/cmake/libraries.cmake b/cmake/libraries.cmake index d630560c..30e8a87b 100644 --- a/cmake/libraries.cmake +++ b/cmake/libraries.cmake @@ -11,36 +11,17 @@ set(wxWidgets_USE_STATIC ${PROJECT_STATIC_LINK}) set(OPENSSL_ROOT_DIR $ENV{OPENSSL_ROOT_DIR}) include(cmake/libraries/boost.cmake) -include(cmake/libraries/cli11.cmake) -include(cmake/libraries/cpphttplib.cmake) +include(cmake/libraries/cpp_httplib.cmake) include(cmake/libraries/curl.cmake) -include(cmake/libraries/dtl.cmake) -include(cmake/libraries/flac.cmake) -include(cmake/libraries/fmt.cmake) -include(cmake/libraries/fontconfig.cmake) -include(cmake/libraries/freetype2.cmake) include(cmake/libraries/fuse.cmake) -include(cmake/libraries/gtest.cmake) -include(cmake/libraries/gtkmm.cmake) include(cmake/libraries/json.cmake) -include(cmake/libraries/libbitcoinsystem.cmake) -include(cmake/libraries/libevent.cmake) include(cmake/libraries/libsodium.cmake) -include(cmake/libraries/nuspell.cmake) -include(cmake/libraries/ogg.cmake) -include(cmake/libraries/openal.cmake) include(cmake/libraries/openssl.cmake) include(cmake/libraries/pugixml.cmake) -include(cmake/libraries/rocksdb.cmake) -include(cmake/libraries/secp256k1.cmake) -include(cmake/libraries/sfml.cmake) -include(cmake/libraries/spdlog.cmake) include(cmake/libraries/sqlite.cmake) include(cmake/libraries/stduuid.cmake) -include(cmake/libraries/tpl.cmake) -include(cmake/libraries/vorbis.cmake) +include(cmake/libraries/testing.cmake) include(cmake/libraries/winfsp.cmake) -include(cmake/libraries/wxwidgets.cmake) if(PROJECT_BUILD) find_package(Threads REQUIRED) diff --git a/cmake/libraries/cli11.cmake b/cmake/libraries/cli11.cmake deleted file mode 100644 index 24b4a0b7..00000000 --- a/cmake/libraries/cli11.cmake +++ /dev/null @@ -1,28 +0,0 @@ -if(PROJECT_ENABLE_CLI11) - if(PROJECT_BUILD) - find_package(CLI11 ${CLI11_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_CLI11) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(cli11_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/CLI11-${CLI11_VERSION}.tar.gz - URL_HASH SHA256=f2d893a65c3b1324c50d4e682c0cdc021dd0477ae2c048544f39eed6654b699a - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DCLI11_WARNINGS_AS_ERRORS=OFF - -DCLI11_SINGLE_FILE=ON - -DCLI11_BUILD_DOCS=OFF - -DCLI11_BUILD_TESTS=OFF - -DCLI11_BUILD_EXAMPLES=OFF - -DCLI11_INSTALL=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - cli11_project - ) - endif() -endif() diff --git a/cmake/libraries/cpphttplib.cmake b/cmake/libraries/cpp_httplib.cmake similarity index 100% rename from cmake/libraries/cpphttplib.cmake rename to cmake/libraries/cpp_httplib.cmake diff --git a/cmake/libraries/dtl.cmake b/cmake/libraries/dtl.cmake deleted file mode 100644 index 27bcdc15..00000000 --- a/cmake/libraries/dtl.cmake +++ /dev/null @@ -1,20 +0,0 @@ -if(PROJECT_ENABLE_DTL) - if(PROJECT_BUILD) - add_definitions(-DPROJECT_ENABLE_DTL) - else() - ExternalProject_Add(dtl_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/dtl-v${DTL_VERSION}.tar.gz - URL_HASH SHA256=d6dcc7834b4117b5c14456ea73b907d0e2bafa5058e3a06b2c504d53517438c5 - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - dtl_project - ) - endif() -endif() diff --git a/cmake/libraries/flac.cmake b/cmake/libraries/flac.cmake deleted file mode 100644 index 30813da1..00000000 --- a/cmake/libraries/flac.cmake +++ /dev/null @@ -1,37 +0,0 @@ -if(PROJECT_ENABLE_FLAC) - if(PROJECT_BUILD) - find_package(FLAC ${FLAC_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_FLAC) - - include_directories(BEFORE SYSTEM - ${FLAC_INCLUDE_DIRS} - ) - - link_libraries( - FLAC::FLAC - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(flac_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/flac-${FLAC_VERSION}.tar.gz - URL_HASH SHA256=0a4bb82a30609b606650d538a804a7b40205366ce8fc98871b0ecf3fbb0611ee - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DBUILD_EXAMPLES=ON - -DBUILD_PROGRAMS=ON - -DBUILD_TESTING=OFF - -DBUILD_DOCS=OFF - -DINSTALL_MANPAGES=OFF - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - flac_project - ) - - add_dependencies(flac_project vorbis_project) - endif() -endif() diff --git a/cmake/libraries/fmt.cmake b/cmake/libraries/fmt.cmake deleted file mode 100644 index 79357900..00000000 --- a/cmake/libraries/fmt.cmake +++ /dev/null @@ -1,30 +0,0 @@ -if(PROJECT_ENABLE_FMT) - if(PROJECT_BUILD) - find_package(fmt ${FMT_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_FMT) - - include_directories(BEFORE SYSTEM - ${FMT_INCLUDE_DIRS} - ) - - link_libraries( - fmt::fmt - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(fmt_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/fmt-${FMT_VERSION}.tar.gz - URL_HASH SHA256=1250e4cc58bf06ee631567523f48848dc4596133e163f02615c97f78bab6c811 - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - fmt_project - ) - endif() -endif() diff --git a/cmake/libraries/fontconfig.cmake b/cmake/libraries/fontconfig.cmake deleted file mode 100644 index 3bd66c79..00000000 --- a/cmake/libraries/fontconfig.cmake +++ /dev/null @@ -1,41 +0,0 @@ -if(PROJECT_ENABLE_FONTCONFIG) - if(PROJECT_BUILD) - find_package(Fontconfig ${FONTCONFIG_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_FONTCONFIG) - - include_directories(BEFORE SYSTEM - ${FONTCONFIG_INCLUDE_DIRS} - ) - - link_libraries( - Fontconfig::Fontconfig - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(fontconfig_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/fontconfig-${FONTCONFIG_VERSION}.tar.gz - URL_HASH SHA256=cdebb4b805d33e9bdefcc0ef9743db638d2acb21139bbe1a6a85878d4c3e8c9e - BUILD_IN_SOURCE 1 - LIST_SEPARATOR | - CONFIGURE_COMMAND meson - setup - --prefix=${PROJECT_EXTERNAL_BUILD_ROOT} - _build - BUILD_COMMAND meson - compile - -C _build - INSTALL_COMMAND meson - install - -C _build - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - fontconfig_project - ) - - add_dependencies(fontconfig_project freetype2_project) - endif() -endif() - diff --git a/cmake/libraries/freetype2.cmake b/cmake/libraries/freetype2.cmake deleted file mode 100644 index 65c1f6a4..00000000 --- a/cmake/libraries/freetype2.cmake +++ /dev/null @@ -1,39 +0,0 @@ -if(PROJECT_ENABLE_FREETYPE2) - if(PROJECT_BUILD) - find_package(Freetype ${FREETYPE2_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_FREETYPE2) - - include_directories(BEFORE SYSTEM - ${FREETYPE_INCLUDE_DIRS} - ) - - link_libraries( - Freetype::Freetype - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(freetype2_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/freetype-${FREETYPE2_VERSION}.tar.gz - URL_HASH SHA256=1ac27e16c134a7f2ccea177faba19801131116fd682efc1f5737037c5db224b5 - BUILD_IN_SOURCE 1 - LIST_SEPARATOR | - CONFIGURE_COMMAND meson - setup - --prefix=${PROJECT_EXTERNAL_BUILD_ROOT} - _build - BUILD_COMMAND meson - compile - -C _build - INSTALL_COMMAND meson - install - -C _build - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - freetype2_project - ) - endif() -endif() - diff --git a/cmake/libraries/gtkmm.cmake b/cmake/libraries/gtkmm.cmake deleted file mode 100644 index 50114ac9..00000000 --- a/cmake/libraries/gtkmm.cmake +++ /dev/null @@ -1,14 +0,0 @@ -if(PROJECT_ENABLE_GTKMM) - if(PROJECT_BUILD) - pkg_check_modules(GTKMM REQUIRED gtkmm-${GTKMM_VERSION}) - - add_definitions( - -DPROJECT_ENABLE_GTKMM - ${GTKMM_DEFINITIONS} - ) - - include_directories(${GTKMM_INCLUDE_DIRS}) - link_directories(${GTKMM_LIBRARY_DIRS}) - link_libraries(${GTKMM_LIBRARIES}) - endif() -endif() diff --git a/cmake/libraries/libbitcoinsystem.cmake b/cmake/libraries/libbitcoinsystem.cmake deleted file mode 100644 index e3575502..00000000 --- a/cmake/libraries/libbitcoinsystem.cmake +++ /dev/null @@ -1,72 +0,0 @@ -if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM) - if(PROJECT_BUILD) - add_definitions( - -DPROJECT_ENABLE_LIBBITCOIN_SYSTEM - -DBC_STATIC - -DECMULT_GEN_PREC_BITS=4 - -DECMULT_WINDOW_SIZE=15 - -DWITH_ICU - ) - - set(LIBBITCOIN_SYSTEM_ROOT - ${PROJECT_BUILD_DIR}/external/src/libbitcoinsystem_project - ) - - include_directories(SYSTEM BEFORE - ${LIBBITCOIN_SYSTEM_ROOT}/include - ) - - set(PROJECT_ADDITIONAL_SOURCES - ${PROJECT_ADDITIONAL_SOURCES} - ${LIBBITCOIN_SYSTEM_ROOT}/src/math/external/*.c - ${LIBBITCOIN_SYSTEM_ROOT}/src/formats/*.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/config/*.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/math/*.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/unicode/*.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/utility/string.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/wallet/dictionary.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/wallet/electrum.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/wallet/electrum_dictionary.cpp - ${LIBBITCOIN_SYSTEM_ROOT}/src/wallet/mnemonic.cpp - ) - - if(PROJECT_IS_MINGW) - pkg_check_modules(ICU_I18N icu-i18n) - pkg_check_modules(ICU_IO icu-io) - pkg_check_modules(ICU_UC icu-uc) - - link_libraries( - ${ICU_I18N_LINK_LIBRARIES} - ${ICU_IO_LINK_LIBRARIES} - ${ICU_UC_LINK_LIBRARIES} - ) - else() - link_libraries( - icui18n - icuuc - icudata - ) - endif() - else() - ExternalProject_Add(libbitcoinsystem_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/libbitcoin-system-${LIBBITCOIN_SYSTEM_VERSION}.tar.gz - URL_HASH SHA256=0d10d79472e914620223f1ddb9396b0fa92ae5eb0b31acc14b9aa634a01d78b6 - CONFIGURE_COMMAND echo "No configure" - BUILD_COMMAND echo "No build" - INSTALL_COMMAND echo "No install" - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - libbitcoinsystem_project - ) - - if(NOT PROJECT_IS_MINGW_UNIX) - add_dependencies(libbitcoinsystem_project - boost_project - secp256k1_project - ) - endif() - endif() -endif() diff --git a/cmake/libraries/libevent.cmake b/cmake/libraries/libevent.cmake deleted file mode 100644 index c60a045d..00000000 --- a/cmake/libraries/libevent.cmake +++ /dev/null @@ -1,40 +0,0 @@ -if(PROJECT_ENABLE_LIBEVENT) - if(PROJECT_BUILD) - find_package(Libevent ${LIBEVENT_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_LIBEVENT) - - include_directories(BEFORE SYSTEM - ${LIBEVENT_INCLUDE_DIRS} - ) - - link_libraries( - ${LIBEVENT_LIBRARIES} - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - if(PROJECT_BUILD_SHARED_LIBS) - set(LIBEVENT_LIBRARY_TYPE BOTH) - else() - set(LIBEVENT_LIBRARY_TYPE STATIC) - endif() - - ExternalProject_Add(libevent_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/libevent-${LIBEVENT_VERSION}-stable.tar.gz - URL_HASH SHA256=92e6de1be9ec176428fd2367677e61ceffc2ee1cb119035037a27d346b0403bb - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DEVENT__DISABLE_OPENSSL=ON - -DEVENT__DISABLE_SAMPLES=ON - -DEVENT__DISABLE_TESTS=ON - -DEVENT__LIBRARY_TYPE=${LIBEVENT_LIBRARY_TYPE} - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - libevent_project - ) - endif() -endif() diff --git a/cmake/libraries/nuspell.cmake b/cmake/libraries/nuspell.cmake deleted file mode 100644 index 23a061ac..00000000 --- a/cmake/libraries/nuspell.cmake +++ /dev/null @@ -1,32 +0,0 @@ -if(PROJECT_ENABLE_NUSPELL) - if(PROJECT_BUILD) - find_package(Nuspell ${NUSPELL_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_NUSPELL) - - include_directories(BEFORE SYSTEM - ${NUSPELL_INCLUDE_DIRS} - ) - - link_libraries( - Nuspell::nuspell - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(nuspell_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/nuspell-v${NUSPELL_VERSION}.tar.gz - URL_HASH SHA256=bdf344c5adbcc6797940f8f8cb75cb59f5a3794eb21b9547751a11782a792ef7 - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DBUILD_TESTING=OFF - -DBUILD_TOOLS=OFF - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - nuspell_project - ) - endif() -endif() diff --git a/cmake/libraries/ogg.cmake b/cmake/libraries/ogg.cmake deleted file mode 100644 index 6f333a98..00000000 --- a/cmake/libraries/ogg.cmake +++ /dev/null @@ -1,30 +0,0 @@ -if(PROJECT_ENABLE_OGG) - if(PROJECT_BUILD) - find_package(Ogg ${OGG_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_OGG) - - include_directories(BEFORE SYSTEM - ${OGG_INCLUDE_DIRS} - ) - - link_libraries( - Ogg::ogg - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(ogg_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/ogg-v${OGG_VERSION}.tar.gz - URL_HASH SHA256=f6f1b04cfa4e98b70ffe775d5e302d9c6b98541f05159af6de2d6617817ed7d6 - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - ogg_project - ) - endif() -endif() diff --git a/cmake/libraries/openal.cmake b/cmake/libraries/openal.cmake deleted file mode 100644 index d6f9e616..00000000 --- a/cmake/libraries/openal.cmake +++ /dev/null @@ -1,30 +0,0 @@ -if(PROJECT_ENABLE_OPENAL) - if(PROJECT_BUILD) - find_package(OpenAL ${OPENAL_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_OPENAL) - - include_directories(BEFORE SYSTEM - ${OPENAL_INCLUDE_DIR} - ) - - link_libraries( - ${OPENAL_LIBRARY} - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(openal_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/openal-${OPENAL_VERSION}.tar.gz - URL_HASH SHA256=dfddf3a1f61059853c625b7bb03de8433b455f2f79f89548cbcbd5edca3d4a4a - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - openal_project - ) - endif() -endif() diff --git a/cmake/libraries/rocksdb.cmake b/cmake/libraries/rocksdb.cmake deleted file mode 100644 index 163faaaa..00000000 --- a/cmake/libraries/rocksdb.cmake +++ /dev/null @@ -1,41 +0,0 @@ -if(PROJECT_ENABLE_ROCKSDB) - if(PROJECT_BUILD) - find_library(ROCKSDB_LIBRARY NAMES librocksdb.a REQUIRED) - - add_definitions(-DPROJECT_ENABLE_ROCKSDB) - - link_libraries( - ${ROCKSDB_LIBRARY} - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(rocksdb_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/rocksdb-${ROCKSDB_VERSION}.tar.gz - URL_HASH SHA256=1f829976aa24b8ba432e156f52c9e0f0bd89c46dc0cc5a9a628ea70571c1551c - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DFAIL_ON_WARNINGS=OFF - -DPORTABLE=1 - -DROCKSDB_BUILD_SHARED=${PROJECT_BUILD_SHARED_LIBS} - -DROCKSDB_INSTALL_ON_WINDOWS=ON - -DWITH_BENCHMARK=OFF - -DWITH_BENCHMARK_TOOLS=OFF - -DWITH_CORE_TOOLS=OFF - -DWITH_EXAMPLES=OFF - -DWITH_GFLAGS=OFF - -DWITH_IOSTATS_CONTEXT=OFF - -DWITH_PERF_CONTEXT=OFF - -DWITH_TESTS=OFF - -DWITH_TOOLS=OFF - -DWITH_TRACE_TOOLS=OFF - -DWITH_ZLIB=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - rocksdb_project - ) - endif() -endif() diff --git a/cmake/libraries/secp256k1.cmake b/cmake/libraries/secp256k1.cmake deleted file mode 100644 index 737578b0..00000000 --- a/cmake/libraries/secp256k1.cmake +++ /dev/null @@ -1,41 +0,0 @@ -if(PROJECT_ENABLE_SECP256K1) - if(PROJECT_BUILD) - pkg_check_modules(SECP256K1 libsecp256k1=${SECP256K1_VERSION} REQUIRED) - add_definitions(-DPROJECT_ENABLE_SECP256K1) - - include_directories(BEFORE SYSTEM - ${SECP256K1_INCLUDE_DIRS} - ) - - link_libraries( - ${SECP256K1_LINK_LIBRARIES} - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - if(PROJECT_BUILD_SHARED_LIBS) - set(SECP256K1_ENABLE_SHARED yes) - else() - set(SECP256K1_ENABLE_SHARED no) - endif() - - ExternalProject_Add(secp256k1_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/secp256k1-${SECP256K1_VERSION}.tar.gz - URL_HASH SHA256=61583939f1f25b92e6401e5b819e399da02562de663873df3056993b40148701 - BUILD_IN_SOURCE 1 - LIST_SEPARATOR | - CONFIGURE_COMMAND ./autogen.sh && ./configure - --enable-shared=${SECP256K1_ENABLE_SHARED} - --enable-static=yes - --enable-module-ecdh - --enable-module-recovery - --prefix=${PROJECT_EXTERNAL_BUILD_ROOT} - BUILD_COMMAND make -j1 - INSTALL_COMMAND make install - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - secp256k1_project - ) - endif() -endif() diff --git a/cmake/libraries/sfml.cmake b/cmake/libraries/sfml.cmake deleted file mode 100644 index d4b0e363..00000000 --- a/cmake/libraries/sfml.cmake +++ /dev/null @@ -1,66 +0,0 @@ -if(PROJECT_ENABLE_SFML) - if(PROJECT_BUILD) - find_package(OpenGL REQUIRED) - find_package(X11 REQUIRED) - - find_package(SFML ${SFML_VERSION} - COMPONENTS - audio - graphics - network - system - window - REQUIRED - ) - - add_definitions(-DPROJECT_ENABLE_SFML) - - if(PROJECT_BUILD_SHARED_LIBS) - link_libraries( - ${X11_LIBRARIES} - sfml-audio - sfml-graphics - sfml-network - sfml-system - sfml-window - ) - else() - link_libraries( - ${X11_LIBRARIES} - sfml-audio-s - sfml-graphics-s - sfml-network-s - sfml-system-s - sfml-window-s - ) - endif() - - include_directories(BEFORE SYSTEM - ${X11_INCLUDE_DIR} - ${SFML_INCLUDE_DIR} - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(sfml_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/SFML-${SFML_VERSION}.tar.gz - URL_HASH SHA256=82535db9e57105d4f3a8aedabd138631defaedc593cab589c924b7d7a11ffb9d - PATCH_COMMAND ${PROJECT_3RD_PARTY_DIR}/SFML_patch.sh - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - sfml_project - ) - - add_dependencies(sfml_project - flac_project - fontconfig_project - freetype2_project - openal_project - ) - endif() -endif() diff --git a/cmake/libraries/spdlog.cmake b/cmake/libraries/spdlog.cmake deleted file mode 100644 index 724192e9..00000000 --- a/cmake/libraries/spdlog.cmake +++ /dev/null @@ -1,33 +0,0 @@ -if(PROJECT_ENABLE_SPDLOG) - if(PROJECT_BUILD) - find_package(spdlog ${SPDLOG_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_SPDLOG) - - include_directories(BEFORE SYSTEM - ${SPDLOG_INCLUDE_DIRS} - ) - - link_libraries( - spdlog::spdlog - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(spdlog_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/spdlog-${SPDLOG_VERSION}.tar.gz - URL_HASH SHA256=1586508029a7d0670dfcb2d97575dcdc242d3868a259742b69f100801ab4e16b - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DSPDLOG_BUILD_EXAMPLE=OFF - -DSPDLOG_FMT_EXTERNAL=OFF - -DSPDLOG_FMT_EXTERNAL_HO=OFF - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - spdlog_project - ) - endif() -endif() diff --git a/cmake/libraries/gtest.cmake b/cmake/libraries/testing.cmake similarity index 100% rename from cmake/libraries/gtest.cmake rename to cmake/libraries/testing.cmake diff --git a/cmake/libraries/tpl.cmake b/cmake/libraries/tpl.cmake deleted file mode 100644 index 8dd02673..00000000 --- a/cmake/libraries/tpl.cmake +++ /dev/null @@ -1,27 +0,0 @@ -if(PROJECT_ENABLE_TPL) - if(PROJECT_BUILD) - find_package(tiny-process-library REQUIRED) - add_definitions(-DPROJECT_ENABLE_TPL) - - link_libraries( - tiny-process-library::tiny-process-library - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(tpl_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/tiny-process-library.tar.gz - URL_HASH SHA256=82e46657e697aff5bf980387c86ef3aa05bb184622abbd75663a4df549c68f73 - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DBUILD_TESTING=OFF - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - tpl_project - ) - endif() -endif() - diff --git a/cmake/libraries/vorbis.cmake b/cmake/libraries/vorbis.cmake deleted file mode 100644 index fa486406..00000000 --- a/cmake/libraries/vorbis.cmake +++ /dev/null @@ -1,33 +0,0 @@ -if(PROJECT_ENABLE_VORBIS) - if(PROJECT_BUILD) - find_package(Vorbis ${VORBIS_VERSION} REQUIRED) - - add_definitions(-DPROJECT_ENABLE_VORBIS) - - include_directories(BEFORE SYSTEM - ${VORBIS_INCLUDE_DIRS} - ) - - link_libraries( - Vorbis::vorbis - ) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(vorbis_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/vorbis-v${VORBIS_VERSION}.tar.gz - URL_HASH SHA256=270c76933d0934e42c5ee0a54a36280e2d87af1de3cc3e584806357e237afd13 - PATCH_COMMAND ${PROJECT_3RD_PARTY_DIR}/vorbis_patch.sh ${PROJECT_3RD_PARTY_DIR} ${CMAKE_BINARY_DIR}/external/src/vorbis_project - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - vorbis_project - ) - - add_dependencies(vorbis_project ogg_project) - endif() -endif() diff --git a/cmake/libraries/wxwidgets.cmake b/cmake/libraries/wxwidgets.cmake deleted file mode 100644 index 389b21fc..00000000 --- a/cmake/libraries/wxwidgets.cmake +++ /dev/null @@ -1,47 +0,0 @@ -if(PROJECT_ENABLE_WXWIDGETS) - if(PROJECT_BUILD) - find_package(OpenGL REQUIRED) - find_package(wxWidgets ${WXWIDGETS_VERSION} REQUIRED - COMPONENTS - net - core - base - gl - adv - xml - aui - html - media - propgrid - qa - ribbon - richtext - stc - webview - xrc - ) - if(wxWidgets_USE_FILE) - include(${wxWidgets_USE_FILE}) - endif() - link_libraries(${wxWidgets_LIBRARIES}) - elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) - ExternalProject_Add(wxwidgets_project - PREFIX external - URL ${PROJECT_3RD_PARTY_DIR}/wxWidgets-${WXWIDGETS_VERSION}.tar.bz2 - URL_HASH SHA256=0ad86a3ad3e2e519b6a705248fc9226e3a09bbf069c6c692a02acf7c2d1c6b51 - LIST_SEPARATOR | - CMAKE_ARGS ${PROJECT_EXTERNAL_CMAKE_FLAGS} - -DBUILD_SHARED_LIBS=${PROJECT_BUILD_SHARED_LIBS} - -DBUILD_STATIC_LIBS=ON - -DwxBUILD_MONOLITHIC=OFF - -DwxBUILD_SHARED=${PROJECT_BUILD_SHARED_LIBS} - ) - - set(PROJECT_DEPENDENCIES - ${PROJECT_DEPENDENCIES} - wxwidgets_project - ) - - add_dependencies(wxwidgets_project curl_project) - endif() -endif() diff --git a/cmake/options.cmake b/cmake/options.cmake index 69c96410..1947c305 100644 --- a/cmake/options.cmake +++ b/cmake/options.cmake @@ -1,46 +1,21 @@ option(PROJECT_ENABLE_BOOST "Enable boost libraries" OFF) -option(PROJECT_ENABLE_CLI11 "Enable CLI11 library" OFF) option(PROJECT_ENABLE_CPP_HTTPLIB "Enable cpp-httplib" OFF) option(PROJECT_ENABLE_CURL "Enable curl library" OFF) -option(PROJECT_ENABLE_DTL "Enable DTL" OFF) -option(PROJECT_ENABLE_FLAC "Enable FLAC library" OFF) -option(PROJECT_ENABLE_FMT "Enable fmt library" OFF) -option(PROJECT_ENABLE_FONTCONFIG "Enable fontconfig library" OFF) -option(PROJECT_ENABLE_FREETYPE2 "Enable freetype2 library" OFF) option(PROJECT_ENABLE_FUSE "Enable FUSE" OFF) -option(PROJECT_ENABLE_FZF "Enable fzf" OFF) -option(PROJECT_ENABLE_GTKMM "Enable gtkmm" OFF) option(PROJECT_ENABLE_JSON "Enable JSON for Modern C++ library" OFF) -option(PROJECT_ENABLE_LIBBITCOIN_SYSTEM "Enable libbitcoin-system library" OFF) -option(PROJECT_ENABLE_LIBEVENT "Enable libevent library" OFF) option(PROJECT_ENABLE_LIBSODIUM "Enable libsodium library" OFF) -option(PROJECT_ENABLE_NUSPELL "Enable nuspell" OFF) -option(PROJECT_ENABLE_OGG "Enable OGG library" OFF) -option(PROJECT_ENABLE_OPENAL "Enable OpenAL" OFF) option(PROJECT_ENABLE_OPENSSL "Enable OpenSSL library" OFF) option(PROJECT_ENABLE_PUGIXML "Enable PugiXML library" OFF) -option(PROJECT_ENABLE_ROCKSDB "Enable RocksDB library" OFF) -option(PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS "Enable Sago platform folders" OFF) -option(PROJECT_ENABLE_SECP256K1 "Enable secp256k1 library" OFF) -option(PROJECT_ENABLE_SFML "Enable SFML" OFF) -option(PROJECT_ENABLE_SPDLOG "Enable spdlog library" OFF) option(PROJECT_ENABLE_SQLITE "Enable SQLite" OFF) option(PROJECT_ENABLE_STDUUID "Enable stduuid library" OFF) option(PROJECT_ENABLE_TESTING "Enable building unit tests" OFF) -option(PROJECT_ENABLE_TPL "Enable tiny process library" OFF) -option(PROJECT_ENABLE_VORBIS "Enable Vorbis library" OFF) option(PROJECT_ENABLE_WINFSP "Enable WinFSP" OFF) -option(PROJECT_ENABLE_WXWIDGETS "Enable wxWidgets library" OFF) option(PROJECT_REQUIRE_ALPINE "Require Alpine Linux as build system" OFF) option(PROJECT_STATIC_LINK "Static link executables" OFF) -if(PROJECT_ENABLE_FZF) - add_definitions(-DPROJECT_ENABLE_FZF) endif() -if(PROJECT_ENABLE_SAGO_PLATFORM_FOLDERS) - add_definitions(-DPROJECT_ENABLE_SAGO_PLATFORM_FOLDERS) endif() if(PROJECT_ENABLE_TESTING)