diff --git a/CMakeLists.txt b/CMakeLists.txt index 4e509e01..ed157136 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -318,4 +318,14 @@ if (MSVC) set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "/incremental:no") set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "/incremental:no /debug") set(CMAKE_SHARED_LINKER_FLAGS_MINSIZEREL "/incremental:no") + + # Older MSVC versions don't support building in parallel. + # 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) + set_property(GLOBAL PROPERTY JOB_POOLS "msvc_lego=1;msvc_lego1=1") + set_property(TARGET isle PROPERTY JOB_POOL_COMPILE msvc_lego) + set_property(TARGET isle PROPERTY JOB_POOL_LINK msvc_lego) + set_property(TARGET lego1 PROPERTY JOB_POOL_COMPILE msvc_lego1) + set_property(TARGET lego1 PROPERTY JOB_POOL_LINK msvc_lego1) + endif() endif()