vcpkg/ports/dlib/fix-dependencies.patch

140 lines
5.0 KiB
Diff

diff --git a/dlib/CMakeLists.txt b/dlib/CMakeLists.txt
index 0c7f43b..2c69a29 100644
--- a/dlib/CMakeLists.txt
+++ b/dlib/CMakeLists.txt
@@ -603,6 +603,7 @@ if (NOT TARGET dlib)
if (DLIB_USE_BLAS)
if (blas_found)
list (APPEND dlib_needed_public_libraries ${blas_libraries})
+ string(APPEND pkg_config_dlib_requires_private " blas")
else()
set(DLIB_USE_BLAS OFF CACHE STRING ${DLIB_USE_BLAS_STR} FORCE )
toggle_preprocessor_switch(DLIB_USE_BLAS)
@@ -612,6 +613,7 @@ if (NOT TARGET dlib)
if (DLIB_USE_LAPACK)
if (lapack_found)
list (APPEND dlib_needed_public_libraries ${lapack_libraries})
+ string(APPEND pkg_config_dlib_requires_private " lapack")
if (lapack_with_underscore)
set(LAPACK_FORCE_UNDERSCORE 1)
enable_preprocessor_switch(LAPACK_FORCE_UNDERSCORE)
@@ -719,6 +721,10 @@ if (NOT TARGET dlib)
if (DLIB_LINK_WITH_SQLITE3)
+ find_package(unofficial-sqlite3 CONFIG REQUIRED)
+ list(APPEND dlib_needed_public_libraries unofficial::sqlite3::sqlite3)
+ string(APPEND pkg_config_dlib_requires_private " sqlite3")
+ elseif(0)
find_library(sqlite sqlite3)
# make sure sqlite3.h is in the include path
find_path(sqlite_path sqlite3.h)
@@ -734,6 +740,10 @@ if (NOT TARGET dlib)
if (DLIB_USE_FFTW)
+ find_package(FFTW3 CONFIG REQUIRED)
+ list(APPEND dlib_needed_public_libraries FFTW3::fftw3)
+ string(APPEND pkg_config_dlib_requires_private " fftw3")
+ elseif(0)
find_library(fftw fftw3)
# make sure fftw3.h is in the include path
find_path(fftw_path fftw3.h)
@@ -877,6 +887,8 @@ if (NOT TARGET dlib)
## dlib-1.pc generation and installation
+ string (REGEX REPLACE " m " " -lm " pkg_config_dlib_needed_libraries "${pkg_config_dlib_needed_libraries} ")
+ string (REGEX REPLACE "[^ ]*::[^ ]*" "" pkg_config_dlib_needed_libraries "${pkg_config_dlib_needed_libraries}")
configure_file("cmake_utils/dlib.pc.in" "dlib-1.pc" @ONLY)
install(FILES "${CMAKE_CURRENT_BINARY_DIR}/dlib-1.pc"
DESTINATION "${CMAKE_INSTALL_LIBDIR}/pkgconfig")
@@ -890,7 +902,7 @@ if (NOT TARGET dlib)
endif()
-if (MSVC)
+if (0)
# Give the output library files names that are unique functions of the
# visual studio mode that compiled them. We do this so that people who
# compile dlib and then copy the .lib files around (which they shouldn't be
diff --git a/dlib/cmake_utils/dlib.pc.in b/dlib/cmake_utils/dlib.pc.in
index 9060110..8820f33 100644
--- a/dlib/cmake_utils/dlib.pc.in
+++ b/dlib/cmake_utils/dlib.pc.in
@@ -6,3 +6,4 @@ Description: Numerical and networking C++ library
Version: @VERSION@
Libs: -L${libdir} -ldlib @pkg_config_dlib_needed_libraries@
Cflags: -I${includedir} @pkg_config_dlib_needed_includes@
+Requires.private: @pkg_config_dlib_requires_private@
diff --git a/dlib/cmake_utils/dlibConfig.cmake.in b/dlib/cmake_utils/dlibConfig.cmake.in
index 4f7ea1e..24755ce 100644
--- a/dlib/cmake_utils/dlibConfig.cmake.in
+++ b/dlib/cmake_utils/dlibConfig.cmake.in
@@ -12,6 +12,18 @@
# ===================================================================================
+include(CMakeFindDependencyMacro)
+find_dependency(BLAS)
+find_dependency(LAPACK)
+if("@DLIB_USE_FFTW@")
+ find_dependency(FFTW3 CONFIG)
+endif()
+if("@DLIB_LINK_WITH_SQLITE3@")
+ find_dependency(unofficial-sqlite3 CONFIG)
+endif()
+if("@DLIB_USE_CUDA@")
+ find_dependency(CUDAToolkit)
+endif()
# Our library dependencies (contains definitions for IMPORTED targets)
@@ -35,10 +47,6 @@ set(dlib_LIBRARIES dlib::dlib)
set(dlib_LIBS dlib::dlib)
set(dlib_INCLUDE_DIRS "@CMAKE_INSTALL_FULL_INCLUDEDIR@" "@dlib_needed_includes@")
-if (@DLIB_USE_CUDA@)
- find_package(CUDAToolkit)
-endif()
-
mark_as_advanced(dlib_LIBRARIES)
mark_as_advanced(dlib_LIBS)
mark_as_advanced(dlib_INCLUDE_DIRS)
diff --git a/dlib/cmake_utils/find_blas.cmake b/dlib/cmake_utils/find_blas.cmake
index bdd98cd..0040b0f 100644
--- a/dlib/cmake_utils/find_blas.cmake
+++ b/dlib/cmake_utils/find_blas.cmake
@@ -32,7 +32,7 @@ SET(lapack_without_underscore 0)
message(STATUS "Searching for BLAS and LAPACK")
INCLUDE(CheckFunctionExists)
-if (UNIX OR MINGW)
+if (0)
message(STATUS "Searching for BLAS and LAPACK")
if (BUILDING_MATLAB_MEX_FILE)
@@ -296,7 +296,7 @@ if (UNIX OR MINGW)
-elseif(WIN32 AND NOT MINGW)
+elseif(0)
message(STATUS "Searching for BLAS and LAPACK")
include(CheckTypeSize)
@@ -435,11 +435,13 @@ endif()
if (NOT blas_found)
find_package(BLAS QUIET)
if (${BLAS_FOUND})
+ set(BLAS_LIBRARIES BLAS::BLAS)
set(blas_libraries ${BLAS_LIBRARIES})
set(blas_found 1)
if (NOT lapack_found)
find_package(LAPACK QUIET)
if (${LAPACK_FOUND})
+ set(LAPACK_LIBRARIES LAPACK::LAPACK)
set(lapack_libraries ${LAPACK_LIBRARIES})
set(lapack_found 1)
endif()