From 60375f16242d15348179ec9db5dc795f1dd9e306 Mon Sep 17 00:00:00 2001 From: Kris Thielemans Date: Fri, 15 Sep 2023 22:30:16 +0100 Subject: [PATCH] add /bigobj flag to SWIG wrappers for MSVC we get an error `C1128: number of sections exceeded object file format limit: compile with /bigobj` so add that flag --- src/swig/CMakeLists.txt | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/src/swig/CMakeLists.txt b/src/swig/CMakeLists.txt index c7825bdd73..fa46fb0042 100644 --- a/src/swig/CMakeLists.txt +++ b/src/swig/CMakeLists.txt @@ -151,6 +151,9 @@ if(BUILD_SWIG_PYTHON) SWIG_ADD_MODULE(stir python stir.i $) else() SWIG_ADD_LIBRARY(stir LANGUAGE python TYPE MODULE SOURCES stir.i $) + if(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC") + set_property(TARGET stir PROPERTY SWIG_COMPILE_OPTIONS /bigobj) + endif() endif() SWIG_WORKAROUND(${SWIG_MODULE_stir_REAL_NAME}) SWIG_LINK_LIBRARIES(stir ${STIR_LIBRARIES} ${STIR_Python_dependency}) @@ -198,6 +201,9 @@ if (BUILD_SWIG_OCTAVE) SWIG_ADD_MODULE(stiroct octave stir.i $) else() SWIG_ADD_LIBRARY(stiroct LANGUAGE octave TYPE MODULE SOURCES stir.i $) + if(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC") + set_property(TARGET stiroct PROPERTY SWIG_COMPILE_OPTIONS /bigobj) + endif() endif() SET_TARGET_PROPERTIES(${SWIG_MODULE_stiroct_REAL_NAME} PROPERTIES SUFFIX ${OCTAVE_SUFFIX} PREFIX "${OCTAVE_PREFIX}") SWIG_WORKAROUND(${SWIG_MODULE_stiroct_REAL_NAME}) @@ -224,6 +230,9 @@ if (BUILD_SWIG_MATLAB) SWIG_ADD_MODULE(stirMATLAB matlab stir.i $) else() SWIG_ADD_LIBRARY(stirMATLAB LANGUAGE matlab TYPE MODULE SOURCES stir.i $) + if(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC") + set_property(TARGET stirMATLAB PROPERTY SWIG_COMPILE_OPTIONS /bigobj) + endif() endif() if (WIN32) set (Matlab_CXXLINKER_FLAGS "/EXPORT:mexFunction")