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_ENABLE_BACKWARD_CPP AND PROJECT_BUILD)
if(PROJECT_IS_MINGW) if(PROJECT_IS_MINGW)
link_libraries(msvcr90)
add_definitions(-DPROJECT_ENABLE_BACKWARD_CPP) add_definitions(-DPROJECT_ENABLE_BACKWARD_CPP)
link_libraries(msvcr90)
else() else()
link_libraries(bfd)
add_definitions(-DBACKWARD_HAS_BFD) add_definitions(-DBACKWARD_HAS_BFD)
link_libraries(bfd)
endif() endif()
endif() endif()

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -1,16 +1,12 @@
if(PROJECT_ENABLE_SPDLOG) if(PROJECT_ENABLE_SPDLOG)
if(PROJECT_BUILD) if(PROJECT_BUILD)
find_package(spdlog ${SPDLOG_VERSION} REQUIRED)
add_definitions(-DPROJECT_ENABLE_SPDLOG) add_definitions(-DPROJECT_ENABLE_SPDLOG)
include_directories(BEFORE SYSTEM find_package(spdlog ${SPDLOG_VERSION} REQUIRED)
${SPDLOG_INCLUDE_DIRS}
)
link_libraries( include_directories(BEFORE SYSTEM ${SPDLOG_INCLUDE_DIRS})
spdlog::spdlog
) link_libraries(spdlog::spdlog)
elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32) elseif(NOT PROJECT_IS_MINGW OR CMAKE_HOST_WIN32)
ExternalProject_Add(spdlog_project ExternalProject_Add(spdlog_project
PREFIX external PREFIX external

View File

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

View File

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

View File

@ -2,13 +2,9 @@ if(PROJECT_ENABLE_WINFSP AND PROJECT_IS_MINGW)
if(PROJECT_BUILD) if(PROJECT_BUILD)
add_definitions(-DPROJECT_ENABLE_WINFSP) add_definitions(-DPROJECT_ENABLE_WINFSP)
include_directories(BEFORE SYSTEM include_directories(BEFORE SYSTEM ${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/inc)
${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/inc
)
link_directories(BEFORE link_directories(BEFORE ${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/lib)
${PROJECT_3RD_PARTY_DIR}/winfsp-2.0/lib
)
if(PROJECT_IS_ARM64) if(PROJECT_IS_ARM64)
link_libraries(winfsp-a64) 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 \ tar xvzf /3rd_party/libsodium-${MY_LIBSODIUM_VERSION}.tar.gz \
&& cd libsodium-${MY_LIBSODIUM_VERSION} \ && cd libsodium-${MY_LIBSODIUM_VERSION} \
&& CFLAGS="-O3 -fomit-frame-pointer -m64 -mtune=generic" ./configure \ && CFLAGS="-O3 -fomit-frame-pointer -m64 -mtune=generic" ./configure \
--enable-shared \ --enable-shared=yes \
--enable-static \ --enable-static=yes \
--host=${MY_MINGW_PREFIX} \ --host=${MY_MINGW_PREFIX} \
--prefix=${MY_MINGW_DIR} \ --prefix=${MY_MINGW_DIR} \
&& make -j${MY_NUM_JOBS} \ && make -j${MY_NUM_JOBS} \

View File

@ -8,7 +8,11 @@ pushd "${PROJECT_DIST_DIR}"
if [ -e "./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" ]; then if [ -e "./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" ]; then
for APP in ${PROJECT_APP_LIST[@]}; do for APP in ${PROJECT_APP_LIST[@]}; do
if [[ "$APP" == *_test${PROJECT_APP_BINARY_EXT} ]]; then if [[ "$APP" == *_test${PROJECT_APP_BINARY_EXT} ]]; then
"./${PROJECT_NAME}_test${PROJECT_APP_BINARY_EXT}" || exit 1 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 fi
done done
fi fi