mirror of
https://github.com/blupi-games/planetblupi-dev
synced 2024-12-30 13:55:36 +01:00
Merge branch 'wip/emscripten'
This commit is contained in:
commit
f798468b41
353
CMakeLists.txt
353
CMakeLists.txt
@ -7,10 +7,24 @@ include_directories (${CMAKE_BINARY_DIR}/include)
|
||||
link_directories (${CMAKE_BINARY_DIR}/lib)
|
||||
|
||||
option (STATIC_BUILD "Build Planet Blupi statically" ON)
|
||||
option (EMSCRIPTEN "Build Planet Blupi for emscripten toolchain" OFF)
|
||||
|
||||
if (EMSCRIPTEN)
|
||||
set (BUILD_JS ON)
|
||||
set (PLATFORM emscripten)
|
||||
elseif (APPLE)
|
||||
set (BUILD_DARWIN ON)
|
||||
set (PLATFORM darwin)
|
||||
elseif (UNIX)
|
||||
set (BUILD_LINUX ON)
|
||||
set (PLATFORM linux)
|
||||
elseif (MINGW OR WIN32)
|
||||
set (BUILD_WINDOWS ON)
|
||||
set (PLATFORM windows)
|
||||
endif ()
|
||||
|
||||
# It's an hack in order to be able to link statically planetblupi on darwin.
|
||||
if (APPLE)
|
||||
set (ISAPPLE 1)
|
||||
if (BUILD_DARWIN)
|
||||
set (CMD_LDFLAGS "-L${CMAKE_BINARY_DIR}/lib -framework AudioToolBox -framework AudioUnit -framework CoreAudio -framework CoreFoundation -framework Cocoa -framework OpenGL -framework IOKit -framework CoreVideo -framework Carbon")
|
||||
|
||||
if (OLD_SDK)
|
||||
@ -21,45 +35,135 @@ if (APPLE)
|
||||
set (CMD_CFLAGS "-isysroot ${CMAKE_OSX_SYSROOT} -mmacosx-version-min=${OSX_SDK_VERSION} ${CMAKE_C_FLAGS}")
|
||||
endif ()
|
||||
set (CMD_CPPFLAGS "-I${CMAKE_BINARY_DIR}/include")
|
||||
elseif (BUILD_JS)
|
||||
set (EMSCRIPTEN_FLAGS
|
||||
"-s USE_ZLIB=1 -s USE_LIBPNG=1 -s USE_SDL=2 -s USE_SDL_IMAGE=2 -s SDL2_IMAGE_FORMATS=['png'] -s USE_OGG=1 -s USE_VORBIS=1 -s TOTAL_MEMORY=256MB -s WASM=1"
|
||||
)
|
||||
set (CMD_CXXFLAGS ${EMSCRIPTEN_FLAGS})
|
||||
set (CMD_CFLAGS ${EMSCRIPTEN_FLAGS})
|
||||
set (CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS} ${EMSCRIPTEN_FLAGS})
|
||||
set (CMAKE_C_FLAGS ${CMAKE_C_FLAGS} ${EMSCRIPTEN_FLAGS})
|
||||
endif ()
|
||||
|
||||
configure_file (cmd.sh.in cmd.sh @ONLY)
|
||||
set (CMD ${CMAKE_BINARY_DIR}/cmd.sh)
|
||||
|
||||
###############
|
||||
## Dependencies
|
||||
###############
|
||||
|
||||
macro (DLEXT in out)
|
||||
if (NOT EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/externals/${out}")
|
||||
file (DOWNLOAD "${in}" "${CMAKE_CURRENT_SOURCE_DIR}/externals/${out}" SHOW_PROGRESS)
|
||||
endif ()
|
||||
endmacro (DLEXT)
|
||||
|
||||
DLEXT (http://www.zlib.net/zlib-1.2.11.tar.gz zlib.tar.gz)
|
||||
DLEXT (https://github.com/vietjtnguyen/argagg/archive/0.4.6.tar.gz argagg.tar.gz)
|
||||
DLEXT (https://curl.haxx.se/download/curl-7.55.0.tar.xz curl.tar.xz)
|
||||
DLEXT (http://mirror.switch.ch/ftp/mirror/gnu/gettext/gettext-0.19.8.1.tar.xz gettext.tar.xz)
|
||||
DLEXT (ftp://ftp-osl.osuosl.org/pub/libpng/src/libpng16/libpng-1.6.34.tar.xz libpng.tar.xz)
|
||||
DLEXT (http://www.ffmpeg.org/releases/ffmpeg-3.4.1.tar.xz ffmpeg.tar.xz)
|
||||
DLEXT (http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz libogg.tar.xz)
|
||||
DLEXT (http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz libvorbis.tar.xz)
|
||||
DLEXT (https://www.libsdl.org/release/SDL2-2.0.8.tar.gz SDL2.tar.bz2)
|
||||
DLEXT (https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.3.tar.gz SDL2_image.tar.gz)
|
||||
DLEXT (https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.2.tar.gz SDL2_mixer.tar.gz)
|
||||
set (HAS_KITCHENSINK ON)
|
||||
|
||||
if (NOT APPLE)
|
||||
DLEXT (https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz libiconv.tar.gz)
|
||||
DLEXT (https://github.com/vietjtnguyen/argagg/archive/0.4.6.tar.gz argagg.tar.gz)
|
||||
set (HAS_ARGAGG ON)
|
||||
DLEXT (http://www.ffmpeg.org/releases/ffmpeg-3.4.1.tar.xz ffmpeg.tar.xz)
|
||||
set (HAS_FFMPEG ON)
|
||||
|
||||
if (BUILD_JS)
|
||||
DLEXT (https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.1.tar.gz SDL2_mixer.tar.gz)
|
||||
else ()
|
||||
DLEXT (https://www.libsdl.org/projects/SDL_mixer/release/SDL2_mixer-2.0.2.tar.gz SDL2_mixer.tar.gz)
|
||||
endif ()
|
||||
set (HAS_SDLMIXER ON)
|
||||
|
||||
if (NOT BUILD_JS)
|
||||
DLEXT (http://www.zlib.net/zlib-1.2.11.tar.gz zlib.tar.gz)
|
||||
set (HAS_ZLIB ON)
|
||||
DLEXT (https://curl.haxx.se/download/curl-7.55.0.tar.xz curl.tar.xz)
|
||||
set (HAS_CURL ON)
|
||||
DLEXT (http://mirror.switch.ch/ftp/mirror/gnu/gettext/gettext-0.19.8.1.tar.xz gettext.tar.xz)
|
||||
set (HAS_GETTEXT ON)
|
||||
DLEXT (ftp://ftp-osl.osuosl.org/pub/libpng/src/libpng16/libpng-1.6.34.tar.xz libpng.tar.xz)
|
||||
set (HAS_PNG ON)
|
||||
DLEXT (http://downloads.xiph.org/releases/ogg/libogg-1.3.3.tar.xz libogg.tar.xz)
|
||||
set (HAS_OGG ON)
|
||||
DLEXT (http://downloads.xiph.org/releases/vorbis/libvorbis-1.3.5.tar.xz libvorbis.tar.xz)
|
||||
set (HAS_VORBIS ON)
|
||||
DLEXT (https://www.libsdl.org/release/SDL2-2.0.8.tar.gz SDL2.tar.bz2)
|
||||
set (HAS_SDL ON)
|
||||
DLEXT (https://www.libsdl.org/projects/SDL_image/release/SDL2_image-2.0.3.tar.gz SDL2_image.tar.gz)
|
||||
set (HAS_SDLIMAGE ON)
|
||||
endif ()
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
if (BUILD_LINUX AND BUILD_WINDOWS)
|
||||
DLEXT (https://ftp.gnu.org/pub/gnu/libiconv/libiconv-1.15.tar.gz libiconv.tar.gz)
|
||||
set (HAS_ICONV ON)
|
||||
endif ()
|
||||
|
||||
if (BUILD_LINUX)
|
||||
DLEXT (ftp://ftp.alsa-project.org/pub/lib/alsa-lib-1.1.4.1.tar.bz2 alsa-lib.tar.bz2)
|
||||
set (HAS_ALSA ON)
|
||||
DLEXT (http://www.mega-nerd.com/libsndfile/files/libsndfile-1.0.28.tar.gz libsndfile.tar.gz)
|
||||
set (HAS_SNDFILE ON)
|
||||
DLEXT (https://freedesktop.org/software/pulseaudio/releases/pulseaudio-11.1.tar.xz pulseaudio.tar.xz)
|
||||
DLEXT (http://www.linuxfromscratch.org/patches/blfs/svn/pulseaudio-11.1-glibc_2.27_fix-1.patch pulseaudio.patch)
|
||||
set (HAS_PULSEAUDIO ON)
|
||||
endif ()
|
||||
|
||||
#########
|
||||
## zlib
|
||||
#########
|
||||
message (STATUS "Build projects for ${PLATFORM}")
|
||||
if (HAS_ZLIB)
|
||||
message (STATUS " * zlib")
|
||||
endif ()
|
||||
if (HAS_GETTEXT)
|
||||
message (STATUS " * gettext")
|
||||
endif ()
|
||||
if (HAS_ARGAGG)
|
||||
message (STATUS " * argagg")
|
||||
endif ()
|
||||
if (HAS_CURL)
|
||||
message (STATUS " * libcurl")
|
||||
endif ()
|
||||
if (HAS_ICONV)
|
||||
message (STATUS " * libiconv")
|
||||
endif ()
|
||||
if (HAS_PNG)
|
||||
message (STATUS " * libpng")
|
||||
endif ()
|
||||
if (HAS_FFMPEG)
|
||||
message (STATUS " * FFmpeg")
|
||||
endif ()
|
||||
if (HAS_SDL)
|
||||
message (STATUS " * SDL2")
|
||||
endif ()
|
||||
if (HAS_SDLIMAGE)
|
||||
message (STATUS " * SDL2_image")
|
||||
endif ()
|
||||
if (HAS_SDLMIXER)
|
||||
message (STATUS " * SDL2_mixer")
|
||||
endif ()
|
||||
if (HAS_KITCHENSINK)
|
||||
message (STATUS " * SDL_kitchensink")
|
||||
endif ()
|
||||
if (HAS_ALSA)
|
||||
message (STATUS " * libasound")
|
||||
endif ()
|
||||
if (HAS_SNDFILE)
|
||||
message (STATUS " * libsndfile")
|
||||
endif ()
|
||||
if (HAS_PULSEAUDIO)
|
||||
message (STATUS " * libpulse")
|
||||
endif ()
|
||||
if (HAS_OGG)
|
||||
message (STATUS " * libogg")
|
||||
endif ()
|
||||
if (HAS_VORBIS)
|
||||
message (STATUS " * libvorbis")
|
||||
endif ()
|
||||
|
||||
if (WIN32)
|
||||
set (planetblupi_DEPS)
|
||||
|
||||
#######
|
||||
## zlib
|
||||
#######
|
||||
|
||||
if (HAS_ZLIB)
|
||||
if (BUILD_WINDOWS)
|
||||
ExternalProject_Add (zlib_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/zlib.tar.gz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
@ -69,7 +173,7 @@ if (WIN32)
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
else ()
|
||||
else ()
|
||||
ExternalProject_Add (zlib_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/zlib.tar.gz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
@ -81,23 +185,34 @@ else ()
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
#########
|
||||
## argagg
|
||||
#########
|
||||
|
||||
ExternalProject_Add (argagg_Project
|
||||
if (HAS_ARGAGG)
|
||||
ExternalProject_Add (argagg_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/argagg.tar.gz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CMAKE_ARGS "-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}"
|
||||
)
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} argagg_Project)
|
||||
endif ()
|
||||
|
||||
##########
|
||||
## libcurl
|
||||
##########
|
||||
|
||||
ExternalProject_Add (libcurl_Project
|
||||
if (HAS_CURL)
|
||||
set (libcurl_DEPENDS)
|
||||
if (HAS_ZLIB)
|
||||
set (libcurl_DEPENDS ${libcurl_DEPENDS} zlib_Project)
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add (libcurl_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/curl.tar.xz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -143,14 +258,17 @@ ExternalProject_Add (libcurl_Project
|
||||
INSTALL_COMMAND ${CMD} make install
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS zlib_Project
|
||||
)
|
||||
DEPENDS ${libcurl_DEPENDS}
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} libcurl_Project)
|
||||
endif ()
|
||||
|
||||
###########
|
||||
## libiconv
|
||||
###########
|
||||
|
||||
if (NOT APPLE)
|
||||
if (HAS_ICONV)
|
||||
ExternalProject_Add (libiconv_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/libiconv.tar.gz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
@ -169,12 +287,13 @@ endif ()
|
||||
## gettext
|
||||
##########
|
||||
|
||||
set (gettext_DEPENDS)
|
||||
if (NOT APPLE)
|
||||
if (HAS_GETTEXT)
|
||||
set (gettext_DEPENDS)
|
||||
if (HAS_ICONV)
|
||||
set (gettext_DEPENDS ${gettext_DEPENDS} libiconv_Project)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add (gettext_Project
|
||||
ExternalProject_Add (gettext_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/gettext.tar.xz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND cd gettext-runtime && ${CMD} ./configure
|
||||
@ -186,13 +305,17 @@ ExternalProject_Add (gettext_Project
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS ${gettext_DEPENDS}
|
||||
)
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} gettext_Project)
|
||||
endif ()
|
||||
|
||||
#########
|
||||
## libpng
|
||||
#########
|
||||
|
||||
ExternalProject_Add (libpng_Project
|
||||
if (HAS_PNG)
|
||||
ExternalProject_Add (libpng_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/libpng.tar.xz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -204,13 +327,29 @@ ExternalProject_Add (libpng_Project
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS zlib_Project
|
||||
)
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} libpng_Project)
|
||||
endif ()
|
||||
|
||||
#########
|
||||
## FFmpeg
|
||||
#########
|
||||
|
||||
ExternalProject_Add (FFmpeg_Project
|
||||
if (HAS_FFMPEG)
|
||||
set (FFMPEG_CONFIGURE)
|
||||
if (BUILD_JS)
|
||||
set (FFMPEG_CONFIGURE
|
||||
--cc=emcc
|
||||
--enable-cross-compile
|
||||
--target-os=none
|
||||
--arch=x86_64
|
||||
--disable-asm
|
||||
--disable-pthreads
|
||||
)
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add (FFmpeg_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/ffmpeg.tar.xz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -249,17 +388,19 @@ ExternalProject_Add (FFmpeg_Project
|
||||
--disable-libxcb-shape
|
||||
--disable-jack
|
||||
--disable-sndio
|
||||
${FFMPEG_CONFIGURE}
|
||||
BUILD_COMMAND ${CMD} make
|
||||
INSTALL_COMMAND ${CMD} make install
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
)
|
||||
endif ()
|
||||
|
||||
############
|
||||
## libasound
|
||||
############
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
if (HAS_ALSA)
|
||||
ExternalProject_Add (libasound_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/alsa-lib.tar.bz2
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
@ -274,13 +415,16 @@ if (UNIX AND NOT APPLE)
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} libasound_Project)
|
||||
endif ()
|
||||
|
||||
#########
|
||||
## libogg
|
||||
#########
|
||||
|
||||
ExternalProject_Add (libogg_Project
|
||||
if (HAS_OGG)
|
||||
ExternalProject_Add (libogg_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/libogg.tar.xz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -291,13 +435,15 @@ ExternalProject_Add (libogg_Project
|
||||
INSTALL_COMMAND ${CMD} make install INSTALLDIR=${CMAKE_BINARY_DIR}
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
)
|
||||
)
|
||||
endif ()
|
||||
|
||||
############
|
||||
## libvorbis
|
||||
############
|
||||
|
||||
ExternalProject_Add (libvorbis_Project
|
||||
if (HAS_VORBIS)
|
||||
ExternalProject_Add (libvorbis_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/libvorbis.tar.xz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -309,13 +455,16 @@ ExternalProject_Add (libvorbis_Project
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS libogg_Project
|
||||
)
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} libvorbis_Project)
|
||||
endif ()
|
||||
|
||||
#############
|
||||
## libsndfile
|
||||
#############
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
if (HAS_SNDFILE)
|
||||
ExternalProject_Add (libsndfile_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/libsndfile.tar.gz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
@ -339,7 +488,7 @@ endif ()
|
||||
## libpulse
|
||||
###########
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
if (HAS_PULSEAUDIO)
|
||||
ExternalProject_Add (libpulse_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/pulseaudio.tar.xz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
@ -387,14 +536,18 @@ if (UNIX AND NOT APPLE)
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS libasound_Project libsndfile_Project
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} libpulse_Project)
|
||||
endif ()
|
||||
|
||||
#######
|
||||
## SDL2
|
||||
#######
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
set (SDL2_CONFIGURE --enable-video-x11
|
||||
if (HAS_SDL)
|
||||
if (BUILD_LINUX)
|
||||
set (SDL2_CONFIGURE
|
||||
--enable-video-x11
|
||||
--enable-x11-shared
|
||||
--enable-video-wayland
|
||||
--enable-wayland-shared
|
||||
@ -407,22 +560,33 @@ if (UNIX AND NOT APPLE)
|
||||
--enable-pulseaudio
|
||||
--disable-pulseaudio-shared
|
||||
--disable-jack
|
||||
--disable-jack-shared)
|
||||
elseif (MINGW)
|
||||
set (SDL2_CONFIGURE --enable-directx
|
||||
--disable-jack-shared
|
||||
)
|
||||
elseif (BUILD_WINDOWS)
|
||||
set (SDL2_CONFIGURE
|
||||
--enable-directx
|
||||
--enable-render-d3d
|
||||
--enable-video-opengl)
|
||||
elseif (APPLE)
|
||||
set (SDL2_CONFIGURE --enable-video-opengl
|
||||
--enable-video-cocoa)
|
||||
endif ()
|
||||
--enable-video-opengl
|
||||
)
|
||||
elseif (BUILD_DARWIN)
|
||||
set (SDL2_CONFIGURE
|
||||
--enable-video-opengl
|
||||
--enable-video-cocoa
|
||||
)
|
||||
endif ()
|
||||
|
||||
set (SDL2_DEPENDS zlib_Project)
|
||||
if (UNIX AND NOT APPLE)
|
||||
set (SDL2_DEPENDS ${SDL2_DEPENDS} libasound_Project libpulse_Project)
|
||||
endif ()
|
||||
set (SDL2_DEPENDS)
|
||||
if (HAS_ZLIB)
|
||||
set (SDL2_DEPENDS zlib_Project)
|
||||
endif ()
|
||||
if (HAS_ALSA)
|
||||
set (SDL2_DEPENDS ${SDL2_DEPENDS} libasound_Project)
|
||||
endif ()
|
||||
if (HAS_PULSEAUDIO)
|
||||
set (SDL2_DEPENDS ${SDL2_DEPENDS} libpulse_Project)
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add (SDL2_Project
|
||||
ExternalProject_Add (SDL2_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/SDL2.tar.bz2
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -437,13 +601,15 @@ ExternalProject_Add (SDL2_Project
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS ${SDL2_DEPENDS}
|
||||
)
|
||||
)
|
||||
endif ()
|
||||
|
||||
#############
|
||||
## SDL2_image
|
||||
#############
|
||||
|
||||
ExternalProject_Add (SDL2_image_Project
|
||||
if (HAS_SDLIMAGE)
|
||||
ExternalProject_Add (SDL2_image_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/SDL2_image.tar.gz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -473,18 +639,29 @@ ExternalProject_Add (SDL2_image_Project
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS SDL2_Project libpng_Project
|
||||
)
|
||||
)
|
||||
endif ()
|
||||
|
||||
#############
|
||||
## SDL2_mixer
|
||||
#############
|
||||
|
||||
set (SDL2_mixer_DEPENDS SDL2_Project libogg_Project libvorbis_Project)
|
||||
if (NOT APPLE)
|
||||
if (HAS_SDLMIXER)
|
||||
set (SDL2_mixer_DEPENDS)
|
||||
if (HAS_SDL)
|
||||
set (SDL2_mixer_DEPENDS ${SDL2_mixer_DEPENDS} SDL2_Project)
|
||||
endif ()
|
||||
if (HAS_OGG)
|
||||
set (SDL2_mixer_DEPENDS ${SDL2_mixer_DEPENDS} libogg_Project)
|
||||
endif ()
|
||||
if (HAS_VORBIS)
|
||||
set (SDL2_mixer_DEPENDS ${SDL2_mixer_DEPENDS} libvorbis_Project)
|
||||
endif ()
|
||||
if (HAS_ICONV)
|
||||
set (SDL2_mixer_DEPENDS ${SDL2_mixer_DEPENDS} libiconv_Project)
|
||||
endif ()
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add (SDL2_mixer_Project
|
||||
ExternalProject_Add (SDL2_mixer_Project
|
||||
URL ${CMAKE_CURRENT_SOURCE_DIR}/externals/SDL2_mixer.tar.gz
|
||||
PREFIX ${CMAKE_BINARY_DIR}
|
||||
CONFIGURE_COMMAND ${CMD} ./configure
|
||||
@ -519,13 +696,20 @@ ExternalProject_Add (SDL2_mixer_Project
|
||||
BUILD_IN_SOURCE 1
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
DEPENDS ${SDL2_mixer_DEPENDS}
|
||||
)
|
||||
)
|
||||
endif ()
|
||||
|
||||
##################
|
||||
## SDL_kitchensink
|
||||
##################
|
||||
|
||||
ExternalProject_Add (SDL_kitchensink_Project
|
||||
if (HAS_KITCHENSINK)
|
||||
set (SDL_kitchensink_DEPENDS FFmpeg_Project)
|
||||
if (HAS_SDL)
|
||||
set (SDL_kitchensink_DEPENDS ${SDL_kitchensink_DEPENDS} SDL2_Project)
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add (SDL_kitchensink_Project
|
||||
URL ${CMAKE_SOURCE_DIR}/SDL_kitchensink
|
||||
DOWNLOAD_COMMAND ""
|
||||
SOURCE_DIR ${CMAKE_SOURCE_DIR}/SDL_kitchensink
|
||||
@ -533,16 +717,20 @@ ExternalProject_Add (SDL_kitchensink_Project
|
||||
CMAKE_COMMAND ${CMD} cmake
|
||||
CMAKE_ARGS -DDISABLE_SHARED=true
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
||||
-DCMAKE_C_FLAGS=${EMSCRIPTEN_FLAGS}
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
BUILD_ALWAYS 1
|
||||
DEPENDS SDL2_Project FFmpeg_Project
|
||||
)
|
||||
DEPENDS ${SDL_kitchensink_DEPENDS}
|
||||
)
|
||||
|
||||
set (planetblupi_DEPS ${planetblupi_DEPS} SDL_kitchensink_Project)
|
||||
endif ()
|
||||
|
||||
##############
|
||||
## planetblupi
|
||||
##############
|
||||
|
||||
if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
if (BUILD_LINUX)
|
||||
set (APPIMAGE_APPRUN_BIN "AppRun-x86_64")
|
||||
set (APPIMAGE_APPRUN_URL "https://github.com/probonopd/AppImageKit/releases/download/continuous/${APPIMAGE_APPRUN_BIN}")
|
||||
set (APPIMAGE_APPRUN_PROGRAM "${CMAKE_BINARY_DIR}/bin/${APPIMAGE_APPRUN_BIN}")
|
||||
@ -563,24 +751,6 @@ if (${CMAKE_SYSTEM_NAME} STREQUAL "Linux")
|
||||
execute_process (COMMAND /bin/chmod 0755 "${APPIMAGE_TOOL_PROGRAM}")
|
||||
endif ()
|
||||
|
||||
set (planetblupi_DEPS
|
||||
argagg_Project
|
||||
libcurl_Project
|
||||
SDL2_Project
|
||||
SDL2_image_Project
|
||||
SDL2_mixer_Project
|
||||
SDL_kitchensink_Project
|
||||
libpng_Project
|
||||
gettext_Project
|
||||
libvorbis_Project
|
||||
)
|
||||
if (UNIX AND NOT APPLE)
|
||||
list (APPEND planetblupi_DEPS
|
||||
libasound_Project
|
||||
libpulse_Project
|
||||
)
|
||||
endif ()
|
||||
|
||||
ExternalProject_Add (planetblupi_Project
|
||||
URL ${CMAKE_SOURCE_DIR}/planetblupi
|
||||
DOWNLOAD_COMMAND ""
|
||||
@ -591,9 +761,14 @@ ExternalProject_Add (planetblupi_Project
|
||||
-DAPPIMAGE_APPRUN_PROGRAM=${APPIMAGE_APPRUN_PROGRAM}
|
||||
-DAPPIMAGE_ASSISTANT_PROGRAM=${APPIMAGE_TOOL_PROGRAM}
|
||||
-DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
|
||||
-DPB_HTTP_VERSION_CHECK=yes
|
||||
-DPB_HTTP_VERSION_CHECK=${HAS_CURL}
|
||||
-DSTATIC_BUILD=${STATIC_BUILD}
|
||||
-DSIGN_APP=${SIGN_APP}
|
||||
-DEMSCRIPTEN_FLAGS=${EMSCRIPTEN_FLAGS}
|
||||
-DBUILD_JS=${BUILD_JS}
|
||||
-DBUILD_LINUX=${BUILD_LINUX}
|
||||
-DBUILD_DARWIN=${BUILD_DARWIN}
|
||||
-DBUILD_WINDOWS=${BUILD_WINDOWS}
|
||||
INSTALL_DIR ${CMAKE_BINARY_DIR}
|
||||
BUILD_ALWAYS 1
|
||||
DEPENDS ${planetblupi_DEPS}
|
||||
|
@ -1 +1 @@
|
||||
Subproject commit c0f187fd002b14ccb31fb1ecfe894e87ceac343e
|
||||
Subproject commit 616a3b439bde626f26726e2484713e6c9a475dcb
|
@ -1 +1 @@
|
||||
Subproject commit dd18a0bdaff105cc956d2c9628bcb2d2d9db25c0
|
||||
Subproject commit 8d67df23b13e623872e7323c5827000c3f4514ba
|
@ -1 +1 @@
|
||||
Subproject commit 5685f4d6a0d2a5d6684618e4f3c84703665b8fc3
|
||||
Subproject commit 0ebdd99246682b7abc138678186446dbdcd79100
|
Loading…
x
Reference in New Issue
Block a user