Allow zlib through find_package
This commit is contained in:
parent
cd4fa0dd0c
commit
1ee7f68850
145
bundled/libdwarf/CMakeLists.txt
vendored
145
bundled/libdwarf/CMakeLists.txt
vendored
@ -217,74 +217,83 @@ check_c_source_compiles([=[
|
|||||||
}]=] HAVE_STDAFX_H)
|
}]=] HAVE_STDAFX_H)
|
||||||
#message(STATUS "Checking have windows stdafx.h... ${HAVE_STDAFX_H}")
|
#message(STATUS "Checking have windows stdafx.h... ${HAVE_STDAFX_H}")
|
||||||
|
|
||||||
set(CMAKE_REQUIRED_LIBRARIES z)
|
option(CMAKE_DWARF_FINDPACKAGE_Z "" OFF)
|
||||||
check_c_source_compiles( [=[
|
|
||||||
#include "zlib.h"
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
Bytef dest[100];
|
|
||||||
uLongf destlen = 100;
|
|
||||||
Bytef *src = 0;
|
|
||||||
uLong srclen = 3;
|
|
||||||
int res = uncompress(dest,&destlen,src,srclen);
|
|
||||||
if (res == Z_OK) {
|
|
||||||
/* ALL IS WELL */
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
} ]=] HAVE_ZLIB )
|
|
||||||
check_c_source_compiles( [=[
|
|
||||||
#include "zlib.h"
|
|
||||||
int main()
|
|
||||||
{
|
|
||||||
Bytef dest[100];
|
|
||||||
uLongf destlen = 100;
|
|
||||||
Bytef *src = 0;
|
|
||||||
uLong srclen = 3;
|
|
||||||
int res = uncompress(dest,&destlen,src,srclen);
|
|
||||||
if (res == Z_OK) {
|
|
||||||
/* ALL IS WELL */
|
|
||||||
}
|
|
||||||
return 0;
|
|
||||||
} ]=] HAVE_ZLIB_H )
|
|
||||||
set(CMAKE_REQUIRED_LIBRARIES)
|
|
||||||
if (HAVE_ZLIB)
|
|
||||||
# For linking in libz
|
|
||||||
set(DW_FZLIB "z")
|
|
||||||
endif()
|
|
||||||
|
|
||||||
set(CMAKE_REQUIRED_LIBRARIES zstd )
|
mark_as_advanced(CMAKE_DWARF_FINDPACKAGE_Z)
|
||||||
check_c_source_compiles( [=[
|
|
||||||
#include "zstd.h"
|
if(NOT CMAKE_DWARF_FINDPACKAGE_Z)
|
||||||
int main()
|
set(CMAKE_REQUIRED_LIBRARIES z)
|
||||||
{
|
check_c_source_compiles( [=[
|
||||||
char * dest[100];
|
#include "zlib.h"
|
||||||
size_t destlen = 100;
|
int main()
|
||||||
char *src = 0;
|
{
|
||||||
size_t srclen = 3;
|
Bytef dest[100];
|
||||||
size_t res = ZSTD_decompress(dest,destlen,src,srclen);
|
uLongf destlen = 100;
|
||||||
if (res == destlen) {
|
Bytef *src = 0;
|
||||||
/* ALL IS WELL */
|
uLong srclen = 3;
|
||||||
}
|
int res = uncompress(dest,&destlen,src,srclen);
|
||||||
return 0;
|
if (res == Z_OK) {
|
||||||
} ]=] HAVE_ZSTD )
|
/* ALL IS WELL */
|
||||||
check_c_source_compiles( [=[
|
}
|
||||||
#include "zstd.h"
|
return 0;
|
||||||
int main()
|
} ]=] HAVE_ZLIB )
|
||||||
{
|
check_c_source_compiles( [=[
|
||||||
char * dest[100];
|
#include "zlib.h"
|
||||||
size_t destlen = 100;
|
int main()
|
||||||
char *src = 0;
|
{
|
||||||
size_t srclen = 3;
|
Bytef dest[100];
|
||||||
size_t res = ZSTD_decompress(dest,destlen,src,srclen);
|
uLongf destlen = 100;
|
||||||
if (res == destlen) {
|
Bytef *src = 0;
|
||||||
/* ALL IS WELL */
|
uLong srclen = 3;
|
||||||
}
|
int res = uncompress(dest,&destlen,src,srclen);
|
||||||
return 0;
|
if (res == Z_OK) {
|
||||||
} ]=] HAVE_ZSTD_H )
|
/* ALL IS WELL */
|
||||||
set(CMAKE_REQUIRED_LIBRARIES)
|
}
|
||||||
if (HAVE_ZSTD)
|
return 0;
|
||||||
# For linking in libzstd
|
} ]=] HAVE_ZLIB_H )
|
||||||
set(DW_FZSTD "zstd")
|
set(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
if (HAVE_ZLIB)
|
||||||
|
# For linking in libz
|
||||||
|
set(DW_FZLIB "z")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
set(CMAKE_REQUIRED_LIBRARIES zstd )
|
||||||
|
check_c_source_compiles( [=[
|
||||||
|
#include "zstd.h"
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char * dest[100];
|
||||||
|
size_t destlen = 100;
|
||||||
|
char *src = 0;
|
||||||
|
size_t srclen = 3;
|
||||||
|
size_t res = ZSTD_decompress(dest,destlen,src,srclen);
|
||||||
|
if (res == destlen) {
|
||||||
|
/* ALL IS WELL */
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
} ]=] HAVE_ZSTD )
|
||||||
|
check_c_source_compiles( [=[
|
||||||
|
#include "zstd.h"
|
||||||
|
int main()
|
||||||
|
{
|
||||||
|
char * dest[100];
|
||||||
|
size_t destlen = 100;
|
||||||
|
char *src = 0;
|
||||||
|
size_t srclen = 3;
|
||||||
|
size_t res = ZSTD_decompress(dest,destlen,src,srclen);
|
||||||
|
if (res == destlen) {
|
||||||
|
/* ALL IS WELL */
|
||||||
|
}
|
||||||
|
return 0;
|
||||||
|
} ]=] HAVE_ZSTD_H )
|
||||||
|
set(CMAKE_REQUIRED_LIBRARIES)
|
||||||
|
if (HAVE_ZSTD)
|
||||||
|
# For linking in libzstd
|
||||||
|
set(DW_FZSTD "zstd")
|
||||||
|
endif()
|
||||||
|
else()
|
||||||
|
find_package(z REQUIRED)
|
||||||
|
set(DW_FZLIB "z")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
check_c_source_compiles([=[
|
check_c_source_compiles([=[
|
||||||
@ -434,7 +443,7 @@ target_include_directories(
|
|||||||
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
$<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
|
||||||
)
|
)
|
||||||
|
|
||||||
target_link_libraries(dwarf PUBLIC ${LIBELF_LIBRARIES} ${DW_FZLIB} ${DW_FZSTD})
|
target_link_libraries(dwarf PUBLIC ${DW_FZLIB} ${DW_FZSTD})
|
||||||
|
|
||||||
# TODO: Something will have to be figured out for dynamic linking, but for now there's nothing to install
|
# TODO: Something will have to be figured out for dynamic linking, but for now there's nothing to install
|
||||||
# if(NOT CMAKE_SKIP_INSTALL_RULES)
|
# if(NOT CMAKE_SKIP_INSTALL_RULES)
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user