mirror of
https://github.com/blupi-games/planetblupi
synced 2024-12-30 10:15:36 +01:00
Merge pull request #8 from blupi-games/issue/2-so
Add dynamic build support
This commit is contained in:
commit
6abbab2d28
101
CMakeLists.txt
101
CMakeLists.txt
@ -36,10 +36,14 @@ if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" ST
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -std=c++11 -L${CMAKE_INSTALL_PREFIX}/lib")
|
||||
endif ()
|
||||
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
|
||||
if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU" AND "${STATIC_BUILD}")
|
||||
set (CMAKE_EXE_LINKER_FLAGS "-static-libgcc -static-libstdc++")
|
||||
endif ()
|
||||
|
||||
if (NOT "${STATIC_BUILD}")
|
||||
set (CMAKE_EXE_LINKER_FLAGS "-lpthread")
|
||||
endif ()
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g3")
|
||||
endif ()
|
||||
@ -94,61 +98,84 @@ endif (MINGW)
|
||||
|
||||
# Dependencies
|
||||
|
||||
set (CMAKE_INCLUDE_PATH ${CMAKE_INSTALL_PREFIX}/include)
|
||||
set (CMAKE_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
if ("${STATIC_BUILD}")
|
||||
set (CMAKE_INCLUDE_PATH ${CMAKE_INSTALL_PREFIX}/include)
|
||||
set (CMAKE_LIBRARY_PATH ${CMAKE_INSTALL_PREFIX}/lib)
|
||||
endif ()
|
||||
|
||||
find_package (Intl REQUIRED)
|
||||
include_directories (${Intl_INCLUDE_DIRS})
|
||||
|
||||
find_package (Iconv REQUIRED)
|
||||
include_directories (${Iconv_INCLUDE_DIRS})
|
||||
|
||||
find_package (Argagg REQUIRED)
|
||||
include_directories (${Argagg_INCLUDE_DIRS})
|
||||
|
||||
find_package (SDLKitchensink REQUIRED)
|
||||
include_directories (${SDLKitchensink_INCLUDE_DIRS})
|
||||
|
||||
find_package (PkgConfig REQUIRED)
|
||||
pkg_search_module (SDL2 REQUIRED sdl2)
|
||||
pkg_search_module (SDL2_MIXER REQUIRED SDL2_mixer)
|
||||
pkg_search_module (SDL2_IMAGE REQUIRED SDL2_image)
|
||||
pkg_search_module (CURL REQUIRED libcurl)
|
||||
# Static dependencies for SDL_kitchensink
|
||||
pkg_search_module (PNG REQUIRED libpng)
|
||||
pkg_search_module (AVCODEC REQUIRED libavcodec)
|
||||
pkg_search_module (AVFORMAT REQUIRED libavformat)
|
||||
pkg_search_module (AVUTIL REQUIRED libavutil)
|
||||
pkg_search_module (SWSCALE REQUIRED libswscale)
|
||||
pkg_search_module (SWRESAMPLE REQUIRED libswresample)
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
pkg_search_module (ALSA REQUIRED alsa)
|
||||
pkg_search_module (PULSE REQUIRED libpulse)
|
||||
if ("${STATIC_BUILD}")
|
||||
pkg_search_module (PNG REQUIRED libpng)
|
||||
# Static dependencies for SDL_kitchensink
|
||||
pkg_search_module (AVCODEC REQUIRED libavcodec)
|
||||
pkg_search_module (AVFORMAT REQUIRED libavformat)
|
||||
pkg_search_module (AVUTIL REQUIRED libavutil)
|
||||
pkg_search_module (SWSCALE REQUIRED libswscale)
|
||||
pkg_search_module (SWRESAMPLE REQUIRED libswresample)
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
pkg_search_module (ALSA REQUIRED alsa)
|
||||
pkg_search_module (PULSE REQUIRED libpulse)
|
||||
endif ()
|
||||
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCURL_STATICLIB")
|
||||
endif ()
|
||||
|
||||
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -DCURL_STATICLIB")
|
||||
|
||||
###########################
|
||||
## Main binary dependencies
|
||||
###########################
|
||||
|
||||
add_executable (planetblupi ${sources})
|
||||
|
||||
set (planetblupi_DEPS
|
||||
${Intl_LIBRARIES}
|
||||
${Iconv_LIBRARIES}
|
||||
${SDL2_STATIC_LIBRARIES}
|
||||
${SDL2_MIXER_STATIC_LIBRARIES}
|
||||
${SDL2_IMAGE_STATIC_LIBRARIES}
|
||||
${CURL_STATIC_LIBRARIES}
|
||||
${SDLKitchensink_STATIC_LIBRARIES}
|
||||
${PNG_STATIC_LIBRARIES}
|
||||
${AVCODEC_STATIC_LIBRARIES}
|
||||
${AVFORMAT_STATIC_LIBRARIES}
|
||||
${AVUTIL_STATIC_LIBRARIES}
|
||||
${SWSCALE_STATIC_LIBRARIES}
|
||||
${SWRESAMPLE_STATIC_LIBRARIES}
|
||||
)
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
list (APPEND planetblupi_DEPS
|
||||
${ALSA_STATIC_LIBRARIES}
|
||||
${PULSE_STATIC_LIBRARIES}
|
||||
if ("${STATIC_BUILD}")
|
||||
set (planetblupi_DEPS
|
||||
${Intl_LIBRARIES}
|
||||
${Iconv_LIBRARIES}
|
||||
${SDL2_STATIC_LIBRARIES}
|
||||
${SDL2_MIXER_STATIC_LIBRARIES}
|
||||
${SDL2_IMAGE_STATIC_LIBRARIES}
|
||||
${CURL_STATIC_LIBRARIES}
|
||||
${SDLKitchensink_STATIC_LIBRARIES}
|
||||
${PNG_STATIC_LIBRARIES}
|
||||
${AVCODEC_STATIC_LIBRARIES}
|
||||
${AVFORMAT_STATIC_LIBRARIES}
|
||||
${AVUTIL_STATIC_LIBRARIES}
|
||||
${SWSCALE_STATIC_LIBRARIES}
|
||||
${SWRESAMPLE_STATIC_LIBRARIES}
|
||||
)
|
||||
|
||||
if (UNIX AND NOT APPLE)
|
||||
list (APPEND planetblupi_DEPS
|
||||
${ALSA_STATIC_LIBRARIES}
|
||||
${PULSE_STATIC_LIBRARIES}
|
||||
)
|
||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_INSTALL_PREFIX}/lib/pulseaudio")
|
||||
endif ()
|
||||
else ()
|
||||
set (planetblupi_DEPS
|
||||
${SDL2_LIBRARIES}
|
||||
${SDL2_MIXER_LIBRARIES}
|
||||
${SDL2_IMAGE_LIBRARIES}
|
||||
${CURL_LIBRARIES}
|
||||
${SDLKitchensink_LIBRARIES}
|
||||
)
|
||||
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${CMAKE_INSTALL_PREFIX}/lib/pulseaudio")
|
||||
endif ()
|
||||
|
||||
target_link_libraries (planetblupi PUBLIC ${planetblupi_DEPS})
|
||||
@ -231,7 +258,7 @@ endif ()
|
||||
## Deploy
|
||||
#########
|
||||
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release")
|
||||
if ("${CMAKE_BUILD_TYPE}" STREQUAL "Release" AND "${STATIC_BUILD}")
|
||||
# set (CPACK_STRIP_FILES TRUE)
|
||||
set (CPACK_PACKAGE_NAME ${PB_PACKAGE_NAME})
|
||||
set (CPACK_PACKAGE_VENDOR "blupi.org")
|
||||
|
Loading…
x
Reference in New Issue
Block a user