mirror of https://github.com/OpenRCT2/OpenRCT2.git
Fix CMakeLists.txt to allow static libopenrct2
This allows using CMake-standard `BUILD_SHARED_LIBS` flag to dynamically set how libopenrct2 should be built. `cmake -DBUILD_SHARED_LIBS=OFF` will result in `openrct2` statically linked with `libopenrct2` Fixes #5918.
This commit is contained in:
parent
a5e9522336
commit
d2ec1f0057
|
@ -138,12 +138,15 @@ IF (DOWNLOAD_TITLE_SEQUENCES)
|
|||
install(CODE "file(REMOVE \$ENV{DESTDIR}${CMAKE_INSTALL_FULL_DATADIR}/${PROJECT}/title/title-sequences.zip)")
|
||||
endif ()
|
||||
if (WIN32)
|
||||
install(TARGETS "libopenrct2" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
install(TARGETS "libopenrct2" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
else ()
|
||||
if (PORTABLE)
|
||||
install(TARGETS "libopenrct2" LIBRARY DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
install(TARGETS "libopenrct2" LIBRARY DESTINATION "${CMAKE_INSTALL_BINDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
else ()
|
||||
install(TARGETS "libopenrct2" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
install(TARGETS "libopenrct2" LIBRARY DESTINATION "${CMAKE_INSTALL_LIBDIR}"
|
||||
ARCHIVE DESTINATION "${CMAKE_INSTALL_LIBDIR}")
|
||||
endif ()
|
||||
endif ()
|
||||
install(TARGETS "openrct2" RUNTIME DESTINATION "${CMAKE_INSTALL_BINDIR}")
|
||||
|
|
|
@ -128,7 +128,7 @@ endif ()
|
|||
# Outputs
|
||||
set(PROJECT libopenrct2)
|
||||
project(${PROJECT})
|
||||
add_library(${PROJECT} SHARED ${OPENRCT2_CORE_SOURCES} ${OPENRCT2_CORE_MM_SOURCES} ${RCT2_SECTIONS})
|
||||
add_library(${PROJECT} ${OPENRCT2_CORE_SOURCES} ${OPENRCT2_CORE_MM_SOURCES} ${RCT2_SECTIONS})
|
||||
set_target_properties(${PROJECT} PROPERTIES PREFIX "")
|
||||
set_target_properties(${PROJECT} PROPERTIES COMPILE_FLAGS "-Wundef")
|
||||
|
||||
|
@ -164,6 +164,12 @@ if (NOT DISABLE_NETWORK)
|
|||
if (WIN32)
|
||||
target_link_libraries(${PROJECT} ws2_32)
|
||||
endif ()
|
||||
|
||||
# our HTTP implementation requires use of threads
|
||||
set(THREADS_PREFER_PTHREAD_FLAG ON)
|
||||
find_package(Threads REQUIRED)
|
||||
target_link_libraries(${PROJECT} Threads::Threads)
|
||||
|
||||
if (STATIC)
|
||||
target_link_libraries(${PROJECT} ${LIBCURL_STATIC_LIBRARIES}
|
||||
${SSL_STATIC_LIBRARIES})
|
||||
|
|
Loading…
Reference in New Issue