diff --git a/.github/workflows/vcpkg.yml b/.github/workflows/vcpkg.yml index abf18547..2092d089 100644 --- a/.github/workflows/vcpkg.yml +++ b/.github/workflows/vcpkg.yml @@ -29,25 +29,40 @@ jobs: os: [windows-2019, windows-2022] build_type: [x64-Debug-VCPKG] arch: [amd64] + shared: [OFF] include: - os: windows-2022 build_type: x64-Debug-Clang-VCPKG arch: amd64 + shared: OFF - os: windows-2022 build_type: x86-Debug-VCPKG arch: amd64_x86 + shared: OFF - os: windows-2022 build_type: arm64-Debug-VCPKG arch: amd64_arm64 + shared: OFF - os: windows-2022 build_type: arm64ec-Debug-VCPKG arch: amd64_arm64 + shared: OFF - os: windows-2022 build_type: x64-Debug-MinGW arch: amd64 + shared: OFF - os: windows-2022 build_type: x64-Release-MinGW arch: amd64 + shared: OFF + - os: windows-2022 + build_type: x64-Debug-MinGW + arch: amd64 + shared: ON + - os: windows-2022 + build_type: x64-Release-MinGW + arch: amd64 + shared: ON steps: - uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2 @@ -120,6 +135,7 @@ jobs: working-directory: ${{ github.workspace }} run: > cmake --preset=${{ matrix.build_type }} -DBUILD_TESTING=OFF -DENABLE_OPENEXR_SUPPORT=ON -DENABLE_LIBJPEG_SUPPORT=ON -DENABLE_LIBPNG_SUPPORT=ON + -DBUILD_SHARED_LIBS=${{ matrix.shared }} -DCMAKE_TOOLCHAIN_FILE="${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake" -DVCPKG_MANIFEST_DIR="${{ github.workspace }}/build" -DVCPKG_TARGET_TRIPLET="${env:VCPKG_DEFAULT_TRIPLET}" diff --git a/CMakeLists.txt b/CMakeLists.txt index fdac7583..b418a5c2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -581,6 +581,10 @@ if(CMAKE_CXX_COMPILER_ID MATCHES "Clang|IntelLLVM") elseif(CMAKE_CXX_COMPILER_ID MATCHES "GNU") foreach(t IN LISTS TOOL_EXES ITEMS ${PROJECT_NAME}) target_compile_options(${t} PRIVATE "-Wno-ignored-attributes" "-Walloc-size-larger-than=4GB") + + if(BUILD_SHARED_LIBS) + target_compile_options(${t} PRIVATE "-Wno-attributes") + endif() endforeach() elseif(CMAKE_CXX_COMPILER_ID MATCHES "Intel") set_target_properties(${PROJECT_NAME} PROPERTIES CXX_STANDARD 14)