From 6b0fbc94eb002ba5467f7e6d86588ebb9766df46 Mon Sep 17 00:00:00 2001 From: ptahmose Date: Mon, 23 Sep 2024 10:41:21 +0200 Subject: [PATCH] add manifest for CZIcmd and add Windows-ARM64-build (#116) * enable support for long paths (in CZIcmd) * add Windows-ARM64 build --- .github/workflows/cmake.yml | 70 +++++++++++++++++++---- CMakeLists.txt | 2 +- Src/CZICmd/CMakeLists.txt | 15 ++++- Src/CZICmd/CZIcmd.ico | Bin 0 -> 105974 bytes Src/CZICmd/CZIcmd.ico.license | 3 + Src/CZICmd/CZIcmd.manifest | 10 ++++ Src/CZICmd/CZIcmd.manifest.license | 3 + Src/CZICmd/CZIcmd.rc | 73 ++++++++++++++++++++++++ Src/CZICmd/CZIcmd_Config.h.in | 2 +- Src/CZICmd/resource_data.h.in | 18 ++++++ Src/libCZI/Doc/version-history.markdown | 1 + 11 files changed, 182 insertions(+), 15 deletions(-) create mode 100644 Src/CZICmd/CZIcmd.ico create mode 100644 Src/CZICmd/CZIcmd.ico.license create mode 100644 Src/CZICmd/CZIcmd.manifest create mode 100644 Src/CZICmd/CZIcmd.manifest.license create mode 100644 Src/CZICmd/CZIcmd.rc create mode 100644 Src/CZICmd/resource_data.h.in diff --git a/.github/workflows/cmake.yml b/.github/workflows/cmake.yml index 386c8c16..4ee2838d 100644 --- a/.github/workflows/cmake.yml +++ b/.github/workflows/cmake.yml @@ -34,6 +34,10 @@ jobs: vcpkg install azure-storage-blobs-cpp:x64-windows-static vcpkg install azure-identity-cpp:x64-windows-static vcpkg install rapidjson 'curl[ssl]' --triplet x64-windows-static + # for the ARM64 cross-compilation build, we also need to install the ARM64 versions of the dependencies + vcpkg install azure-storage-blobs-cpp:arm64-windows-static + vcpkg install azure-identity-cpp:arm64-windows-static + vcpkg install rapidjson 'curl[ssl]' --triplet arm64-windows-static - name: Install dependencies (Linux) if: ${{ (matrix.OS == 'ubuntu-latest') }} @@ -52,14 +56,25 @@ jobs: run: | npm install --location=global azurite - - name: Configure CMake (Windows) + - name: Configure CMake (Windows x64) if: ${{ (matrix.OS == 'windows-latest') }} - shell: bash + shell: pwsh run: | # Configure CMake in a 'build' subdirectory. `CMAKE_BUILD_TYPE` is only required if you are using a single-configuration generator such as make. # See https://cmake.org/cmake/help/latest/variable/CMAKE_BUILD_TYPE.html?highlight=cmake_build_type - # Note that we need to point CMake to the vcpkg-toolchain-file - cmake -B "${{github.workspace}}/build" -DCMAKE_BUILD_TYPE=${{matrix.build}} -DLIBCZI_BUILD_CZICMD=ON -DLIBCZI_BUILD_CURL_BASED_STREAM=ON -DLIBCZI_BUILD_AZURESDK_BASED_STREAM=ON -DLIBCZI_BUILD_PREFER_EXTERNALPACKAGE_LIBCURL=ON -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static + # Note that we need to point CMake to the vcpkg-toolchain-file, and also specify the target triplet, c.f. https://learn.microsoft.com/en-us/vcpkg/concepts/triplets + # since we aim for a static build. + cmake -B "${{github.workspace}}/build" -A x64 -DCMAKE_BUILD_TYPE=${{matrix.build}} -DLIBCZI_BUILD_CZICMD=ON -DLIBCZI_BUILD_CURL_BASED_STREAM=ON -DLIBCZI_BUILD_AZURESDK_BASED_STREAM=ON -DLIBCZI_BUILD_PREFER_EXTERNALPACKAGE_LIBCURL=ON -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=x64-windows-static + + - name: Configure CMake (Windows ARM64) + if: ${{ (matrix.OS == 'windows-latest') }} + shell: pwsh + run: | + # Configure for a cross-compilation to ARM64. + # Note that since we are doing a cross compilation, we cannot execute code in order to determine platform + # characteristics like endianess and whether unaligned access is allowed. Therefore, we need to set the following + # variables manually: CRASH_ON_UNALIGNED_ACCESS=OFF and IS_BIG_ENDIAN=FALSE. + cmake -B "${{github.workspace}}/arm64build" -A ARM64 -DCMAKE_BUILD_TYPE=${{matrix.build}} -DLIBCZI_BUILD_CZICMD=ON -DLIBCZI_BUILD_CURL_BASED_STREAM=ON -DLIBCZI_BUILD_AZURESDK_BASED_STREAM=ON -DLIBCZI_BUILD_PREFER_EXTERNALPACKAGE_LIBCURL=ON -DCMAKE_TOOLCHAIN_FILE="$env:VCPKG_INSTALLATION_ROOT/scripts/buildsystems/vcpkg.cmake" -DVCPKG_TARGET_TRIPLET=arm64-windows-static -DCRASH_ON_UNALIGNED_ACCESS=OFF -DIS_BIG_ENDIAN=FALSE - name: Configure CMake (Linux) if: ${{ (matrix.OS == 'ubuntu-latest') }} @@ -67,10 +82,21 @@ jobs: run: | cmake -B "${{github.workspace}}/build" -DCMAKE_BUILD_TYPE=${{matrix.build}} -DLIBCZI_BUILD_CZICMD=ON -DLIBCZI_BUILD_CURL_BASED_STREAM=ON -DLIBCZI_BUILD_PREFER_EXTERNALPACKAGE_LIBCURL=OFF -DLIBCZI_BUILD_AZURESDK_BASED_STREAM=ON -DCMAKE_TOOLCHAIN_FILE="${VCPKG_INSTALLATION_ROOT}/scripts/buildsystems/vcpkg.cmake" - - name: Build - # Build your program with the given configuration + - name: Build (Linux) + if: ${{ (matrix.OS == 'ubuntu-latest') }} + shell: bash + run: cmake --build ${{github.workspace}}/build --config ${{matrix.build}} -j + + - name: Build (Windows x64) + if: ${{ (matrix.OS == 'windows-latest') }} + shell: pwsh run: cmake --build ${{github.workspace}}/build --config ${{matrix.build}} -j + - name: Build (Windows ARM64) + if: ${{ (matrix.OS == 'windows-latest') }} + shell: pwsh + run: cmake --build ${{github.workspace}}/arm64build --config ${{matrix.build}} -j + - name: Test shell: bash working-directory: ${{github.workspace}}/build @@ -91,8 +117,8 @@ jobs: cd azurite # now use the CZIcmd executable to create a test CZI file "$czicmd" --command CreateCZI --createbounds "C0:2T0:2" --generatorpixeltype Gray8 --compressionopts "zstd1:ExplicitLevel=2;PreProcess=HiLoByteUnpack" --createsubblocksize "1024x1024" -o test --bitmapgenerator default - # start Azurite in the background - azurite --inMemoryPersistence --silent & + # start Azurite in the background (we start only the blob-service, as we only need this for the tests) + azurite-blob --inMemoryPersistence --silent & # create a blob container "testcontainer" az storage container create --name testcontainer --connection-string "$AZURE_BLOB_STORE_CONNECTION_STRING" # upload the test CZI file to the container @@ -107,9 +133,9 @@ jobs: ctest --debug -C ${{matrix.build}} # note that we leave the Azurite process running, as we want to use it with the code-coverage step as well - - name: Upload CZICmd as artifact (Windows) + - name: Prepare CZICmd as artifact (Windows x64) working-directory: ${{github.workspace}}/build - if: ${{ (matrix.OS == 'windows-latest') && ( matrix.build == 'Release') }} + if: ${{ (matrix.OS == 'windows-latest') && (matrix.build == 'Release') }} shell: bash run: | mkdir release @@ -121,7 +147,7 @@ jobs: - name: Upload CZICmd as artifact (Linux) working-directory: ${{github.workspace}}/build - if: ${{ (matrix.OS == 'ubuntu-latest') && ( matrix.build == 'Release') }} + if: ${{ (matrix.OS == 'ubuntu-latest') && (matrix.build == 'Release') }} shell: bash run: | mkdir release @@ -138,6 +164,25 @@ jobs: path: ${{ env.artifactPath }}/ name: ${{ env.artifactName }} + - name: Prepare CZICmd as artifact (Windows ARM64) + working-directory: ${{github.workspace}}/arm64build + if: ${{ (matrix.OS == 'windows-latest') && (matrix.build == 'Release') }} + shell: bash + run: | + mkdir release + name="CZICmd-windows-arm64-$(git describe --always)" + mkdir "release/${name}" + cp Src/CZICmd/Release/CZIcmd.exe "release/${name}/" + echo "artifactName=${name}" >> "$GITHUB_ENV" + echo "artifactPath=${{github.workspace}}/arm64build/release/${name}" >> "$GITHUB_ENV" + + - name: Upload artifacts (Windows ARM64) + if: ${{ (matrix.OS == 'windows-latest') && (matrix.build == 'Release') }} + uses: actions/upload-artifact@v4 + with: + path: ${{ env.artifactPath }}/ + name: ${{ env.artifactName }} + # Coverage collection based on https://about.codecov.io/blog/how-to-set-up-codecov-with-c-plus-plus-and-github-actions/ - name: Prepare Coverage if: ${{ (matrix.OS == 'windows-latest') && (matrix.build == 'Debug') }} @@ -153,7 +198,8 @@ jobs: - name: Upload Coverage uses: codecov/codecov-action@v4 - if: ${{ (matrix.OS == 'windows-latest') && (matrix.build == 'Debug') }} + # Note: we want to upload coverage only for the upstream-repository, not for forks + if: ${{ (github.repository == 'ZEISS/libczi') && (matrix.OS == 'windows-latest') && (matrix.build == 'Debug') }} with: files: ./coverage.xml fail_ci_if_error: true diff --git a/CMakeLists.txt b/CMakeLists.txt index 9a505067..9ed88a77 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -3,7 +3,7 @@ cmake_minimum_required(VERSION 3.15) cmake_policy(SET CMP0091 NEW) # enable new "MSVC runtime library selection" (https://cmake.org/cmake/help/latest/variable/CMAKE_MSVC_RUNTIME_LIBRARY.html) project(libCZI - VERSION 0.62.2 + VERSION 0.62.3 HOMEPAGE_URL "https://github.com/ZEISS/libczi" DESCRIPTION "libCZI is an Open Source Cross-Platform C++ library to read and write CZI") diff --git a/Src/CZICmd/CMakeLists.txt b/Src/CZICmd/CMakeLists.txt index 5d0057a1..f8f8ce37 100644 --- a/Src/CZICmd/CMakeLists.txt +++ b/Src/CZICmd/CMakeLists.txt @@ -98,7 +98,11 @@ set (CZICMDSRCFILES executePlaneScan.h executePlaneScan.cpp executeBase.h - executeBase.cpp) + executeBase.cpp + CZIcmd.manifest # the manifest is needed to allow long paths on windows, see https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd + # CMake will merge the manifest with a linker generated one (and ignore it on non-Windows platforms) + CZIcmd.rc # the rc file (containing version information, only relevant for Windows) +) add_executable(CZIcmd ${CZICMDSRCFILES}) @@ -151,6 +155,15 @@ configure_file ( "${CMAKE_CURRENT_BINARY_DIR}/CZIcmd_Config.h" ) +set(czicmd_PROJECT_DESCRIPTION ${CMAKE_PROJECT_DESCRIPTION}) # the string given for the project description in the main CMakeLists.txt +set(czicmd_VERSION_MAJOR ${libCZI_VERSION_MAJOR}) +set(czicmd_VERSION_MINOR ${libCZI_VERSION_MINOR}) +set(czicmd_VERSION_PATCH ${libCZI_VERSION_PATCH}) +configure_file ( + "${CMAKE_CURRENT_SOURCE_DIR}/resource_data.h.in" + "${CMAKE_CURRENT_BINARY_DIR}/resource_data.h" + ) + # checking platform -> https://gitlab.kitware.com/cmake/community/wikis/doc/cmake/Checking-Platform # -> https://stackoverflow.com/questions/9160335/os-specific-instructions-in-cmake-how-to diff --git a/Src/CZICmd/CZIcmd.ico b/Src/CZICmd/CZIcmd.ico new file mode 100644 index 0000000000000000000000000000000000000000..8490fa314061b78bbc11b2ef295a2f99afe55d7b GIT binary patch literal 105974 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 v1osA8g&o9}U + + + + + + true + + + \ No newline at end of file diff --git a/Src/CZICmd/CZIcmd.manifest.license b/Src/CZICmd/CZIcmd.manifest.license new file mode 100644 index 00000000..039a59a0 --- /dev/null +++ b/Src/CZICmd/CZIcmd.manifest.license @@ -0,0 +1,3 @@ +// SPDX-FileCopyrightText: 2024 Carl Zeiss Microscopy GmbH +// +// SPDX-License-Identifier: LGPL-3.0-or-later \ No newline at end of file diff --git a/Src/CZICmd/CZIcmd.rc b/Src/CZICmd/CZIcmd.rc new file mode 100644 index 00000000..fc16b5c7 --- /dev/null +++ b/Src/CZICmd/CZIcmd.rc @@ -0,0 +1,73 @@ +// SPDX-FileCopyrightText: 2024 Carl Zeiss Microscopy GmbH +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#include + +#define APSTUDIO_READONLY_SYMBOLS +///////////////////////////////////////////////////////////////////////////// +// +// Generated from the TEXTINCLUDE 2 resource. +// +#include "winres.h" + +///////////////////////////////////////////////////////////////////////////// +#undef APSTUDIO_READONLY_SYMBOLS + +///////////////////////////////////////////////////////////////////////////// +// English (United States) resources + +#if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENU) +LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_US + + +///////////////////////////////////////////////////////////////////////////// +// +// Version +// + +VS_VERSION_INFO VERSIONINFO +FILEVERSION RC_FILEVERSION_1ST_NUMBER, RC_FILEVERSION_2ND_NUMBER, RC_FILEVERSION_3RD_NUMBER, RC_FILEVERSION_4TH_NUMBER +PRODUCTVERSION RC_PRODUCTVERSION_1ST_NUMBER, RC_PRODUCTVERSION_2ND_NUMBER, RC_PRODUCTVERSION_3RD_NUMBER, RC_PRODUCTVERSION_4TH_NUMBER +FILEFLAGSMASK 0x3fL +#ifdef _DEBUG +FILEFLAGS 0x1L +#else +FILEFLAGS 0x0L +#endif +FILEOS 0x40004L +FILETYPE 0x0L +FILESUBTYPE 0x0L +BEGIN +BLOCK "StringFileInfo" +BEGIN +BLOCK "0c0004b0" +BEGIN +VALUE "CompanyName", "Carl Zeiss Microscopy GmbH" +VALUE "FileDescription", RC_FILEDESCRIPTION_STR +VALUE "FileVersion", RC_FILEVERSION_STRING +VALUE "InternalName", "CZIcmd.exe" +VALUE "LegalCopyright", "Copyright (C) 2024" +VALUE "OriginalFilename", "CZIcmd.exe" +VALUE "ProductName", "CZIcmd - test and demo application for libCZI" +VALUE "ProductVersion", RC_PRODUCTVERSION_STRING +END +END +BLOCK "VarFileInfo" +BEGIN +VALUE "Translation", 0xc00, 1200 +END +END + + +///////////////////////////////////////////////////////////////////////////// +// +// Icon +// + +// Icon with lowest ID value placed first to ensure application icon +// remains consistent on all systems. +IDI_APPLICATION_ICON ICON "CZIcmd.ico" + +#endif // English (United States) resources +///////////////////////////////////////////////////////////////////////////// \ No newline at end of file diff --git a/Src/CZICmd/CZIcmd_Config.h.in b/Src/CZICmd/CZIcmd_Config.h.in index cf0145cc..80fc6cfd 100644 --- a/Src/CZICmd/CZIcmd_Config.h.in +++ b/Src/CZICmd/CZIcmd_Config.h.in @@ -1,4 +1,4 @@ -// SPDX-FileCopyrightText: 2017-2022 Carl Zeiss Microscopy GmbH +// SPDX-FileCopyrightText: 2017-2024 Carl Zeiss Microscopy GmbH // // SPDX-License-Identifier: LGPL-3.0-or-later diff --git a/Src/CZICmd/resource_data.h.in b/Src/CZICmd/resource_data.h.in new file mode 100644 index 00000000..4e0f0f16 --- /dev/null +++ b/Src/CZICmd/resource_data.h.in @@ -0,0 +1,18 @@ +// SPDX-FileCopyrightText: 2024 Carl Zeiss Microscopy GmbH +// +// SPDX-License-Identifier: LGPL-3.0-or-later + +#define RC_FILEVERSION_1ST_NUMBER @czicmd_VERSION_MAJOR@ +#define RC_FILEVERSION_2ND_NUMBER @czicmd_VERSION_MINOR@ +#define RC_FILEVERSION_3RD_NUMBER @czicmd_VERSION_PATCH@ +#define RC_FILEVERSION_4TH_NUMBER 0 + +#define RC_PRODUCTVERSION_1ST_NUMBER @czicmd_VERSION_MAJOR@ +#define RC_PRODUCTVERSION_2ND_NUMBER @czicmd_VERSION_MINOR@ +#define RC_PRODUCTVERSION_3RD_NUMBER @czicmd_VERSION_PATCH@ +#define RC_PRODUCTVERSION_4TH_NUMBER 0 + +#define RC_FILEVERSION_STRING "@czicmd_VERSION_MAJOR@.@czicmd_VERSION_MINOR@.@czicmd_VERSION_PATCH@.0" +#define RC_PRODUCTVERSION_STRING "@czicmd_VERSION_MAJOR@.@czicmd_VERSION_MINOR@.@czicmd_VERSION_PATCH@.0" + +#define RC_FILEDESCRIPTION_STR "@czicmd_PROJECT_DESCRIPTION@" \ No newline at end of file diff --git a/Src/libCZI/Doc/version-history.markdown b/Src/libCZI/Doc/version-history.markdown index 87a4bcc4..8dccdb00 100644 --- a/Src/libCZI/Doc/version-history.markdown +++ b/Src/libCZI/Doc/version-history.markdown @@ -29,3 +29,4 @@ version history {#version_history} 0.62.0 | [112](https://github.com/ZEISS/libczi/pull/112) | add Azure-SDK based reader for reading from Azure Blob Storage, raise requirement to C++14 for building libCZI (previously C++11 was sufficient) because Azure-SDK requires C++14 0.62.1 | [114](https://github.com/ZEISS/libczi/pull/114) | improve build system fixing issues with msys2 and mingw-w64, cosmetic changes 0.62.2 | [115](https://github.com/ZEISS/libczi/pull/115) | enabling building with clang on windows + 0.62.3 | [116](https://github.com/ZEISS/libczi/pull/116) | enable long paths on Windows for CZIcmd, add Windows-ARM64 build \ No newline at end of file