diff --git a/.github/workflows/ci-macOS.yml b/.github/workflows/ci-macOS.yml new file mode 100644 index 000000000..dd119fc2f --- /dev/null +++ b/.github/workflows/ci-macOS.yml @@ -0,0 +1,83 @@ +name: macOS Build + +on: + push: + paths-ignore: + - '**/*.md' + pull_request: + paths-ignore: + - '**/*.md' + +concurrency: + group: ${{ github.workflow}}-${{ github.head_ref }} + cancel-in-progress: true + +permissions: + contents: read + +jobs: + build: + runs-on: macos-14 + permissions: + actions: write + defaults: + run: + shell: bash + + steps: + - name: Setup XCode + uses: maxim-lobanov/setup-xcode@v1 + with: + xcode-version: 15.0.1 + + - name: Show current version of Xcode + run: xcodebuild -version + + - name: Checkout repository + uses: actions/checkout@v4 + with: + persist-credentials: false + + - name: Setup Homebrew + id: set-up-homebrew + uses: Homebrew/actions/setup-homebrew@main + + - name: Show OpenSSL version + run: pkg-config --cflags libcrypto + + - name: Install Packages + run: brew install openssl + miniupnpc + rapidjson + sqlcipher + bzip2 + zlib + botan@2 + libxslt + libxml2 + qt + + - name: Checkout submodules + run: | + env + git submodule update --init --remote libbitdht/ libretroshare/ retroshare-webui/ + git submodule update --init supportlibs/librnp supportlibs/rapidjson supportlibs/restbed openpgpsdk/ + + - name: CI-Build + run: | + qmake6 . -r "CONFIG+=rs_macos14.0" "CONFIG+=release" "CONFIG+=rs_autologin" "CONFIG+=no_rs_sam3" "CONFIG+=no_rs_sam3_libsam3" "CONFIG+=rs_no_rnplib" \ + INCLUDEPATH+="/opt/homebrew/opt/openssl@3/include" \ + INCLUDEPATH+="/opt/homebrew/opt/rapidjson/include" \ + INCLUDEPATH+="/opt/homebrew/opt/sqlcipher/include" \ + INCLUDEPATH+="/opt/homebrew/opt/miniupnpc/include" \ + INCLUDEPATH+="/opt/homebrew/opt/libxslt/include" \ + INCLUDEPATH+="/opt/homebrew/opt/libxml2/include" \ + QMAKE_LIBDIR+="/opt/homebrew/opt/openssl@3/lib" \ + QMAKE_LIBDIR+="/opt/homebrew/opt/rapidjson/lib" \ + QMAKE_LIBDIR+="/opt/homebrew/opt/sqlcipher/lib" \ + QMAKE_LIBDIR+="/opt/homebrew/opt/miniupnpc/lib" \ + QMAKE_LIBDIR+="/opt/homebrew/opt/libxslt/lib" \ + QMAKE_LIBDIR+="/opt/homebrew/opt/libxml2/lib" \ + CONFIG+=no_retroshare_service \ + CONFIG+=no_retroshare_friendserver + make diff --git a/README.md b/README.md index ccbfb54f8..217121af3 100644 --- a/README.md +++ b/README.md @@ -30,7 +30,9 @@ in the aim of creating packages for the supported platforms (and more) in the [build_scripts](https://github.com/RetroShare/RetroShare/tree/master/build_scripts) directory of this repository. ## Compilation on Windows -Follow this file : [WindowsMSys2_InstallGuide.md](https://github.com/RetroShare/RetroShare/blob/master/build_scripts/Windows-msys2/WindowsMSys2_InstallGuide.md) +Follow this file : [WindowsMSys2_InstallGuide](https://github.com/RetroShare/RetroShare/blob/master/build_scripts/Windows-msys2/WindowsMSys2_InstallGuide.md) + +With QtCreator : [Windows-QtCreator-InstallGuide](https://github.com/RetroShare/RetroShare/blob/master/build_scripts/Windows/Windows-QtCreator-InstallGuide.md) ## Compilation on MacOSX diff --git a/build_scripts/Debian+Ubuntu/Linux_InstallGuide.md b/build_scripts/Debian+Ubuntu/Linux_InstallGuide.md index 873c34d21..b1591d9e9 100644 --- a/build_scripts/Debian+Ubuntu/Linux_InstallGuide.md +++ b/build_scripts/Debian+Ubuntu/Linux_InstallGuide.md @@ -3,15 +3,15 @@ ### Install package dependencies: -#### Debian/Ubuntu +#### Debian / Ubuntu / Linux Mint ```bash - sudo apt-get install g++ cmake libbz2-dev libjson-c-dev libssl-dev libsqlcipher-dev \ - libupnp-dev libxss-dev rapidjson-dev libbotan-2-dev libasio-dev + sudo apt-get install git g++ cmake libbz2-dev libjson-c-dev libssl-dev libsqlcipher-dev \ + libupnp-dev doxygen libxss-dev rapidjson-dev libbotan-2-dev libasio-dev ``` To compile with Qt5: ```bash - sudo apt-get install qt5-qmake qtmultimedia5-dev qt6-5compat-dev libqt5x11extras5-dev + sudo apt-get install qt5-qmake qtmultimedia5-dev libqt5x11extras5-dev ``` To compile with Qt6: @@ -54,17 +54,15 @@ Additional dependencies for plugins: libxslt-devel speex-devel speexdsp-devel ``` -#### Linux Mint +#### Arch Linux / Manjaro / EndeavourOS ```bash - sudo apt-get install git g++ cmake qt5-qmake qtmultimedia5-dev \ - libqt5x11extras5-dev libupnp-dev libxss-dev libssl-dev libsqlcipher-dev \ - rapidjson-dev doxygen libbz2-dev libjson-c-dev libbotan-2-dev libasio-dev + sudo pacman -S base-devel libgnome-keyring cmake qt5-tools qt5-multimedia qt5-x11extras \ + rapidjson doxygen libupnp libxslt libxss sqlcipher botan2 bzip2 json-c ``` -#### Arch Linux +To compile with Qt6: ```bash - pacman -S base-devel libgnome-keyring cmake qt5-tools qt5-multimedia qt5-x11extras \ - rapidjson libupnp libxslt libxss sqlcipher botan2 bzip2 json-c + sudo pacman -S qt6-base qt6-multimedia qt6-5compat ``` ### Checkout the source code @@ -88,7 +86,7 @@ Additional dependencies for plugins: The executable produced will be: ```bash - ./retroshare-gui/src/retroshare + ./retroshare-gui/src/retroshare ``` ### Install @@ -98,7 +96,7 @@ The executable produced will be: The executable produced will be: ```bash - ~/usr/bin/RetroShare + ~/usr/bin/RetroShare ``` ### For packagers @@ -135,6 +133,8 @@ You need to place sqlcipher so that the hierarchy is: ### Build infos +Note: If you installed Qt6 you need to use `qmake6` on the command line. + For the `FeedReader` it is required to append the config option `CONFIG+=retroshare_plugins`. Make sure `plugins/plugins.pro` contains `FeedReader` in the list of plugins to compile. @@ -162,10 +162,9 @@ For `Autologin` it is required to append the config option `CONFIG+=rs_autologin * rs_deep_files_index: build with deep file indexing support * "CONFIG+=..." enable other extra compile time features, you can find the almost complete list in file *<sourcefolder>\retroshare.pri* -Example: +### Examples: ```batch -qmake CONFIG-=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark +qmake CONFIG+=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark qmake CONFIG+=rs_jsonapi CONFIG+=rs_webui CONFIG+=rs_autologin -qmake CONFIG+=rs_deep_channels_index CONFIG += gxsthewire CONFIG += wikipoos ``` \ No newline at end of file diff --git a/build_scripts/RedHat+Fedora/Linux_RedHat_InstallGuide.md b/build_scripts/RedHat+Fedora/Linux_RedHat_InstallGuide.md index 757b94a2f..12c365804 100644 --- a/build_scripts/RedHat+Fedora/Linux_RedHat_InstallGuide.md +++ b/build_scripts/RedHat+Fedora/Linux_RedHat_InstallGuide.md @@ -5,9 +5,9 @@ ### Install package dependencies: #### RedHat/Fedora ```bash - sudo dnf install mesa-libGL-devel gcc cmake rapidjson-devel \ - libupnp openssl sqlcipher sqlcipher-devel \ - botan2 botan2-devel json-c-devel bzip2-devel asio-devel libsecret libXScrnSaver-devel + sudo dnf install mesa-libGL-devel gcc cmake rapidjson-devel \ + libupnp openssl sqlcipher sqlcipher-devel \ + botan2 botan2-devel json-c-devel bzip2-devel asio-devel libsecret libXScrnSaver-devel ``` To compile with Qt5: @@ -46,7 +46,7 @@ Additional dependencies for Feedreader plugin: The executable produced will be: ```bash - ./retroshare-gui/src/retroshare + ./retroshare-gui/src/retroshare ``` ### Install @@ -56,7 +56,7 @@ The executable produced will be: The executable produced will be: ```bash - ~/usr/bin/RetroShare + ~/usr/bin/RetroShare ``` ### For packagers @@ -92,6 +92,8 @@ You need to place sqlcipher so that the hierarchy is: ### Build infos +Note: If you installed Qt6 you need to use `qmake6` on the command line. + For the `FeedReader` it is required to append the config option `CONFIG+=retroshare_plugins`. Make sure `plugins/plugins.pro` contains `FeedReader` in the list of plugins to compile. @@ -122,7 +124,6 @@ For `Autologin` it is required to append the config option `CONFIG+=rs_autologin Example: ```batch -qmake CONFIG-=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark +qmake CONFIG+=debug CONFIG+=release CONFIG+=rs_use_native_dialog CONFIG+=rs_gui_cmark qmake CONFIG+=rs_jsonapi CONFIG+=rs_webui CONFIG+=rs_autologin -qmake CONFIG+=rs_deep_channels_index CONFIG += gxsthewire CONFIG += wikipoos ``` \ No newline at end of file diff --git a/retroshare-gui/CMakeLists.txt b/retroshare-gui/CMakeLists.txt index 314edf1ab..9b5240e17 100644 --- a/retroshare-gui/CMakeLists.txt +++ b/retroshare-gui/CMakeLists.txt @@ -77,14 +77,24 @@ set(CMAKE_AUTOMOC ON) set(CMAKE_AUTORCC ON) set(CMAKE_AUTOUIC ON) -find_package( Qt5 COMPONENTS Core REQUIRED) -find_package( Qt5 COMPONENTS Widgets REQUIRED) -find_package( Qt5 COMPONENTS Xml REQUIRED) -find_package( Qt5 COMPONENTS Network REQUIRED) -find_package( Qt5 COMPONENTS Multimedia REQUIRED) -find_package( Qt5 COMPONENTS PrintSupport REQUIRED) +find_package( Qt6 COMPONENTS Core REQUIRED) +find_package( Qt6 COMPONENTS Widgets REQUIRED) +find_package( Qt6 COMPONENTS Xml REQUIRED) +find_package( Qt6 COMPONENTS Network REQUIRED) +find_package( Qt6 COMPONENTS Multimedia REQUIRED) +find_package( Qt6 COMPONENTS PrintSupport REQUIRED) -list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport) +list( APPEND RS_LINK_LIBRARIES Qt6::Multimedia Qt6::Widgets Qt6::Xml Qt6::Network Qt6::PrintSupport) +if (NOT Qt6_FOUND) + find_package( Qt5 COMPONENTS Core REQUIRED) + find_package( Qt5 COMPONENTS Widgets REQUIRED) + find_package( Qt5 COMPONENTS Xml REQUIRED) + find_package( Qt5 COMPONENTS Network REQUIRED) + find_package( Qt5 COMPONENTS Multimedia REQUIRED) + find_package( Qt5 COMPONENTS PrintSupport REQUIRED) + + list( APPEND RS_LINK_LIBRARIES Qt5::Multimedia Qt5::Widgets Qt5::Xml Qt5::Network Qt5::PrintSupport) +endif() ################################################################################ @@ -104,7 +114,10 @@ endif(RS_DEVELOPMENT_BUILD) include(src/CMakeLists.txt) -qt5_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS}) +qt_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS}) +if (NOT Qt6_FOUND) + qt5_wrap_ui(RS_UI_HEADERS ${RS_GUI_FORMS}) +endif() add_executable(${PROJECT_NAME} ${RS_GUI_SOURCES} ${RS_UI_HEADERS} ${RS_GUI_QTRESOURCES}) install(TARGETS ${PROJECT_NAME} DESTINATION ${RS_BIN_INSTALL_DIR}) diff --git a/retroshare-gui/src/gui/settings/ChatPage.cpp b/retroshare-gui/src/gui/settings/ChatPage.cpp index 2fc22a13d..f9ef34137 100644 --- a/retroshare-gui/src/gui/settings/ChatPage.cpp +++ b/retroshare-gui/src/gui/settings/ChatPage.cpp @@ -116,7 +116,7 @@ void ChatPage::updateFontsAndEmotes() Settings->setValue("Emoteicons_GroupChat", ui.checkBox_emotegroupchat->isChecked()); Settings->setValue("EnableCustomFonts", ui.checkBox_enableCustomFonts->isChecked()); Settings->setValue("EnableCustomFontSize", ui.checkBox_enableCustomFontSize->isChecked()); - Settings->setValue("MinimumFontSize", ui.minimumFontSize->value()); + Settings->setValue("MinimumFontSize", ui.minimumFontSize->value()); Settings->setValue("EnableBold", ui.checkBox_enableBold->isChecked()); Settings->setValue("EnableItalics", ui.checkBox_enableItalics->isChecked()); Settings->setValue("MinimumContrast", ui.minimumContrast->value()); @@ -234,13 +234,14 @@ ChatPage::ChatPage(QWidget * parent, Qt::WindowFlags flags) connect(ui.distantChatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(distantChatComboBoxChanged(int))); - connect(ui.checkBox_emoteprivchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); - connect(ui.checkBox_emotegroupchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); - connect(ui.checkBox_enableCustomFonts, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); - connect(ui.minimumFontSize, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes())); - connect(ui.checkBox_enableBold, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); - connect(ui.checkBox_enableItalics, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); - connect(ui.minimumContrast, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes())); + connect(ui.checkBox_emoteprivchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); + connect(ui.checkBox_emotegroupchat, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); + connect(ui.checkBox_enableCustomFonts, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); + connect(ui.checkBox_enableCustomFontSize, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); + connect(ui.minimumFontSize, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes())); + connect(ui.checkBox_enableBold, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); + connect(ui.checkBox_enableItalics, SIGNAL(toggled(bool)), this, SLOT(updateFontsAndEmotes())); + connect(ui.minimumContrast, SIGNAL(valueChanged(int)), this, SLOT(updateFontsAndEmotes())); connect(ui.distantChatComboBox, SIGNAL(currentIndexChanged(int)), this, SLOT(updateChatParams())); connect(ui.sendMessageWithCtrlReturn, SIGNAL(toggled(bool)), this, SLOT(updateChatParams())); @@ -262,12 +263,12 @@ ChatPage::ChatPage(QWidget * parent, Qt::WindowFlags flags) connect(ui.privateChatLoadCount, SIGNAL(valueChanged(int)), this, SLOT(updateHistoryParams())); connect(ui.distantChatLoadCount, SIGNAL(valueChanged(int)), this, SLOT(updateHistoryParams())); connect(ui.lobbyChatLoadCount, SIGNAL(valueChanged(int)), this, SLOT(updateHistoryParams())); - + connect(ui.publicChatEnable, SIGNAL(toggled(bool)), this, SLOT(updateHistoryParams())); connect(ui.privateChatEnable, SIGNAL(toggled(bool)), this, SLOT(updateHistoryParams())); connect(ui.distantChatEnable, SIGNAL(toggled(bool)), this, SLOT(updateHistoryParams())); connect(ui.lobbyChatEnable, SIGNAL(toggled(bool)), this, SLOT(updateHistoryParams())); - + connect(ui.publicChatSaveCount, SIGNAL(valueChanged(int)), this, SLOT(updateHistoryParams())); connect(ui.privateChatSaveCount, SIGNAL(valueChanged(int)), this, SLOT(updateHistoryParams())); connect(ui.lobbyChatSaveCount, SIGNAL(valueChanged(int)), this, SLOT(updateHistoryParams())); @@ -387,7 +388,7 @@ ChatPage::load() whileBlocking(ui.checkBox_emotegroupchat)->setChecked(Settings->value("Emoteicons_GroupChat", true).toBool()); whileBlocking(ui.checkBox_enableCustomFonts)->setChecked(Settings->value("EnableCustomFonts", true).toBool()); whileBlocking(ui.checkBox_enableCustomFontSize)->setChecked(Settings->value("EnableCustomFontSize", true).toBool()); - whileBlocking(ui.minimumFontSize)->setValue(Settings->value("MinimumFontSize", 10).toInt()); + whileBlocking(ui.minimumFontSize)->setValue(Settings->value("MinimumFontSize", 10).toInt()); whileBlocking(ui.checkBox_enableBold)->setChecked(Settings->value("EnableBold", true).toBool()); whileBlocking(ui.checkBox_enableItalics)->setChecked(Settings->value("EnableItalics", true).toBool()); whileBlocking(ui.minimumContrast)->setValue(Settings->value("MinimumContrast", 4.5).toDouble()); @@ -451,7 +452,7 @@ ChatPage::load() whileBlocking(ui.lobbyChatSaveCount)->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_LOBBY)); whileBlocking(ui.distantChatSaveCount)->setValue(rsHistory->getSaveCount(RS_HISTORY_TYPE_DISTANT)); - + // using fontTempChat.rawname() does not always work! // see http://doc.qt.digia.com/qt-maemo/qfont.html#rawName QStringList fontname = fontTempChat.toString().split(","); @@ -711,4 +712,3 @@ void ChatPage::distantChatComboBoxChanged(int i) } } - diff --git a/retroshare-gui/src/gui/settings/RSPermissionMatrixWidget.cpp b/retroshare-gui/src/gui/settings/RSPermissionMatrixWidget.cpp index 079545b89..bfa05d4f5 100644 --- a/retroshare-gui/src/gui/settings/RSPermissionMatrixWidget.cpp +++ b/retroshare-gui/src/gui/settings/RSPermissionMatrixWidget.cpp @@ -250,7 +250,7 @@ void RSPermissionMatrixWidget::paintEvent(QPaintEvent *) /* Fill in the background */ //_painter->fillRect(_rec, QBrush(BACK_COLOR)); _painter->drawRect(_rec); - + if (Settings->getSheetName() == ":Standard_Dark"){ brushColor = Qt::gray ; } else { @@ -612,20 +612,24 @@ bool RSPermissionMatrixWidget::computeServiceAndPeer(int x,int y,uint32_t& servi x -= matrix_start_x ; y -= S*fMATRIX_START_Y ; + float fi = x / (S*fCOL_SIZE); + float fj = y / (S*fROW_SIZE); + int i = (int)fi; + int j = (int)fj; + const float icoFracX = fICON_SIZE_X/fCOL_SIZE; + const float icoFracY = fICON_SIZE_Y/fROW_SIZE; - if(x < 0 || x >= service_ids.size() * S*fCOL_SIZE) return false ; - if(y < 0 || y >= peer_ids.size() * S*fROW_SIZE) return false ; - - if( (x % (int)(S*fCOL_SIZE)) < (S*fCOL_SIZE - S*fICON_SIZE_X)/2) return false ; - if( (x % (int)(S*fCOL_SIZE)) > (S*fCOL_SIZE + S*fICON_SIZE_X)/2) return false ; - - if( (y % (int)(S*fROW_SIZE)) < (S*fROW_SIZE - S*fICON_SIZE_Y)/2) return false ; - if( (y % (int)(S*fROW_SIZE)) > (S*fROW_SIZE + S*fICON_SIZE_Y)/2) return false ; + if( + i < 0 || i >= service_ids.size() || + j < 0 || j >= peer_ids.size() || + std::fmod(fi + icoFracX/2 + .5f, 1.f) >= icoFracX || + std::fmod(fj + icoFracY/2 + .5f, 1.f) >= icoFracY + ) return false; // 2 - find which widget, by looking into the service perm matrix - service_id = service_ids[x / (int)(S*fCOL_SIZE)] ; - peer_id = peer_ids[y / (int)(S*fCOL_SIZE)] ; + service_id = service_ids[i]; + peer_id = peer_ids[j]; return true ; } @@ -636,22 +640,23 @@ bool RSPermissionMatrixWidget::computeServiceGlobalSwitch(int x,int y,uint32_t& float S = QFontMetricsF(font()).height(); - x -= matrix_start_x ; - y -= S*fMATRIX_START_Y ; + x -= matrix_start_x; + y -= S*fMATRIX_START_Y; + float fi = x / (S*fCOL_SIZE); + int i = (int)fi; + const float icoFracX = fICON_SIZE_X/fCOL_SIZE; - if(x < 0 || x >= service_ids.size() * S*fCOL_SIZE) return false ; - - if( (x % (int)(S*fCOL_SIZE)) < (S*fCOL_SIZE - S*fICON_SIZE_X)/2) return false ; - if( (x % (int)(S*fCOL_SIZE)) > (S*fCOL_SIZE + S*fICON_SIZE_X)/2) return false ; - - if( y < -S*fROW_SIZE ) return false ; - if( y > 0 ) return false ; + if( + i < 0 || i >= service_ids.size() || + y < -S*fROW_SIZE || y > 0 || + std::fmod(fi + icoFracX/2 + .5f, 1.f) >= icoFracX + ) return false; // 2 - find which widget, by looking into the service perm matrix - service_id = service_ids[x / (int)(S*fCOL_SIZE)] ; + service_id = service_ids[i]; - return true ; + return true; } void RSPermissionMatrixWidget::defaultPermissionSwitched(uint32_t /* ServiceId */,bool /* b */) diff --git a/retroshare-gui/src/gui/settings/ServerPage.cpp b/retroshare-gui/src/gui/settings/ServerPage.cpp index be2404bc8..7b1a9cf0a 100755 --- a/retroshare-gui/src/gui/settings/ServerPage.cpp +++ b/retroshare-gui/src/gui/settings/ServerPage.cpp @@ -1771,8 +1771,6 @@ void ServerPage::updateStatusSam() ui.leBobB32Addr->hide(); ui.pbBobGenAddr->hide(); } - - saveAddresses(); } samStatus ss; diff --git a/retroshare-gui/src/util/RsSyntaxHighlighter.cpp b/retroshare-gui/src/util/RsSyntaxHighlighter.cpp index c204932a7..6a191ca2f 100644 --- a/retroshare-gui/src/util/RsSyntaxHighlighter.cpp +++ b/retroshare-gui/src/util/RsSyntaxHighlighter.cpp @@ -67,7 +67,7 @@ void RsSyntaxHighlighter::highlightBlock(const QString &text) { if (text == "") return; - QRegularExpression endl("[\\r\\n\\x2028]"); //Usually 0x2028 character is used for newline, no idea why + QRegularExpression endl("[\\r\\n\\N{U+2028}]"); //Usually 0x2028 character is used for newline, no idea why int index = 0; QStringList lines = text.split(endl); foreach (const QString &cLine, lines) { diff --git a/retroshare.pri b/retroshare.pri index 9e13e8044..7eeeec39c 100644 --- a/retroshare.pri +++ b/retroshare.pri @@ -133,13 +133,13 @@ use_dht_stunner_ext_ip:CONFIG -= no_use_dht_stunner_ext_ip # To select your MacOsX version append the following assignation to qmake # command line "CONFIG+=rs_macos10.13" where 10.13 depends your version macx:CONFIG *= rs_macos10.13 -rs_macos10.13:CONFIG -= rs_macos10.11 -rs_macos10.14:CONFIG -= rs_macos10.11 -rs_macos10.15:CONFIG -= rs_macos10.11 -rs_macos11.1:CONFIG -= rs_macos10.11 -rs_macos14.5:CONFIG -= rs_macos10.11 -rs_macos15.2:CONFIG -= rs_macos10.11 -rs_macos15.5:CONFIG -= rs_macos10.11 +rs_macos10.14:CONFIG -= rs_macos10.13 +rs_macos10.15:CONFIG -= rs_macos10.13 +rs_macos11.1:CONFIG -= rs_macos10.13 +rs_macos14.0:CONFIG -= rs_macos10.13 +rs_macos14.5:CONFIG -= rs_macos10.13 +rs_macos15.2:CONFIG -= rs_macos10.13 +rs_macos15.5:CONFIG -= rs_macos10.13 # To enable JSON API append the following assignation to qmake command line # "CONFIG+=rs_jsonapi" @@ -823,6 +823,13 @@ macx-* { QMAKE_CXXFLAGS += -Wno-nullability-completeness QMAKE_CFLAGS += -Wno-nullability-completeness } + rs_macos14.0 { + message(***retroshare.pri: Set Target and SDK to MacOS 14.0 ) + QMAKE_MACOSX_DEPLOYMENT_TARGET=14.0 + QMAKE_MAC_SDK = macosx14.0 + QMAKE_CXXFLAGS += -Wno-nullability-completeness + QMAKE_CFLAGS += -Wno-nullability-completeness + } rs_macos14.5 { message(***retroshare.pri: Set Target and SDK to MacOS 14.5 ) QMAKE_MACOSX_DEPLOYMENT_TARGET=10.13 @@ -851,7 +858,7 @@ macx-* { BIN_DIR += "/Applications/Xcode.app/Contents/Developer/usr/bin" INCLUDEPATH += "/usr/local/include" RS_UPNP_LIB = miniupnpc - QT += macextras + lessThan(QT_MAJOR_VERSION, 6): QT += macextras INCLUDEPATH += "/usr/local/opt/openssl/include" QMAKE_LIBDIR += "/usr/local/opt/openssl/lib" QMAKE_LIBDIR += "/usr/local/opt/sqlcipher/lib"