mirror of
https://github.com/blupi-games/planetblupi
synced 2024-12-30 10:15:36 +01:00
Make the CURL dependency optional, through the PLANETBLUPI_HTTP_VERSION_CHECK CMake option
This commit is contained in:
parent
a64b03c1da
commit
6134edc96e
@ -18,6 +18,8 @@ set (PB_PRODUCT_NAME "Planet Blupi")
|
|||||||
set (PB_PACKAGE_NAME "planetblupi")
|
set (PB_PACKAGE_NAME "planetblupi")
|
||||||
set (PB_DESCRIPTION "Planet Blupi - A delerious spell-binding game")
|
set (PB_DESCRIPTION "Planet Blupi - A delerious spell-binding game")
|
||||||
|
|
||||||
|
option(PLANETBLUPI_HTTP_VERSION_CHECK "Run a version check over HTTP (with CURL)" OFF)
|
||||||
|
|
||||||
configure_file (
|
configure_file (
|
||||||
"${PROJECT_SOURCE_DIR}/src/config.h.in"
|
"${PROJECT_SOURCE_DIR}/src/config.h.in"
|
||||||
"${PROJECT_BINARY_DIR}/include/config.h"
|
"${PROJECT_BINARY_DIR}/include/config.h"
|
||||||
@ -115,7 +117,10 @@ find_package (PkgConfig REQUIRED)
|
|||||||
pkg_search_module (SDL2 REQUIRED sdl2)
|
pkg_search_module (SDL2 REQUIRED sdl2)
|
||||||
pkg_search_module (SDL2_MIXER REQUIRED SDL2_mixer)
|
pkg_search_module (SDL2_MIXER REQUIRED SDL2_mixer)
|
||||||
pkg_search_module (SDL2_IMAGE REQUIRED SDL2_image)
|
pkg_search_module (SDL2_IMAGE REQUIRED SDL2_image)
|
||||||
pkg_search_module (CURL REQUIRED libcurl)
|
if(${PLANETBLUPI_HTTP_VERSION_CHECK})
|
||||||
|
pkg_search_module (CURL REQUIRED libcurl)
|
||||||
|
add_definitions(-DUSE_CURL)
|
||||||
|
endif()
|
||||||
|
|
||||||
if ("${STATIC_BUILD}")
|
if ("${STATIC_BUILD}")
|
||||||
pkg_search_module (PNG REQUIRED libpng)
|
pkg_search_module (PNG REQUIRED libpng)
|
||||||
@ -131,7 +136,9 @@ if ("${STATIC_BUILD}")
|
|||||||
pkg_search_module (PULSE REQUIRED libpulse)
|
pkg_search_module (PULSE REQUIRED libpulse)
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCURL_STATICLIB")
|
if(${PLANETBLUPI_HTTP_VERSION_CHECK})
|
||||||
|
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCURL_STATICLIB")
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
###########################
|
###########################
|
||||||
@ -147,7 +154,6 @@ if ("${STATIC_BUILD}")
|
|||||||
${SDL2_STATIC_LIBRARIES}
|
${SDL2_STATIC_LIBRARIES}
|
||||||
${SDL2_MIXER_STATIC_LIBRARIES}
|
${SDL2_MIXER_STATIC_LIBRARIES}
|
||||||
${SDL2_IMAGE_STATIC_LIBRARIES}
|
${SDL2_IMAGE_STATIC_LIBRARIES}
|
||||||
${CURL_STATIC_LIBRARIES}
|
|
||||||
${SDLKitchensink_STATIC_LIBRARIES}
|
${SDLKitchensink_STATIC_LIBRARIES}
|
||||||
${PNG_STATIC_LIBRARIES}
|
${PNG_STATIC_LIBRARIES}
|
||||||
${AVCODEC_STATIC_LIBRARIES}
|
${AVCODEC_STATIC_LIBRARIES}
|
||||||
@ -157,6 +163,13 @@ if ("${STATIC_BUILD}")
|
|||||||
${SWRESAMPLE_STATIC_LIBRARIES}
|
${SWRESAMPLE_STATIC_LIBRARIES}
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(${PLANETBLUPI_HTTP_VERSION_CHECK})
|
||||||
|
set (planetblupi_DEPS
|
||||||
|
${planetblupi_DEPS}
|
||||||
|
${CURL_STATIC_LIBRARIES}
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
|
|
||||||
if (UNIX AND NOT APPLE)
|
if (UNIX AND NOT APPLE)
|
||||||
list (APPEND planetblupi_DEPS
|
list (APPEND planetblupi_DEPS
|
||||||
${ALSA_STATIC_LIBRARIES}
|
${ALSA_STATIC_LIBRARIES}
|
||||||
@ -173,6 +186,13 @@ else ()
|
|||||||
${SDLKitchensink_LIBRARIES}
|
${SDLKitchensink_LIBRARIES}
|
||||||
pthread
|
pthread
|
||||||
)
|
)
|
||||||
|
|
||||||
|
if(${PLANETBLUPI_HTTP_VERSION_CHECK})
|
||||||
|
set (planetblupi_DEPS
|
||||||
|
${planetblupi_DEPS}
|
||||||
|
${CURL_LIBRARIES}
|
||||||
|
)
|
||||||
|
endif ()
|
||||||
endif ()
|
endif ()
|
||||||
|
|
||||||
target_link_libraries (planetblupi PUBLIC ${planetblupi_DEPS})
|
target_link_libraries (planetblupi PUBLIC ${planetblupi_DEPS})
|
||||||
|
@ -30,7 +30,9 @@
|
|||||||
|
|
||||||
#include <SDL2/SDL_image.h>
|
#include <SDL2/SDL_image.h>
|
||||||
#include <argagg/argagg.hpp>
|
#include <argagg/argagg.hpp>
|
||||||
#include <curl/curl.h>
|
#ifdef USE_CURL
|
||||||
|
#include <curl/curl.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
#include "json/json.hpp"
|
#include "json/json.hpp"
|
||||||
|
|
||||||
@ -81,11 +83,13 @@ bool g_bTermInit = false; // initialisation en cours
|
|||||||
Uint32 g_lastPhase = 999;
|
Uint32 g_lastPhase = 999;
|
||||||
static bool g_pause;
|
static bool g_pause;
|
||||||
|
|
||||||
|
#ifdef USE_CURL
|
||||||
struct url_data {
|
struct url_data {
|
||||||
CURLcode status;
|
CURLcode status;
|
||||||
char * buffer;
|
char * buffer;
|
||||||
size_t size;
|
size_t size;
|
||||||
};
|
};
|
||||||
|
#endif
|
||||||
|
|
||||||
template <typename Out>
|
template <typename Out>
|
||||||
static void
|
static void
|
||||||
@ -462,6 +466,7 @@ static size_t
|
|||||||
updateCallback (void * ptr, size_t size, size_t nmemb, void * data)
|
updateCallback (void * ptr, size_t size, size_t nmemb, void * data)
|
||||||
{
|
{
|
||||||
size_t realsize = size * nmemb;
|
size_t realsize = size * nmemb;
|
||||||
|
#ifdef USE_CURL
|
||||||
url_data * mem = static_cast<url_data *> (data);
|
url_data * mem = static_cast<url_data *> (data);
|
||||||
|
|
||||||
mem->buffer =
|
mem->buffer =
|
||||||
@ -472,6 +477,7 @@ updateCallback (void * ptr, size_t size, size_t nmemb, void * data)
|
|||||||
mem->size += realsize;
|
mem->size += realsize;
|
||||||
mem->buffer[mem->size] = 0;
|
mem->buffer[mem->size] = 0;
|
||||||
}
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
return realsize;
|
return realsize;
|
||||||
}
|
}
|
||||||
@ -479,6 +485,7 @@ updateCallback (void * ptr, size_t size, size_t nmemb, void * data)
|
|||||||
static void
|
static void
|
||||||
CheckForUpdates ()
|
CheckForUpdates ()
|
||||||
{
|
{
|
||||||
|
#ifdef USE_CURL
|
||||||
url_data chunk;
|
url_data chunk;
|
||||||
|
|
||||||
chunk.buffer = nullptr; /* we expect realloc(NULL, size) to work */
|
chunk.buffer = nullptr; /* we expect realloc(NULL, size) to work */
|
||||||
@ -515,6 +522,7 @@ CheckForUpdates ()
|
|||||||
free (chunk.buffer);
|
free (chunk.buffer);
|
||||||
|
|
||||||
curl_easy_cleanup (curl);
|
curl_easy_cleanup (curl);
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
Loading…
x
Reference in New Issue
Block a user