From e84cbac7a75fe43e3ec203bfecb38dd620653f89 Mon Sep 17 00:00:00 2001 From: VincentDirac <1350709199@qq.com> Date: Tue, 2 Sep 2025 00:15:55 +0800 Subject: [PATCH] thanm: fix windows build error in github actions maybe libjpeg-turbo can be replaced with ijg-libjpeg. --- .github/workflows/build.yml | 6 +++++- INSTALL | 1 + thanm/CMakeLists.txt | 5 +++-- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/.github/workflows/build.yml b/.github/workflows/build.yml index 6ad5dc2a..ba6c6162 100644 --- a/.github/workflows/build.yml +++ b/.github/workflows/build.yml @@ -49,8 +49,12 @@ jobs: mkdir bison cd bison 7z x ../win_flex_bison-${{env.FLEXBISON_VER}}.zip + - name: Integrate vcpkg + run: vcpkg integrate install + - name: Install libjpeg + run: vcpkg install libjpeg-turbo:${{matrix.arch}}-windows-static - name: Configure CMake - run: cmake -B build -A ${{matrix.arch == 'x86' && 'Win32' || matrix.arch}} -DBISON_EXECUTABLE=${{github.workspace}}/bison/win_bison.exe -DFLEX_EXECUTABLE=${{github.workspace}}/bison/win_flex.exe -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} + run: cmake -B build -A ${{matrix.arch == 'x86' && 'Win32' || matrix.arch}} -DBISON_EXECUTABLE=${{github.workspace}}/bison/win_bison.exe -DFLEX_EXECUTABLE=${{github.workspace}}/bison/win_flex.exe -DJPEG_INCLUDE_DIR=C:/vcpkg/packages/libjpeg-turbo_${{matrix.arch}}-windows-static/include/ -DJPEG_LIBRARY_RELEASE=C:/vcpkg/packages/libjpeg-turbo_${{matrix.arch}}-windows-static/lib/jpeg.lib -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}} - name: Build run: cmake --build build --config ${{env.BUILD_TYPE}} - name: Prepare Dist diff --git a/INSTALL b/INSTALL index f9137b9f..b52073f5 100644 --- a/INSTALL +++ b/INSTALL @@ -2,6 +2,7 @@ Build requirements: cmake >=3.14 flex >=2.5.31 bison >=3.6.4 + libjpeg >= 8.0 (optional) pkg-config (optional) zlib (optional) libpng diff --git a/thanm/CMakeLists.txt b/thanm/CMakeLists.txt index 66afed52..04a484f4 100644 --- a/thanm/CMakeLists.txt +++ b/thanm/CMakeLists.txt @@ -1,5 +1,6 @@ find_package(BISON REQUIRED) find_package(FLEX REQUIRED) +find_package(JPEG REQUIRED) bison_target(AnmParse anmparse.y ${CMAKE_CURRENT_BINARY_DIR}/anmparse.c COMPILE_FLAGS ${BISON_FLAGS}) flex_target(AnmScan anmscan.l ${CMAKE_CURRENT_BINARY_DIR}/anmscan.c) add_flex_bison_dependency(AnmScan AnmParse) @@ -8,7 +9,7 @@ add_executable(thanm thanm.c image.c anmmap.c reg.c expr.c thanm.h image.h anmmap.h reg.h expr.h ) -target_include_directories(thanm PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR}) -target_link_libraries(thanm PRIVATE util $<$:PNG::PNG> math setargv thtk_warning jpeg) +target_include_directories(thanm PRIVATE ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ${JPEG_INCLUDE_DIR}) +target_link_libraries(thanm PRIVATE util $<$:PNG::PNG> math setargv thtk_warning ${JPEG_LIBRARY_RELEASE}) install(TARGETS thanm) install(FILES thanm.1 DESTINATION ${CMAKE_INSTALL_MANDIR}/man1)