updated build system
Some checks are pending
BlockStorage/repertory/pipeline/head Build queued...

This commit is contained in:
Scott E. Graves 2024-08-04 10:30:49 -05:00
parent 15cc7b0b87
commit 9ce4c5a494
13 changed files with 53 additions and 70 deletions

View File

@ -1,10 +1,11 @@
if(PROJECT_ENABLE_BACKWARD_CPP AND PROJECT_BUILD)
if(PROJECT_IS_MINGW)
link_libraries(msvcr90)
add_definitions(-DPROJECT_ENABLE_BACKWARD_CPP)
link_libraries(msvcr90)
else()
link_libraries(bfd)
add_definitions(-DBACKWARD_HAS_BFD)
link_libraries(bfd)
endif()
endif()

View File

@ -1,5 +1,3 @@
set(Boost_USE_STATIC_LIBS ${PROJECT_STATIC_LINK})
if(PROJECT_ENABLE_BOOST)
if(PROJECT_ENABLE_LIBBITCOIN_SYSTEM)
set(BOOST_MAJOR_VERSION ${BOOST2_MAJOR_VERSION})
@ -18,6 +16,9 @@ if(PROJECT_ENABLE_BOOST)
)
if(PROJECT_BUILD)
add_definitions(-DPROJECT_ENABLE_BOOST)
set(Boost_USE_STATIC_LIBS ${PROJECT_STATIC_LINK})
find_package(Boost ${BOOST_MAJOR_VERSION}.${BOOST_MINOR_VERSION}.${BOOST_PATCH_VERSION} EXACT
REQUIRED
COMPONENTS
@ -38,8 +39,6 @@ if(PROJECT_ENABLE_BOOST)
wserialization
)
add_definitions(-DPROJECT_ENABLE_BOOST)
include_directories(BEFORE SYSTEM
${Boost_INCLUDE_DIRS}
)

View File

@ -1,18 +1,13 @@
set(CURL_USE_STATIC_LIBS ${PROJECT_STATIC_LINK})
if(PROJECT_ENABLE_CURL)
if(PROJECT_BUILD)
find_package(CURL ${CURL_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_CURL)
include_directories(BEFORE SYSTEM
${CURL_INCLUDE_DIRS}
)
set(CURL_USE_STATIC_LIBS ${PROJECT_STATIC_LINK})
find_package(CURL ${CURL_VERSION} REQUIRED)
link_libraries(
CURL::libcurl
)
include_directories(BEFORE SYSTEM ${CURL_INCLUDE_DIRS})
link_libraries(CURL::libcurl)
if (EXISTS ${PROJECT_DIST_DIR}/cacert.pem)
file(REMOVE ${PROJECT_DIST_DIR}/cacert.pem)

View File

@ -1,17 +1,13 @@
if(PROJECT_ENABLE_JSON)
if(PROJECT_BUILD)
find_package(nlohmann_json ${JSON_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_JSON)
find_package(nlohmann_json ${JSON_VERSION} REQUIRED)
if(PROJECT_IS_MINGW AND PROJECT_IS_MINGW_UNIX)
include_directories(BEFORE SYSTEM
/mingw64/include/nlohmann
)
include_directories(BEFORE SYSTEM /mingw64/include/nlohmann)
else()
include_directories(BEFORE SYSTEM
${PROJECT_EXTERNAL_BUILD_ROOT}/include/nlohmann
)
include_directories(BEFORE SYSTEM ${PROJECT_EXTERNAL_BUILD_ROOT}/include/nlohmann)
endif()
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
ExternalProject_Add(json_project

View File

@ -1,16 +1,22 @@
if(PROJECT_ENABLE_LIBSODIUM)
if(PROJECT_BUILD)
pkg_check_modules(SODIUM libsodium=${LIBSODIUM_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_LIBSODIUM)
pkg_check_modules(SODIUM libsodium=${LIBSODIUM_VERSION} REQUIRED)
include_directories(BEFORE SYSTEM
${SODIUM_INCLUDE_DIRS}
)
if(PROJECT_BUILD_SHARED_LIBS)
link_libraries(
${SODIUM_LINK_LIBRARIES}
)
else()
link_libraries(
${SODIUM_STATIC_LINK_LIBRARIES}
)
endif()
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
if(PROJECT_IS_MINGW)
set(LIBSODIUM_TYPE mingw64)

View File

@ -1,12 +1,11 @@
set(OPENSSL_ROOT_DIR $ENV{OPENSSL_ROOT_DIR})
set(OPENSSL_USE_STATIC_LIBS ${PROJECT_STATIC_LINK})
if(PROJECT_ENABLE_OPENSSL)
if(PROJECT_BUILD)
find_package(OpenSSL ${OPENSSL_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_OPENSSL)
set(OPENSSL_USE_STATIC_LIBS ${PROJECT_STATIC_LINK})
find_package(OpenSSL ${OPENSSL_VERSION} REQUIRED)
include_directories(BEFORE SYSTEM
${OPENSSL_INCLUDE_DIR}
)

View File

@ -1,21 +1,15 @@
if(PROJECT_ENABLE_PUGIXML)
if(PROJECT_BUILD)
find_package(pugixml ${PUGIXML_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_PUGIXML)
include_directories(BEFORE SYSTEM
${PUGIXML_INCLUDE_DIR}
)
find_package(pugixml ${PUGIXML_VERSION} REQUIRED)
include_directories(BEFORE SYSTEM ${PUGIXML_INCLUDE_DIR})
if(PROJECT_STATIC_LINK)
link_libraries(
pugixml::static
)
link_libraries(pugixml::static)
else()
link_libraries(
pugixml::pugixml
)
link_libraries(pugixml::pugixml)
endif()
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
ExternalProject_Add(pugixml_project

View File

@ -1,16 +1,12 @@
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}
)
find_package(spdlog ${SPDLOG_VERSION} REQUIRED)
link_libraries(
spdlog::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

View File

@ -1,6 +1,7 @@
if(PROJECT_ENABLE_SQLITE)
if(PROJECT_BUILD)
add_definitions(-DPROJECT_ENABLE_SQLITE)
set(SQLITE_SYSTEM_ROOT ${PROJECT_BUILD_DIR}/external/src/sqlite_project)
include_directories(SYSTEM BEFORE ${SQLITE_SYSTEM_ROOT})

View File

@ -1,16 +1,12 @@
if(PROJECT_ENABLE_STDUUID)
if(PROJECT_BUILD)
find_package(stduuid REQUIRED)
add_definitions(-DPROJECT_ENABLE_STDUUID)
include_directories(BEFORE SYSTEM
${stduuid_INCLUDE_DIRS}
)
find_package(stduuid REQUIRED)
link_libraries(
${stduuid_LIBRARIES}
)
include_directories(BEFORE SYSTEM ${stduuid_INCLUDE_DIRS})
link_libraries(${stduuid_LIBRARIES})
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
ExternalProject_Add(stduuid_project
PREFIX external

View File

@ -2,13 +2,9 @@ if(PROJECT_ENABLE_WINFSP AND PROJECT_IS_MINGW)
if(PROJECT_BUILD)
add_definitions(-DPROJECT_ENABLE_WINFSP)
include_directories(BEFORE SYSTEM
${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/inc
)
include_directories(BEFORE SYSTEM ${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/inc)
link_directories(BEFORE
${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/lib
)
link_directories(BEFORE ${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/lib)
if(PROJECT_IS_ARM64)
link_libraries(winfsp-a64)

View File

@ -732,8 +732,8 @@ RUN if [ -f "/3rd_party/libsodium-${MY_LIBSODIUM_VERSION}.tar.gz" ]; then \
tar xvzf /3rd_party/libsodium-${MY_LIBSODIUM_VERSION}.tar.gz \
&& cd libsodium-${MY_LIBSODIUM_VERSION} \
&& CFLAGS="-O3 -fomit-frame-pointer -m64 -mtune=generic" ./configure \
--enable-shared \
--enable-static \
--enable-shared=yes \
--enable-static=yes \
--host=${MY_MINGW_PREFIX} \
--prefix=${MY_MINGW_DIR} \
&& make -j${MY_NUM_JOBS} \

View File

@ -8,8 +8,12 @@ pushd "${PROJECT_DIST_DIR}"
if [ -e "./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" ]; then
for APP in ${PROJECT_APP_LIST[@]}; do
if [[ "$APP" == *_test${PROJECT_APP_BINARY_EXT} ]]; then
if [ "${PROJECT_IS_MINGW_UNIX}" == "1" ]; then
wine64 "./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" || exit 1
else
"./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" || exit 1
fi
fi
done
fi
popd