mirror of
https://github.com/microsoft/vcpkg.git
synced 2025-01-14 05:38:00 +08:00
[libhungarian] add port (#5849)
* [libhungarian] add port * [hungarian] fix cmake targets
This commit is contained in:
parent
3c4411b846
commit
f59ebe9102
29
ports/hungarian/CMakeLists.txt
Normal file
29
ports/hungarian/CMakeLists.txt
Normal file
@ -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::
|
||||
)
|
3
ports/hungarian/CONTROL
Normal file
3
ports/hungarian/CONTROL
Normal file
@ -0,0 +1,3 @@
|
||||
Source: hungarian
|
||||
Version: v0.1.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
|
24
ports/hungarian/LICENSE.txt
Normal file
24
ports/hungarian/LICENSE.txt
Normal file
@ -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.
|
||||
**
|
||||
********************************************************************
|
||||
********************************************************************/
|
31
ports/hungarian/portfile.cmake
Normal file
31
ports/hungarian/portfile.cmake
Normal file
@ -0,0 +1,31 @@
|
||||
include(vcpkg_common_functions)
|
||||
|
||||
vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
|
||||
|
||||
vcpkg_download_distfile(ARCHIVE
|
||||
URLS "http://www2.informatik.uni-freiburg.de/~stachnis/misc/libhungarian-v0.1.3.tgz"
|
||||
FILENAME "libhungarian-v0.1.3.tgz"
|
||||
SHA512 1fa105e351c307c07bb96892c9d4c44b167d92cbed80962a8653ac35b8afe00fcf5dcc2d920b95671d6c3cd86745362a64dd8dc173623a8179006e2c7b2cbc69
|
||||
)
|
||||
|
||||
vcpkg_extract_source_archive_ex(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
ARCHIVE ${ARCHIVE}
|
||||
NO_REMOVE_ONE_LEVEL
|
||||
)
|
||||
|
||||
file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
|
||||
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_fixup_cmake_targets()
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
# Handle copyright
|
||||
file(INSTALL ${CMAKE_CURRENT_LIST_DIR}/LICENSE.txt DESTINATION ${CURRENT_PACKAGES_DIR}/share/hungarian RENAME copyright)
|
Loading…
x
Reference in New Issue
Block a user