aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/hungarian
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/hungarian')
-rw-r--r--vcpkg/ports/hungarian/CMakeLists.txt29
-rw-r--r--vcpkg/ports/hungarian/LICENSE.txt24
-rw-r--r--vcpkg/ports/hungarian/portfile.cmake28
-rw-r--r--vcpkg/ports/hungarian/vcpkg.json16
4 files changed, 97 insertions, 0 deletions
diff --git a/vcpkg/ports/hungarian/CMakeLists.txt b/vcpkg/ports/hungarian/CMakeLists.txt
new file mode 100644
index 0000000..dc0098c
--- /dev/null
+++ b/vcpkg/ports/hungarian/CMakeLists.txt
@@ -0,0 +1,29 @@
+cmake_minimum_required (VERSION 3.8)
+project (hungarian C)
+
+add_library(hungarian
+ ${CMAKE_CURRENT_LIST_DIR}/libhungarian/hungarian.h
+ ${CMAKE_CURRENT_LIST_DIR}/libhungarian/hungarian.c
+)
+
+target_include_directories(hungarian PUBLIC
+ $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}/libhungarian>
+ $<INSTALL_INTERFACE:include>
+)
+
+set_target_properties(hungarian PROPERTIES PUBLIC_HEADER ${CMAKE_CURRENT_LIST_DIR}/libhungarian/hungarian.h)
+
+install(
+ TARGETS hungarian
+ EXPORT hungarian
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib
+ PUBLIC_HEADER DESTINATION include
+)
+
+install(EXPORT hungarian
+ DESTINATION "share/hungarian"
+ FILE hungarianConfig.cmake
+ NAMESPACE hungarian::
+)
diff --git a/vcpkg/ports/hungarian/LICENSE.txt b/vcpkg/ports/hungarian/LICENSE.txt
new file mode 100644
index 0000000..9255ea6
--- /dev/null
+++ b/vcpkg/ports/hungarian/LICENSE.txt
@@ -0,0 +1,24 @@
+/********************************************************************
+ ********************************************************************
+ **
+ ** libhungarian by Cyrill Stachniss, 2004
+ **
+ **
+ ** Solving the Minimum Assignment Problem using the
+ ** Hungarian Method.
+ **
+ ** ** This file may be freely copied and distributed! **
+ **
+ ** Parts of the used code was originally provided by the
+ ** "Stanford GraphGase", but I made changes to this code.
+ ** As asked by the copyright node of the "Stanford GraphGase",
+ ** I hereby proclaim that this file are *NOT* part of the
+ ** "Stanford GraphGase" distrubition!
+ **
+ ** This file is distributed in the hope that it will be useful,
+ ** but WITHOUT ANY WARRANTY; without even the implied
+ ** warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
+ ** PURPOSE.
+ **
+ ********************************************************************
+ ********************************************************************/
diff --git a/vcpkg/ports/hungarian/portfile.cmake b/vcpkg/ports/hungarian/portfile.cmake
new file mode 100644
index 0000000..c988428
--- /dev/null
+++ b/vcpkg/ports/hungarian/portfile.cmake
@@ -0,0 +1,28 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://www2.informatik.uni-freiburg.de/~stachnis/misc/libhungarian-v${VERSION}.tgz"
+ FILENAME "libhungarian-v${VERSION}.tgz"
+ SHA512 1fa105e351c307c07bb96892c9d4c44b167d92cbed80962a8653ac35b8afe00fcf5dcc2d920b95671d6c3cd86745362a64dd8dc173623a8179006e2c7b2cbc69
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ NO_REMOVE_ONE_LEVEL
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+# Handle copyright
+file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)
diff --git a/vcpkg/ports/hungarian/vcpkg.json b/vcpkg/ports/hungarian/vcpkg.json
new file mode 100644
index 0000000..9021ac2
--- /dev/null
+++ b/vcpkg/ports/hungarian/vcpkg.json
@@ -0,0 +1,16 @@
+{
+ "name": "hungarian",
+ "version": "0.1.3",
+ "port-version": 3,
+ "description": "C-implementation of the Hungarian Method: finding the optimal assignment (assigning a set of jobs to a set of machines) in O(n^3), where n=max{#jobs, #machines}. The implementation is a sligntly enhanced version of the implementation provided by the Stanford GraphBase",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}