From 3e84c321bf8535e7fa14456ba9895a594a3f4d6f Mon Sep 17 00:00:00 2001 From: MinyazevR Date: Mon, 7 Jul 2025 17:36:59 +0300 Subject: [PATCH 1/6] Rename box2D.{so,dll,dylib} to trikBox2D.{so,dll,dylib} --- .../meta/prebuild-linux-gnu.sh | 2 +- .../ru.qreal.root.trik_studio_kernel/meta/prebuild-mac.sh | 4 ++-- .../ru.qreal.root.trik_studio_kernel/meta/prebuild-win32.sh | 2 +- plugins/robots/checker/scripts/build-checker-installer.sh | 2 +- plugins/robots/thirdparty/Box2D/Box2D.pro | 2 +- 5 files changed, 6 insertions(+), 6 deletions(-) diff --git a/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-linux-gnu.sh b/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-linux-gnu.sh index ac3348638d..eb603cdaa3 100755 --- a/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-linux-gnu.sh +++ b/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-linux-gnu.sh @@ -16,7 +16,7 @@ rsync -a "$BIN_DIR"/plugins/editors/librobotsMetamodel.so "$PW rsync -a "$BIN_DIR"/librobots-interpreter-core.so* "$PWD"/../data/lib/ rsync -a "$BIN_DIR"/plugins/tools/librobots-plugin.so "$PWD"/../data/lib/plugins/tools/ rsync -a "$BIN_DIR"/librobots-2d-model.so* "$PWD"/../data/lib/ -rsync -a "$BIN_DIR"/libBox2D.so* "$PWD"/../data/lib/ +rsync -a "$BIN_DIR"/libtrikBox2D.so* "$PWD"/../data/lib/ rsync -a "$BIN_DIR"/librobots-generator-base.so* "$PWD"/../data/lib/ rsync -a "$BIN_DIR"/librobots-kit-base.so* "$PWD"/../data/lib/ rsync -a "$BIN_DIR"/librobots-utils.so* "$PWD"/../data/lib/ diff --git a/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-mac.sh b/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-mac.sh index c44bb9ade4..1e2a88de52 100755 --- a/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-mac.sh +++ b/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-mac.sh @@ -13,7 +13,7 @@ rsync -a "$BIN_DIR"/plugins/editors/librobotsMetamodel.dylib rsync -a "$BIN_DIR"/plugins/tools/librobots-plugin.dylib "$BUNDLE_CONTENTS/Lib/plugins/tools/" rsync -a "$BIN_DIR"/librobots-interpreter-core*.dylib "$BUNDLE_CONTENTS/Lib/" rsync -a "$BIN_DIR"/librobots-2d-model*.dylib "$BUNDLE_CONTENTS/Lib/" -rsync -a "$BIN_DIR"/libBox2D*.dylib "$BUNDLE_CONTENTS/Lib/" +rsync -a "$BIN_DIR"/libtrikBox2D*.dylib "$BUNDLE_CONTENTS/Lib/" rsync -a "$BIN_DIR"/librobots-generator-base*.dylib "$BUNDLE_CONTENTS/Lib/" rsync -a "$BIN_DIR"/librobots-kit-base*.dylib "$BUNDLE_CONTENTS/Lib/" rsync -a "$BIN_DIR"/librobots-utils*.dylib "$BUNDLE_CONTENTS/Lib/" @@ -26,7 +26,7 @@ fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/plugins/editors/librobotsMetamodel. fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/plugins/tools/librobots-plugin.dylib" fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/librobots-interpreter-core.1.0.0.dylib" fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/librobots-2d-model.1.0.0.dylib" -fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/libBox2D.1.0.0.dylib" +fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/libtrikBox2D.1.0.0.dylib" fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/librobots-generator-base.1.0.0.dylib" fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/librobots-kit-base.1.0.0.dylib" fix_qreal_dependencies "$BUNDLE_CONTENTS/Lib/librobots-utils.1.0.0.dylib" diff --git a/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-win32.sh b/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-win32.sh index a7a03c5eb1..04ce691746 100644 --- a/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-win32.sh +++ b/installer/packages/trik-studio/ru.qreal.root.trik_studio_kernel/meta/prebuild-win32.sh @@ -9,7 +9,7 @@ rsync -a "$BIN_DIR"/plugins/editors/robotsMetamodel.dll "$PWD" rsync -a "$BIN_DIR"/robots-interpreter-core.dll "$PWD"/../data rsync -a "$BIN_DIR"/plugins/tools/robots-plugin.dll "$PWD"/../data/plugins/tools/ rsync -a "$BIN_DIR"/robots-2d-model.dll "$PWD"/../data -rsync -a "$BIN_DIR"/Box2D.dll "$PWD"/../data +rsync -a "$BIN_DIR"/trikBox2D.dll "$PWD"/../data rsync -a "$BIN_DIR"/robots-generator-base.dll "$PWD"/../data rsync -a "$BIN_DIR"/robots-kit-base.dll "$PWD"/../data rsync -a "$BIN_DIR"/robots-utils.dll "$PWD"/../data diff --git a/plugins/robots/checker/scripts/build-checker-installer.sh b/plugins/robots/checker/scripts/build-checker-installer.sh index 3a983cd42e..dc70bde6b2 100755 --- a/plugins/robots/checker/scripts/build-checker-installer.sh +++ b/plugins/robots/checker/scripts/build-checker-installer.sh @@ -133,7 +133,7 @@ $qRealDir/librobots-trik-kit-interpreter-common.so* \ $qRealDir/librobots-kit-base.so* \ $qRealDir/librobots-trik-kit.so* \ $qRealDir/librobots-utils.so* \ -$qRealDir/libBox2D.so* . +$qRealDir/libtrikBox2D.so* . rsync -av $qRealDir/librobots-ev3-kit.so* \ $qRealDir/librobots-utils.so* \ diff --git a/plugins/robots/thirdparty/Box2D/Box2D.pro b/plugins/robots/thirdparty/Box2D/Box2D.pro index d14215b2ee..cf251acc53 100644 --- a/plugins/robots/thirdparty/Box2D/Box2D.pro +++ b/plugins/robots/thirdparty/Box2D/Box2D.pro @@ -3,7 +3,7 @@ TEMPLATE = lib include(../../../../global.pri) CONFIG += warn_off - +TARGET=trikBox2D INCLUDEPATH += $$PWD/Box2D/include $$PWD/Box2D/src HEADERS = \ From 260f998eface848860974a8a78a1737b2bd1b082 Mon Sep 17 00:00:00 2001 From: MinyazevR Date: Mon, 7 Jul 2025 17:49:46 +0300 Subject: [PATCH 2/6] Use trikBox2D in twoDModel.pri instead of Box2D --- plugins/robots/common/twoDModel/twoDModel.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/robots/common/twoDModel/twoDModel.pri b/plugins/robots/common/twoDModel/twoDModel.pri index a189812e68..0c63ecd4ff 100644 --- a/plugins/robots/common/twoDModel/twoDModel.pri +++ b/plugins/robots/common/twoDModel/twoDModel.pri @@ -16,7 +16,7 @@ QT += widgets xml svg DEFINES += TWO_D_MODEL_LIBRARY -links(qrkernel qrutils qrgui-tool-plugin-interface qrgui-controller robots-utils robots-kit-base Box2D) +links(qrkernel qrutils qrgui-tool-plugin-interface qrgui-controller robots-utils robots-kit-base trikBox2D) includes(plugins/robots/common/kitBase) includes(plugins/robots/utils qrtext) From cd4cad39ba90742e41e5b31aa6615808174979a1 Mon Sep 17 00:00:00 2001 From: MinyazevR Date: Tue, 8 Jul 2025 14:13:45 +0300 Subject: [PATCH 3/6] Add use_system_box2D option --- .github/workflows/common_build.yml | 2 +- .github/workflows/setup_environment.yml | 3 +++ buildScripts/github/install.sh | 2 +- plugins/robots/common/twoDModel/twoDModel.pri | 10 ++++++++-- 4 files changed, 13 insertions(+), 4 deletions(-) diff --git a/.github/workflows/common_build.yml b/.github/workflows/common_build.yml index f55f724b42..3f6e865092 100644 --- a/.github/workflows/common_build.yml +++ b/.github/workflows/common_build.yml @@ -102,7 +102,7 @@ jobs: build: true build_installer: false config: debug - qmake_extra: "CONFIG+=tests CONFIG+=noPch CONFIG+=ccache CONFIG+=small_debug_info CONFIG+=use_system_qscintilla2 CONFIG+=use_system_quazip CONFIG+=sanitizer CONFIG+=sanitize_undefined CONFIG+=sanitize_address" + qmake_extra: "CONFIG+=tests CONFIG+=noPch CONFIG+=ccache CONFIG+=small_debug_info CONFIG+=use_system_box2D CONFIG+=use_system_qscintilla2 CONFIG+=use_system_quazip CONFIG+=sanitizer CONFIG+=sanitize_undefined CONFIG+=sanitize_address" trik_python3_version_minor: 10 build-altlinux-release-tests: diff --git a/.github/workflows/setup_environment.yml b/.github/workflows/setup_environment.yml index 645fbd0e40..a84e6178f5 100644 --- a/.github/workflows/setup_environment.yml +++ b/.github/workflows/setup_environment.yml @@ -110,6 +110,9 @@ jobs: if [[ "${{ inputs.qmake_extra }}" =~ "+=use_system_qscintilla2" ]]; then rm -rf thirdparty/qscintilla fi + if [[ "${{ inputs.qmake_extra }}" =~ "+=use_system_box2D" ]]; then + rm -rf plugins/robots/thirdparty/Box2D + fi ls thirdparty - name: Set up environment diff --git a/buildScripts/github/install.sh b/buildScripts/github/install.sh index 354c49c891..815cda5cb4 100755 --- a/buildScripts/github/install.sh +++ b/buildScripts/github/install.sh @@ -53,7 +53,7 @@ case "$(uname)" in elif [ "$ID" = "ubuntu" ]; then sudo apt-get update && sudo apt-get install -y --no-install-recommends ccache curl libusb-1.0-0-dev \ make qtscript5-dev qttools5-dev-tools qtmultimedia5-dev libqt5serialport5-dev libqt5svg5-dev \ - libudev-dev "$TRIK_PYTHON"-dev qtbase5-private-dev qtwayland5 libqscintilla2-qt5-dev libquazip5-dev + libudev-dev "$TRIK_PYTHON"-dev qtbase5-private-dev qtwayland5 libqscintilla2-qt5-dev libquazip5-dev libbox2d-dev elif [[ "$ID" = "rocky" || "$ID" = '"rocky"' ]]; then GCC_VERSION=${GCC_VERSION:-13} sudo yum update -y && sudo yum install -y --setopt=install_weak_deps=False epel-release diff --git a/plugins/robots/common/twoDModel/twoDModel.pri b/plugins/robots/common/twoDModel/twoDModel.pri index 0c63ecd4ff..b7f7fb042f 100644 --- a/plugins/robots/common/twoDModel/twoDModel.pri +++ b/plugins/robots/common/twoDModel/twoDModel.pri @@ -13,14 +13,20 @@ # limitations under the License. QT += widgets xml svg +CONFIG *= link_pkgconfig DEFINES += TWO_D_MODEL_LIBRARY +links(qrkernel qrutils qrgui-tool-plugin-interface qrgui-controller robots-utils robots-kit-base) -links(qrkernel qrutils qrgui-tool-plugin-interface qrgui-controller robots-utils robots-kit-base trikBox2D) +!use_system_box2D { + links(trikBox2D) + includes(plugins/robots/thirdparty/Box2D/Box2D) +} else { + PKGCONFIG *= box2D +} includes(plugins/robots/common/kitBase) includes(plugins/robots/utils qrtext) -includes(plugins/robots/thirdparty/Box2D/Box2D) TRANSLATIONS = \ $$PWD/../../../../qrtranslations/ru/plugins/robots/twoDModel_ru.ts \ From 31f0d54eedfa06aa8602f9d70505e5727085b72a Mon Sep 17 00:00:00 2001 From: MinyazevR Date: Tue, 8 Jul 2025 14:36:21 +0300 Subject: [PATCH 4/6] Dont use subdir box2D with use_system_box2D --- plugins/robots/thirdparty/thirdparty.pro | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/plugins/robots/thirdparty/thirdparty.pro b/plugins/robots/thirdparty/thirdparty.pro index db3d6ffe27..e3bcab4007 100644 --- a/plugins/robots/thirdparty/thirdparty.pro +++ b/plugins/robots/thirdparty/thirdparty.pro @@ -17,5 +17,8 @@ TEMPLATE = subdirs SUBDIRS += \ libusb-1.0 \ trikRuntime \ - Box2D \ python \ + +!use_system_box2D { + SUBDIRS += Box2D +} From e57107afd4f99919bb94f42c56f8ddd6d6f2a8ab Mon Sep 17 00:00:00 2001 From: MinyazevR Date: Tue, 8 Jul 2025 14:39:29 +0300 Subject: [PATCH 5/6] Use use_system_box2D for Ubuntu release build --- .github/workflows/common_build.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/common_build.yml b/.github/workflows/common_build.yml index 3f6e865092..7825042cc9 100644 --- a/.github/workflows/common_build.yml +++ b/.github/workflows/common_build.yml @@ -91,7 +91,7 @@ jobs: os: ubuntu-22.04 build: true build_installer: false - qmake_extra: "CONFIG+=tests CONFIG+=noPch CONFIG+=ccache CONFIG+=no-sanitizers CONFIG+=use_system_qscintilla2 CONFIG+=use_system_quazip" + qmake_extra: "CONFIG+=tests CONFIG+=noPch CONFIG+=ccache CONFIG+=no-sanitizers CONFIG+=use_system_box2D CONFIG+=use_system_qscintilla2 CONFIG+=use_system_quazip" trik_python3_version_minor: 10 build-ubuntu-debug-tests: From b1aeda00a7a7aa2fc851788396eef6e18911156a Mon Sep 17 00:00:00 2001 From: MinyazevR Date: Tue, 8 Jul 2025 14:42:39 +0300 Subject: [PATCH 6/6] Fix library name for pkg-config --- plugins/robots/common/twoDModel/twoDModel.pri | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plugins/robots/common/twoDModel/twoDModel.pri b/plugins/robots/common/twoDModel/twoDModel.pri index b7f7fb042f..b382c03651 100644 --- a/plugins/robots/common/twoDModel/twoDModel.pri +++ b/plugins/robots/common/twoDModel/twoDModel.pri @@ -22,7 +22,7 @@ links(qrkernel qrutils qrgui-tool-plugin-interface qrgui-controller robots-utils links(trikBox2D) includes(plugins/robots/thirdparty/Box2D/Box2D) } else { - PKGCONFIG *= box2D + PKGCONFIG *= box2d } includes(plugins/robots/common/kitBase)