aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPhoebe <20694052+PhoebeHui@users.noreply.github.com>2020-08-21 15:44:23 -0700
committerGitHub <noreply@github.com>2020-08-21 15:44:23 -0700
commit791a18385a697c37c5bbbe9da0bdbb38644097b4 (patch)
tree5f8ab66906ef968fae83833e326a13690db1cabe
parentfc7bab58e266ad6283ccbc3f2c668c8a2439b456 (diff)
downloadvcpkg-791a18385a697c37c5bbbe9da0bdbb38644097b4.tar.gz
vcpkg-791a18385a697c37c5bbbe9da0bdbb38644097b4.zip
[gdal] Fix static build issue (#12541)
-rw-r--r--ports/gdal/portfile.cmake15
-rw-r--r--ports/gdal/usage5
-rw-r--r--ports/gdal/vcpkg-cmake-wrapper.cmake12
3 files changed, 27 insertions, 5 deletions
diff --git a/ports/gdal/portfile.cmake b/ports/gdal/portfile.cmake
index 1339604c8..6717285df 100644
--- a/ports/gdal/portfile.cmake
+++ b/ports/gdal/portfile.cmake
@@ -211,9 +211,11 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
if (VCPKG_LIBRARY_LINKAGE STREQUAL static)
list(APPEND NMAKE_OPTIONS CURL_CFLAGS=-DCURL_STATICLIB)
+ list(APPEND NMAKE_OPTIONS DLLBUILD=0)
else()
# Enables PDBs for release and debug builds
list(APPEND NMAKE_OPTIONS WITH_PDB=1)
+ list(APPEND NMAKE_OPTIONS DLLBUILD=1)
endif()
if (VCPKG_CRT_LINKAGE STREQUAL static)
@@ -254,7 +256,7 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
"PG_LIB=${PGSQL_LIBRARY_DBG} Secur32.lib Shell32.lib Advapi32.lib Crypt32.lib Gdi32.lib ${OPENSSL_LIBRARY_DBG}"
DEBUG=1
)
-
+
# Begin build process
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
################
@@ -304,12 +306,12 @@ if (VCPKG_TARGET_IS_WINDOWS OR VCPKG_TARGET_IS_UWP)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/bin)
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "release")
- file(COPY ${SOURCE_PATH_RELEASE}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
+ file(COPY ${SOURCE_PATH_RELEASE}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/lib)
endif()
if(NOT DEFINED VCPKG_BUILD_TYPE OR VCPKG_BUILD_TYPE STREQUAL "debug")
- file(COPY ${SOURCE_PATH_DEBUG}/gdal_i.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
- file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_i.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdal_id.lib)
+ file(COPY ${SOURCE_PATH_DEBUG}/gdal.lib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/lib)
+ file(RENAME ${CURRENT_PACKAGES_DIR}/debug/lib/gdal.lib ${CURRENT_PACKAGES_DIR}/debug/lib/gdald.lib)
endif()
else()
@@ -421,5 +423,8 @@ else() # Other build system
message(FATAL_ERROR "Unsupport build system.")
endif()
+file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/usage DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT})
+configure_file(${CMAKE_CURRENT_LIST_DIR}/vcpkg-cmake-wrapper.cmake ${CURRENT_PACKAGES_DIR}/share/${PORT}/vcpkg-cmake-wrapper.cmake @ONLY)
+
# Handle copyright
-configure_file(${SOURCE_PATH_RELEASE}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY) \ No newline at end of file
+configure_file(${SOURCE_PATH_RELEASE}/LICENSE.TXT ${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright COPYONLY)
diff --git a/ports/gdal/usage b/ports/gdal/usage
new file mode 100644
index 000000000..2ee0072ac
--- /dev/null
+++ b/ports/gdal/usage
@@ -0,0 +1,5 @@
+The package GDAL provides CMake targets:
+
+ find_package(GDAL REQUIRED)
+ target_include_directories(main PRIVATE ${GDAL_INCLUDE_DIR})
+ target_link_libraries(main PRIVATE ${GDAL_LIBRARY}) \ No newline at end of file
diff --git a/ports/gdal/vcpkg-cmake-wrapper.cmake b/ports/gdal/vcpkg-cmake-wrapper.cmake
new file mode 100644
index 000000000..ba3c6926e
--- /dev/null
+++ b/ports/gdal/vcpkg-cmake-wrapper.cmake
@@ -0,0 +1,12 @@
+include(FindPackageHandleStandardArgs)
+include(SelectLibraryConfigurations)
+
+find_path(GDAL_INCLUDE_DIR NAMES gdal.h HINTS ${CURRENT_INSTALLED_DIR})
+
+find_library(GDAL_LIBRARY_DEBUG NAMES gdald libgdal NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}/debug" NO_DEFAULT_PATH REQUIRED)
+find_library(GDAL_LIBRARY_RELEASE NAMES gdal libgdal NAMES_PER_DIR PATH_SUFFIXES lib PATHS "${_VCPKG_INSTALLED_DIR}/${VCPKG_TARGET_TRIPLET}" NO_DEFAULT_PATH REQUIRED)
+
+select_library_configurations(GDAL)
+
+set(GDAL_INCLUDE_DIR ${GDAL_INCLUDE_DIR})
+set(GDAL_LIBRARY ${GDAL_LIBRARY}) \ No newline at end of file