mirror of
https://gitlab.com/dosowisko.net/libsuperderpy.git
synced 2024-12-04 16:28:00 +01:00
cmake: add ability to build an embedded, static copy of Allegro
This commit is contained in:
parent
09c8506b37
commit
aa1c864811
4 changed files with 56 additions and 12 deletions
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -4,3 +4,6 @@
|
|||
[submodule "src/3rdparty/dlfcn-win32"]
|
||||
path = src/3rdparty/dlfcn-win32
|
||||
url = https://gitlab.com/dosowisko.net/dlfcn-win32.git
|
||||
[submodule "src/3rdparty/allegro5"]
|
||||
path = src/3rdparty/allegro5
|
||||
url = https://gitlab.com/dosowisko.net/allegro5.git
|
||||
|
|
|
@ -9,6 +9,7 @@ if (NOT LIBSUPERDERPY_CONFIG_INCLUDED)
|
|||
if (EXISTS "${CMAKE_SOURCE_DIR}/libsuperderpy")
|
||||
|
||||
set(LIBSUPERDERPY_DIR "${CMAKE_SOURCE_DIR}/libsuperderpy")
|
||||
set(LIBSUPERDERPY_BINARY_DIR "${CMAKE_BINARY_DIR}/libsuperderpy")
|
||||
|
||||
if(NOT DEFINED LIBSUPERDERPY_NO_GAME_GIT_REV)
|
||||
execute_process(
|
||||
|
@ -24,6 +25,7 @@ if (NOT LIBSUPERDERPY_CONFIG_INCLUDED)
|
|||
else (EXISTS "${CMAKE_SOURCE_DIR}/libsuperderpy")
|
||||
|
||||
set(LIBSUPERDERPY_DIR ${CMAKE_SOURCE_DIR})
|
||||
set(LIBSUPERDERPY_BINARY_DIR ${CMAKE_BINARY_DIR})
|
||||
|
||||
endif (EXISTS "${CMAKE_SOURCE_DIR}/libsuperderpy")
|
||||
|
||||
|
@ -288,18 +290,41 @@ if (NOT LIBSUPERDERPY_CONFIG_INCLUDED)
|
|||
add_definitions(-DLIBSUPERDERPY_SINGLE_THREAD)
|
||||
endif()
|
||||
|
||||
find_package(Allegro5 REQUIRED)
|
||||
find_package(Allegro5Font REQUIRED)
|
||||
find_package(Allegro5TTF REQUIRED)
|
||||
find_package(Allegro5Primitives REQUIRED)
|
||||
find_package(Allegro5Audio REQUIRED)
|
||||
find_package(Allegro5ACodec REQUIRED)
|
||||
find_package(Allegro5Image REQUIRED)
|
||||
find_package(Allegro5Color REQUIRED)
|
||||
find_package(Allegro5Video REQUIRED)
|
||||
if(APPLE)
|
||||
find_package(Allegro5Main)
|
||||
endif(APPLE)
|
||||
if (LIBSUPERDERPY_EMBEDDED_ALLEGRO)
|
||||
set(ALLEGRO5_LIBRARIES "allegro")
|
||||
set(ALLEGRO5_FONT_LIBRARIES "allegro_font")
|
||||
set(ALLEGRO5_TTF_LIBRARIES "allegro_ttf")
|
||||
set(ALLEGRO5_PRIMITIVES_LIBRARIES "allegro_primitives")
|
||||
set(ALLEGRO5_AUDIO_LIBRARIES "allegro_audio")
|
||||
set(ALLEGRO5_ACODEC_LIBRARIES "allegro_acodec")
|
||||
set(ALLEGRO5_IMAGE_LIBRARIES "allegro_image")
|
||||
set(ALLEGRO5_COLOR_LIBRARIES "allegro_color")
|
||||
set(ALLEGRO5_VIDEO_LIBRARIES "allegro_video")
|
||||
set(ALLEGRO5_MAIN_LIBRARIES "allegro_main")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/include")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/font")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/ttf")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/primitives")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/audio")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/acodec")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/image")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/color")
|
||||
include_directories("${LIBSUPERDERPY_DIR}/src/3rdparty/allegro5/addons/video")
|
||||
include_directories("${LIBSUPERDERPY_BINARY_DIR}/src/3rdparty/allegro5/include")
|
||||
else (LIBSUPERDERPY_EMBEDDED_ALLEGRO)
|
||||
find_package(Allegro5 REQUIRED)
|
||||
find_package(Allegro5Font REQUIRED)
|
||||
find_package(Allegro5TTF REQUIRED)
|
||||
find_package(Allegro5Primitives REQUIRED)
|
||||
find_package(Allegro5Audio REQUIRED)
|
||||
find_package(Allegro5ACodec REQUIRED)
|
||||
find_package(Allegro5Image REQUIRED)
|
||||
find_package(Allegro5Color REQUIRED)
|
||||
find_package(Allegro5Video REQUIRED)
|
||||
if(APPLE)
|
||||
find_package(Allegro5Main)
|
||||
endif(APPLE)
|
||||
endif()
|
||||
|
||||
include_directories(${ALLEGRO5_INCLUDE_DIR} ${ALLEGRO5_FONT_INCLUDE_DIR} ${ALLEGRO5_TTF_INCLUDE_DIR} ${ALLEGRO5_PRIMITIVES_INCLUDE_DIR} ${ALLEGRO5_AUDIO_INCLUDE_DIR} ${ALLEGRO5_ACODEC_INCLUDE_DIR} ${ALLEGRO5_VIDEO_INCLUDE_DIR} ${ALLEGRO5_IMAGE_INCLUDE_DIR} ${ALLEGRO5_COLOR_INCLUDE_DIR})
|
||||
|
||||
|
|
1
src/3rdparty/allegro5
vendored
Submodule
1
src/3rdparty/allegro5
vendored
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit 48262b6bb6e30a33687c18c761f05633c7255dc9
|
|
@ -16,6 +16,21 @@ if (EMSCRIPTEN)
|
|||
list(APPEND SRC_LIST emscripten-audio-stream.c)
|
||||
endif()
|
||||
|
||||
if (LIBSUPERDERPY_EMBEDDED_ALLEGRO)
|
||||
set(SHARED OFF) # Allegro doesn't namespace this...
|
||||
add_subdirectory("3rdparty/allegro5" EXCLUDE_FROM_ALL)
|
||||
set_property(TARGET "allegro" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_font" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_ttf" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_primitives" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_audio" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_acodec" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_image" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_color" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_video" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
set_property(TARGET "allegro_main" PROPERTY POSITION_INDEPENDENT_CODE ON)
|
||||
endif (LIBSUPERDERPY_EMBEDDED_ALLEGRO)
|
||||
|
||||
if (LIBSUPERDERPY_IMGUI)
|
||||
set(IMGUI_STATIC ON CACHE STRING "" FORCE)
|
||||
add_subdirectory(3rdparty/cimgui EXCLUDE_FROM_ALL)
|
||||
|
|
Loading…
Reference in a new issue