aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/geotrans
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/geotrans')
-rw-r--r--vcpkg/ports/geotrans/CMakeLists.txt151
-rw-r--r--vcpkg/ports/geotrans/geotrans-config.in.cmake7
-rw-r--r--vcpkg/ports/geotrans/portfile.cmake36
-rw-r--r--vcpkg/ports/geotrans/usage11
-rw-r--r--vcpkg/ports/geotrans/vcpkg.json14
5 files changed, 219 insertions, 0 deletions
diff --git a/vcpkg/ports/geotrans/CMakeLists.txt b/vcpkg/ports/geotrans/CMakeLists.txt
new file mode 100644
index 0000000..f2deeda
--- /dev/null
+++ b/vcpkg/ports/geotrans/CMakeLists.txt
@@ -0,0 +1,151 @@
+cmake_minimum_required(VERSION 3.10)
+project(geotrans CXX)
+
+file(GLOB_RECURSE DTCC_CPP CCS/src/dtcc/*.cpp)
+include_directories(
+CCS/src/CoordinateConversion
+CCS/src/dtcc
+CCS/src/dtcc/CoordinateSystemParameters
+CCS/src/dtcc/CoordinateSystems
+CCS/src/dtcc/CoordinateSystems/albers
+CCS/src/dtcc/CoordinateSystems/azeq
+CCS/src/dtcc/CoordinateSystems/bng
+CCS/src/dtcc/CoordinateSystems/bonne
+CCS/src/dtcc/CoordinateSystems/cassini
+CCS/src/dtcc/CoordinateSystems/cyleqa
+CCS/src/dtcc/CoordinateSystems/datum
+CCS/src/dtcc/CoordinateSystems/eckert4
+CCS/src/dtcc/CoordinateSystems/eckert6
+CCS/src/dtcc/CoordinateSystems/ellipse
+CCS/src/dtcc/CoordinateSystems/eqdcyl
+CCS/src/dtcc/CoordinateSystems/gars
+CCS/src/dtcc/CoordinateSystems/geocent
+CCS/src/dtcc/CoordinateSystems/georef
+CCS/src/dtcc/CoordinateSystems/gnomonic
+CCS/src/dtcc/CoordinateSystems/grinten
+CCS/src/dtcc/CoordinateSystems/lambert
+CCS/src/dtcc/CoordinateSystems/loccart
+CCS/src/dtcc/CoordinateSystems/locspher
+CCS/src/dtcc/CoordinateSystems/mercator
+CCS/src/dtcc/CoordinateSystems/mgrs
+CCS/src/dtcc/CoordinateSystems/miller
+CCS/src/dtcc/CoordinateSystems/misc
+CCS/src/dtcc/CoordinateSystems/mollweid
+CCS/src/dtcc/CoordinateSystems/neys
+CCS/src/dtcc/CoordinateSystems/nzmg
+CCS/src/dtcc/CoordinateSystems/omerc
+CCS/src/dtcc/CoordinateSystems/orthogr
+CCS/src/dtcc/CoordinateSystems/polarst
+CCS/src/dtcc/CoordinateSystems/polycon
+CCS/src/dtcc/CoordinateSystems/sinusoid
+CCS/src/dtcc/CoordinateSystems/spherical
+CCS/src/dtcc/CoordinateSystems/stereogr
+CCS/src/dtcc/CoordinateSystems/threads
+CCS/src/dtcc/CoordinateSystems/tranmerc
+CCS/src/dtcc/CoordinateSystems/trcyleqa
+CCS/src/dtcc/CoordinateSystems/ups
+CCS/src/dtcc/CoordinateSystems/usng
+CCS/src/dtcc/CoordinateSystems/utm
+CCS/src/dtcc/CoordinateSystems/webmerc
+CCS/src/dtcc/CoordinateTuples
+CCS/src/dtcc/Enumerations
+CCS/src/dtcc/Exception
+)
+set(DTCC_INCLUDES
+include/CoordinateConversion
+include/dtcc/
+include/dtcc/CoordinateSystemParameters
+include/dtcc/CoordinateSystems
+include/dtcc/CoordinateSystems/albers
+include/dtcc/CoordinateSystems/azeq
+include/dtcc/CoordinateSystems/bng
+include/dtcc/CoordinateSystems/bonne
+include/dtcc/CoordinateSystems/cassini
+include/dtcc/CoordinateSystems/cyleqa
+include/dtcc/CoordinateSystems/datum
+include/dtcc/CoordinateSystems/eckert4
+include/dtcc/CoordinateSystems/eckert6
+include/dtcc/CoordinateSystems/ellipse
+include/dtcc/CoordinateSystems/eqdcyl
+include/dtcc/CoordinateSystems/gars
+include/dtcc/CoordinateSystems/geocent
+include/dtcc/CoordinateSystems/georef
+include/dtcc/CoordinateSystems/gnomonic
+include/dtcc/CoordinateSystems/grinten
+include/dtcc/CoordinateSystems/lambert
+include/dtcc/CoordinateSystems/loccart
+include/dtcc/CoordinateSystems/locspher
+include/dtcc/CoordinateSystems/mercator
+include/dtcc/CoordinateSystems/mgrs
+include/dtcc/CoordinateSystems/miller
+include/dtcc/CoordinateSystems/misc
+include/dtcc/CoordinateSystems/mollweid
+include/dtcc/CoordinateSystems/neys
+include/dtcc/CoordinateSystems/nzmg
+include/dtcc/CoordinateSystems/omerc
+include/dtcc/CoordinateSystems/orthogr
+include/dtcc/CoordinateSystems/polarst
+include/dtcc/CoordinateSystems/polycon
+include/dtcc/CoordinateSystems/sinusoid
+include/dtcc/CoordinateSystems/spherical
+include/dtcc/CoordinateSystems/stereogr
+include/dtcc/CoordinateSystems/threads
+include/dtcc/CoordinateSystems/tranmerc
+include/dtcc/CoordinateSystems/trcyleqa
+include/dtcc/CoordinateSystems/ups
+include/dtcc/CoordinateSystems/usng
+include/dtcc/CoordinateSystems/utm
+include/dtcc/CoordinateSystems/webmerc
+include/dtcc/CoordinateTuples
+include/dtcc/Enumerations
+include/dtcc/Exception
+)
+
+if(WIN32)
+ add_definitions(-DLITTLE_ENDIAN)
+endif()
+
+add_library(MSPdtcc ${DTCC_CPP})
+add_library(MSPCoordinateConversionService CCS/src/CoordinateConversion/CoordinateConversionService.cpp ${DTCC_CPP})
+
+target_include_directories(MSPdtcc INTERFACE "$<INSTALL_INTERFACE:${DTCC_INCLUDES}>")
+target_include_directories(MSPCoordinateConversionService INTERFACE $<INSTALL_INTERFACE:include/CoordinateConversion>)
+
+if(WIN32)
+ if (BUILD_SHARED_LIBS)
+ add_definitions(
+ -DMSP_CCS_EXPORTS
+ -D_USRDLL
+ )
+ endif()
+ add_definitions(-D_CRT_SECURE_NO_WARNINGS)
+else()
+ find_package(Threads REQUIRED)
+ target_link_libraries(MSPdtcc PRIVATE Threads::Threads ${CMAKE_DL_LIBS})
+endif()
+
+
+install(
+ TARGETS MSPdtcc
+ EXPORT geotrans
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(
+ TARGETS MSPCoordinateConversionService
+ EXPORT geotrans
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+)
+
+install(DIRECTORY "${CMAKE_SOURCE_DIR}/CCS/src/"
+ DESTINATION "include"
+ CONFIGURATIONS Release
+ FILES_MATCHING
+ PATTERN "*.h"
+)
+
+install(EXPORT geotrans NAMESPACE geotrans:: DESTINATION share/geotrans CONFIGURATIONS Release)
diff --git a/vcpkg/ports/geotrans/geotrans-config.in.cmake b/vcpkg/ports/geotrans/geotrans-config.in.cmake
new file mode 100644
index 0000000..f25224c
--- /dev/null
+++ b/vcpkg/ports/geotrans/geotrans-config.in.cmake
@@ -0,0 +1,7 @@
+
+if("@VCPKG_LIBRARY_LINKAGE@" STREQUAL "static" AND NOT WIN32)
+ include(CMakeFindDependencyMacro)
+ find_dependency(Threads)
+endif()
+
+include(${CMAKE_CURRENT_LIST_DIR}/geotrans.cmake)
diff --git a/vcpkg/ports/geotrans/portfile.cmake b/vcpkg/ports/geotrans/portfile.cmake
new file mode 100644
index 0000000..f402db9
--- /dev/null
+++ b/vcpkg/ports/geotrans/portfile.cmake
@@ -0,0 +1,36 @@
+set(VCPKG_LIBRARY_LINKAGE "dynamic")
+
+# We specify the Linux URL, but the only difference between the Windows/Linux packages are the included libraries
+# which we re-build anyway. There is no source only package provided or it would be preferred (and smaller).
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://earth-info.nga.mil/php/download.php?file=wgs-mastertgz"
+ FILENAME "geotrans-3.10-master-501325b.tgz"
+ SHA512 501e25b80bd92a9651a6879ee42768abff9871cec3c79d457b0e74940e6fd3a477d98568dea0c4a4da2aa251ada11e17ab76edf5bcbdbde68e0e5cfe1813491f
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+
+configure_file(
+ "${CMAKE_CURRENT_LIST_DIR}/geotrans-config.in.cmake"
+ "${CURRENT_PACKAGES_DIR}/share/${PORT}/geotrans-config.cmake"
+ @ONLY
+)
+
+configure_file("${CMAKE_CURRENT_LIST_DIR}/usage" "${CURRENT_PACKAGES_DIR}/share/${PORT}" @ONLY)
+
+# Handle copyright
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/GEOTRANS3/docs/MSP_Geotrans_Terms_Of_Use.txt")
+
+# Install the geo model data
+file(COPY "${SOURCE_PATH}/data" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}")
diff --git a/vcpkg/ports/geotrans/usage b/vcpkg/ports/geotrans/usage
new file mode 100644
index 0000000..13533b4
--- /dev/null
+++ b/vcpkg/ports/geotrans/usage
@@ -0,0 +1,11 @@
+The package geotrans provides CMake targets:
+
+ find_package(geotrans CONFIG REQUIRED)
+ target_link_libraries(main PRIVATE geotrans::MSPdtcc geotrans::MSPCoordinateConversionService)
+
+
+The geotrans library depends on being able to read it's model data so you'll need to
+set an environment variable to let geotrans know where the models are installed:
+
+export MSPCCS_DATA=<path_to_vcpkg_installed>/share/@PORT@/data
+
diff --git a/vcpkg/ports/geotrans/vcpkg.json b/vcpkg/ports/geotrans/vcpkg.json
new file mode 100644
index 0000000..6af264e
--- /dev/null
+++ b/vcpkg/ports/geotrans/vcpkg.json
@@ -0,0 +1,14 @@
+{
+ "name": "geotrans",
+ "version": "3.10",
+ "description": "GEOTRANS is an application that allows you to convert geographic coordinates among a wide variety of coordinate systems, map projections, grids, and datums. GEOTRANS runs in Microsoft Windows and LINUX environments.",
+ "homepage": "https://earth-info.nga.mil/GandG/update/index.php?action=home",
+ "license": null,
+ "supports": "!uwp & !osx",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}