tools/cmake: sync with upstream

Signed-off-by: Linhui Liu <liulinhui36@gmail.com>
This commit is contained in:
Linhui Liu 2022-10-23 12:06:27 +08:00
parent 82c468d257
commit e2ff325ada
6 changed files with 63 additions and 2 deletions

View File

@ -32,8 +32,14 @@ HOST_CONFIGURE_VARS += \
HOST_CONFIGURE_ARGS := \ HOST_CONFIGURE_ARGS := \
$(if $(MAKE_JOBSERVER),--parallel="$(MAKE_JOBSERVER)") \ $(if $(MAKE_JOBSERVER),--parallel="$(MAKE_JOBSERVER)") \
--prefix="$(STAGING_DIR_HOST)" \ --prefix="$(STAGING_DIR_HOST)" \
--system-expat \
--system-liblzma \
--system-zlib \
--system-zstd \
--generator=Ninja --generator=Ninja
HOST_LDFLAGS += -Wl,-rpath,$(STAGING_DIR_HOST)/lib
define Host/Compile/Default define Host/Compile/Default
+$(NINJA) -C $(HOST_BUILD_DIR) $(1) +$(NINJA) -C $(HOST_BUILD_DIR) $(1)
endef endef

View File

@ -0,0 +1,17 @@
--- a/Modules/FindLibLZMA.cmake
+++ b/Modules/FindLibLZMA.cmake
@@ -43,7 +43,13 @@ This module will set the following varia
version number as a string (ex: "5.0.3")
#]=======================================================================]
-find_path(LIBLZMA_INCLUDE_DIR lzma.h )
+if(UNIX)
+ find_package(PkgConfig QUIET)
+ pkg_search_module(PC_liblzma liblzma)
+endif()
+
+find_path(LIBLZMA_INCLUDE_DIR lzma.h HINTS ${PC_liblzma_INCLUDEDIR} ${PC_liblzma_INCLUDE_DIRS})
+find_library(LIBLZMA_LIBRARY NAMES lzma HINTS ${PC_liblzma_LIBDIR} ${PC_liblzma_LIBRARY_DIRS})
if(NOT LIBLZMA_LIBRARY)
find_library(LIBLZMA_LIBRARY_RELEASE NAMES lzma liblzma NAMES_PER_DIR PATH_SUFFIXES lib)
find_library(LIBLZMA_LIBRARY_DEBUG NAMES lzmad liblzmad NAMES_PER_DIR PATH_SUFFIXES lib)

View File

@ -20,7 +20,7 @@ Signed-off-by: Jo-Philipp Wich <jo@mein.io>
--- ---
--- a/Utilities/cmcurl/CMakeLists.txt --- a/Utilities/cmcurl/CMakeLists.txt
+++ b/Utilities/cmcurl/CMakeLists.txt +++ b/Utilities/cmcurl/CMakeLists.txt
@@ -565,6 +565,14 @@ if(CMAKE_USE_OPENSSL) @@ -594,6 +594,14 @@ if(CURL_USE_OPENSSL)
endif() endif()
set(SSL_ENABLED ON) set(SSL_ENABLED ON)
set(USE_OPENSSL ON) set(USE_OPENSSL ON)

View File

@ -1,6 +1,6 @@
--- a/bootstrap --- a/bootstrap
+++ b/bootstrap +++ b/bootstrap
@@ -1423,7 +1423,10 @@ int main(){ printf("1%c", (char)0x0a); r @@ -1441,7 +1441,10 @@ int main(){ printf("1%c", (char)0x0a); r
' > "test.c" ' > "test.c"
cmake_original_make_flags="${cmake_make_flags}" cmake_original_make_flags="${cmake_make_flags}"
if test "x${cmake_parallel_make}" != "x"; then if test "x${cmake_parallel_make}" != "x"; then

View File

@ -0,0 +1,20 @@
--- a/Modules/FindZLIB.cmake
+++ b/Modules/FindZLIB.cmake
@@ -85,10 +85,13 @@ else()
set(ZLIB_NAMES_DEBUG zd zlibd zdlld zlibd1 zlib1d zlibstaticd zlibwapid zlibvcd zlibstatd)
endif()
-# Try each search configuration.
-foreach(search ${_ZLIB_SEARCHES})
- find_path(ZLIB_INCLUDE_DIR NAMES zlib.h ${${search}} PATH_SUFFIXES include)
-endforeach()
+if(UNIX)
+ find_package(PkgConfig QUIET)
+ pkg_search_module(PC_zlib zlib)
+endif()
+
+find_path(ZLIB_INCLUDE_DIR zlib.h HINTS ${PC_zlib_INCLUDEDIR} ${PC_zlib_INCLUDE_DIRS})
+find_library(ZLIB_LIBRARY NAMES z HINTS ${PC_zlib_LIBDIR} ${PC_zlib_LIBRARY_DIRS})
# Allow ZLIB_LIBRARY to be set manually, as the location of the zlib library
if(NOT ZLIB_LIBRARY)

View File

@ -0,0 +1,18 @@
--- a/Utilities/cmlibarchive/CMakeLists.txt
+++ b/Utilities/cmlibarchive/CMakeLists.txt
@@ -630,8 +630,13 @@ IF(ENABLE_ZSTD)
SET(ZSTD_FIND_QUIETLY TRUE)
ENDIF (ZSTD_INCLUDE_DIR)
- FIND_PATH(ZSTD_INCLUDE_DIR zstd.h)
- FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd libzstd)
+ IF(UNIX)
+ FIND_PACKAGE(PkgConfig QUIET)
+ PKG_SEARCH_MODULE(PC_ZSTD libzstd)
+ ENDIF()
+
+ FIND_PATH(ZSTD_INCLUDE_DIR zstd.h HINTS ${PC_ZSTD_INCLUDEDIR} ${PC_ZSTD_INCLUDE_DIRS})
+ FIND_LIBRARY(ZSTD_LIBRARY NAMES zstd HINTS ${PC_ZSTD_LIBDIR} ${PC_ZSTD_LIBRARY_DIRS})
INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(ZSTD DEFAULT_MSG ZSTD_LIBRARY ZSTD_INCLUDE_DIR)
ELSE(ENABLE_ZSTD)