diff --git a/.github/workflows/autobuild.yml b/.github/workflows/autobuild.yml index ac5dcf1..ef08fa4 100644 --- a/.github/workflows/autobuild.yml +++ b/.github/workflows/autobuild.yml @@ -97,18 +97,22 @@ jobs: - name: Configure CMake run: | - $toolchainFile = "${{ steps.vcpkg.outputs.vcpkgToolchainFile }}" - cmake -B ${{github.workspace}}/build \ - -DCMAKE_TOOLCHAIN_FILE=$toolchainFile \ + -DCMAKE_TOOLCHAIN_FILE={{ steps.vcpkg.outputs.vcpkgToolchainFile }} \ -DVCPKG_TARGET_TRIPLET={{VCPKG_TRIPLET}} \ -S ${{github.workspace}} - name: Build run: cmake --build ${{github.workspace}}/build --config Release - - name: Upload Windows Artifact + - name: Upload Windows Executable Artifact uses: actions/upload-artifact@v4 with: name: build-artifact-windows - path: ${{github.workspace}}/build/ncmdump \ No newline at end of file + path: ${{github.workspace}}/build/ncmdump.exe + + - name: Upload Windows Library Artifact + uses: actions/upload-artifact@v4 + with: + name: build-artifact-windows + path: ${{github.workspace}}/build/libncmdump.dll \ No newline at end of file diff --git a/cmake/FindTaglib.cmake b/cmake/FindTaglib.cmake index cd1ad97..f279df8 100644 --- a/cmake/FindTaglib.cmake +++ b/cmake/FindTaglib.cmake @@ -1,72 +1,19 @@ # FindTaglib.cmake -# -# Cross-platform TagLib finder. -# Supports: -# - Ubuntu/Debian (libtag1v5-dev) -# - macOS (Homebrew) -# - Windows (vcpkg/manual) -# -# Defines: +# Try to find TagLib library and headers +# Once done, it will define: # Taglib_FOUND # Taglib_INCLUDE_DIRS # Taglib_LIBRARIES # Taglib::Taglib (imported target) -# --- First: if official Config file exists (v2.x), use it directly --- -find_package(Taglib CONFIG QUIET) -if(Taglib_FOUND) - message(STATUS "Using system-provided Taglib (with CMake config).") - return() -endif() +find_path(Taglib_INCLUDE_DIR tag.h + PATH_SUFFIXES taglib + PATHS /usr/include /usr/local/include +) -# --- Manual search fallback (for TagLib v1.x without config) --- -message(STATUS "No Taglib CMake config found, falling back to manual search...") - -if(WIN32) - # --- Windows --- - find_path(Taglib_INCLUDE_DIR tag.h - PATH_SUFFIXES taglib - PATHS - "C:/Program Files/taglib/include" - "C:/Program Files (x86)/taglib/include" - "${CMAKE_SOURCE_DIR}/third_party/taglib/include" - ) - find_library(Taglib_LIBRARY NAMES tag taglib - PATHS - "C:/Program Files/taglib/lib" - "C:/Program Files (x86)/taglib/lib" - "${CMAKE_SOURCE_DIR}/third_party/taglib/lib" - ) - -elseif(APPLE) - # --- macOS --- - find_path(Taglib_INCLUDE_DIR tag.h - PATH_SUFFIXES taglib - PATHS - /usr/local/include - /opt/homebrew/include - ) - find_library(Taglib_LIBRARY NAMES tag taglib - PATHS - /usr/local/lib - /opt/homebrew/lib - ) - -else() - # --- Linux / Unix --- - find_path(Taglib_INCLUDE_DIR tag.h - PATH_SUFFIXES taglib - PATHS - /usr/include - /usr/local/include - ) - find_library(Taglib_LIBRARY NAMES tag taglib - PATHS - /usr/lib /usr/lib64 - /usr/local/lib /usr/local/lib64 - /usr/lib/x86_64-linux-gnu - ) -endif() +find_library(Taglib_LIBRARY NAMES tag taglib + PATHS /usr/lib /usr/local/lib /usr/lib/x86_64-linux-gnu +) include(FindPackageHandleStandardArgs) find_package_handle_standard_args(Taglib DEFAULT_MSG @@ -84,7 +31,4 @@ if(Taglib_FOUND) INTERFACE_INCLUDE_DIRECTORIES ${Taglib_INCLUDE_DIR} ) endif() -else() - message(WARNING "Taglib not found. Please install libtag1v5-dev (Linux), \ -brew install taglib (macOS), or add manual path (Windows).") endif()