mirror of
https://github.com/1dot13/source.git
synced 2026-09-09 14:46:05 +02:00
Get CMake's MSBuild generator to work correctly
- MSBuild has safe exception handlers (safeseh) enabled by default, which some of our libraries don't support - also needs legacy_stdio_definitions.lib to be linked
This commit is contained in:
committed by
majcosta
parent
74f4979296
commit
18417ce45a
+5
-1
@@ -9,6 +9,9 @@ set(CMAKE_CXX_STANDARD 17)
|
|||||||
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
set(CMAKE_CXX_STANDARD_REQUIRED ON)
|
||||||
set(CMAKE_CXX_EXTENSIONS OFF)
|
set(CMAKE_CXX_EXTENSIONS OFF)
|
||||||
|
|
||||||
|
# whether we are using MSBuild as a generator
|
||||||
|
set(usingMsBuild $<STREQUAL:${CMAKE_VS_PLATFORM_NAME},Win32>)
|
||||||
|
|
||||||
# lua51.lib and lua51.vc9.lib have been built with /MTx, so we must as well
|
# lua51.lib and lua51.vc9.lib have been built with /MTx, so we must as well
|
||||||
# TODO: build our own Lua 5.1.2 from source so we can use whichever
|
# TODO: build our own Lua 5.1.2 from source so we can use whichever
|
||||||
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
set(CMAKE_MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
|
||||||
@@ -139,7 +142,8 @@ foreach(lang IN LISTS LangTargets)
|
|||||||
target_sources(${Executable} PRIVATE ${Ja2Src})
|
target_sources(${Executable} PRIVATE ${Ja2Src})
|
||||||
|
|
||||||
# Good libraries have already been built, can be simply linked here
|
# Good libraries have already been built, can be simply linked here
|
||||||
target_link_libraries(${Executable} PRIVATE ${Ja2_Libraries})
|
target_link_libraries(${Executable} PRIVATE ${Ja2_Libraries} $<IF:${usingMsBuild},legacy_stdio_definitions.lib,>)
|
||||||
|
target_link_options(${Executable} PRIVATE $<IF:${usingMsBuild},/SAFESEH:NO,>)
|
||||||
|
|
||||||
# for each app/lang combination, the Very Bad libraries need to be built,
|
# for each app/lang combination, the Very Bad libraries need to be built,
|
||||||
# with the appropriate preprocessor definitions
|
# with the appropriate preprocessor definitions
|
||||||
|
|||||||
Reference in New Issue
Block a user