test: manually build
This commit is contained in:
parent
eea7af0ee9
commit
de28e83b0e
15
.github/workflows/autobuild.yml
vendored
15
.github/workflows/autobuild.yml
vendored
@ -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}}
|
||||
|
||||
|
@ -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)
|
||||
|
||||
|
@ -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()
|
Loading…
x
Reference in New Issue
Block a user