aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPeter Spiess-Knafl <dev@spiessknafl.at>2018-06-19 07:35:23 +0200
committerRobert Schumacher <roschuma@microsoft.com>2018-06-19 07:35:23 +0200
commit89c736c3e4038518ed4256f774e428386e4f4351 (patch)
tree375d85f299d05232d8aee64bcddb6fe4ecbb4c1f
parent8e6b372f77acdd0decca812dff038e69a8294697 (diff)
downloadvcpkg-89c736c3e4038518ed4256f774e428386e4f4351.tar.gz
vcpkg-89c736c3e4038518ed4256f774e428386e4f4351.zip
Add argtable2 port (#3742)
* Add argtable2 port argtable2 include pdbs * [argtable2] Revert removal of DEBUG_POSTFIX
-rw-r--r--ports/argtable2/CONTROL3
-rw-r--r--ports/argtable2/fix-install-dirs.patch24
-rw-r--r--ports/argtable2/portfile.cmake32
3 files changed, 59 insertions, 0 deletions
diff --git a/ports/argtable2/CONTROL b/ports/argtable2/CONTROL
new file mode 100644
index 000000000..1d9b5bc0e
--- /dev/null
+++ b/ports/argtable2/CONTROL
@@ -0,0 +1,3 @@
+Source: argtable2
+Version: 2.13-1
+Description: Argtable is an ANSI C library for parsing GNU style command line options with a minimum of fuss.
diff --git a/ports/argtable2/fix-install-dirs.patch b/ports/argtable2/fix-install-dirs.patch
new file mode 100644
index 000000000..cc1b92543
--- /dev/null
+++ b/ports/argtable2/fix-install-dirs.patch
@@ -0,0 +1,24 @@
+diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
+index 3427487..a9b8be0 100644
+--- a/src/CMakeLists.txt
++++ b/src/CMakeLists.txt
+@@ -1,5 +1,4 @@
+-# for now, install in subdirectory of source directory by default
+-SET( CMAKE_INSTALL_PREFIX .. )
++include(GNUInstallDirs)
+
+ IF( WIN32 )
+ ADD_LIBRARY( argtable2 arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c )
+@@ -7,5 +6,9 @@ ELSE( WIN32 )
+ ADD_LIBRARY( argtable2 arg_date.c arg_dbl.c arg_end.c arg_file.c arg_int.c arg_lit.c arg_rem.c arg_rex.c arg_str.c argtable2.c argtable2.h getopt.c getopt.h getopt1.c )
+ ENDIF( WIN32 )
+
+-INSTALL( TARGETS argtable2 ARCHIVE DESTINATION lib)
+-SET_TARGET_PROPERTIES( argtable2 PROPERTIES DEBUG_POSTFIX d )
+\ No newline at end of file
++INSTALL(TARGETS argtable2
++ RUNTIME DESTINATION ${CMAKE_INSTALL_BINDIR}
++ LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
++ ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
++)
++INSTALL(FILES argtable2.h DESTINATION ${CMAKE_INSTALL_INCLUDEDIR})
diff --git a/ports/argtable2/portfile.cmake b/ports/argtable2/portfile.cmake
new file mode 100644
index 000000000..6123335ab
--- /dev/null
+++ b/ports/argtable2/portfile.cmake
@@ -0,0 +1,32 @@
+include(vcpkg_common_functions)
+set(SOURCE_PATH ${CURRENT_BUILDTREES_DIR}/src/argtable2-13)
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://prdownloads.sourceforge.net/argtable/argtable2-13.tar.gz"
+ FILENAME "argtable-2.13.zip"
+ SHA512 3d8303f3ba529e3241d918c0127a16402ece951efb964d14a06a3a7d29a252812ad3c44e96da28798871e9923e73a2cfe7ebc84139c1397817d632cae25c4585
+)
+
+vcpkg_extract_source_archive(${ARCHIVE})
+
+vcpkg_apply_patches(
+ SOURCE_PATH ${SOURCE_PATH}
+ PATCHES "${CMAKE_CURRENT_LIST_DIR}/fix-install-dirs.patch"
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ # Due to missing dllexport flags we export all symbols
+ -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS=TRUE
+ -DCMAKE_DEBUG_POSTFIX=d
+)
+
+vcpkg_install_cmake()
+vcpkg_copy_pdbs()
+
+# Remove duplicate include installs
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+
+# Handle copyright
+file(INSTALL ${SOURCE_PATH}/COPYING DESTINATION ${CURRENT_PACKAGES_DIR}/share/argtable2 RENAME copyright)