From c7205a512e5ea6d38bb90337becbb5023499d605 Mon Sep 17 00:00:00 2001 From: Bruno Herbelin Date: Wed, 7 Jun 2023 16:40:02 +0200 Subject: [PATCH] Compilation for OSX ARM M2 --- CMakeLists.txt | 10 +++++++--- src/ControlManager.cpp | 10 +++++----- 2 files changed, 12 insertions(+), 8 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 6bdbf4e..7f0e07d 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,8 +60,12 @@ if(UNIX) # the RPATH to be used when installing set(CMAKE_SKIP_RPATH TRUE) set(OpenGL_DIR /Library/Developer/CommandLineTools/SDKs/MacOSX.sdk/System/Library/Frameworks/) - set(CMAKE_OSX_ARCHITECTURES "x86_64") - set(CMAKE_OSX_DEPLOYMENT_TARGET "10.14") + +# set(CMAKE_OSX_ARCHITECTURES "x86_64") +# set(CMAKE_OSX_DEPLOYMENT_TARGET "10.13") + + set(CMAKE_OSX_ARCHITECTURES "arm64") + set(CMAKE_OSX_DEPLOYMENT_TARGET "12") # CPACK set(CPACK_SYSTEM_NAME "OSX_${CMAKE_OSX_DEPLOYMENT_TARGET}_${CMAKE_OSX_ARCHITECTURES}") @@ -70,7 +74,7 @@ if(UNIX) set(APPLE_CODESIGN_ENTITLEMENTS "${CMAKE_CURRENT_SOURCE_DIR}/osx/entitlements.plist") # find icu4c in OSX (pretty well hidden...) - set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/icu4c/lib/pkgconfig") + set(ENV{PKG_CONFIG_PATH} "$ENV{PKG_CONFIG_PATH}:/usr/local/opt/icu4c/lib/pkgconfig:/opt/homebrew/opt/icu4c/lib/pkgconfig") else() add_definitions(-DLINUX) diff --git a/src/ControlManager.cpp b/src/ControlManager.cpp index 918cde5..7f1dfc4 100644 --- a/src/ControlManager.cpp +++ b/src/ControlManager.cpp @@ -1014,7 +1014,7 @@ void Control::receiveStreamAttribute(const std::string &attribute, if (Streaming::manager().enabled()) { // Stream request /vimix/stream/request if ( attribute.compare(OSC_STREAM_REQUEST) == 0 ) { - int port = 0; + osc::int32 port = 0; const char *label = nullptr; // read arguments, port is mandatory, label optionnal arguments >> port; @@ -1023,11 +1023,11 @@ void Control::receiveStreamAttribute(const std::string &attribute, else arguments >> label >> osc::EndMessage; // remove prevous identical stream - Streaming::manager().removeStream(sender, port); + Streaming::manager().removeStream(sender, (int) port); // add the requested stream to manager std::string clientname = label == nullptr ? sender.substr(0, sender.find_last_of(":")) : label; clientname += " [" + std::to_string(port) + "]"; - Streaming::manager().addStream(sender, port, clientname); + Streaming::manager().addStream(sender, (int) port, clientname); } // Stream disconnection request /vimix/stream/disconnect else if ( attribute.compare(OSC_STREAM_DISCONNECT) == 0 ) { @@ -1037,10 +1037,10 @@ void Control::receiveStreamAttribute(const std::string &attribute, // Port is given: remove stream from that sender at given port try { osc::ReceivedMessageArgumentStream arg = arguments; - int port = 0; + osc::int32 port = 0; arg >> port; // no exception, remove that port - removed = Streaming::manager().removeStream(sender, port); + removed = Streaming::manager().removeStream(sender, (int) port); // silently ignore any other argument } catch (osc::WrongArgumentTypeException &) {