Browse Source

Add BINARY_RELEASE option to CMakeLists.txt

pull/25/head
Xadhoom 7 years ago committed by Anders Jenbo
parent
commit
ccc941b1ce
  1. 19
      CMakeLists.txt

19
CMakeLists.txt

@ -13,9 +13,10 @@ endif()
option(ASAN "Enable address sanitizer" ON)
option(DEBUG "Enable debug mode in engine" ON)
option(COTIRE "Enable cotire" OFF)
option(BINARY_RELEASE "Dynamically link only glibc and SDL2" OFF)
if(COTIRE)
include(CMake/cotire.cmake)
if(BINARY_RELEASE)
set(sodium_USE_STATIC_LIBS ON)
endif()
list(APPEND CMAKE_MODULE_PATH "${devilutionX_SOURCE_DIR}/CMake")
@ -23,12 +24,19 @@ list(APPEND CMAKE_MODULE_PATH "${devilutionX_SOURCE_DIR}/CMake")
set(CMAKE_CXX_STANDARD 14)
set(CMAKE_CXX_EXTENSIONS OFF)
set(CMAKE_CXX_STANDARD_REQUIRED TRUE)
set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
set(THREADS_PREFER_PTHREAD_FLAG TRUE)
if(NOT CMAKE_SIZEOF_VOID_P EQUAL 4)
message(WARNING "sizeof(void*) == ${CMAKE_SIZEOF_VOID_P}.")
message(WARNING [[Not 32-bit, highly experimental!]])
endif()
if(COTIRE)
include(CMake/cotire.cmake)
endif()
find_package(Threads REQUIRED)
find_package(SDL2 REQUIRED)
find_package(SDL2_ttf REQUIRED)
find_package(SDL2_mixer REQUIRED)
@ -168,13 +176,14 @@ add_executable(devilutionx
target_include_directories(devilutionx PRIVATE SourceS SourceX 3rdParty/asio/include .)
target_link_libraries(devilution PUBLIC PKWare)
target_link_libraries(devilution PUBLIC PKWare Threads::Threads)
target_link_libraries(devilutionx PRIVATE
devilution
StormLib
smacker
Radon
Threads::Threads
SDL2::SDL2main
SDL2::SDL2_ttf
SDL2::SDL2_mixer
@ -194,6 +203,10 @@ if(ASAN)
target_link_libraries(devilution PUBLIC "$<$<CONFIG:Debug>:-fsanitize=address;-fsanitize-recover=address>")
endif()
if(BINARY_RELEASE)
target_link_libraries(devilution PUBLIC "-static-libgcc -static-libstdc++")
endif()
# Note: In Debug mode, GCC generates spurious memory references that upset Valgrind,
# these options fix that.
target_compile_options(devilution PUBLIC $<$<CONFIG:Debug>:-fno-omit-frame-pointer>)

Loading…
Cancel
Save