From de28e83b0e66d49dc492122e3738f5f5e965bf49 Mon Sep 17 00:00:00 2001 From: TaurusXin Date: Sat, 4 Oct 2025 17:42:19 +0800 Subject: [PATCH] test: manually build --- .github/workflows/autobuild.yml | 15 ++++++++-- CMakeLists.txt | 3 -- cmake/FindTaglib.cmake | 53 --------------------------------- 3 files changed, 12 insertions(+), 59 deletions(-) delete mode 100644 cmake/FindTaglib.cmake diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index b469058..8ef19e4 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -23,7 +23,17 @@ jobs: - name: Install Dependencies run: | sudo apt-get update - sudo apt-get install -y build-essential cmake libtag1-dev + sudo apt-get install -y build-essential cmake libtag1-dev zlib1g-dev + + # ubuntu 24.04 does not contains taglib v2.x, which does not support cmake, built it manually + - name: Build TagLib v2.1.1 + run: | + wget https://github.com/taglib/taglib/releases/download/v2.1.1/taglib-2.1.1.tar.gz + tar -xzf taglib-2.1.1.tar.gz + cd taglib-2.1.1.tar.gz + cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DCMAKE_BUILD_TYPE=Release . + make -j$(nproc) + sudo make install - name: Configure CMake run: | @@ -92,12 +102,11 @@ jobs: id: vcpkg with: vcpkgJsonGlob: '**/vcpkg.json' - vcpkgTriplet: ${{ env.VCPKG_TRIPLET }} - name: Configure CMake run: | cmake -B ${{github.workspace}}/build ` - -DCMAKE_TOOLCHAIN_FILE=${{ steps.vcpkg.outputs.toolchain-file }} ` + -DCMAKE_TOOLCHAIN_FILE=${{ github.workspace }}/vcpkg/scripts/buildsystems/vcpkg.cmake ` -DVCPKG_TARGET_TRIPLET=${{ env.VCPKG_TRIPLET }} ` -S ${{github.workspace}} diff --git a/CMakeLists.txt b/CMakeLists.txt index 9670274..38e98a9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -5,9 +5,6 @@ project(ncmdump LANGUAGES CXX) set(CMAKE_CXX_STANDARD 17) set(CMAKE_CXX_STANDARD_REQUIRED ON) - -list(APPEND CMAKE_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/cmake") - find_package(ZLIB) find_package(TagLib REQUIRED) diff --git a/cmake/FindTaglib.cmake b/cmake/FindTaglib.cmake deleted file mode 100644 index 68cd272..0000000 --- a/cmake/FindTaglib.cmake +++ /dev/null @@ -1,53 +0,0 @@ -# --- Try official config first (Taglib 2.x) --- -find_package(Taglib CONFIG QUIET) -if(Taglib_FOUND) - message(STATUS "Using system Taglib (CMake config found)") - return() -endif() - -# --- Try pkg-config (common on Linux) --- -find_package(PkgConfig QUIET) -if(PkgConfig_FOUND) - pkg_check_modules(TAGLIB taglib) -endif() - -# --- Manual search fallback --- -if(TAGLIB_FOUND) - set(Taglib_INCLUDE_DIRS ${TAGLIB_INCLUDE_DIRS}) - set(Taglib_LIBRARIES ${TAGLIB_LIBRARIES}) - message(STATUS "Using Taglib from pkg-config: ${Taglib_LIBRARIES}") -else() - message(STATUS "Falling back to manual search for Taglib...") - - find_path(Taglib_INCLUDE_DIR tag.h - PATH_SUFFIXES taglib - PATHS - /usr/include - /usr/local/include - /usr/include/taglib - ) - - find_library(Taglib_LIBRARY NAMES tag taglib - PATHS - /usr/lib /usr/lib64 /usr/local/lib /usr/local/lib64 - /usr/lib/x86_64-linux-gnu /usr/lib/aarch64-linux-gnu - ) - - set(Taglib_INCLUDE_DIRS ${Taglib_INCLUDE_DIR}) - set(Taglib_LIBRARIES ${Taglib_LIBRARY}) -endif() - -include(FindPackageHandleStandardArgs) -find_package_handle_standard_args(Taglib DEFAULT_MSG Taglib_LIBRARY Taglib_INCLUDE_DIR) - -if(Taglib_FOUND) - if(NOT TARGET Taglib::Taglib) - add_library(Taglib::Taglib UNKNOWN IMPORTED) - set_target_properties(Taglib::Taglib PROPERTIES - IMPORTED_LOCATION ${Taglib_LIBRARY} - INTERFACE_INCLUDE_DIRECTORIES ${Taglib_INCLUDE_DIR} - ) - endif() -else() - message(WARNING "Taglib not found! Try: sudo apt install libtag1v5-dev") -endif()