Skip to content

Commit

Permalink
cmake: fix isle runtime library + parallel building with ninja (#599)
Browse files Browse the repository at this point in the history
  • Loading branch information
madebr authored Feb 27, 2024
1 parent 60161c4 commit 9d65812
Showing 1 changed file with 12 additions and 7 deletions.
19 changes: 12 additions & 7 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -514,12 +514,12 @@ if (MSVC_FOR_DECOMP)
# game was originally built with) and tweaked slightly to produce more debugging info for reccmp.
# They ensure a recompilation that can be byte/instruction accurate to the original binaries.
if (ISLE_BUILD_APP)
target_compile_options(isle PRIVATE "/MT$<$<CONFIG:Debug>:d>")
target_link_options(isle PRIVATE "/OPT:REF")
set_property(TARGET isle ${lego1_targets} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")
endif()

# Equivalent to target_compile_options(... PRIVATE "/MT$<$<CONFIG:Debug>:d>")
set_property(TARGET lego1 ${lego1_targets} PROPERTY MSVC_RUNTIME_LIBRARY MultiThreaded$<$<CONFIG:Debug>:Debug>)
set_property(TARGET lego1 ${lego1_targets} PROPERTY MSVC_RUNTIME_LIBRARY "MultiThreaded$<$<CONFIG:Debug>:Debug>")

set(CMAKE_CXX_FLAGS "/W3 /GX /D \"WIN32\" /D \"_WINDOWS\"")
set(CMAKE_CXX_FLAGS_DEBUG "/Gm /Zi /Od /D \"_DEBUG\"")
Expand All @@ -545,14 +545,19 @@ if (MSVC_FOR_DECOMP)
# Force non-parallel builds of isle and lego1 by putting them in a pool with 1 available job.
if (CMAKE_CXX_COMPILER_ID VERSION_LESS 12)
foreach(tgt IN LISTS lego1_targets)
set_property(GLOBAL APPEND PROPERTY JOB_POOLS "msvc_${tgt}=1;msvc_lego1=1")
set_property(TARGET ${tgt} PROPERTY JOB_POOL_COMPILE msvc_${tgt})
set_property(TARGET ${tgt} PROPERTY JOB_POOL_LINK msvc_${tgt})
set_property(GLOBAL APPEND PROPERTY JOB_POOLS "msvc_${tgt}=1")
set_property(TARGET ${tgt} PROPERTY JOB_POOL_COMPILE "msvc_${tgt}")
set_property(TARGET ${tgt} PROPERTY JOB_POOL_LINK "msvc_${tgt}")
endforeach()
if (TARGET isle)
set_property(GLOBAL APPEND PROPERTY JOB_POOLS "msvc_isle=1")
set_property(TARGET isle PROPERTY JOB_POOL_COMPILE msvc_isle)
set_property(TARGET isle PROPERTY JOB_POOL_LINK msvc_isle)
set_property(TARGET isle PROPERTY JOB_POOL_COMPILE "msvc_isle")
set_property(TARGET isle PROPERTY JOB_POOL_LINK "msvc_isle")
endif()
if (TARGET config)
set_property(GLOBAL APPEND PROPERTY JOB_POOLS "msvc_config=1")
set_property(TARGET config PROPERTY JOB_POOL_COMPILE "msvc_config")
set_property(TARGET config PROPERTY JOB_POOL_LINK "msvc_config")
endif()
endif()
endif()
Expand Down

0 comments on commit 9d65812

Please sign in to comment.