libs: added Raspberry Pi SDL support

This commit is contained in:
techyian 2019-01-25 14:12:54 +00:00 committed by Remy Marquis
parent 297693edbc
commit c6b91498a8

View file

@ -639,25 +639,59 @@ if(BUNDLED_SDL AND BUILD_CLIENT)
set(SDL_WITH_GLES "${FEATURE_RENDERER_GLES}")
endif()
# ${CMAKE_CURRENT_BINARY_DIR}/libs/sdl2
# ${PROJECT_BINARY_DIR}/sdl2
ExternalProject_Add(bundled_sdl
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/sdl2
# DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}/sdl2
# URL https://www.libsdl.org/release/SDL2-2.0.7.tar.gz
BINARY_DIR ${LIBS_BINARYDIR_DIR}/sdl2
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_OSX_DEPLOYMENT_TARGET="10.7"
-DVIDEO_OPENGLES=${SDL_WITH_GLES} -DSDL_SHARED=OFF -DSDL_RENDER=OFF -DRENDER_D3D=OFF -DFORCE_STATIC_VCRT=ON
-DCMAKE_INSTALL_PREFIX=${LIBS_BINARYDIR_DIR}/sdl2
PREFIX ${LIBS_BINARYDIR_DIR}/sdl2
)
if(ARM)
#check if we're running on Raspberry Pi
if(EXISTS "/opt/vc/include/bcm_host.h")
set(BCMHOST found)
endif()
if(DEFINED BCMHOST)
if (FEATURE_RENDERER_GLES)
ExternalProject_Add(bundled_sdl
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/sdl2
# DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}/sdl2
# URL https://www.libsdl.org/release/SDL2-2.0.9.tar.gz
BINARY_DIR ${LIBS_BINARYDIR_DIR}/sdl2
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_OSX_DEPLOYMENT_TARGET="10.7"
-DVIDEO_OPENGLES=${SDL_WITH_GLES} -DSDL_SHARED=OFF -DSDL_RENDER=OFF -DRENDER_D3D=OFF -DFORCE_STATIC_VCRT=ON
-DCMAKE_INSTALL_PREFIX=${LIBS_BINARYDIR_DIR}/sdl2
PREFIX ${LIBS_BINARYDIR_DIR}/sdl2
CONFIGURE_COMMAND ${CMAKE_CURRENT_LIST_DIR}/sdl2/./configure --host=armv7l-raspberry-linux-gnueabihf --disable-pulseaudio --disable-esd --disable-video-mir --disable-video-wayland --disable-video-x11 --disable-video-opengl --prefix=${LIBS_BINARYDIR_DIR}/sdl2
)
else()
ExternalProject_Add(bundled_sdl
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/sdl2
# DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}/sdl2
# URL https://www.libsdl.org/release/SDL2-2.0.9.tar.gz
BINARY_DIR ${LIBS_BINARYDIR_DIR}/sdl2
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_OSX_DEPLOYMENT_TARGET="10.7"
-DVIDEO_OPENGLES=${SDL_WITH_GLES} -DSDL_SHARED=OFF -DSDL_RENDER=OFF -DRENDER_D3D=OFF -DFORCE_STATIC_VCRT=ON
-DCMAKE_INSTALL_PREFIX=${LIBS_BINARYDIR_DIR}/sdl2
PREFIX ${LIBS_BINARYDIR_DIR}/sdl2
CONFIGURE_COMMAND ${CMAKE_CURRENT_LIST_DIR}/sdl2/./configure --host=armv7l-raspberry-linux-gnueabihf --prefix=${LIBS_BINARYDIR_DIR}/sdl2
)
endif()
endif()
else()
ExternalProject_Add(bundled_sdl
SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/sdl2
# DOWNLOAD_DIR ${LIBS_DOWNLOAD_DIR}/sdl2
# URL https://www.libsdl.org/release/SDL2-2.0.9.tar.gz
BINARY_DIR ${LIBS_BINARYDIR_DIR}/sdl2
CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -DCMAKE_CXX_FLAGS_DEBUG=${CMAKE_CXX_FLAGS_DEBUG}
-DCMAKE_CXX_FLAGS_RELEASE=${CMAKE_CXX_FLAGS_RELEASE} -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS} -DCMAKE_OSX_DEPLOYMENT_TARGET="10.7"
-DVIDEO_OPENGLES=${SDL_WITH_GLES} -DSDL_SHARED=OFF -DSDL_RENDER=OFF -DRENDER_D3D=OFF -DFORCE_STATIC_VCRT=ON
-DCMAKE_INSTALL_PREFIX=${LIBS_BINARYDIR_DIR}/sdl2
PREFIX ${LIBS_BINARYDIR_DIR}/sdl2
)
endif()
if(CMAKE_SYSTEM MATCHES "Darwin" OR WIN32)
set(SDL32_BUNDLED_LIBRARIES optimized "${LIBS_BINARYDIR_DIR}/sdl2/lib/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2main${CMAKE_STATIC_LIBRARY_SUFFIX}" debug "${LIBS_BINARYDIR_DIR}/sdl2/lib/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2maind${CMAKE_STATIC_LIBRARY_SUFFIX}")
endif()
set(SDL32_BUNDLED_LIBRARIES ${SDL32_BUNDLED_LIBRARIES} optimized "${LIBS_BINARYDIR_DIR}/sdl2/lib/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2${CMAKE_STATIC_LIBRARY_SUFFIX}" debug "${LIBS_BINARYDIR_DIR}/sdl2/lib/${CMAKE_STATIC_LIBRARY_PREFIX}SDL2d${CMAKE_STATIC_LIBRARY_SUFFIX}")
set(SDL32_BUNDLED_INCLUDE_DIR "${LIBS_BINARYDIR_DIR}/sdl2/include")
set_target_properties(bundled_sdl PROPERTIES FOLDER ${BUNDLED_TARGETS_FOLDER})
endif()