parent
419bd1cc21
commit
73429315a7
|
@ -131,7 +131,7 @@ jobs:
|
|||
run: cmake -E make_directory build
|
||||
- name: Run CMake (for Windows)
|
||||
working-directory: build
|
||||
run: cmake -G "Ninja" -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_ROOT }}\scripts\buildsystems\vcpkg.cmake -DBUILD_STATIC=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\build\install -DDEV_BUILD=1 -DPORTABLE=1 -DTOOLS=1 -DTESTS=1 -DDESKTOP=1 ..
|
||||
run: cmake -G "Ninja" -DCMAKE_C_COMPILER=cl.exe -DCMAKE_CXX_COMPILER=cl.exe -DVCPKG_TARGET_TRIPLET=x64-windows-static -DCMAKE_TOOLCHAIN_FILE=${{ env.VCPKG_ROOT }}\scripts\buildsystems\vcpkg.cmake -DUSE_STATIC_RUNTIME=1 -DCBOT_STATIC=1 -DBOOST_STATIC=1 -DGLEW_STATIC=1 -DSNDFILE_STATIC=1 -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=${{ github.workspace }}\build\install -DDEV_BUILD=1 -DPORTABLE=1 -DTOOLS=1 -DTESTS=1 -DDESKTOP=1 ..
|
||||
- name: Build
|
||||
working-directory: build
|
||||
run: |
|
||||
|
|
|
@ -189,7 +189,7 @@ elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
|||
|
||||
# Disable some useless warnings
|
||||
set(NORMAL_CXX_FLAGS "/wd\"4244\" /wd\"4309\" /wd\"4800\" /wd\"4996\" /wd\"4351\"")
|
||||
if(BUILD_STATIC)
|
||||
if(USE_STATIC_RUNTIME)
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||
else()
|
||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreadedDLL$<$<CONFIG:Debug>:Debug>")
|
||||
|
@ -260,20 +260,20 @@ option(INSTALL_DOCS "Install Doxygen-generated documentation" OFF)
|
|||
# Build OpenAL sound support
|
||||
option(OPENAL_SOUND "Build OpenAL sound support" ON)
|
||||
|
||||
# Build Colobot with static libraries
|
||||
option(BUILD_STATIC "The default linking option for external libraries" OFF)
|
||||
# Link runtime library statically (currently only works for MSVC)
|
||||
option(USE_STATIC_RUNTIME "Link the runtime library statically" OFF)
|
||||
|
||||
# CBot can also be a static library
|
||||
option(CBOT_STATIC "Build CBot as static libary" ${BUILD_STATIC})
|
||||
option(CBOT_STATIC "Build CBot as static libary" OFF)
|
||||
|
||||
# This is useful in case you want to use static boost libraries
|
||||
option(BOOST_STATIC "Link with static boost libraries" ${BUILD_STATIC})
|
||||
option(BOOST_STATIC "Link with static boost libraries" OFF)
|
||||
|
||||
# This is useful on Windows, if linking against standard GLEW dll fails
|
||||
option(GLEW_STATIC "Link statically with GLEW" ${BUILD_STATIC})
|
||||
option(GLEW_STATIC "Link statically with GLEW" OFF)
|
||||
|
||||
# Link statically with LibSndFile
|
||||
option(SNDFILE_STATIC "Link statically with LibSndFile" ${BUILD_STATIC})
|
||||
option(SNDFILE_STATIC "Link statically with LibSndFile" OFF)
|
||||
|
||||
# Sometimes helpful if there is a different version of gtest installed on system vs bundled
|
||||
option(FORCE_BUNDLED_GTEST "Force the use of bundled gtest" OFF)
|
||||
|
@ -292,6 +292,21 @@ if(DEV_BUILD)
|
|||
message(STATUS "Building with development extensions")
|
||||
endif()
|
||||
|
||||
##
|
||||
# Additional settings to use when cross-compiling with MXE (http://mxe.cc/)
|
||||
##
|
||||
|
||||
include("${colobot_SOURCE_DIR}/cmake/mxe.cmake")
|
||||
|
||||
##
|
||||
# Additional settings for MSYS
|
||||
##
|
||||
include("${colobot_SOURCE_DIR}/cmake/msys.cmake")
|
||||
|
||||
##
|
||||
# Additional functions for colobot-lint
|
||||
##
|
||||
include("${colobot_SOURCE_DIR}/cmake/colobot-lint.cmake")
|
||||
|
||||
##
|
||||
# Searching for packages
|
||||
|
@ -307,7 +322,7 @@ find_package(PhysFS REQUIRED)
|
|||
|
||||
set(Boost_USE_STATIC_LIBS ${BOOST_STATIC})
|
||||
set(Boost_USE_MULTITHREADED ON)
|
||||
set(Boost_USE_STATIC_RUNTIME OFF)
|
||||
set(Boost_USE_STATIC_RUNTIME ${USE_STATIC_RUNTIME})
|
||||
|
||||
set(Boost_ADDITIONALVERSION "1.51" "1.51.0")
|
||||
find_package(Boost COMPONENTS system filesystem regex REQUIRED)
|
||||
|
@ -335,22 +350,6 @@ if(DEV_BUILD)
|
|||
add_definitions(-DDEV_BUILD)
|
||||
endif()
|
||||
|
||||
##
|
||||
# Additional settings to use when cross-compiling with MXE (http://mxe.cc/)
|
||||
##
|
||||
|
||||
include("${colobot_SOURCE_DIR}/cmake/mxe.cmake")
|
||||
|
||||
##
|
||||
# Additional settings for MSYS
|
||||
##
|
||||
include("${colobot_SOURCE_DIR}/cmake/msys.cmake")
|
||||
|
||||
##
|
||||
# Additional functions for colobot-lint
|
||||
##
|
||||
include("${colobot_SOURCE_DIR}/cmake/colobot-lint.cmake")
|
||||
|
||||
|
||||
##
|
||||
# MSVC specific settings
|
||||
|
|
|
@ -8,8 +8,8 @@ if((${CMAKE_CROSSCOMPILING}) AND (DEFINED MSYS))
|
|||
set(PLATFORM_LINUX 0)
|
||||
set(PLATFORM_OTHER 0)
|
||||
# All must be static, CBOT and GLEW too
|
||||
set(BUILD_STATIC ON)
|
||||
set(CBOT_STATIC ON)
|
||||
set(BOOST_STATIC ON)
|
||||
set(GLEW_STATIC ON)
|
||||
set(SNDFILE_STATIC ON)
|
||||
|
||||
|
|
|
@ -516,9 +516,11 @@ if(MXE) # MXE requires special treatment
|
|||
elseif(PLATFORM_WINDOWS)
|
||||
# because it isn't included in standard linking libraries
|
||||
if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
|
||||
if(BUILD_STATIC)
|
||||
# TODO: this shouldn't be needed, the libraries targets should care of those transitive dependencies
|
||||
# This should be treated as a temporary workaround
|
||||
if(USE_STATIC_RUNTIME) # Since we're using static runtime, assume every external library is static too
|
||||
find_package(Intl REQUIRED)
|
||||
# TODO: figure out why those dependencies are needed and find/link them in a better way
|
||||
|
||||
find_library(BZ2_LIBRARY NAMES bz2.lib)
|
||||
find_library(JPEG_LIBRARY NAMES jpeg.lib)
|
||||
find_library(TIFF_LIBRARY NAMES tiff.lib)
|
||||
|
|
Loading…
Reference in New Issue