diff --git a/CMakeLists.txt b/CMakeLists.txt index df81c7eb9..b5a26d1d0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -6,6 +6,17 @@ cmake_minimum_required(VERSION 3.5.0) set(CMAKE_POLICY_VERSION_MINIMUM 3.5) project(retroshare-monorepo) +# Force C++17 globally for all targets (including plugins) +set(CMAKE_CXX_STANDARD 17) +set(CMAKE_CXX_STANDARD_REQUIRED ON) + +if(APPLE) + # On macOS, allow undefined symbols in shared modules/libraries at link time + # because they will be resolved at runtime by the host executable (retroshare-gui) + set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -undefined dynamic_lookup") + set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -undefined dynamic_lookup") +endif() + # Global setting to allow executables to export symbols for plugin/module linking set(CMAKE_ENABLE_EXPORTS ON) diff --git a/libretroshare b/libretroshare index b60973cc0..e7086b28c 160000 --- a/libretroshare +++ b/libretroshare @@ -1 +1 @@ -Subproject commit b60973cc04a00c1cf5620c5b633b524405d55cb8 +Subproject commit e7086b28c0095c9854c0e07fe7def1ceabd04340 diff --git a/retroshare-webui b/retroshare-webui index edfc638a6..22b293985 160000 --- a/retroshare-webui +++ b/retroshare-webui @@ -1 +1 @@ -Subproject commit edfc638a6af87d0f60489632416105e1fa13fc4e +Subproject commit 22b2939858e83791713e49cc450e100fcacdac59 diff --git a/supportlibs/libsam3 b/supportlibs/libsam3 index 8623304b6..6b61f1cdc 160000 --- a/supportlibs/libsam3 +++ b/supportlibs/libsam3 @@ -1 +1 @@ -Subproject commit 8623304b62294dafbe477573f321a464fef721dd +Subproject commit 6b61f1cdc98d25d9a2dfaca69b30862915cb2d5a