Aquire zstd with fetchcontent for libdwarf 9 (#85)
This commit is contained in:
parent
6b87927acf
commit
a65aed2752
62
.github/workflows/build.yml
vendored
62
.github/workflows/build.yml
vendored
@ -19,12 +19,21 @@ jobs:
|
|||||||
pip3 install colorama
|
pip3 install colorama
|
||||||
- name: libdwarf
|
- name: libdwarf
|
||||||
run: |
|
run: |
|
||||||
|
cd ..
|
||||||
|
mkdir zstd
|
||||||
|
cd zstd
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/facebook/zstd.git
|
||||||
|
git fetch --depth 1 origin 63779c798237346c2b245c546c40b72a5a5913fe # 1.5.5
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
make -j
|
||||||
|
sudo make install
|
||||||
cd ..
|
cd ..
|
||||||
mkdir libdwarf
|
mkdir libdwarf
|
||||||
cd libdwarf
|
cd libdwarf
|
||||||
git init
|
git init
|
||||||
git remote add origin https://github.com/flagarde/libdwarf-code.git
|
git remote add origin https://github.com/jeremy-rifkin/libdwarf-code.git
|
||||||
git fetch --depth 1 origin d1a559b7af0840194dfa51f7e3013e0f80614032
|
git fetch --depth 1 origin b8cf3548112fd4cb68e8d4b89c6ce4348bc8745c
|
||||||
git checkout FETCH_HEAD
|
git checkout FETCH_HEAD
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
@ -48,12 +57,21 @@ jobs:
|
|||||||
pip3 install colorama
|
pip3 install colorama
|
||||||
- name: libdwarf
|
- name: libdwarf
|
||||||
run: |
|
run: |
|
||||||
|
cd ..
|
||||||
|
mkdir zstd
|
||||||
|
cd zstd
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/facebook/zstd.git
|
||||||
|
git fetch --depth 1 origin 63779c798237346c2b245c546c40b72a5a5913fe # 1.5.5
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
make -j
|
||||||
|
sudo make install
|
||||||
cd ..
|
cd ..
|
||||||
mkdir libdwarf
|
mkdir libdwarf
|
||||||
cd libdwarf
|
cd libdwarf
|
||||||
git init
|
git init
|
||||||
git remote add origin https://github.com/flagarde/libdwarf-code.git
|
git remote add origin https://github.com/jeremy-rifkin/libdwarf-code.git
|
||||||
git fetch --depth 1 origin d1a559b7af0840194dfa51f7e3013e0f80614032
|
git fetch --depth 1 origin b8cf3548112fd4cb68e8d4b89c6ce4348bc8745c
|
||||||
git checkout FETCH_HEAD
|
git checkout FETCH_HEAD
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
@ -79,24 +97,34 @@ jobs:
|
|||||||
pip3 install colorama
|
pip3 install colorama
|
||||||
- name: libdwarf
|
- name: libdwarf
|
||||||
run: |
|
run: |
|
||||||
cd ..
|
|
||||||
mkdir libdwarf
|
|
||||||
cd libdwarf
|
|
||||||
git init
|
|
||||||
git remote add origin https://github.com/davea42/libdwarf-code.git
|
|
||||||
git fetch --depth 1 origin 6216e185863f41d6f19ab850caabfff7326020d7
|
|
||||||
git checkout FETCH_HEAD
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
if("${{matrix.compiler}}" -eq "gcc") {
|
if("${{matrix.compiler}}" -eq "gcc") {
|
||||||
|
cd ..
|
||||||
|
mkdir zstd
|
||||||
|
cd zstd
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/facebook/zstd.git
|
||||||
|
git fetch --depth 1 origin 63779c798237346c2b245c546c40b72a5a5913fe # 1.5.5
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
cd build/cmake
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. -DZSTD_BUILD_SHARED=On -DZSTD_BUILD_SHARED=Off -DZSTD_LEGACY_SUPPORT=Off -DZSTD_BUILD_PROGRAMS=Off -DZSTD_BUILD_CONTRIB=Off -DZSTD_BUILD_TESTS=Off -G"Unix Makefiles"
|
||||||
|
make -j
|
||||||
|
make install
|
||||||
|
cd ../../../..
|
||||||
|
mkdir libdwarf
|
||||||
|
cd libdwarf
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/jeremy-rifkin/libdwarf-code.git
|
||||||
|
git fetch --depth 1 origin b8cf3548112fd4cb68e8d4b89c6ce4348bc8745c
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
cmake .. -DPIC_ALWAYS=TRUE -DBUILD_DWARFDUMP=FALSE -G"Unix Makefiles"
|
cmake .. -DPIC_ALWAYS=TRUE -DBUILD_DWARFDUMP=FALSE -G"Unix Makefiles"
|
||||||
make -j
|
make -j
|
||||||
make install
|
make install
|
||||||
} else {
|
cd ../../cpptrace
|
||||||
cmake .. -DPIC_ALWAYS=TRUE -DBUILD_DWARFDUMP=FALSE
|
|
||||||
msbuild INSTALL.vcxproj
|
|
||||||
}
|
}
|
||||||
cd ../../cpptrace
|
|
||||||
- name: build
|
- name: build
|
||||||
run: |
|
run: |
|
||||||
python3 ci/build-in-all-configs.py --${{matrix.compiler}}
|
python3 ci/build-in-all-configs.py --${{matrix.compiler}}
|
||||||
|
|||||||
62
.github/workflows/test.yml
vendored
62
.github/workflows/test.yml
vendored
@ -22,12 +22,21 @@ jobs:
|
|||||||
pip3 install colorama
|
pip3 install colorama
|
||||||
- name: libdwarf
|
- name: libdwarf
|
||||||
run: |
|
run: |
|
||||||
|
cd ..
|
||||||
|
mkdir zstd
|
||||||
|
cd zstd
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/facebook/zstd.git
|
||||||
|
git fetch --depth 1 origin 63779c798237346c2b245c546c40b72a5a5913fe # 1.5.5
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
make -j
|
||||||
|
sudo make install
|
||||||
cd ..
|
cd ..
|
||||||
mkdir libdwarf
|
mkdir libdwarf
|
||||||
cd libdwarf
|
cd libdwarf
|
||||||
git init
|
git init
|
||||||
git remote add origin https://github.com/flagarde/libdwarf-code.git
|
git remote add origin https://github.com/jeremy-rifkin/libdwarf-code.git
|
||||||
git fetch --depth 1 origin d1a559b7af0840194dfa51f7e3013e0f80614032
|
git fetch --depth 1 origin b8cf3548112fd4cb68e8d4b89c6ce4348bc8745c
|
||||||
git checkout FETCH_HEAD
|
git checkout FETCH_HEAD
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
@ -49,12 +58,21 @@ jobs:
|
|||||||
- uses: actions/checkout@v4
|
- uses: actions/checkout@v4
|
||||||
- name: libdwarf
|
- name: libdwarf
|
||||||
run: |
|
run: |
|
||||||
|
cd ..
|
||||||
|
mkdir zstd
|
||||||
|
cd zstd
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/facebook/zstd.git
|
||||||
|
git fetch --depth 1 origin 63779c798237346c2b245c546c40b72a5a5913fe # 1.5.5
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
make -j
|
||||||
|
sudo make install
|
||||||
cd ..
|
cd ..
|
||||||
mkdir libdwarf
|
mkdir libdwarf
|
||||||
cd libdwarf
|
cd libdwarf
|
||||||
git init
|
git init
|
||||||
git remote add origin https://github.com/flagarde/libdwarf-code.git
|
git remote add origin https://github.com/jeremy-rifkin/libdwarf-code.git
|
||||||
git fetch --depth 1 origin d1a559b7af0840194dfa51f7e3013e0f80614032
|
git fetch --depth 1 origin b8cf3548112fd4cb68e8d4b89c6ce4348bc8745c
|
||||||
git checkout FETCH_HEAD
|
git checkout FETCH_HEAD
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
@ -95,24 +113,34 @@ jobs:
|
|||||||
pip3 install colorama
|
pip3 install colorama
|
||||||
- name: libdwarf
|
- name: libdwarf
|
||||||
run: |
|
run: |
|
||||||
cd ..
|
|
||||||
mkdir libdwarf
|
|
||||||
cd libdwarf
|
|
||||||
git init
|
|
||||||
git remote add origin https://github.com/davea42/libdwarf-code.git
|
|
||||||
git fetch --depth 1 origin 6216e185863f41d6f19ab850caabfff7326020d7
|
|
||||||
git checkout FETCH_HEAD
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
if("${{matrix.compiler}}" -eq "gcc") {
|
if("${{matrix.compiler}}" -eq "gcc") {
|
||||||
|
cd ..
|
||||||
|
mkdir zstd
|
||||||
|
cd zstd
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/facebook/zstd.git
|
||||||
|
git fetch --depth 1 origin 63779c798237346c2b245c546c40b72a5a5913fe # 1.5.5
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
cd build/cmake
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
cmake .. -DZSTD_BUILD_SHARED=On -DZSTD_BUILD_SHARED=Off -DZSTD_LEGACY_SUPPORT=Off -DZSTD_BUILD_PROGRAMS=Off -DZSTD_BUILD_CONTRIB=Off -DZSTD_BUILD_TESTS=Off -G"Unix Makefiles"
|
||||||
|
make -j
|
||||||
|
make install
|
||||||
|
cd ../../../..
|
||||||
|
mkdir libdwarf
|
||||||
|
cd libdwarf
|
||||||
|
git init
|
||||||
|
git remote add origin https://github.com/jeremy-rifkin/libdwarf-code.git
|
||||||
|
git fetch --depth 1 origin b8cf3548112fd4cb68e8d4b89c6ce4348bc8745c
|
||||||
|
git checkout FETCH_HEAD
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
cmake .. -DPIC_ALWAYS=TRUE -DBUILD_DWARFDUMP=FALSE -G"Unix Makefiles"
|
cmake .. -DPIC_ALWAYS=TRUE -DBUILD_DWARFDUMP=FALSE -G"Unix Makefiles"
|
||||||
make -j
|
make -j
|
||||||
make install
|
make install
|
||||||
} else {
|
cd ../../cpptrace
|
||||||
cmake .. -DPIC_ALWAYS=TRUE -DBUILD_DWARFDUMP=FALSE
|
|
||||||
msbuild INSTALL.vcxproj
|
|
||||||
}
|
}
|
||||||
cd ../../cpptrace
|
|
||||||
- name: build and test
|
- name: build and test
|
||||||
run: |
|
run: |
|
||||||
python3 ci/test-all-configs.py --${{matrix.compiler}}
|
python3 ci/test-all-configs.py --${{matrix.compiler}}
|
||||||
|
|||||||
@ -339,11 +339,43 @@ endif()
|
|||||||
if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
||||||
target_compile_definitions(${target_name} PUBLIC CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
target_compile_definitions(${target_name} PUBLIC CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
||||||
if(CPPTRACE_USE_EXTERNAL_LIBDWARF)
|
if(CPPTRACE_USE_EXTERNAL_LIBDWARF)
|
||||||
|
find_package(zstd)
|
||||||
|
if(TARGET libzstd_static)
|
||||||
|
add_library(ZSTD::ZSTD ALIAS libzstd_static)
|
||||||
|
set(ZSTD_FOUND TRUE)
|
||||||
|
endif()
|
||||||
find_package(libdwarf REQUIRED)
|
find_package(libdwarf REQUIRED)
|
||||||
else()
|
else()
|
||||||
|
include(FetchContent)
|
||||||
|
cmake_policy(SET CMP0074 NEW)
|
||||||
|
FetchContent_Declare(
|
||||||
|
zstd
|
||||||
|
GIT_REPOSITORY https://github.com/facebook/zstd.git
|
||||||
|
GIT_TAG 63779c798237346c2b245c546c40b72a5a5913fe # v1.5.5
|
||||||
|
GIT_SHALLOW 1
|
||||||
|
SOURCE_SUBDIR build/cmake
|
||||||
|
)
|
||||||
|
# FetchContent_MakeAvailable(zstd)
|
||||||
|
FetchContent_GetProperties(zstd)
|
||||||
|
if(NOT zstd_POPULATED)
|
||||||
|
FetchContent_Populate(zstd)
|
||||||
|
set(ZSTD_BUILD_PROGRAMS OFF)
|
||||||
|
set(ZSTD_BUILD_CONTRIB OFF)
|
||||||
|
set(ZSTD_BUILD_TESTS OFF)
|
||||||
|
set(ZSTD_BUILD_STATIC ON)
|
||||||
|
set(ZSTD_BUILD_SHARED OFF)
|
||||||
|
set(ZSTD_LEGACY_SUPPORT OFF)
|
||||||
|
add_subdirectory("${zstd_SOURCE_DIR}/build/cmake" "${zstd_BINARY_DIR}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
if(TARGET libzstd_static)
|
||||||
|
add_library(ZSTD::ZSTD ALIAS libzstd_static)
|
||||||
|
set(ZSTD_FOUND TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
set(CMAKE_POLICY_DEFAULT_CMP0077 NEW)
|
||||||
set(PIC_ALWAYS TRUE)
|
# set(PIC_ALWAYS TRUE)
|
||||||
set(BUILD_DWARFDUMP FALSE)
|
# set(BUILD_DWARFDUMP FALSE)
|
||||||
include(FetchContent)
|
include(FetchContent)
|
||||||
FetchContent_Declare(
|
FetchContent_Declare(
|
||||||
libdwarf
|
libdwarf
|
||||||
@ -355,11 +387,24 @@ if(CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF)
|
|||||||
# GIT_REPOSITORY https://github.com/jeremy-rifkin/libdwarf-lite.git
|
# GIT_REPOSITORY https://github.com/jeremy-rifkin/libdwarf-lite.git
|
||||||
# GIT_TAG c78e984f3abbd20f6e01d6f51819e826b1691f65 # v0.8.0
|
# GIT_TAG c78e984f3abbd20f6e01d6f51819e826b1691f65 # v0.8.0
|
||||||
# GIT_TAG 71090c680b4c943448ba87a0f1f864f174e4edda # v0.9.0
|
# GIT_TAG 71090c680b4c943448ba87a0f1f864f174e4edda # v0.9.0
|
||||||
GIT_REPOSITORY https://github.com/flagarde/libdwarf-code.git
|
GIT_REPOSITORY https://github.com/jeremy-rifkin/libdwarf-code.git
|
||||||
GIT_TAG d1a559b7af0840194dfa51f7e3013e0f80614032
|
GIT_TAG b8cf3548112fd4cb68e8d4b89c6ce4348bc8745c
|
||||||
GIT_SHALLOW 1
|
GIT_SHALLOW 1
|
||||||
)
|
)
|
||||||
FetchContent_MakeAvailable(libdwarf)
|
# FetchContent_MakeAvailable(libdwarf)
|
||||||
|
FetchContent_GetProperties(libdwarf)
|
||||||
|
if(NOT libdwarf_POPULATED)
|
||||||
|
set(PIC_ALWAYS TRUE)
|
||||||
|
set(BUILD_DWARFDUMP FALSE)
|
||||||
|
# set(ENABLE_DECOMPRESSION FALSE)
|
||||||
|
FetchContent_Populate(libdwarf)
|
||||||
|
add_subdirectory("${libdwarf_SOURCE_DIR}" "${libdwarf_BINARY_DIR}")
|
||||||
|
target_include_directories(
|
||||||
|
dwarf
|
||||||
|
PRIVATE
|
||||||
|
${zstd_SOURCE_DIR}/lib
|
||||||
|
)
|
||||||
|
endif()
|
||||||
endif()
|
endif()
|
||||||
if(CPPTRACE_CONAN)
|
if(CPPTRACE_CONAN)
|
||||||
target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf)
|
target_link_libraries(${target_name} PRIVATE libdwarf::libdwarf)
|
||||||
|
|||||||
@ -4,6 +4,7 @@
|
|||||||
# Dependencies
|
# Dependencies
|
||||||
if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@)
|
if(@CPPTRACE_GET_SYMBOLS_WITH_LIBDWARF@)
|
||||||
include(CMakeFindDependencyMacro)
|
include(CMakeFindDependencyMacro)
|
||||||
|
find_dependency(zstd REQUIRED)
|
||||||
find_dependency(libdwarf REQUIRED)
|
find_dependency(libdwarf REQUIRED)
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
|||||||
@ -36,6 +36,7 @@ FetchContent_MakeAvailable(googletest)
|
|||||||
|
|
||||||
set(cpptrace_DIR "../../build/foo/lib/cmake/cpptrace")
|
set(cpptrace_DIR "../../build/foo/lib/cmake/cpptrace")
|
||||||
set(libdwarf_DIR "../../build/foo/lib/cmake/libdwarf")
|
set(libdwarf_DIR "../../build/foo/lib/cmake/libdwarf")
|
||||||
|
set(zstd_DIR "../../build/foo/lib/cmake/zstd")
|
||||||
find_package(cpptrace REQUIRED)
|
find_package(cpptrace REQUIRED)
|
||||||
|
|
||||||
add_executable(speedtest speedtest.cpp)
|
add_executable(speedtest speedtest.cpp)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user