mirror of
https://github.com/OpenRCT2/OpenRCT2
synced 2025-12-16 12:32:29 +01:00
Detect libpng>=1.6 and fall back to lodepng
This commit is contained in:
committed by
IntelOrca
parent
68a600f679
commit
94a3ccdab5
@@ -26,7 +26,6 @@ project(${PROJECT})
|
||||
add_definitions(-DORCT2_RESOURCE_DIR="${ORCT2_RESOURCE_DIR}")
|
||||
add_definitions(-DHAVE_CONFIG_H)
|
||||
add_definitions(-DCURL_STATICLIB)
|
||||
add_definitions(-DUSE_LIBPNG)
|
||||
|
||||
INCLUDE(FindPkgConfig)
|
||||
|
||||
@@ -46,6 +45,19 @@ endif (DISABLE_NETWORK)
|
||||
|
||||
option(STATIC "Create a static build.")
|
||||
|
||||
# Not required yet
|
||||
PKG_CHECK_MODULES(PNG libpng>=1.6)
|
||||
if (NOT PNG_FOUND)
|
||||
PKG_CHECK_MODULES(PNG libpng16)
|
||||
endif (NOT PNG_FOUND)
|
||||
|
||||
if (PNG_FOUND)
|
||||
set (USE_LODEPNG FALSE)
|
||||
else (PNG_FOUND)
|
||||
set (USE_LODEPNG TRUE)
|
||||
message("Falling back to deprecated Lodepng for PNG support. Please upgrade your system to libpng 1.6")
|
||||
endif (PNG_FOUND)
|
||||
|
||||
# Handle creating the rct2 text and data files on OS X and Linux
|
||||
# See details in src/openrct2.c:openrct2_setup_rct2_segment for how the values
|
||||
# were derived.
|
||||
@@ -97,10 +109,16 @@ set(DEBUG_LEVEL 0 CACHE STRING "Select debug level for compilation. Use value in
|
||||
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -DDEBUG=${DEBUG_LEVEL}")
|
||||
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DDEBUG=${DEBUG_LEVEL}")
|
||||
|
||||
if (USE_LODEPNG)
|
||||
set (LODEPNG_SOURCES "lib/lodepng/*.c")
|
||||
else (USE_LODEPNG)
|
||||
add_definitions(-DUSE_LIBPNG)
|
||||
endif (USE_LODEPNG)
|
||||
|
||||
# include lib
|
||||
include_directories("lib/")
|
||||
# add source files
|
||||
file(GLOB_RECURSE ORCT2_SOURCES "src/*.c" "src/*.cpp" "lib/argparse/*.c" "lib/cutest/*.c" "lib/lodepng/*.c")
|
||||
file(GLOB_RECURSE ORCT2_SOURCES "src/*.c" "src/*.cpp" "lib/argparse/*.c" "lib/cutest/*.c" ${LODEPNG_SOURCES})
|
||||
if (APPLE)
|
||||
file(GLOB_RECURSE ORCT2_MM_SOURCES "src/*.m")
|
||||
set_source_files_properties(${ORCT2_MM_SOURCES} PROPERTIES COMPILE_FLAGS "-x objective-c -fmodules")
|
||||
@@ -136,7 +154,6 @@ else (STATIC)
|
||||
SET(SDL2LIBS ${SDL2_LIBRARIES})
|
||||
endif (STATIC)
|
||||
|
||||
PKG_CHECK_MODULES(PNG REQUIRED libpng>=1.6)
|
||||
if (STATIC)
|
||||
SET(PNGLIBS ${PNG_STATIC_LIBRARIES})
|
||||
else (STATIC)
|
||||
@@ -175,7 +192,7 @@ endif (UNIX)
|
||||
|
||||
INCLUDE_DIRECTORIES(${SDL2_INCLUDE_DIRS} ${LIBCURL_INCLUDE_DIRS} ${JANSSON_INCLUDE_DIRS} ${SPEEX_INCLUDE_DIRS} ${PNG_INCLUDE_DIRS})
|
||||
|
||||
LINK_DIRECTORIES(${SDL2_LIBRARY_DIRS} ${JANSSON_LIBRARY_DIRS} ${LIBCURL_LIBRARY_DIRS})
|
||||
LINK_DIRECTORIES(${SDL2_LIBRARY_DIRS} ${JANSSON_LIBRARY_DIRS} ${LIBCURL_LIBRARY_DIRS} ${PNG_LIBRARY_DIRS})
|
||||
|
||||
if (WIN32)
|
||||
# build as library for now, replace with add_executable
|
||||
|
||||
@@ -170,8 +170,9 @@ elif [[ $(uname) == "Linux" ]]; then
|
||||
case "$TARGET" in
|
||||
"linux")
|
||||
sudo dpkg --add-architecture i386
|
||||
sudo add-apt-repository -y ppa:djcj/tools
|
||||
sudo apt-get update
|
||||
sudo apt-get install --no-install-recommends -y --force-yes cmake libsdl2-dev:i386 libsdl2-ttf-dev:i386 gcc-4.8 pkg-config:i386 g++-4.8-multilib gcc-4.8-multilib libjansson-dev:i386 libspeex-dev:i386 libspeexdsp-dev:i386 libcurl4-openssl-dev:i386 libcrypto++-dev:i386 clang libfontconfig1-dev:i386 libfreetype6-dev:i386 libpng-dev:i386
|
||||
sudo apt-get install --no-install-recommends -y --force-yes cmake libsdl2-dev:i386 libsdl2-ttf-dev:i386 gcc-4.8 pkg-config:i386 g++-4.8-multilib gcc-4.8-multilib libjansson-dev:i386 libspeex-dev:i386 libspeexdsp-dev:i386 libcurl4-openssl-dev:i386 libcrypto++-dev:i386 clang libfontconfig1-dev:i386 libfreetype6-dev:i386 libpng-dev:i386 libpng16-dev:i386
|
||||
download https://launchpad.net/ubuntu/+archive/primary/+files/libjansson4_2.7-1ubuntu1_i386.deb libjansson4_2.7-1ubuntu1_i386.deb
|
||||
download https://launchpad.net/ubuntu/+archive/primary/+files/libjansson-dev_2.7-1ubuntu1_i386.deb libjansson-dev_2.7-1ubuntu1_i386.deb
|
||||
sudo dpkg -i libjansson4_2.7-1ubuntu1_i386.deb
|
||||
|
||||
Reference in New Issue
Block a user