diff --git a/cmake/MujocoLinkOptions.cmake b/cmake/MujocoLinkOptions.cmake index a844ce45..48db60d2 100644 --- a/cmake/MujocoLinkOptions.cmake +++ b/cmake/MujocoLinkOptions.cmake @@ -23,16 +23,12 @@ function(get_mujoco_extra_link_options OUTPUT_VAR) set(EXTRA_LINK_OPTIONS) if(WIN32) - set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -Wl,/STACK:16777216) set(CMAKE_REQUIRED_FLAGS "-fuse-ld=lld-link") - check_c_source_compiles("int main() {}" SUPPORTS_LLD) - if(SUPPORTS_LLD) - set(EXTRA_LINK_OPTIONS - ${EXTRA_LINK_OPTIONS} - -fuse-ld=lld-link - -Wl,/OPT:REF - -Wl,/OPT:ICF - ) + check_c_source_compiles("int main() {}" SUPPORTS_LLD_LINK) + if(SUPPORTS_LLD_LINK) + set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -fuse-ld=lld-link -Wl,/STACK:16777216 -Wl,/OPT:REF -Wl,/OPT:ICF) + else() + set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -Wl,--stack,16777216) endif() else() set(CMAKE_REQUIRED_FLAGS "-fuse-ld=lld") diff --git a/python/mujoco/CMakeLists.txt b/python/mujoco/CMakeLists.txt index 916a872b..0d1e886d 100644 --- a/python/mujoco/CMakeLists.txt +++ b/python/mujoco/CMakeLists.txt @@ -51,6 +51,8 @@ endif() include(MujocoLinkOptions) get_mujoco_extra_link_options(EXTRA_LINK_OPTIONS) +list(FILTER EXTRA_LINK_OPTIONS EXCLUDE REGEX "STACK") +list(FILTER EXTRA_LINK_OPTIONS EXCLUDE REGEX "stack") add_link_options(${EXTRA_LINK_OPTIONS}) include(MujocoMacOS) diff --git a/sample/cmake/MujocoLinkOptions.cmake b/sample/cmake/MujocoLinkOptions.cmake index a844ce45..48db60d2 100644 --- a/sample/cmake/MujocoLinkOptions.cmake +++ b/sample/cmake/MujocoLinkOptions.cmake @@ -23,16 +23,12 @@ function(get_mujoco_extra_link_options OUTPUT_VAR) set(EXTRA_LINK_OPTIONS) if(WIN32) - set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -Wl,/STACK:16777216) set(CMAKE_REQUIRED_FLAGS "-fuse-ld=lld-link") - check_c_source_compiles("int main() {}" SUPPORTS_LLD) - if(SUPPORTS_LLD) - set(EXTRA_LINK_OPTIONS - ${EXTRA_LINK_OPTIONS} - -fuse-ld=lld-link - -Wl,/OPT:REF - -Wl,/OPT:ICF - ) + check_c_source_compiles("int main() {}" SUPPORTS_LLD_LINK) + if(SUPPORTS_LLD_LINK) + set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -fuse-ld=lld-link -Wl,/STACK:16777216 -Wl,/OPT:REF -Wl,/OPT:ICF) + else() + set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -Wl,--stack,16777216) endif() else() set(CMAKE_REQUIRED_FLAGS "-fuse-ld=lld") diff --git a/simulate/cmake/MujocoLinkOptions.cmake b/simulate/cmake/MujocoLinkOptions.cmake index a844ce45..48db60d2 100644 --- a/simulate/cmake/MujocoLinkOptions.cmake +++ b/simulate/cmake/MujocoLinkOptions.cmake @@ -23,16 +23,12 @@ function(get_mujoco_extra_link_options OUTPUT_VAR) set(EXTRA_LINK_OPTIONS) if(WIN32) - set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -Wl,/STACK:16777216) set(CMAKE_REQUIRED_FLAGS "-fuse-ld=lld-link") - check_c_source_compiles("int main() {}" SUPPORTS_LLD) - if(SUPPORTS_LLD) - set(EXTRA_LINK_OPTIONS - ${EXTRA_LINK_OPTIONS} - -fuse-ld=lld-link - -Wl,/OPT:REF - -Wl,/OPT:ICF - ) + check_c_source_compiles("int main() {}" SUPPORTS_LLD_LINK) + if(SUPPORTS_LLD_LINK) + set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -fuse-ld=lld-link -Wl,/STACK:16777216 -Wl,/OPT:REF -Wl,/OPT:ICF) + else() + set(EXTRA_LINK_OPTIONS ${EXTRA_LINK_OPTIONS} -Wl,--stack,16777216) endif() else() set(CMAKE_REQUIRED_FLAGS "-fuse-ld=lld")