From b433af1e9ac0ffc30084c89ae7241fa8ddf2165d Mon Sep 17 00:00:00 2001 From: iobyte Date: Fri, 19 Jul 2024 14:37:01 +0000 Subject: [PATCH] 3rdParty: add minizip and cjson git-svn-id: https://svn.code.sf.net/p/speed-dreams/code/trunk@9493 30fe4595-0a0c-4342-8851-515496e4dcbd Former-commit-id: 3a1a0eb230a4a0f44c0a2e2523e60eb2209ed826 Former-commit-id: f4fd83e6fdebd8deb4fc1265c9829c351673ef2f --- packaging/3rdParty-devel/CMakeLists.txt | 26 +++++++++++++++++++ .../thirdpartydefinitions.cmake | 14 ++++++++++ .../3rdParty-devel/thirdpartydownloader.cmake | 6 +++++ 3 files changed, 46 insertions(+) diff --git a/packaging/3rdParty-devel/CMakeLists.txt b/packaging/3rdParty-devel/CMakeLists.txt index fafbb8f7..0b101ad6 100644 --- a/packaging/3rdParty-devel/CMakeLists.txt +++ b/packaging/3rdParty-devel/CMakeLists.txt @@ -114,6 +114,8 @@ option(OPTION_CURL "Download and Build curl" true) option(OPTION_OSG "Download and Build OpenSceneGraph" true) option(OPTION_GLM "Download and install GLM math headers" true) option(OPTION_TINYGLTF "Download and Build TinyGLTF" true) +option(OPTION_MINIZIP "Download and Build minizip" true) +option(OPTION_CJSON "Download and Build cjson" true) option(OPTION_CACHED_ARCHIVES "Download from a defined cache" false) set(CACHED_URL "" CACHE STRING "Preferred url from which to download") @@ -141,6 +143,8 @@ if(OPTION_CACHED_ARCHIVES) set(GLM_URL "${CACHED_URL}/${GLM_FILE}") set(SQLITE3_URL "${CACHED_URL}/${SQLITE3_FILE}") set(TINYGLTF_URL "${CACHED_URL}/${TINYGLTF_FILE}") + set(MINIZIP_URL "${CACHED_URL}/${MINIZIP_FILE}") + set(CJSON_URL "${CACHED_URL}/${CJSON_FILE}") endif() @@ -548,6 +552,28 @@ else(OPTION_TINYGLTF) set(TINYGLTF_PROJECT ) endif(OPTION_TINYGLTF) +if(OPTION_MINIZIP) + set(MINIZIP_ARGS ${EXTERNALS_CMAKE_ARGS} + -D CMAKE_DEBUG_POSTFIX= ) + ExternalProject_Add(${MINIZIP_PROJECT} + URL ${MINIZIP_URL} + URL_HASH ${MINIZIP_HASH} + CMAKE_ARGS ${MINIZIP_ARGS}) +else(OPTION_MINIZIP) + set(MINIZIP_PROJECT ) +endif(OPTION_MINIZIP) + +if(OPTION_CJSON) + set(CJSON_ARGS ${EXTERNALS_CMAKE_ARGS} + -D CMAKE_DEBUG_POSTFIX= ) + ExternalProject_Add(${CJSON_PROJECT} + URL ${CJSON_URL} + URL_HASH ${CJSON_HASH} + CMAKE_ARGS ${CJSON_ARGS}) +else(OPTION_CJSON) + set(CJSON_PROJECT ) +endif(OPTION_CJSON) + # no-output target, for having some files available in IDEs. set(DOCSOURCES COPYING LICENSE readme.txt) diff --git a/packaging/3rdParty-devel/thirdpartydefinitions.cmake b/packaging/3rdParty-devel/thirdpartydefinitions.cmake index c4e2d90a..eac199ea 100644 --- a/packaging/3rdParty-devel/thirdpartydefinitions.cmake +++ b/packaging/3rdParty-devel/thirdpartydefinitions.cmake @@ -221,3 +221,17 @@ set(TINYGLTF_PROJECT TinyGLTF-${TINYGLTF_VERSION}) set(TINYGLTF_FILE ${TINYGLTF_PROJECT}.tar.gz) set(TINYGLTF_URL https://github.com/syoyo/tinygltf/archive/refs/tags/v${TINYGLTF_VERSION}.tar.gz) set(TINYGLTF_HASH SHA256=e567257d7addde58b0a483832cbaa5dd8f15e5bcaee6f023831e215d1a2c0502) + +# minizip +set(MINIZIP_VERSION 4.0.7) +set(MINIZIP_PROJECT minizip-${CJSON_VERSION}) +set(MINIZIP_FILE ${MINIZIP_PROJECT}.tar.gz) +set(MINIZIP_URL https://github.com/zlib-ng/minizip-ng/archive/refs/tags/${MINIZIP_VERSION}.tar.gz) +set(MINIZIP_HASH SHA256=a87f1f734f97095fe1ef0018217c149d53d0f78438bcb77af38adc21dff2dfbc) + +# cjson +set(CJSON_VERSION 1.7.18) +set(CJSON_PROJECT cjson-${CJSON_VERSION}) +set(CJSON_FILE ${CJSON_PROJECT}.tar.gz) +set(CJSON_URL https://github.com/DaveGamble/cJSON/archive/refs/tags/v${CJSON_VERSION}.tar.gz) +set(CJSON_HASH SHA256=3aa806844a03442c00769b83e99970be70fbef03735ff898f4811dd03b9f5ee5) diff --git a/packaging/3rdParty-devel/thirdpartydownloader.cmake b/packaging/3rdParty-devel/thirdpartydownloader.cmake index dec3c762..7625d7ad 100644 --- a/packaging/3rdParty-devel/thirdpartydownloader.cmake +++ b/packaging/3rdParty-devel/thirdpartydownloader.cmake @@ -74,6 +74,8 @@ if(NOT CACHED_URL STREQUAL "") set(SQLITE3_URL "${CACHED_URL}/${SQLITE3_FILE}") set(GLM_URL "${CACHED_URL}/${GLM_FILE}") set(TINYGLTF_URL "${CACHED_URL}/${TINYGLTF_FILE}") + set(MINIZIP_URL "${CACHED_URL}/${MINIZIP_FILE}") + set(CJSON_URL "${CACHED_URL}/${CJSON_FILE}") else() set(SDL2_URL "${CACHED_URL}/${SDL2_FILE} ${SDL2_URL}") set(SDL2_LEGACY_URL "${CACHED_URL}/${SDL2_LEGACY_FILE} ${SDL2_LEGACY_URL}") @@ -99,6 +101,8 @@ if(NOT CACHED_URL STREQUAL "") set(SQLITE3_URL "${CACHED_URL}/${SQLITE3_FILE} ${SQLITE3_URL}") set(GLM_URL "${CACHED_URL}/${GLM_FILE} ${GLM_URL}") set(TINYGLTF_URL "${CACHED_URL}/${TINYGLTF_FILE} ${TINYGLTF_URL}") + set(MINIZIP_URL "${CACHED_URL}/${MINIZIP_FILE} ${MINIZIP_URL}") + set(CJSON_URL "${CACHED_URL}/${CJSON_FILE} ${CJSON_URL}") endif() endif() @@ -155,6 +159,8 @@ SD_DownloadIfNeeded(${DOWNLOAD_DIRECTORY}/${OSG_FILE} ${OSG_URL}) SD_DownloadIfNeeded(${DOWNLOAD_DIRECTORY}/${SQLITE3_FILE} ${SQLITE3_URL}) SD_DownloadIfNeeded(${DOWNLOAD_DIRECTORY}/${GLM_FILE} ${GLM_URL}) SD_DownloadIfNeeded(${DOWNLOAD_DIRECTORY}/${TINYGLTF_FILE} ${TINYGLTF_URL}) +SD_DownloadIfNeeded(${DOWNLOAD_DIRECTORY}/${MINIZIP_FILE} ${MINIZIP_URL}) +SD_DownloadIfNeeded(${DOWNLOAD_DIRECTORY}/${CJSON_FILE} ${CJSON_URL}) message(STATUS "DOWNLOAD_DIRECTORY = " ${DOWNLOAD_DIRECTORY})