mirror of
https://github.com/microsoft/vcpkg.git
synced 2024-11-28 02:22:52 +08:00
[pagmo2] Add new port (#15682)
* [pagmo2] Add new port * Disable C4701 * Disable /MD override for all static builds * Add pagmo2 port_version info * Find TBB when finding pagmo * Fixup pagmo2 port version * Change /Md patch to if(0) * Fix port_version for pagmo2 * Use vcpkg.json; use version * Reformat vcpkg.json * Fix port_versions for pagmo2
This commit is contained in:
parent
4d136ef25f
commit
a8a07972db
@ -4376,6 +4376,10 @@
|
||||
"baseline": "2020-12-14",
|
||||
"port-version": 0
|
||||
},
|
||||
"pagmo2": {
|
||||
"baseline": "2.16.1",
|
||||
"port-version": 0
|
||||
},
|
||||
"paho-mqtt": {
|
||||
"baseline": "1.3.8",
|
||||
"port-version": 0
|
||||
|
9
port_versions/p-/pagmo2.json
Normal file
9
port_versions/p-/pagmo2.json
Normal file
@ -0,0 +1,9 @@
|
||||
{
|
||||
"versions": [
|
||||
{
|
||||
"git-tree": "ea29ee58051fba73e950597ca2b0109dd6df0dec",
|
||||
"version": "2.16.1",
|
||||
"port-version": 0
|
||||
}
|
||||
]
|
||||
}
|
13
ports/pagmo2/disable-C4701.patch
Normal file
13
ports/pagmo2/disable-C4701.patch
Normal file
@ -0,0 +1,13 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 96653ba..1afaafa 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -80,7 +80,7 @@ endif()
|
||||
if(YACMA_COMPILER_IS_MSVC)
|
||||
# Disable the idiotic minmax macros on MSVC, some annoying warnings,
|
||||
# enable the bigobj option and the WIN32_LEAN_AND_MEAN definition.
|
||||
- list(APPEND PAGMO_CXX_FLAGS_DEBUG "-DNOMINMAX" "/wd4459" "/wd4127" "/wd4702" "/wd4251" "/bigobj" "-DWIN32_LEAN_AND_MEAN")
|
||||
+ list(APPEND PAGMO_CXX_FLAGS_DEBUG "-DNOMINMAX" "/wd4459" "/wd4127" "/wd4702" "/wd4251" "/wd4701" "/bigobj" "-DWIN32_LEAN_AND_MEAN")
|
||||
list(APPEND PAGMO_CXX_FLAGS_RELEASE "-DNOMINMAX" "/wd4459" "/wd4127" "/wd4702" "/wd4251" "/bigobj" "-DWIN32_LEAN_AND_MEAN")
|
||||
# Enable strict conformance mode, if supported.
|
||||
set(CMAKE_REQUIRED_QUIET TRUE)
|
20
ports/pagmo2/disable-md-override.patch
Normal file
20
ports/pagmo2/disable-md-override.patch
Normal file
@ -0,0 +1,20 @@
|
||||
diff --git a/CMakeLists.txt b/CMakeLists.txt
|
||||
index 96653ba..549d9d4 100644
|
||||
--- a/CMakeLists.txt
|
||||
+++ b/CMakeLists.txt
|
||||
@@ -141,6 +141,7 @@ endif()
|
||||
# Boost setup.
|
||||
include(PagmoFindBoost)
|
||||
|
||||
+if(0)
|
||||
# Explanation: on MSVC, when building static libraries, it is good practice to link
|
||||
# to the static runtime. CMake, however, is hard-coded to link to the dynamic runtime.
|
||||
# Hence we hackishly replace the /MD flag with /MT. This is the approach suggested
|
||||
@@ -161,6 +162,7 @@ if(YACMA_COMPILER_IS_MSVC AND PAGMO_BUILD_STATIC_LIBRARY)
|
||||
endif()
|
||||
endforeach()
|
||||
endif()
|
||||
+endif()
|
||||
|
||||
# List of source files.
|
||||
set(PAGMO_SRC_FILES
|
12
ports/pagmo2/find-tbb.patch
Normal file
12
ports/pagmo2/find-tbb.patch
Normal file
@ -0,0 +1,12 @@
|
||||
diff --git a/pagmo-config.cmake.in b/pagmo-config.cmake.in
|
||||
index 9553fc8..cb5e90b 100644
|
||||
--- a/pagmo-config.cmake.in
|
||||
+++ b/pagmo-config.cmake.in
|
||||
@@ -8,6 +8,7 @@ set(THREADS_PREFER_PTHREAD_FLAG YES)
|
||||
find_package(Threads REQUIRED)
|
||||
unset(THREADS_PREFER_PTHREAD_FLAG)
|
||||
include(PagmoFindBoost)
|
||||
+find_package(TBB REQUIRED)
|
||||
@_PAGMO_CONFIG_OPTIONAL_DEPS@
|
||||
# Restore original module path.
|
||||
set(CMAKE_MODULE_PATH "${_PAGMO_CONFIG_OLD_MODULE_PATH}")
|
36
ports/pagmo2/portfile.cmake
Normal file
36
ports/pagmo2/portfile.cmake
Normal file
@ -0,0 +1,36 @@
|
||||
vcpkg_from_github(
|
||||
OUT_SOURCE_PATH SOURCE_PATH
|
||||
REPO esa/pagmo2
|
||||
REF v2.16.1
|
||||
SHA512 dac85a8525316e827df809d187d40f14dc20db7119796b7384d7855f83ba37e0bb595f6d8199053aac857460816929dd599c9d43802f2ed920a6f42dd2f16a03
|
||||
HEAD_REF master
|
||||
PATCHES
|
||||
"disable-C4701.patch"
|
||||
"disable-md-override.patch"
|
||||
"find-tbb.patch"
|
||||
)
|
||||
|
||||
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
|
||||
FEATURES
|
||||
nlopt PAGMO_WITH_NLOPT
|
||||
)
|
||||
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" PAGMO_BUILD_STATIC_LIBRARY)
|
||||
vcpkg_configure_cmake(
|
||||
SOURCE_PATH ${SOURCE_PATH}
|
||||
PREFER_NINJA
|
||||
OPTIONS
|
||||
${FEATURE_OPTIONS}
|
||||
-DPAGMO_WITH_EIGEN3=ON
|
||||
-DPAGMO_BUILD_STATIC_LIBRARY=${PAGMO_BUILD_STATIC_LIBRARY}
|
||||
)
|
||||
|
||||
vcpkg_install_cmake()
|
||||
|
||||
vcpkg_copy_pdbs()
|
||||
vcpkg_fixup_cmake_targets(CONFIG_PATH lib/cmake/pagmo)
|
||||
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/share)
|
||||
file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
|
||||
|
||||
file(INSTALL ${SOURCE_PATH}/COPYING.lgpl3 DESTINATION ${CURRENT_PACKAGES_DIR}/share/${PORT} RENAME copyright)
|
||||
|
21
ports/pagmo2/vcpkg.json
Normal file
21
ports/pagmo2/vcpkg.json
Normal file
@ -0,0 +1,21 @@
|
||||
{
|
||||
"name": "pagmo2",
|
||||
"version": "2.16.1",
|
||||
"description": "A C++ platform to perform parallel computations of optimisation tasks (global and local) via the asynchronous generalized island model.",
|
||||
"homepage": "https://esa.github.io/pagmo2/",
|
||||
"dependencies": [
|
||||
"boost-any",
|
||||
"boost-graph",
|
||||
"boost-serialization",
|
||||
"eigen3",
|
||||
"tbb"
|
||||
],
|
||||
"features": {
|
||||
"nlopt": {
|
||||
"description": "Enable the NLopt wrappers",
|
||||
"dependencies": [
|
||||
"nlopt"
|
||||
]
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user