diff --git a/build-support/macros-and-definitions.cmake b/build-support/macros-and-definitions.cmake index bb2054ce6..e34384c93 100644 --- a/build-support/macros-and-definitions.cmake +++ b/build-support/macros-and-definitions.cmake @@ -204,6 +204,7 @@ set(CMAKE_CXX_STANDARD_MINIMUM 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) set(LIB_AS_NEEDED_PRE) set(LIB_AS_NEEDED_POST) +set(STATIC_LINK_FLAGS -static -static-libstdc++ -static-libgcc) if(${GCC} AND NOT APPLE) # using GCC set(LIB_AS_NEEDED_PRE -Wl,--no-as-needed) @@ -216,6 +217,8 @@ endif() if(${CLANG} AND APPLE) # using Clang set(LIB_AS_NEEDED_PRE -all_load) set(LIB_AS_NEEDED_POST) + set(LIB_AS_NEEDED_PRE_STATIC -Wl,-all_load) + set(STATIC_LINK_FLAGS) endif() macro(SUBDIRLIST result curdir) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 7d1def183..4ef853f3e 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -59,9 +59,7 @@ if(${NS3_STATIC}) target_link_libraries( ${lib-ns3-static} - -static - -static-libstdc++ - -static-libgcc + ${STATIC_LINK_FLAGS} ${LIB_AS_NEEDED_PRE_STATIC} ${ns3-external-static-libs} ${LIB_AS_NEEDED_POST_STATIC}