vcpkg/ports/pdal/fix-dependency.patch
Jack·Boos·Yu 95d989c4a4 [pdal] fix static build (#9308)
* [pdal] fix static build

* update baseline

* [pdal] Re-fix find dependency geos

* [padl] Find library geos_c/libgeos_c instead of library geos/libgeos

* [pdal] Fix dependency boost

* update baseline
2020-01-06 12:44:46 -08:00

229 lines
7.0 KiB
Diff

diff --git a/cmake/geos.cmake b/cmake/geos.cmake
index 90b79d9..4e144a6 100644
--- a/cmake/geos.cmake
+++ b/cmake/geos.cmake
@@ -1,7 +1,11 @@
#
# GEOS (required)
#
-find_package(GEOS QUIET 3.3)
+include(SelectLibraryConfigurations)
+find_library(GEOS_LIBRARY_RELEASE NAMES geos_c libgeos_c)
+find_library(GEOS_LIBRARY_DEBUG NAMES geos_cd libgeos_cd)
+select_library_configurations(GEOS)
+find_path(GEOS_INCLUDE_DIR geos_c.h)
set_package_properties(GEOS PROPERTIES TYPE REQUIRED
PURPOSE "Provides general purpose geometry support")
diff --git a/cmake/modules/FindPostgreSQL.cmake b/cmake/modules/FindPostgreSQL.cmake
index 8178418..31b54d6 100644
--- a/cmake/modules/FindPostgreSQL.cmake
+++ b/cmake/modules/FindPostgreSQL.cmake
@@ -80,4 +80,11 @@ find_package_handle_standard_args(PostgreSQL
POSTGRESQL_LIBRARIES
POSTGRESQL_VERSION)
-mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES)
+include (CMakeFindDependencyMacro)
+find_package(OpenSSL REQUIRED)
+set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARIES} OpenSSL::SSL OpenSSL::Crypto)
+if (WIN32)
+ set(POSTGRESQL_LIBRARIES ${POSTGRESQL_LIBRARIES} Secur32)
+endif()
+
+mark_as_advanced(POSTGRESQL_INCLUDE_DIR POSTGRESQL_LIBRARIES)
\ No newline at end of file
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 42cca1e..43b0ced 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -174,7 +174,6 @@ if (WITH_TESTS)
add_subdirectory(test)
endif()
add_subdirectory(dimbuilder)
-add_subdirectory(vendor/pdalboost)
add_subdirectory(vendor/arbiter)
add_subdirectory(vendor/kazhdan)
if (NOT PDAL_HAVE_JSONCPP)
diff --git a/PDALConfig.cmake.in b/PDALConfig.cmake.in
index ea695cf..21b66a1 100644
--- a/PDALConfig.cmake.in
+++ b/PDALConfig.cmake.in
@@ -18,6 +18,7 @@ endforeach(_dir)
include(CMakeFindDependencyMacro)
find_dependency(GeoTIFF)
find_dependency(CURL)
+find_dependency(Boost COMPONENTS system filesystem)
include("${CMAKE_CURRENT_LIST_DIR}/PDALTargets.cmake")
if (WIN32)
diff --git a/pdal/util/CMakeLists.txt b/pdal/util/CMakeLists.txt
index 19a2dd1..d498080 100644
--- a/pdal/util/CMakeLists.txt
+++ b/pdal/util/CMakeLists.txt
@@ -8,6 +8,8 @@ endif()
include(${PDAL_CMAKE_DIR}/execinfo.cmake)
+find_package(Boost COMPONENTS system filesystem REQUIRED)
+
set(PDAL_UTIL_SOURCES
"${PDAL_UTIL_DIR}/Bounds.cpp"
"${PDAL_UTIL_DIR}/Charbuf.cpp"
@@ -16,14 +18,14 @@ set(PDAL_UTIL_SOURCES
"${PDAL_UTIL_DIR}/Utils.cpp"
)
-PDAL_ADD_FREE_LIBRARY(${PDAL_UTIL_LIB_NAME} SHARED ${PDAL_UTIL_SOURCES})
+PDAL_ADD_FREE_LIBRARY(${PDAL_UTIL_LIB_NAME} ${PDAL_UTIL_SOURCES})
target_link_libraries(${PDAL_UTIL_LIB_NAME}
PRIVATE
${EXECINFO_LIBRARY}
- ${PDAL_BOOST_LIB_NAME}
+ PUBLIC
+ Boost::system
+ Boost::filesystem
)
-target_include_directories(${PDAL_UTIL_LIB_NAME} PRIVATE
- ${PDAL_VENDOR_DIR}/pdalboost)
if (UNIX AND NOT APPLE)
target_link_libraries(${PDAL_UTIL_LIB_NAME}
diff --git a/pdal/util/FileUtils.cpp b/pdal/util/FileUtils.cpp
index 7679f22..b18b674 100644
--- a/pdal/util/FileUtils.cpp
+++ b/pdal/util/FileUtils.cpp
@@ -124,19 +124,19 @@ std::ostream *createFile(std::string const& name, bool asBinary)
bool directoryExists(const std::string& dirname)
{
//ABELL - Seems we should be calling is_directory
- return pdalboost::filesystem::exists(dirname);
+ return boost::filesystem::exists(dirname);
}
bool createDirectory(const std::string& dirname)
{
- return pdalboost::filesystem::create_directory(dirname);
+ return boost::filesystem::create_directory(dirname);
}
void deleteDirectory(const std::string& dirname)
{
- pdalboost::filesystem::remove_all(dirname);
+ boost::filesystem::remove_all(dirname);
}
@@ -146,15 +146,15 @@ std::vector<std::string> directoryList(const std::string& dir)
try
{
- pdalboost::filesystem::directory_iterator it(dir);
- pdalboost::filesystem::directory_iterator end;
+ boost::filesystem::directory_iterator it(dir);
+ boost::filesystem::directory_iterator end;
while (it != end)
{
files.push_back(it->path().string());
it++;
}
}
- catch (pdalboost::filesystem::filesystem_error)
+ catch (boost::filesystem::filesystem_error)
{
files.clear();
}
@@ -194,13 +194,13 @@ void closeFile(std::istream* in)
bool deleteFile(const std::string& file)
{
- return pdalboost::filesystem::remove(file);
+ return boost::filesystem::remove(file);
}
void renameFile(const std::string& dest, const std::string& src)
{
- pdalboost::filesystem::rename(src, dest);
+ boost::filesystem::rename(src, dest);
}
@@ -211,9 +211,9 @@ bool fileExists(const std::string& name)
try
{
- return pdalboost::filesystem::exists(name);
+ return boost::filesystem::exists(name);
}
- catch (pdalboost::filesystem::filesystem_error)
+ catch (boost::filesystem::filesystem_error)
{
}
return false;
@@ -222,7 +222,7 @@ bool fileExists(const std::string& name)
uintmax_t fileSize(const std::string& file)
{
- return pdalboost::filesystem::file_size(file);
+ return boost::filesystem::file_size(file);
}
@@ -243,7 +243,7 @@ std::string readFileIntoString(const std::string& filename)
std::string getcwd()
{
- const pdalboost::filesystem::path p = pdalboost::filesystem::current_path();
+ const boost::filesystem::path p = boost::filesystem::current_path();
return addTrailingSlash(p.string());
}
@@ -271,7 +271,7 @@ std::string toAbsolutePath(const std::string& filename)
// otherwise, make it absolute (relative to current working dir) and return that
std::string toAbsolutePath(const std::string& filename)
{
- return pdalboost::filesystem::absolute(filename).string();
+ return boost::filesystem::absolute(filename).string();
}
@@ -283,7 +283,7 @@ std::string toAbsolutePath(const std::string& filename)
std::string toAbsolutePath(const std::string& filename, const std::string base)
{
const std::string newbase = toAbsolutePath(base);
- return pdalboost::filesystem::absolute(filename, newbase).string();
+ return boost::filesystem::absolute(filename, newbase).string();
}
std::string getFilename(const std::string& path)
@@ -304,8 +304,8 @@ std::string getFilename(const std::string& path)
// Get the directory part of a filename.
std::string getDirectory(const std::string& path)
{
- const pdalboost::filesystem::path dir =
- pdalboost::filesystem::path(path).parent_path();
+ const boost::filesystem::path dir =
+ boost::filesystem::path(path).parent_path();
return addTrailingSlash(dir.string());
}
@@ -326,13 +326,13 @@ std::string stem(const std::string& path)
// Determine if the path represents a directory.
bool isDirectory(const std::string& path)
{
- return pdalboost::filesystem::is_directory(path);
+ return boost::filesystem::is_directory(path);
}
// Determine if the path is an absolute path
bool isAbsolutePath(const std::string& path)
{
- return pdalboost::filesystem::path(path).is_absolute();
+ return boost::filesystem::path(path).is_absolute();
}