From e1a4feef02920c0a0e32f2a897612bfaa855b210 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Tue, 1 Oct 2024 11:46:22 +0200 Subject: [PATCH 01/33] rabbitmq-c submodule pointing at master in alanxz --- .github/workflows/loadLibraryTest.yml | 262 ++++++++++++++++++++++++++ thirdparty/rabbitmq-c/rabbitmq-c | 2 +- 2 files changed, 263 insertions(+), 1 deletion(-) create mode 100644 .github/workflows/loadLibraryTest.yml diff --git a/.github/workflows/loadLibraryTest.yml b/.github/workflows/loadLibraryTest.yml new file mode 100644 index 0000000..dcbc6fb --- /dev/null +++ b/.github/workflows/loadLibraryTest.yml @@ -0,0 +1,262 @@ +# This is a basic workflow to help you get started with Actions + +name: openssl-tests + +# Controls when the workflow will run +on: + # Triggers the workflow on push or pull request events but only for the development branch + push: + branches: [gf/update-rabbitmq-c] + + # Allows you to run this workflow manually from the Actions tab + workflow_dispatch: + +# A workflow run is made up of one or more jobs that can run sequentially or in parallel +jobs: + # This workflow contains a single job called "build" + build: + # The type of runner that the job will run on + runs-on: ${{ matrix.os }} + + strategy: + fail-fast: false + matrix: + os: [windows-latest,ubuntu-20.04] + + steps: + - uses: TheMrMilchmann/setup-msvc-dev@v3 + if: matrix.os == 'windows-latest' + with: + arch: x64 + + - uses: actions/checkout@v2 + if: matrix.os == 'ubuntu-20.04' + with: + submodules: true + fetch-depth: 0 + + - uses: actions/checkout@v2 + if: matrix.os != 'ubuntu-20.04' + with: + submodules: true + + - uses: lukka/get-cmake@latest + with: + cmakeVersion: "~3.22.0" # <--= optional, use most recent 3.25.x version + ninjaVersion: "^1.11.1" # <--= optional, use most recent 1.x version + + - name: Prepare variables for windows + shell: bash + if: matrix.os == 'windows-latest' + run: | + echo "win-x64" > target + echo "win-x86_64" > install_name + echo -G > cmakeFlag + echo Unix Makefiles > cmakeFlagValue + + - name: Other win prep + if: matrix.os == 'windows-latest' + run: | + openssl version + openssl version -d + choco uninstall openssl -x + + choco install openssl + openssl version + openssl version -d + which openssl + + cmake --version + + - name: Build + if: matrix.os == 'windows-latest' + shell: bash + run: | + export target=$(cat target) + export install_name=$(cat install_name) + export cmakeFlag=$(cat cmakeFlag) + export cmakeFlagValue=$(cat cmakeFlagValue) + echo $target + echo $install_name + repo=$(git rev-parse --show-toplevel) + current_dir=$(pwd) + cd $repo + + working_dir=build/$target + + mkdir -p $working_dir + echo Build dependencies + + build_xercersc() + { + if [ $target == "linux-x64" ]; then + transcoder_option="-Dtranscoder=gnuiconv" + else + transcoder_option="" + fi + echo cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + make -C$1 -j8 + make -C$1 install + } + if [ ! -d build/external/$install_name ] + then + + echo build_xercersc $working_dir/xerces-c build/external/$install_name $cmakeFlag "$cmakeFlagValue" + build_xercersc $working_dir/xerces-c build/external/$install_name $cmakeFlag "$cmakeFlagValue" + else + echo "Dependency already generated" + fi + + echo Running CMake + rm -f thirdparty/rabbitmq-c/rabbitmq-c/librabbitmq/config.h + cmake $cmakeFlag "$cmakeFlagValue" -B$working_dir -H. + + echo Compiling + + make -C$working_dir + make -C$working_dir/rabbitmq-fmu install + cd $current_dir + + echo Done + echo $(pwd) + ls + + - name: List dependencies for windows + if: matrix.os == 'windows-latest' + run: | + echo "$RUNNER_OS" + systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version" + echo Dependencies + dumpbin /dependents build/win-x64/rabbitmq-fmu/rabbitmq.dll + + - name: Run unit tests on WIN + if: matrix.os == 'windows-latest' + shell: bash + run: | + export target=$(cat target) + echo $(pwd) + pacman -S --noconfirm mingw-w64-x86_64-gcc-libs + cmake --install build/$target + echo check for dll dependencies for the core test + ldd build/$target/rabbitmq-core/unit-test-rabbitmq-core.exe + echo check for dll dependencies for the container test + ldd build/$target/rabbitmq-fmu/unit-test-rabbitmq.exe + #Call ctest + ctest --test-dir build/$target --output-on-failure -R unit-test-rabbitmq + echo Tests complete + + - name: Upload artifact windows + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v4 + with: + name: rabbitmq.dll + path: build/win-x64/rabbitmq-fmu/rabbitmq.dll + + - name: Upload artifact windows + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v4 + with: + name: it-test-rabbitmq.exe + path: build/win-x64/rabbitmq-fmu/it-test-rabbitmq.exe + + - name: Upload artifact windows + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v4 + with: + name: unit-test-rabbitmq.exe + path: build/win-x64/rabbitmq-fmu/unit-test-rabbitmq.exe + + - name: Upload artifact windows + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v4 + with: + name: unit-test-rabbitmq-core.exe + path: build/win-x64/rabbitmq-core/unit-test-rabbitmq-core.exe + + - name: Upload artifact windows + if: matrix.os == 'windows-latest' + uses: actions/upload-artifact@v4 + with: + name: it-test-rabbitmq-core.exe + path: build/win-x64/rabbitmq-core/it-test-rabbitmq-core.exe + + - name: Update version on modelDescription.xml + shell: bash + if: matrix.os == 'ubuntu-20.04' + run: | + cd rabbitmq-fmu/ + ../scripts/set_fmu_version.sh modelDescription.xml + + - name: Upload modelDescription.xml + if: matrix.os == 'ubuntu-20.04' + uses: actions/upload-artifact@v4 + with: + name: modelDescription.xml + path: rabbitmq-fmu/modelDescription.xml + + - name: Upload rabbitmq configuration script + if: matrix.os == 'ubuntu-20.04' + uses: actions/upload-artifact@v4 + with: + name: rabbitmq_fmu_configure.py + path: scripts/rabbitmq_fmu_configure.py + + - name: Upload readme + if: matrix.os == 'ubuntu-20.04' + uses: actions/upload-artifact@v4 + with: + name: readme.md + path: readme.md + + pack-fmu: + runs-on: ubuntu-20.04 + needs: build + steps: + - uses: actions/checkout@v2 + with: + submodules: true + fetch-depth: 0 + + - name: Download dll + uses: actions/download-artifact@v4 + with: + name: rabbitmq.dll + path: rabbitmq/binaries/win64/ + + - name: Download model description file + uses: actions/download-artifact@v4 + with: + name: modelDescription.xml + path: rabbitmq/ + + - name: Download model description file to resources folder + uses: actions/download-artifact@v4 + with: + name: modelDescription.xml + path: rabbitmq/resources + + - name: Download readme + uses: actions/download-artifact@v4 + with: + name: readme.md + path: rabbitmq/ + + - name: Download configuration script + uses: actions/download-artifact@v4 + with: + name: rabbitmq_fmu_configure.py + path: rabbitmq/ + + - name: Get version of the tool + run: | + cd rabbitmq-fmu/ + echo "::set-output name=VERSION::$(git describe --tags --long)" + id: version + + - name: Upload FMU + uses: actions/upload-artifact@v4 + with: + name: rabbitmq-${{steps.version.outputs.VERSION}}.fmu + path: rabbitmq + diff --git a/thirdparty/rabbitmq-c/rabbitmq-c b/thirdparty/rabbitmq-c/rabbitmq-c index b3c3fa3..a2d0be9 160000 --- a/thirdparty/rabbitmq-c/rabbitmq-c +++ b/thirdparty/rabbitmq-c/rabbitmq-c @@ -1 +1 @@ -Subproject commit b3c3fa33d481ec180250dcc3cb0d349234d264ee +Subproject commit a2d0be96d6902fc909f2cc9a80fb385b4f9362c9 From 292bf870e39da884f861b090f89a4df3eb7f9004 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Tue, 1 Oct 2024 12:50:21 +0200 Subject: [PATCH 02/33] updated submodule --- thirdparty/rabbitmq-c/rabbitmq-c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/thirdparty/rabbitmq-c/rabbitmq-c b/thirdparty/rabbitmq-c/rabbitmq-c index a2d0be9..f11126d 160000 --- a/thirdparty/rabbitmq-c/rabbitmq-c +++ b/thirdparty/rabbitmq-c/rabbitmq-c @@ -1 +1 @@ -Subproject commit a2d0be96d6902fc909f2cc9a80fb385b4f9362c9 +Subproject commit f11126d21de4e21fa445dd973ed068aabaf2fee5 From a357f0e3c9fecf88206e15ffd6fff653630e715a Mon Sep 17 00:00:00 2001 From: gitting-around Date: Tue, 1 Oct 2024 13:00:24 +0200 Subject: [PATCH 03/33] updated submoudle --- rabbitmq-fmu/CMakeLists.txt | 2 +- thirdparty/rabbitmq-c/rabbitmq-c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index fd229de..766ee29 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -82,7 +82,7 @@ else() find_package(Threads REQUIRED) set(OPENSSL_ROOT_DIR "C:\\Strawberry\\c\\lib") set(OPENSSL_USE_STATIC_LIBS TRUE) - find_package(OpenSSL 1.1.1 REQUIRED) + find_package(OpenSSL 3.0.0 REQUIRED) target_link_libraries(rabbitmq XercesC::XercesC rabbitmq-static tz rabbitmq-core Threads::Threads OpenSSL::SSL OpenSSL::Crypto -static ) #target_link_libraries(rabbitmq XercesC::XercesC rabbitmq-static tz rabbitmq-core) endif() diff --git a/thirdparty/rabbitmq-c/rabbitmq-c b/thirdparty/rabbitmq-c/rabbitmq-c index f11126d..e6ed318 160000 --- a/thirdparty/rabbitmq-c/rabbitmq-c +++ b/thirdparty/rabbitmq-c/rabbitmq-c @@ -1 +1 @@ -Subproject commit f11126d21de4e21fa445dd973ed068aabaf2fee5 +Subproject commit e6ed318b89946dcfb9137b77fdc9d37e6734b08c From e85a908685b7cb3000a02d23ecc03b18d3ac12f0 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Tue, 1 Oct 2024 13:11:32 +0200 Subject: [PATCH 04/33] trying with 3.2.0 --- thirdparty/rabbitmq-c/rabbitmq-c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/thirdparty/rabbitmq-c/rabbitmq-c b/thirdparty/rabbitmq-c/rabbitmq-c index e6ed318..79a801b 160000 --- a/thirdparty/rabbitmq-c/rabbitmq-c +++ b/thirdparty/rabbitmq-c/rabbitmq-c @@ -1 +1 @@ -Subproject commit e6ed318b89946dcfb9137b77fdc9d37e6734b08c +Subproject commit 79a801b947ae9f38f911c73237aa37318533de8c From 42b0179dc828f1a0b9c7164c81d2bf88730b9166 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 10:06:07 +0200 Subject: [PATCH 05/33] set openssl version in cmakelists --- rabbitmq-fmu/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index 766ee29..51c6151 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -82,7 +82,8 @@ else() find_package(Threads REQUIRED) set(OPENSSL_ROOT_DIR "C:\\Strawberry\\c\\lib") set(OPENSSL_USE_STATIC_LIBS TRUE) - find_package(OpenSSL 3.0.0 REQUIRED) + set(RMQ_OPENSSL_MIN_VERSION 3.0.0) + find_package(OpenSSL REQUIRED) target_link_libraries(rabbitmq XercesC::XercesC rabbitmq-static tz rabbitmq-core Threads::Threads OpenSSL::SSL OpenSSL::Crypto -static ) #target_link_libraries(rabbitmq XercesC::XercesC rabbitmq-static tz rabbitmq-core) endif() From ab4b45335bad51c4988aba6e3538479974fbf652 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 10:16:49 +0200 Subject: [PATCH 06/33] specifying openssl version for choco --- .github/workflows/loadLibraryTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/loadLibraryTest.yml b/.github/workflows/loadLibraryTest.yml index dcbc6fb..3a01b90 100644 --- a/.github/workflows/loadLibraryTest.yml +++ b/.github/workflows/loadLibraryTest.yml @@ -61,7 +61,7 @@ jobs: openssl version -d choco uninstall openssl -x - choco install openssl + choco install openssl --version 3.3.2 openssl version openssl version -d which openssl From 5aeb466f71430d1cd5be83781d7d44975c0f43a3 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 10:35:47 +0200 Subject: [PATCH 07/33] changed openssl root dir to C:\Program Files\Common Files\SSL --- rabbitmq-fmu/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index 51c6151..81bfd92 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -80,7 +80,7 @@ elseif(APPLE) else() set(THREADS_PREFER_PTHREAD_FLAG ON) find_package(Threads REQUIRED) - set(OPENSSL_ROOT_DIR "C:\\Strawberry\\c\\lib") + set(OPENSSL_ROOT_DIR "C:\\Program Files\\Common Files\\SSL") set(OPENSSL_USE_STATIC_LIBS TRUE) set(RMQ_OPENSSL_MIN_VERSION 3.0.0) find_package(OpenSSL REQUIRED) From 9f0d68902cee33b6d485cc53e315853984252762 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 10:53:16 +0200 Subject: [PATCH 08/33] added build for ubuntu latest, set flags in cmakelists --- .github/workflows/loadLibraryTest.yml | 4 ++-- rabbitmq-fmu/CMakeLists.txt | 3 ++- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/.github/workflows/loadLibraryTest.yml b/.github/workflows/loadLibraryTest.yml index 3a01b90..de8b645 100644 --- a/.github/workflows/loadLibraryTest.yml +++ b/.github/workflows/loadLibraryTest.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest,ubuntu-20.04] + os: [windows-latest,ubuntu-latest] steps: - uses: TheMrMilchmann/setup-msvc-dev@v3 @@ -69,7 +69,7 @@ jobs: cmake --version - name: Build - if: matrix.os == 'windows-latest' + #if: matrix.os == 'windows-latest' shell: bash run: | export target=$(cat target) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index 81bfd92..ac5df3a 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -82,7 +82,8 @@ else() find_package(Threads REQUIRED) set(OPENSSL_ROOT_DIR "C:\\Program Files\\Common Files\\SSL") set(OPENSSL_USE_STATIC_LIBS TRUE) - set(RMQ_OPENSSL_MIN_VERSION 3.0.0) + set(OPENSSL_MIN_VERSION 3.0.0) + set(OPENSSL_NO_DEPRECATED_3_0 TRUE) find_package(OpenSSL REQUIRED) target_link_libraries(rabbitmq XercesC::XercesC rabbitmq-static tz rabbitmq-core Threads::Threads OpenSSL::SSL OpenSSL::Crypto -static ) #target_link_libraries(rabbitmq XercesC::XercesC rabbitmq-static tz rabbitmq-core) From 518d5c99994d99e80364b0e1bf2e88b2fc506d92 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:05:50 +0200 Subject: [PATCH 09/33] uncomment add_subdirectory(thirdparty/xerces-c) --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 5072851..d27eede 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -120,7 +120,7 @@ add_subdirectory(thirdparty/googletest) #execute_process(COMMAND ${CMAKE_EXECUTABLE} thirdparty/rapidjson -DCMAKE_INSTALL_PREFIX="${CMAKE_CURRENT_SOURCE_DIR}/build/install/thirdparty/rapidjson" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson") #execute_process(COMMAND ${CMAKE_EXECUTABLE} --build "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson" --target install) -#add_subdirectory(thirdparty/xerces-c) +add_subdirectory(thirdparty/xerces-c) #set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) #set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) From 1618abb64202e4ad8308729bd9fc72affa8b1d21 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:06:32 +0200 Subject: [PATCH 10/33] add macos build --- .github/workflows/loadLibraryTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/loadLibraryTest.yml b/.github/workflows/loadLibraryTest.yml index de8b645..e76b2ae 100644 --- a/.github/workflows/loadLibraryTest.yml +++ b/.github/workflows/loadLibraryTest.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest,ubuntu-latest] + os: [windows-latest,ubuntu-latest,macos-latest] steps: - uses: TheMrMilchmann/setup-msvc-dev@v3 From af1842f4162faf4085596219bde3d471dff6f578 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:10:52 +0200 Subject: [PATCH 11/33] set XercesC_DIR for linux --- CMakeLists.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index d27eede..3a06007 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -61,6 +61,8 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) + + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/cmake") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) ELSEIF (WIN32) @@ -120,7 +122,7 @@ add_subdirectory(thirdparty/googletest) #execute_process(COMMAND ${CMAKE_EXECUTABLE} thirdparty/rapidjson -DCMAKE_INSTALL_PREFIX="${CMAKE_CURRENT_SOURCE_DIR}/build/install/thirdparty/rapidjson" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson") #execute_process(COMMAND ${CMAKE_EXECUTABLE} --build "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson" --target install) -add_subdirectory(thirdparty/xerces-c) +#add_subdirectory(thirdparty/xerces-c) #set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) #set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) From 49598558e0c6cd3eb7b7732e38877fa5297c64d4 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:21:59 +0200 Subject: [PATCH 12/33] fixed XercesC_DIR for darwin and linux --- CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 3a06007..9b4be1e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,10 +59,11 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/cmake") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/cmake") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) ELSEIF (WIN32) From adfb7012d48aaa7037672ad9ffcded19d6bcc40a Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:32:56 +0200 Subject: [PATCH 13/33] fixed XercesC_DIR for darwin and linux --- CMakeLists.txt | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b4be1e..be442b4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,13 +59,15 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) + message("Thirdparty libraries root:") + message(${THIRD_PARTY_LIBRARIES_ROOT}) ELSEIF (WIN32) set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/cmake") ENDIF () From 04ae90d52d2a423b6206bf5b6f2b363b76944264 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:38:00 +0200 Subject: [PATCH 14/33] setting XercesC_DIR for darwin and linux --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index be442b4..768e640 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,11 +59,11 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake/XercesC") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake/XercesC") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) message("Thirdparty libraries root:") From eb84364881d40ef68401c1cbfc9c222b0b3d76aa Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:42:41 +0200 Subject: [PATCH 15/33] print xercesc dir path --- rabbitmq-fmu/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index ac5df3a..6e79aaa 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -38,7 +38,8 @@ include_directories(${gtest_SOURCE_DIR}/include) # I need this: -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic #message(path to xercesc is ${xercerc_lib_path}) - +message("Path for XercesC_DIR is:") +message($(XercesC_DIR)) find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} if (XercesC_FOUND) message(STATUS "Package Xerces-C++ found: ${XercesC_INCLUDE_DIR}") From 8fe7a66a3ff7c59ebaaad33fd30548c8dcfbb210 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:44:41 +0200 Subject: [PATCH 16/33] print xercesc dir path fixed typo --- rabbitmq-fmu/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index 6e79aaa..87e79e2 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -39,7 +39,7 @@ include_directories(${gtest_SOURCE_DIR}/include) # I need this: -static-libgcc -static-libstdc++ -Wl,-Bstatic -lstdc++ -lpthread -Wl,-Bdynamic #message(path to xercesc is ${xercerc_lib_path}) message("Path for XercesC_DIR is:") -message($(XercesC_DIR)) +message(${XercesC_DIR}) find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} if (XercesC_FOUND) message(STATUS "Package Xerces-C++ found: ${XercesC_INCLUDE_DIR}") From 043627e49e1ce444887cc999a083b4db021b3355 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:49:56 +0200 Subject: [PATCH 17/33] macos-latest -> macos-12 --- .github/workflows/loadLibraryTest.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.github/workflows/loadLibraryTest.yml b/.github/workflows/loadLibraryTest.yml index e76b2ae..eff3864 100644 --- a/.github/workflows/loadLibraryTest.yml +++ b/.github/workflows/loadLibraryTest.yml @@ -21,7 +21,7 @@ jobs: strategy: fail-fast: false matrix: - os: [windows-latest,ubuntu-latest,macos-latest] + os: [windows-latest,ubuntu-latest,macos-12] steps: - uses: TheMrMilchmann/setup-msvc-dev@v3 From f103122a66d31a54466da25bda9fecc3f7edce66 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 11:54:35 +0200 Subject: [PATCH 18/33] added prints during build --- .github/workflows/loadLibraryTest.yml | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/.github/workflows/loadLibraryTest.yml b/.github/workflows/loadLibraryTest.yml index eff3864..16075a8 100644 --- a/.github/workflows/loadLibraryTest.yml +++ b/.github/workflows/loadLibraryTest.yml @@ -108,6 +108,18 @@ jobs: echo "Dependency already generated" fi + echo Contents of build sub folders + ls build/external/$target + echo -------------------------- + ls build/external/$target/lib + echo -------------------------- + + ls build/external/$target/lib/cmake + echo -------------------------- + + ls build/external/$target/lib/cmake/XercesC + echo -------------------------- + echo Running CMake rm -f thirdparty/rabbitmq-c/rabbitmq-c/librabbitmq/config.h cmake $cmakeFlag "$cmakeFlagValue" -B$working_dir -H. From 1093e9b3d4c0deac81af0aeed5b51cbebad55588 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 12:11:13 +0200 Subject: [PATCH 19/33] printing stuff --- CMakeLists.txt | 7 ++++--- rabbitmq-fmu/CMakeLists.txt | 2 ++ 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 768e640..8b91db6 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,11 +59,12 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake/XercesC") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake") + set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake/XercesC") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake") + set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) message("Thirdparty libraries root:") diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index 87e79e2..fca9072 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -40,6 +40,8 @@ include_directories(${gtest_SOURCE_DIR}/include) #message(path to xercesc is ${xercerc_lib_path}) message("Path for XercesC_DIR is:") message(${XercesC_DIR}) +message("Path for XCMAKE_PREFIX_PATH is:") +message(${CMAKE_PREFIX_PATH}) find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} if (XercesC_FOUND) message(STATUS "Package Xerces-C++ found: ${XercesC_INCLUDE_DIR}") From 96909a9cb87a0155f6396e686ed3a82eb3c22bc3 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 12:22:48 +0200 Subject: [PATCH 20/33] testing cmake prefix path --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 8b91db6..f5fdbb4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -60,11 +60,11 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake") - set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib") + set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/libxerces-c-3.2.a") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake") - set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib") + set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/libxerces-c-3.2.a") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) message("Thirdparty libraries root:") From 4a5c3eb2d9364a48a729eeafe6eba990b6c1b0f8 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 12:26:28 +0200 Subject: [PATCH 21/33] testing xercesc_dir --- CMakeLists.txt | 4 ++-- rabbitmq-fmu/CMakeLists.txt | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f5fdbb4..b8fa0e2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,11 +59,11 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake/XercesC") set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/libxerces-c-3.2.a") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake/XercesC") set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/libxerces-c-3.2.a") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index fca9072..1b41d87 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -40,7 +40,7 @@ include_directories(${gtest_SOURCE_DIR}/include) #message(path to xercesc is ${xercerc_lib_path}) message("Path for XercesC_DIR is:") message(${XercesC_DIR}) -message("Path for XCMAKE_PREFIX_PATH is:") +message("Path for CMAKE_PREFIX_PATH is:") message(${CMAKE_PREFIX_PATH}) find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} if (XercesC_FOUND) From fed2e300ef8e8265b6087106a26321b47727f2f7 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 12:30:49 +0200 Subject: [PATCH 22/33] find package -> XercesC CONFIG PATHS --- rabbitmq-fmu/CMakeLists.txt | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index 1b41d87..ce32457 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -42,7 +42,8 @@ message("Path for XercesC_DIR is:") message(${XercesC_DIR}) message("Path for CMAKE_PREFIX_PATH is:") message(${CMAKE_PREFIX_PATH}) -find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} +find_package(XercesC CONFIG PATHS ${XercesC_DIR} REQUIRED) +#find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} if (XercesC_FOUND) message(STATUS "Package Xerces-C++ found: ${XercesC_INCLUDE_DIR}") else (XercesC_FOUND) From 07c0467cf67b36b7d38ed7ba7b29b77309661e58 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 12:34:16 +0200 Subject: [PATCH 23/33] find package -> XercesC REQUIRED --- rabbitmq-fmu/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index ce32457..37bb7c8 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -42,7 +42,7 @@ message("Path for XercesC_DIR is:") message(${XercesC_DIR}) message("Path for CMAKE_PREFIX_PATH is:") message(${CMAKE_PREFIX_PATH}) -find_package(XercesC CONFIG PATHS ${XercesC_DIR} REQUIRED) +find_package(XercesC REQUIRED) #find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} if (XercesC_FOUND) message(STATUS "Package Xerces-C++ found: ${XercesC_INCLUDE_DIR}") From f4cfb34c3391b85ee28f2368f9b1ce7ee1b1cea7 Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 12:43:08 +0200 Subject: [PATCH 24/33] xercesc dir to -/cmake --- CMakeLists.txt | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index b8fa0e2..f4f6fd4 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,11 +59,11 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/cmake/XercesC") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/cmake/XercesC") set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/libxerces-c-3.2.a") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/cmake/XercesC") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/cmake/XercesC") set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/libxerces-c-3.2.a") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) From 1759d632320219361feffac008761c9a65fcfb3b Mon Sep 17 00:00:00 2001 From: gitting-around Date: Wed, 16 Oct 2024 12:46:20 +0200 Subject: [PATCH 25/33] xercesc dir to -arch/cmake --- CMakeLists.txt | 8 ++++---- rabbitmq-fmu/CMakeLists.txt | 4 +--- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index f4f6fd4..857c594 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -59,12 +59,12 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/cmake/XercesC") - set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/libxerces-c-3.2.a") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/cmake") + #set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/libxerces-c-3.2.a") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/cmake/XercesC") - set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/libxerces-c-3.2.a") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/cmake") + #set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/libxerces-c-3.2.a") ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) message("Thirdparty libraries root:") diff --git a/rabbitmq-fmu/CMakeLists.txt b/rabbitmq-fmu/CMakeLists.txt index 37bb7c8..fc63db8 100644 --- a/rabbitmq-fmu/CMakeLists.txt +++ b/rabbitmq-fmu/CMakeLists.txt @@ -41,9 +41,7 @@ include_directories(${gtest_SOURCE_DIR}/include) message("Path for XercesC_DIR is:") message(${XercesC_DIR}) message("Path for CMAKE_PREFIX_PATH is:") -message(${CMAKE_PREFIX_PATH}) -find_package(XercesC REQUIRED) -#find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} +find_package(XercesC CONFIG PATHS ${THIRD_PARTY_LIBRARIES_ROOT} REQUIRED) # XSD DEPENDS ON ${XERCESC_FOUND} if (XercesC_FOUND) message(STATUS "Package Xerces-C++ found: ${XercesC_INCLUDE_DIR}") else (XercesC_FOUND) From 45cdde5223b84b89fc1ad10b491d69aabee4ad4b Mon Sep 17 00:00:00 2001 From: gitting-around Date: Tue, 22 Oct 2024 12:54:38 +0200 Subject: [PATCH 26/33] uncommented 129 in cmakelists --- CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 857c594..1ad7a1a 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -126,7 +126,7 @@ add_subdirectory(thirdparty/googletest) #execute_process(COMMAND ${CMAKE_EXECUTABLE} thirdparty/rapidjson -DCMAKE_INSTALL_PREFIX="${CMAKE_CURRENT_SOURCE_DIR}/build/install/thirdparty/rapidjson" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson") #execute_process(COMMAND ${CMAKE_EXECUTABLE} --build "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson" --target install) -#add_subdirectory(thirdparty/xerces-c) +add_subdirectory(thirdparty/xerces-c) #set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) #set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) From ec96150a766fbd3079055611ae33e0bf0386c4cb Mon Sep 17 00:00:00 2001 From: Kenneth Lausdahl Date: Tue, 22 Oct 2024 14:35:16 +0200 Subject: [PATCH 27/33] added new script for build --- .gitmodules | 3 ++ CMakeLists.txt | 6 ++- rabbitmq-fmu/test/fmu_test_it.cpp | 3 ++ scripts/_build_base.sh | 74 ++++++++++++++++++++++++++++ scripts/build_locally_darwin.sh | 49 +----------------- scripts/build_locally_linux.sh | 49 +----------------- thirdparty/googletest | 2 +- thirdparty/openssl | 1 + thirdparty/rabbitmq-c/CMakeLists.txt | 4 +- 9 files changed, 93 insertions(+), 98 deletions(-) create mode 100755 scripts/_build_base.sh create mode 160000 thirdparty/openssl diff --git a/.gitmodules b/.gitmodules index 14dfe69..1530c3d 100644 --- a/.gitmodules +++ b/.gitmodules @@ -17,3 +17,6 @@ [submodule "thirdparty/date/date"] path = thirdparty/date/date url = https://github.com/HowardHinnant/date.git +[submodule "thirdparty/openssl"] + path = thirdparty/openssl + url = https://github.com/openssl/openssl.git diff --git a/CMakeLists.txt b/CMakeLists.txt index 1ad7a1a..0245e00 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -1,6 +1,6 @@ cmake_minimum_required(VERSION 3.7.2) - +#cmake_policy(SET CMP0002 OLD) set(CMAKE_POLICY_DEFAULT_CMP0079 NEW) set(CMAKE_MACOSX_RPATH 1) @@ -60,6 +60,7 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/cmake") +set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}") #set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/libxerces-c-3.2.a") ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) @@ -118,6 +119,9 @@ message("ENABLE_RBMQ_FMU_TESTS: ${ENABLE_RBMQ_FMU_TESTS}") set(RAPIDJSON_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) +set(RAPIDJSON_BUILD_DOC OFF CACHE BOOL "" FORCE) +set(RAPIDJSON_BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) +set(RAPIDJSON_BUILD_TESTS OFF CACHE BOOL "" FORCE) add_subdirectory(thirdparty/rapidjson) #add_subdirectory(thirdparty/amqp-cpp) #### Comment line 118 to build locally. diff --git a/rabbitmq-fmu/test/fmu_test_it.cpp b/rabbitmq-fmu/test/fmu_test_it.cpp index 1078a7e..f5ce4f6 100644 --- a/rabbitmq-fmu/test/fmu_test_it.cpp +++ b/rabbitmq-fmu/test/fmu_test_it.cpp @@ -6,6 +6,9 @@ #include /* defines FILENAME_MAX */ +#include // Required for setprecision + + #ifdef WINDOWS #include #define GetCurrentDir _getcwd diff --git a/scripts/_build_base.sh b/scripts/_build_base.sh new file mode 100755 index 0000000..c7802f3 --- /dev/null +++ b/scripts/_build_base.sh @@ -0,0 +1,74 @@ +#!/bin/bash +set -e + +target=$1 #linux-x64 +install_name=$2 #linux-x86_64 + +echo "Configuration Target=${target}, DependencyInstallName=${install_name}" + +current_dir=$(pwd) + +repo=$(git rev-parse --show-toplevel) + +cd $repo + +working_dir=build/$target + +mkdir -p $working_dir + +echo Build dependencies + + +build_xercersc() +{ + if [ $target == "linux-x64" ]; then + transcoder_option="-Dtranscoder=gnuiconv" + else + transcoder_option="" + fi + echo cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + make -C$1 -j8 + make -C$1 install +} + +build_openssl() +{ + + c_dir=$(pwd) + cd $1 + ./Configure --prefix=$2 --openssldir=/usr/local/ssl '-Wl,-rpath,$(LIBRPATH)' + make -j 9 + make install + cd $c_dir +} + +if [ ! -d build/external/$install_name ] +then + +build_xercersc $working_dir/xerces-c build/external/$install_name +build_openssl $repo/thirdparty/openssl $(readlink -f "$working_dir/build/external/$install_name") +else +echo "Dependency already generated" +fi + + +echo Running CMake +rm -f thirdparty/rabbitmq-c/rabbitmq-c/librabbitmq/config.h +cmake -B$working_dir -H. + +echo Compiling + +make -C$working_dir -j8 +echo $MY_INSTALL_DIR +make -C$working_dir/rabbitmq-fmu install +cd $current_dir + +echo "TESTING STARTED" +echo $working_dir +echo $current_dir + +ctest --test-dir build/$target --output-on-failure -R unit-test-rabbitmq + + +echo Done diff --git a/scripts/build_locally_darwin.sh b/scripts/build_locally_darwin.sh index 37e721c..06abfbb 100755 --- a/scripts/build_locally_darwin.sh +++ b/scripts/build_locally_darwin.sh @@ -4,52 +4,5 @@ set -e target=darwin-x64 install_name=darwin-x86_64 -echo "Configuration Target=${target}, DependencyInstallName=${install_name}" - repo=$(git rev-parse --show-toplevel) -current_dir=$(pwd) -cd $repo - - -working_dir=build/$target - -mkdir -p $working_dir - -echo Build dependencies - - -build_xercersc() -{ - cmake -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF -Hthirdparty/xerces-c - make -C$1 -j8 - make -C$1 install -} - -if [ ! -d build/external/$install_name ] -then - -build_xercersc $working_dir/xerces-c build/external/$install_name -else -echo "Dependency already generated" -fi - - -echo Running CMake -rm -f thirdparty/rabbitmq-c/rabbitmq-c/librabbitmq/config.h -cmake -B$working_dir -H. - -echo Compiling - -make -C$working_dir -j8 -echo $MY_INSTALL_DIR -make -C$working_dir/rabbitmq-fmu install -cd $current_dir - -echo "TESTING STARTED" -echo $working_dir -echo $current_dir - -ctest --test-dir build/$target --output-on-failure -R unit-test-rabbitmq - - -echo Done +$repo/scripts/_build_base.sh $target $install_name diff --git a/scripts/build_locally_linux.sh b/scripts/build_locally_linux.sh index 4a75ea1..b2bb463 100755 --- a/scripts/build_locally_linux.sh +++ b/scripts/build_locally_linux.sh @@ -4,50 +4,5 @@ set -e target=linux-x64 install_name=linux-x86_64 -echo "Configuration Target=${target}, DependencyInstallName=${install_name}" - -current_dir=$(pwd) - -working_dir=build/$target - -mkdir -p $working_dir - -echo Build dependencies - - -build_xercersc() -{ - cmake -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF -Dtranscoder=gnuiconv -Hthirdparty/xerces-c - make -C$1 -j8 - make -C$1 install -} - -if [ ! -d build/external/$install_name ] -then - -build_xercersc $working_dir/xerces-c build/external/$install_name -else -echo "Dependency already generated" -fi - - -echo Running CMake -rm -f thirdparty/rabbitmq-c/rabbitmq-c/librabbitmq/config.h -cmake -B$working_dir -H. - -echo Compiling - -make -C$working_dir -j8 -echo $MY_INSTALL_DIR -make -C$working_dir/rabbitmq-fmu install -cd $current_dir - -echo "TESTING STARTED" -echo $working_dir -echo $current_dir - -ctest --test-dir build/$target --output-on-failure -R unit-test-rabbitmq - -ldd build/install/rabbitmqfmu/binaries/linux64/rabbitmq.so - -echo Done +repo=$(git rev-parse --show-toplevel) +$repo/scripts/_build_base.sh $target $install_name diff --git a/thirdparty/googletest b/thirdparty/googletest index 5376968..b514bdc 160000 --- a/thirdparty/googletest +++ b/thirdparty/googletest @@ -1 +1 @@ -Subproject commit 5376968f6948923e2411081fd9372e71a59d8e77 +Subproject commit b514bdc898e2951020cbdca1304b75f5950d1f59 diff --git a/thirdparty/openssl b/thirdparty/openssl new file mode 160000 index 0000000..fb7fab9 --- /dev/null +++ b/thirdparty/openssl @@ -0,0 +1 @@ +Subproject commit fb7fab9fa6f4869eaa8fbb97e0d593159f03ffe4 diff --git a/thirdparty/rabbitmq-c/CMakeLists.txt b/thirdparty/rabbitmq-c/CMakeLists.txt index e60b3ba..d3213ba 100644 --- a/thirdparty/rabbitmq-c/CMakeLists.txt +++ b/thirdparty/rabbitmq-c/CMakeLists.txt @@ -16,10 +16,12 @@ endif () #execute_process(COMMAND sed -i. "'s/target_link_libraries(rabbitmq-static $\\{RMQ_LIBRARIES\\}).*/target_link_libraries(rabbitmq-static $\\{RMQ_LIBRARIES\\}) target_include_directories(rabbitmq-static PUBLIC \$\\{CMAKE_CURRENT_SOURCE_DIR\\}))/g'" ${CMAKE_CURRENT_SOURCE_DIR}/rabbitmw-c/CMakeLists.txt) +set(OPENSSL_USE_STATIC_LIBS ON CACHE BOOL "" FORCE) + add_subdirectory(rabbitmq-c) #target_include_directories(rabbitmq-static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/rabbitmq-c/librabbitmq) target_include_directories(rabbitmq-static PUBLIC $) set_target_properties(rabbitmq-static - PROPERTIES POSITION_INDEPENDENT_CODE ON) \ No newline at end of file + PROPERTIES POSITION_INDEPENDENT_CODE ON) From 152c03e0a374b3e3e7d0493dc5e3687f3e5d9763 Mon Sep 17 00:00:00 2001 From: Kenneth Lausdahl Date: Tue, 22 Oct 2024 14:45:48 +0200 Subject: [PATCH 28/33] change build job --- .github/workflows/build.yml | 137 ++++++------------------------------ 1 file changed, 23 insertions(+), 114 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 4913d66..1326c8a 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,9 +23,8 @@ jobs: strategy: fail-fast: false matrix: - #os: [ ubuntu-20.04, windows-latest, macos-latest ] - #os: [ubuntu-20.04] - os: [windows-latest, ubuntu-20.04] + os: [ ubuntu-20.04, windows-latest, macos-13 ] + steps: - uses: TheMrMilchmann/setup-msvc-dev@v3 @@ -44,6 +43,7 @@ jobs: with: submodules: true +# why this one - name: get rabbitmq Ubuntu ONLY if: matrix.os == 'ubuntu-20.04' uses: getong/rabbitmq-action@v1.2 @@ -55,123 +55,32 @@ jobs: - uses: lukka/get-cmake@v3.20.1 - - name: Prepare variables for ubuntu - if: matrix.os == 'ubuntu-20.04' - run: | - openssl version - echo "linux-x64" > target - echo "linux-x86_64" > install_name - echo " " > cmakeFlag - echo " " > cmakeFlagValue - - name: Set up CLANG - if: matrix.os == 'ubuntu-20.04' - uses: egor-tensin/setup-clang@v1 - with: - version: latest - platform: x64 +# why not gcc +# - name: Set up CLANG +# if: matrix.os == 'ubuntu-20.04' +# uses: egor-tensin/setup-clang@v1 +# with: +# version: latest +# platform: x64 - - name: Prepare variables for windows - shell: bash - if: matrix.os == 'windows-latest' - run: | - openssl version - which libcrypto-1_1-x64.dll - echo "win-x64" > target - echo "win-x86_64" > install_name - echo -G > cmakeFlag - echo Unix Makefiles > cmakeFlagValue - - - name: Other win prep - if: matrix.os == 'windows-latest' - run: | - dir "C:\Program Files\OpenSSL\lib" - dir "C:\Program Files\OpenSSL\bin" - echo "C:\msys64\mingw64\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - echo "C:\msys64\usr\bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append - - name: Other win prep - if: matrix.os == 'windows-latest' - run: | - C:\Strawberry\c\bin\openssl.exe version - dir C:\Strawberry\c\lib - continue-on-error: true + - name: Build linux + if: matrix.os == 'ubuntu-20.04' + shell: bash + run: ./scripts/_build_base.sh linux-x64 linux-x86_64 - - name: Prepare variables for macos - if: matrix.os == 'macos-latest' - run: | - echo "darwin-x64" > target - echo "darwin-x86_64" > install_name - echo " " > cmakeFlag - echo " " > cmakeFlagValue + - name: Build Mac + if: matrix.os == 'macos-13' + shell: bash + run: ./scripts/_build_base.sh darwin-x64 darwin-x86_64 - - name: Fix openssl - if: matrix.os == 'macos-latest' - run: | - brew install openssl - brew upgrade openssl - brew link --force openssl - echo '' >> /Users/runner/.bash_profile - echo 'export LDFLAGS="-L/usr/local/opt/openssl@3/lib"' >> /Users/runner/.bash_profile - echo 'export CPPFLAGS="-I/usr/local/opt/openssl@3/include"' >> /Users/runner/.bash_profile - echo 'export PKG_CONFIG_PATH="/usr/local/opt/openssl@3/lib/pkgconfig"' >> /Users/runner/.bash_profile - echo 'export PATH="/usr/local/opt/openssl@3/bin:$PATH"' >> /Users/runner/.bash_profile - tail /Users/runner/.bash_profile - openssl version - - - name: Build + - name: Build Mac + if: matrix.os == 'windows-latest' shell: bash - run: | - export target=$(cat target) - export install_name=$(cat install_name) - export cmakeFlag=$(cat cmakeFlag) - export cmakeFlagValue=$(cat cmakeFlagValue) - echo $target - echo $install_name - repo=$(git rev-parse --show-toplevel) - current_dir=$(pwd) - cd $repo - - working_dir=build/$target - - mkdir -p $working_dir - echo Build dependencies - - build_xercersc() - { - if [ $target == "linux-x64" ]; then - transcoder_option="-Dtranscoder=gnuiconv" - else - transcoder_option="" - fi - echo cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c - cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c - make -C$1 -j8 - make -C$1 install - } - if [ ! -d build/external/$install_name ] - then - - echo build_xercersc $working_dir/xerces-c build/external/$install_name $cmakeFlag "$cmakeFlagValue" - build_xercersc $working_dir/xerces-c build/external/$install_name $cmakeFlag "$cmakeFlagValue" - else - echo "Dependency already generated" - fi - - echo Running CMake - rm -f thirdparty/rabbitmq-c/rabbitmq-c/librabbitmq/config.h - cmake $cmakeFlag "$cmakeFlagValue" -B$working_dir -H. - - echo Compiling - - make -C$working_dir - make -C$working_dir/rabbitmq-fmu install - cd $current_dir - - echo Done - echo $(pwd) - ls + run: ./scripts/_build_base.sh win-x64 win-x86_64 + - name: List dependencies for ubuntu if: matrix.os == 'ubuntu-20.04' @@ -191,7 +100,7 @@ jobs: dumpbin /dependents build/win-x64/rabbitmq-fmu/rabbitmq.dll - name: List dependencies for macos - if: matrix.os == 'macos-latest' + if: matrix.os == 'macos-13' run: | echo "$RUNNER_OS" sw_vers From 0b84d4bae59ebcfd8225a0018b33f9ba921c4f6c Mon Sep 17 00:00:00 2001 From: Kenneth Lausdahl Date: Tue, 22 Oct 2024 14:52:45 +0200 Subject: [PATCH 29/33] updated action versions --- .github/workflows/build.yml | 38 ++++++++++++++++++------------------- 1 file changed, 19 insertions(+), 19 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 1326c8a..fb97c85 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -32,13 +32,13 @@ jobs: with: arch: x64 - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 if: matrix.os == 'ubuntu-20.04' with: submodules: true fetch-depth: 0 - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 if: matrix.os != 'ubuntu-20.04' with: submodules: true @@ -161,42 +161,42 @@ jobs: - name: Upload artifact linux if: matrix.os == 'ubuntu-20.04' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: rabbitmq.so path: build/linux-x64/rabbitmq-fmu/rabbitmq.so - name: Upload artifact windows if: matrix.os == 'windows-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: rabbitmq.dll path: build/win-x64/rabbitmq-fmu/rabbitmq.dll - name: Upload artifact windows if: matrix.os == 'windows-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: it-test-rabbitmq.exe path: build/win-x64/rabbitmq-fmu/it-test-rabbitmq.exe - name: Upload artifact windows if: matrix.os == 'windows-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: unit-test-rabbitmq.exe path: build/win-x64/rabbitmq-fmu/unit-test-rabbitmq.exe - name: Upload artifact windows if: matrix.os == 'windows-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: unit-test-rabbitmq-core.exe path: build/win-x64/rabbitmq-core/unit-test-rabbitmq-core.exe - name: Upload artifact windows if: matrix.os == 'windows-latest' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: it-test-rabbitmq-core.exe path: build/win-x64/rabbitmq-core/it-test-rabbitmq-core.exe @@ -210,21 +210,21 @@ jobs: - name: Upload modelDescription.xml if: matrix.os == 'ubuntu-20.04' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: modelDescription.xml path: rabbitmq-fmu/modelDescription.xml - name: Upload rabbitmq configuration script if: matrix.os == 'ubuntu-20.04' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: rabbitmq_fmu_configure.py path: scripts/rabbitmq_fmu_configure.py - name: Upload readme if: matrix.os == 'ubuntu-20.04' - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: readme.md path: readme.md @@ -233,19 +233,19 @@ jobs: runs-on: ubuntu-20.04 needs: build steps: - - uses: actions/checkout@v2 + - uses: actions/checkout@v4 with: submodules: true fetch-depth: 0 - name: Download dll - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: rabbitmq.dll path: rabbitmq/binaries/win64/ - name: Download shared library - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: rabbitmq.so path: rabbitmq/binaries/linux64/ @@ -257,25 +257,25 @@ jobs: # path: rabbitmq/binaries/darwin64/ - name: Download model description file - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: modelDescription.xml path: rabbitmq/ - name: Download model description file to resources folder - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: modelDescription.xml path: rabbitmq/resources - name: Download readme - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: readme.md path: rabbitmq/ - name: Download configuration script - uses: actions/download-artifact@v2 + uses: actions/download-artifact@v4 with: name: rabbitmq_fmu_configure.py path: rabbitmq/ @@ -287,7 +287,7 @@ jobs: id: version - name: Upload FMU - uses: actions/upload-artifact@v2 + uses: actions/upload-artifact@v4 with: name: rabbitmq-${{steps.version.outputs.VERSION}}.fmu path: rabbitmq From 0dd80ff9b7e25114155ed16e5f5f2c6ebf34d032 Mon Sep 17 00:00:00 2001 From: Kenneth Lausdahl Date: Tue, 22 Oct 2024 18:23:58 +0200 Subject: [PATCH 30/33] seperated external libs updated cmake updated for windows integration test, and testing cache skipping integration tests for now --- .github/workflows/build.yml | 123 ++++++++++++------ CMakeLists.txt | 33 +++-- rabbitmq-fmu/test/basic_consumer.cpp | 4 +- rabbitmq-fmu/test/fmu_test_it.cpp | 6 +- .../old_scripts/playback_gazebo_data-test.py | 10 +- scripts/_build_base.sh | 41 ++++-- 6 files changed, 141 insertions(+), 76 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index fb97c85..377ab22 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -6,7 +6,7 @@ name: rabbitmq on: # Triggers the workflow on push or pull request events but only for the development branch push: - branches: [ master, development] + branches: [ master, development, kel/openssl] pull_request: branches: [ master, development] @@ -23,29 +23,57 @@ jobs: strategy: fail-fast: false matrix: - os: [ ubuntu-20.04, windows-latest, macos-13 ] + #os: [ ubuntu-22.04, windows-latest, macos-13 ] + os: [ windows-latest] steps: - - uses: TheMrMilchmann/setup-msvc-dev@v3 +# - uses: TheMrMilchmann/setup-msvc-dev@v3 +# if: matrix.os == 'windows-latest' +# with: +# arch: x64 + #- name: Put MSYS2_MinGW64 on PATH for windows + #if: matrix.os == 'windows-latest' + # there is not yet an environment variable for this path from msys2/setup-msys2 + # We need this to get a gcc 11.2 that is new enough to compile the reference FMU3 + #run: echo "C:\msys64/mingw64/bin" | Out-File -FilePath $env:GITHUB_PATH -Encoding utf8 -Append + #run: echo "C:\msys64/mingw64/bin" >> "$GITHUB_PATH" + - uses: msys2/setup-msys2@v2 if: matrix.os == 'windows-latest' with: - arch: x64 - + install: >- + curl + git + mingw-w64-x86_64-toolchain + base-devel + mingw-w64-x86_64-cmake + mingw-w64-x86_64-gcc + - uses: actions/checkout@v4 - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' with: submodules: true fetch-depth: 0 - uses: actions/checkout@v4 - if: matrix.os != 'ubuntu-20.04' + if: matrix.os != 'ubuntu-22.04' with: submodules: true -# why this one + - name: Restore external dependencies from cache + id: cache-external-deps + uses: actions/cache@v4 + with: + path: build/external/ + key: ${{ runner.os }}-external-deps + + - name: Check if external dependencies are in the cache + if: steps.cache-external-deps.outputs.cache-hit == 'true' + run: echo External dependencies already generated + +# why this one: in order to run the integration test - name: get rabbitmq Ubuntu ONLY - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' uses: getong/rabbitmq-action@v1.2 with: rabbitmq version: '3.8.2-management' @@ -53,12 +81,13 @@ jobs: rabbitmq user: 'guest' rabbitmq password: 'guest' - - uses: lukka/get-cmake@v3.20.1 + - uses: lukka/get-cmake@v3.22.2 + if: matrix.os != 'windows-latest' # why not gcc # - name: Set up CLANG -# if: matrix.os == 'ubuntu-20.04' +# if: matrix.os == 'ubuntu-22.04' # uses: egor-tensin/setup-clang@v1 # with: # version: latest @@ -67,7 +96,7 @@ jobs: - name: Build linux - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' shell: bash run: ./scripts/_build_base.sh linux-x64 linux-x86_64 @@ -76,14 +105,21 @@ jobs: shell: bash run: ./scripts/_build_base.sh darwin-x64 darwin-x86_64 - - name: Build Mac + # - name: Set Perl environment variables # https://github.com/sfackler/rust-openssl/issues/2149 + # if: matrix.os == 'windows-latest' + # run: | + # cpan -i Locale::Maketext::Simple + # echo "PERL=$((where.exe perl)[0])" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + # echo "OPENSSL_SRC_PERL=$((where.exe perl)[0])" | Out-File -FilePath $env:GITHUB_ENV -Append -Encoding utf8 + + - name: Build Windows if: matrix.os == 'windows-latest' - shell: bash - run: ./scripts/_build_base.sh win-x64 win-x86_64 - + shell: msys2 {0} + run: | + ./scripts/_build_base.sh win-x64 win-x86_64 - name: List dependencies for ubuntu - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' run: | echo "$RUNNER_OS" lsb_release -a @@ -97,7 +133,7 @@ jobs: echo "$RUNNER_OS" systeminfo | findstr /B /C:"OS Name" /B /C:"OS Version" echo Dependencies - dumpbin /dependents build/win-x64/rabbitmq-fmu/rabbitmq.dll + # dumpbin /dependents build/win-x64/rabbitmq-fmu/rabbitmq.dll - name: List dependencies for macos if: matrix.os == 'macos-13' @@ -124,33 +160,34 @@ jobs: if: matrix.os == 'windows-latest' shell: bash run: | - export target=$(cat target) - echo $(pwd) - pacman -S --noconfirm mingw-w64-x86_64-gcc-libs - cmake --install build/$target - echo check for dll dependencies for the core test - ldd build/$target/rabbitmq-core/unit-test-rabbitmq-core.exe - echo check for dll dependencies for the container test - ldd build/$target/rabbitmq-fmu/unit-test-rabbitmq.exe - #Call ctest - ctest --test-dir build/$target --output-on-failure -R unit-test-rabbitmq + ls + ls build/ + ctest --test-dir build/win-x64 --output-on-failure -R unit-test-rabbitmq echo Tests complete - - - name : Prep for integration tests UBUNTU # these need additional scripts that produce data to the rabbitmq, require rabbitmq server - if: matrix.os == 'ubuntu-20.04' +# pacman -S --noconfirm mingw-w64-x86_64-gcc-libs +# cmake --install build/win-x64 +# echo check for dll dependencies for the core test +# ldd build/win-x64/rabbitmq-core/unit-test-rabbitmq-core.exe +# echo check for dll dependencies for the container test +# ldd build/win-x64/rabbitmq-fmu/unit-test-rabbitmq.exe +# Call ctest + + - name : Prep for integration tests UBUNTU # these need additional scripts that produce data to the rabbitmq, require rabbitmq server; add -u to see script output + if: matrix.os == 'ubuntu-22.04' run: | cd rmqfmu-example/old_scripts - ls python3 -m pip install pika --upgrade + echo Run playback_gazebo_data-test.py nohup python3 playback_gazebo_data-test.py & exit - name: Run integration tests UBUNTU # there are no integration tests yet for the core. - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' run: | - export target=$(cat target) - cp modelDescription.xml build/$target/rabbitmq-fmu/ - ./build/$target/rabbitmq-core/it-test-rabbitmq-core - ./build/$target/rabbitmq-fmu/it-test-rabbitmq + cp modelDescription.xml build/linux-x64/rabbitmq-fmu/ + echo Running it-test-rabbitmq-core + ./build/linux-x64/rabbitmq-core/it-test-rabbitmq-core + echo Running it-test-rabbitmq + ./build/linux-x64/rabbitmq-fmu/it-test-rabbitmq #- name: Upload artifact macos # if: matrix.os == 'macos-latest' @@ -160,7 +197,7 @@ jobs: # path: build/darwin-x64/rabbitmq-fmu/rabbitmq.dylib - name: Upload artifact linux - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' uses: actions/upload-artifact@v4 with: name: rabbitmq.so @@ -203,34 +240,34 @@ jobs: - name: Update version on modelDescription.xml shell: bash - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' run: | cd rabbitmq-fmu/ ../scripts/set_fmu_version.sh modelDescription.xml - name: Upload modelDescription.xml - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' uses: actions/upload-artifact@v4 with: name: modelDescription.xml path: rabbitmq-fmu/modelDescription.xml - name: Upload rabbitmq configuration script - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' uses: actions/upload-artifact@v4 with: name: rabbitmq_fmu_configure.py path: scripts/rabbitmq_fmu_configure.py - name: Upload readme - if: matrix.os == 'ubuntu-20.04' + if: matrix.os == 'ubuntu-22.04' uses: actions/upload-artifact@v4 with: name: readme.md path: readme.md pack-fmu: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 needs: build steps: - uses: actions/checkout@v4 diff --git a/CMakeLists.txt b/CMakeLists.txt index 0245e00..7004572 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -11,11 +11,6 @@ set(CMAKE_PROJECT_VERSION_MAJOR "") set(CMAKE_PROJECT_VERSION_MINOR "") set(CMAKE_PROJECT_VERSION_PATCH "") -#so that it can find the ssl stuff -if (APPLE) - set(OPENSSL_ROOT_DIR "/usr/local/opt/openssl") - set(OPENSSL_LIBRARIES "/usr/local/opt/openssl/lib") -ENDIF () set(CMAKE_INSTALL_PREFIX "${CMAKE_CURRENT_SOURCE_DIR}/build/install" ) @@ -59,19 +54,35 @@ if (NOT DEFINED THIRD_PARTY_LIBRARIES_ROOT) if (UNIX) if (APPLE) set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/darwin) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/cmake") -set(OPENSSL_ROOT_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}") - #set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/lib/libxerces-c-3.2.a") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/xerces-c/lib/cmake/XercesC") + + + set(OPENSSL_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/openssl/lib) + set(OPENSSL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/openssl/include) + set(OPENSSL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/external/darwin-${arch}/openssl/lib) + + ELSE () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}/linux) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/cmake") - #set(CMAKE_PREFIX_PATH "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/lib/libxerces-c-3.2.a") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/xerces-c/lib/cmake/XercesC") + + + set(OPENSSL_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/openssl/lib64) + set(OPENSSL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/openssl/include) + set(OPENSSL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/external/linux-${arch}/openssl/lib64) + + ENDIF () set(THIRD_PARTY_LIBRARIES_ROOT ${THIRD_PARTY_LIBRARIES_ROOT}-${arch}) message("Thirdparty libraries root:") message(${THIRD_PARTY_LIBRARIES_ROOT}) ELSEIF (WIN32) - set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/cmake") + set(XercesC_DIR "${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/xerces-c/cmake") + set(OPENSSL_LIBRARIES ${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/openssl/lib64) + set(OPENSSL_INCLUDE_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/openssl/include) + set(OPENSSL_ROOT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/build/external/win-${arch}/openssl/lib64) + + ENDIF () endif () diff --git a/rabbitmq-fmu/test/basic_consumer.cpp b/rabbitmq-fmu/test/basic_consumer.cpp index 8d96d6e..88b4925 100644 --- a/rabbitmq-fmu/test/basic_consumer.cpp +++ b/rabbitmq-fmu/test/basic_consumer.cpp @@ -226,7 +226,7 @@ namespace{ int count = 0; amqp_basic_properties_t props; - std::string routingkey = "linefollower.system_health.from_cosim"; + std::string routingkey = "system_health.from_cosim"; ////// create consumer on same connection different channel int channelSub = 2; @@ -234,7 +234,7 @@ namespace{ printText = "Opening channel with ID: " + std::to_string(channelSub); const char* qnametest = "boasorte"; - const char* queueBindingKey = "linefollower.system_health.to_cosim"; + const char* queueBindingKey = "system_health.to_cosim"; printText = "Declaring queue on channel with ID: " + std::to_string(channelSub); printf("\n%s\n", printText.c_str()); amqp_queue_declare_ok_t *res = amqp_queue_declare( diff --git a/rabbitmq-fmu/test/fmu_test_it.cpp b/rabbitmq-fmu/test/fmu_test_it.cpp index f5ce4f6..4d386d5 100644 --- a/rabbitmq-fmu/test/fmu_test_it.cpp +++ b/rabbitmq-fmu/test/fmu_test_it.cpp @@ -241,6 +241,7 @@ namespace { } TEST(FmuSendTest, EnableSend){ + GTEST_SKIP(); cout << " Simulation test for FMI " << fmi2GetVersion() << endl; @@ -309,7 +310,7 @@ namespace { fmi2ValueReference vrefsString[] = {RABBITMQ_FMU_HOSTNAME_ID, RABBITMQ_FMU_USER, RABBITMQ_FMU_PWD, RABBITMQ_FMU_ROUTING_KEY, RABBITMQ_FMU_VHOST}; - const char *stringVals[] = {"localhost", "guest", "guest", "linefollower.data.to_cosim", "/"}; + const char *stringVals[] = {"localhost", "guest", "guest", "data.to_cosim", "/"}; fmi2SetString(c, vrefsString, 5, stringVals); fmi2Boolean boolVals[] = {true}; @@ -380,6 +381,7 @@ namespace { } TEST(FmuSendTest, BufferLimit){ + GTEST_SKIP(); cout << " Simulation test for FMI " << fmi2GetVersion() << endl; @@ -450,7 +452,7 @@ namespace { fmi2ValueReference vrefsString[] = {RABBITMQ_FMU_HOSTNAME_ID, RABBITMQ_FMU_USER, RABBITMQ_FMU_PWD, RABBITMQ_FMU_ROUTING_KEY, RABBITMQ_FMU_VHOST}; - const char *stringVals[] = {"localhost", "guest", "guest", "linefollower.data.to_cosim", "/"}; + const char *stringVals[] = {"localhost", "guest", "guest", "data.to_cosim", "/"}; fmi2SetString(c, vrefsString, 5, stringVals); //fmi2SetBoolean(c, vrefsBoolean, sizeof(boolVals)/sizeof(*boolVals), boolVals); diff --git a/rmqfmu-example/old_scripts/playback_gazebo_data-test.py b/rmqfmu-example/old_scripts/playback_gazebo_data-test.py index 8bf20f7..1e5e647 100755 --- a/rmqfmu-example/old_scripts/playback_gazebo_data-test.py +++ b/rmqfmu-example/old_scripts/playback_gazebo_data-test.py @@ -8,12 +8,12 @@ connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() print("Declaring exchange") -channel.exchange_declare(exchange='fmi_digital_twin_cd', exchange_type='direct') +channel.exchange_declare(exchange='fmi_digital_twin', exchange_type='direct') print("Creating queue") result = channel.queue_declare(queue='', exclusive=True) queue_name = result.method.queue -channel.queue_bind(exchange='fmi_digital_twin_cd', queue=queue_name, - routing_key='linefollower.data.from_cosim') +channel.queue_bind(exchange='fmi_digital_twin', queue=queue_name, + routing_key='data.from_cosim') time_sleep = 0.1 data = 'gazebo_playback_data.csv' print(' [*] Waiting for logs. To exit press CTRL+C, sleep time [ms]: ', time_sleep*1000) @@ -44,8 +44,8 @@ def publish(): msg['time']= datetime.now(tz = datetime.now().astimezone().tzinfo).isoformat(timespec='milliseconds') print(" [x] Sent %s" % json.dumps(msg)) - channel.basic_publish(exchange='fmi_digital_twin_cd', - routing_key='linefollower.data.to_cosim', + channel.basic_publish(exchange='fmi_digital_twin', + routing_key='data.to_cosim', body=json.dumps(msg)) #input("Press Enter to Continue") time.sleep(time_sleep) diff --git a/scripts/_build_base.sh b/scripts/_build_base.sh index c7802f3..92fc0ae 100755 --- a/scripts/_build_base.sh +++ b/scripts/_build_base.sh @@ -21,41 +21,56 @@ echo Build dependencies build_xercersc() { + if [ ! -d $2 ] +then + if [ $target == "linux-x64" ]; then transcoder_option="-Dtranscoder=gnuiconv" else transcoder_option="" fi - echo cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c - cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + #echo cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + + if [[ "$target" == "win-x64" ]] + then + cmake -G "MSYS Makefiles" $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + else + cmake $3 "$4" -B$1 -DBUILD_SHARED_LIBS:BOOL=OFF -DCMAKE_CXX_EXTENSIONS=ON -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON -DCMAKE_INSTALL_PREFIX=$2 -Dthreads:BOOL=OFF -Dnetwork:BOOL=OFF $transcoder_option -Hthirdparty/xerces-c + fi make -C$1 -j8 make -C$1 install +fi } build_openssl() { +if [ ! -d $2 ] +then + c_dir=$(pwd) cd $1 - ./Configure --prefix=$2 --openssldir=/usr/local/ssl '-Wl,-rpath,$(LIBRPATH)' + ./Configure --prefix=$2 --openssldir=$2 '-Wl,-rpath,$(LIBRPATH)' no-docs no-tests make -j 9 make install cd $c_dir -} - -if [ ! -d build/external/$install_name ] -then - -build_xercersc $working_dir/xerces-c build/external/$install_name -build_openssl $repo/thirdparty/openssl $(readlink -f "$working_dir/build/external/$install_name") -else -echo "Dependency already generated" fi +} + +mkdir -p build/external/$install_name +build_xercersc $working_dir/xerces-c build/external/$install_name/xerces-c +build_openssl $repo/thirdparty/openssl $(readlink -f "build/external/$install_name")/openssl +#build_xercersc $working_dir/xerces-c build/external/$install_name/xerces-c echo Running CMake rm -f thirdparty/rabbitmq-c/rabbitmq-c/librabbitmq/config.h -cmake -B$working_dir -H. +if [[ "$target" == "win-x64" ]] +then + cmake -G "MSYS Makefiles" -B$working_dir -H. +else + cmake -B$working_dir -H. +fi echo Compiling From 6fb883e855959fe1af6101223bfdfa48fb263dbd Mon Sep 17 00:00:00 2001 From: Kenneth Lausdahl Date: Thu, 31 Oct 2024 11:33:50 +0100 Subject: [PATCH 31/33] updated for windows --- .github/workflows/build.yml | 1 + CMakeLists.txt | 2 +- scripts/build_locally_win.sh | 8 ++++++++ thirdparty/rabbitmq-c/CMakeLists.txt | 4 ++++ 4 files changed, 14 insertions(+), 1 deletion(-) create mode 100644 scripts/build_locally_win.sh diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 377ab22..7a1f660 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,6 +48,7 @@ jobs: base-devel mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc + mingw-w64-icu - uses: actions/checkout@v4 if: matrix.os == 'ubuntu-22.04' diff --git a/CMakeLists.txt b/CMakeLists.txt index 7004572..4e803dc 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -141,7 +141,7 @@ add_subdirectory(thirdparty/googletest) #execute_process(COMMAND ${CMAKE_EXECUTABLE} thirdparty/rapidjson -DCMAKE_INSTALL_PREFIX="${CMAKE_CURRENT_SOURCE_DIR}/build/install/thirdparty/rapidjson" WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson") #execute_process(COMMAND ${CMAKE_EXECUTABLE} --build "${CMAKE_CURRENT_SOURCE_DIR}/build/thirdparty/rapidjson" --target install) -add_subdirectory(thirdparty/xerces-c) +#add_subdirectory(thirdparty/xerces-c) #set(BUILD_EXAMPLES OFF CACHE BOOL "" FORCE) #set(BUILD_SHARED_LIBS OFF CACHE BOOL "" FORCE) diff --git a/scripts/build_locally_win.sh b/scripts/build_locally_win.sh new file mode 100644 index 0000000..4a5ecfb --- /dev/null +++ b/scripts/build_locally_win.sh @@ -0,0 +1,8 @@ +#!/bin/bash +set -e + +target=win-x64 +install_name=win-x86_64 + +repo=$(git rev-parse --show-toplevel) +$repo/scripts/_build_base.sh $target $install_name diff --git a/thirdparty/rabbitmq-c/CMakeLists.txt b/thirdparty/rabbitmq-c/CMakeLists.txt index d3213ba..d132562 100644 --- a/thirdparty/rabbitmq-c/CMakeLists.txt +++ b/thirdparty/rabbitmq-c/CMakeLists.txt @@ -20,6 +20,10 @@ set(OPENSSL_USE_STATIC_LIBS ON CACHE BOOL "" FORCE) add_subdirectory(rabbitmq-c) +if (WIN32) + target_compile_options(rabbitmq-static PRIVATE -Wno-error=incompatible-pointer-types) +endif () + #target_include_directories(rabbitmq-static PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/rabbitmq-c/librabbitmq) target_include_directories(rabbitmq-static PUBLIC $) From e46c4395b3743f510e33062f592c0d7e4b43a093 Mon Sep 17 00:00:00 2001 From: Kenneth Lausdahl Date: Thu, 31 Oct 2024 11:37:55 +0100 Subject: [PATCH 32/33] remove icu packages --- .github/workflows/build.yml | 1 - 1 file changed, 1 deletion(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 7a1f660..377ab22 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -48,7 +48,6 @@ jobs: base-devel mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc - mingw-w64-icu - uses: actions/checkout@v4 if: matrix.os == 'ubuntu-22.04' From d22df96dae9ffc86e18dd93b0da268dfe4515880 Mon Sep 17 00:00:00 2001 From: Kenneth Lausdahl Date: Thu, 31 Oct 2024 12:16:28 +0100 Subject: [PATCH 33/33] enable build for all platforms --- .github/workflows/build.yml | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 377ab22..029c357 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -23,8 +23,8 @@ jobs: strategy: fail-fast: false matrix: - #os: [ ubuntu-22.04, windows-latest, macos-13 ] - os: [ windows-latest] + os: [ ubuntu-22.04, windows-latest, macos-13 ] +# os: [ windows-latest] steps: