mirror of https://github.com/ceph/ceph
win*.sh,cmake: Fix Windows linking errors
The Windows build is hitting linking errors after bumping the Boost version to 1.75. The issue is that Boost is now setting the zlib dependecy using INTERFACE_LINK_LIBRARIES, which means that it's no longer located using the standard "find_package" mechanism. In order for the linker to locate zlib, we'll add it to the linker search path. [1] https://github.com/boostorg/boost_install/issues/47 Signed-off-by: Lucian Petrut <lpetrut@cloudbasesolutions.com>
This commit is contained in:
parent
c6404e15cb
commit
0af38d179e
|
@ -52,6 +52,7 @@ if(MINGW)
|
|||
set(CMAKE_CXX_LINK_EXECUTABLE
|
||||
"<CMAKE_CXX_COMPILER> <FLAGS> <CMAKE_CXX_LINK_FLAGS> <LINK_FLAGS> <OBJECTS> -o <TARGET> ${CMAKE_GNULD_IMAGE_VERSION} <LINK_LIBRARIES>")
|
||||
|
||||
link_directories(${MINGW_LINK_DIRECTORIES})
|
||||
endif()
|
||||
|
||||
option(WITH_CCACHE "Build with ccache.")
|
||||
|
|
|
@ -96,6 +96,12 @@ dokanLibDir="${depsToolsetDir}/dokany/lib"
|
|||
depsDirs="$lz4Dir;$curlDir;$sslDir;$boostDir;$zlibDir;$backtraceDir;$snappyDir"
|
||||
depsDirs+=";$winLibDir"
|
||||
|
||||
# Cmake recommends using CMAKE_PREFIX_PATH instead of link_directories.
|
||||
# Still, some library dependencies may not include the full path (e.g. Boost
|
||||
# sets the "-lz" flag through INTERFACE_LINK_LIBRARIES), which is why
|
||||
# we have to ensure that the linker will be able to locate them.
|
||||
linkDirs="$zlibDir/lib"
|
||||
|
||||
lz4Lib="${lz4Dir}/lib/dll/liblz4-1.dll"
|
||||
lz4Include="${lz4Dir}/lib"
|
||||
curlLib="${curlDir}/lib/libcurl.dll.a"
|
||||
|
@ -149,6 +155,7 @@ fi
|
|||
# symbols. Until we fix the dependencies (which are either unspecified
|
||||
# or circular), we'll have to stick to static linking.
|
||||
cmake -D CMAKE_PREFIX_PATH=$depsDirs \
|
||||
-D MINGW_LINK_DIRECTORIES="$linkDirs" \
|
||||
-D CMAKE_TOOLCHAIN_FILE="$MINGW_CMAKE_FILE" \
|
||||
-D WITH_LIBCEPHSQLITE=OFF \
|
||||
-D WITH_RDMA=OFF -D WITH_OPENLDAP=OFF \
|
||||
|
|
Loading…
Reference in New Issue