aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHan Hu <huhan8807@gmail.com>2017-04-12 16:12:17 +0800
committerRobert Schumacher <roschuma@microsoft.com>2017-04-14 18:35:52 -0700
commitfe054b98c6c2e9d972a61138c6fa183cf7a9193e (patch)
treea4ae14ca632eb3526c3d4a81dc8f97875a68c369
parent804a882695c760c7ab54bae155687dc6242d5b48 (diff)
downloadvcpkg-fe054b98c6c2e9d972a61138c6fa183cf7a9193e.tar.gz
vcpkg-fe054b98c6c2e9d972a61138c6fa183cf7a9193e.zip
improve geographiclib by install cmake files.
-rw-r--r--ports/geographiclib/CONTROL2
-rw-r--r--ports/geographiclib/portfile.cmake33
-rw-r--r--ports/geographiclib/remove-tools-and-fix-version.patch43
3 files changed, 75 insertions, 3 deletions
diff --git a/ports/geographiclib/CONTROL b/ports/geographiclib/CONTROL
index a463ff055..836049a66 100644
--- a/ports/geographiclib/CONTROL
+++ b/ports/geographiclib/CONTROL
@@ -1,3 +1,3 @@
Source: geographiclib
-Version: 1.47-patch1-2
+Version: 1.47-patch1-3
Description: a small set of C++ classes for performing conversions between geographic, UTM, UPS, MGRS, geocentric, and local cartesian coordinates, for gravity (e.g., EGM2008), geoid height, and geomagnetic field (e.g., WMM2010) calculations, and for solving geodesic problems.
diff --git a/ports/geographiclib/portfile.cmake b/ports/geographiclib/portfile.cmake
index b636bb62e..96b633aec 100644
--- a/ports/geographiclib/portfile.cmake
+++ b/ports/geographiclib/portfile.cmake
@@ -18,6 +18,10 @@ vcpkg_download_distfile(ARCHIVE
SHA512 d8fdfd7ae093057ec1a4ab922457fe71a3fb9975df5b673c276d62a0e9c4f212dc63652830b9d89e3890bc96aafd335992943cf6a1bce8260acf932d1eb7abfd
)
vcpkg_extract_source_archive(${ARCHIVE})
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/remove-tools-and-fix-version.patch"
+)
if(VCPKG_LIBRARY_LINKAGE STREQUAL dynamic)
vcpkg_configure_cmake(
@@ -40,14 +44,39 @@ else()
endif()
vcpkg_install_cmake()
-file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake)
+file(MAKE_DIRECTORY ${CURRENT_PACKAGES_DIR}/share)
+file(GLOB GEOGRAPHICLIB_CMAKE_FILES ${CURRENT_PACKAGES_DIR}/cmake/*.cmake ${CURRENT_PACKAGES_DIR}/debug/cmake/*.cmake)
+file(COPY ${GEOGRAPHICLIB_CMAKE_FILES} DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib)
+
+file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/geographiclib-targets.cmake GEOGRAPHICLIB_MODULE)
+string(REPLACE "\${_IMPORT_PREFIX}/include" "\${_IMPORT_PREFIX}/../include" GEOGRAPHICLIB_MODULE "${GEOGRAPHICLIB_MODULE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-targets.cmake "${GEOGRAPHICLIB_MODULE}")
+
+file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/geographiclib-targets-debug.cmake GEOGRAPHICLIB_DEBUG_MODULE)
+string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/../debug" GEOGRAPHICLIB_DEBUG_MODULE "${GEOGRAPHICLIB_DEBUG_MODULE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-targets-debug.cmake "${GEOGRAPHICLIB_DEBUG_MODULE}")
+
+file(READ ${CURRENT_PACKAGES_DIR}/debug/cmake/geographiclib-namespace-targets-debug.cmake GEOGRAPHICLIB_DEBUG_MODULE)
+string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/../debug" GEOGRAPHICLIB_DEBUG_MODULE "${GEOGRAPHICLIB_DEBUG_MODULE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-namespace-targets-debug.cmake "${GEOGRAPHICLIB_DEBUG_MODULE}")
+
+
+file(READ ${CURRENT_PACKAGES_DIR}/cmake/geographiclib-targets-release.cmake GEOGRAPHICLIB_RELEASE_MODULE)
+string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/.." GEOGRAPHICLIB_RELEASE_MODULE "${GEOGRAPHICLIB_RELEASE_MODULE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-targets-release.cmake "${GEOGRAPHICLIB_RELEASE_MODULE}")
+
+file(READ ${CURRENT_PACKAGES_DIR}/cmake/geographiclib-namespace-targets-release.cmake GEOGRAPHICLIB_RELEASE_MODULE)
+string(REPLACE "\${_IMPORT_PREFIX}" "\${_IMPORT_PREFIX}/.." GEOGRAPHICLIB_RELEASE_MODULE "${GEOGRAPHICLIB_RELEASE_MODULE}")
+file(WRITE ${CURRENT_PACKAGES_DIR}/share/geographiclib/geographiclib-namespace-targets-release.cmake "${GEOGRAPHICLIB_RELEASE_MODULE}")
+
file(COPY ${CURRENT_BUILDTREES_DIR}/src/GeographicLib-1.47/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/geographiclib)
file(RENAME ${CURRENT_PACKAGES_DIR}/share/geographiclib/LICENSE.txt ${CURRENT_PACKAGES_DIR}/share/geographiclib/copyright)
file(GLOB EXE_FILES "${CURRENT_PACKAGES_DIR}/bin/*.exe" "${CURRENT_PACKAGES_DIR}/debug/bin/*.exe")
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/cmake)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
-file(REMOVE_RECURSE ${EXE_FILES})
+# file(REMOVE_RECURSE ${EXE_FILES})
diff --git a/ports/geographiclib/remove-tools-and-fix-version.patch b/ports/geographiclib/remove-tools-and-fix-version.patch
new file mode 100644
index 000000000..d7c7598e0
--- /dev/null
+++ b/ports/geographiclib/remove-tools-and-fix-version.patch
@@ -0,0 +1,43 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index e79923b..3448362 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -437,13 +437,13 @@ set_property (GLOBAL PROPERTY USE_FOLDERS ON)
+ # The list of subdirectories to process
+ add_subdirectory (src)
+ add_subdirectory (include/GeographicLib)
+-add_subdirectory (tools)
+-add_subdirectory (man)
+-add_subdirectory (doc)
+-add_subdirectory (js)
+-add_subdirectory (matlab)
+-add_subdirectory (python/geographiclib)
+-add_subdirectory (examples)
++# add_subdirectory (tools)
++# add_subdirectory (man)
++# add_subdirectory (doc)
++# add_subdirectory (js)
++# add_subdirectory (matlab)
++# add_subdirectory (python/geographiclib)
++# add_subdirectory (examples)
+ if (MSVC AND BUILD_NETGEOGRAPHICLIB)
+ if (GEOGRAPHICLIB_PRECISION EQUAL 2)
+ set (NETGEOGRAPHICLIB_LIBRARIES NETGeographicLib)
+diff --git a/cmake/project-config-version.cmake.in b/cmake/project-config-version.cmake.in
+index 3b3b9e8..a5ea344 100644
+--- a/cmake/project-config-version.cmake.in
++++ b/cmake/project-config-version.cmake.in
+@@ -18,10 +18,10 @@ elseif (NOT (APPLE OR (NOT DEFINED CMAKE_SIZEOF_VOID_P) OR
+ # since a multi-architecture library is built for that platform).
+ set (REASON "sizeof(*void) = @CMAKE_SIZEOF_VOID_P@")
+ set (PACKAGE_VERSION_UNSUITABLE TRUE)
+-elseif (MSVC AND NOT MSVC_VERSION STREQUAL "@MSVC_VERSION@")
++# elseif (MSVC AND NOT MSVC_VERSION STREQUAL "@MSVC_VERSION@")
+ # Reject if there's a mismatch in MSVC compiler versions
+- set (REASON "_MSC_VER = @MSVC_VERSION@")
+- set (PACKAGE_VERSION_UNSUITABLE TRUE)
++# set (REASON "_MSC_VER = @MSVC_VERSION@")
++# set (PACKAGE_VERSION_UNSUITABLE TRUE)
+ elseif (NOT CMAKE_CROSSCOMPILING STREQUAL "@CMAKE_CROSSCOMPILING@")
+ # Reject if there's a mismatch in ${CMAKE_CROSSCOMPILING}
+ set (REASON "cross-compiling = @CMAKE_CROSSCOMPILING@")