diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/zimpl | |
Diffstat (limited to 'vcpkg/ports/zimpl')
| -rw-r--r-- | vcpkg/ports/zimpl/libm.diff | 13 | ||||
| -rw-r--r-- | vcpkg/ports/zimpl/msvc.diff | 48 | ||||
| -rw-r--r-- | vcpkg/ports/zimpl/portfile.cmake | 40 | ||||
| -rw-r--r-- | vcpkg/ports/zimpl/vcpkg.json | 25 |
4 files changed, 126 insertions, 0 deletions
diff --git a/vcpkg/ports/zimpl/libm.diff b/vcpkg/ports/zimpl/libm.diff new file mode 100644 index 0000000..6b340cc --- /dev/null +++ b/vcpkg/ports/zimpl/libm.diff @@ -0,0 +1,13 @@ +diff --git a/zimpl/CMakeLists.txt b/zimpl/CMakeLists.txt +index 7cf9d85..07fa187 100644 +--- a/zimpl/CMakeLists.txt ++++ b/zimpl/CMakeLists.txt +@@ -151,6 +151,8 @@ include(CheckSymbolExists) + find_library(libm m) + if(NOT libm) + set(libm "") ++else() ++ set(libm m) + endif() + + set(libs ${libs} ${libm}) diff --git a/vcpkg/ports/zimpl/msvc.diff b/vcpkg/ports/zimpl/msvc.diff new file mode 100644 index 0000000..46f326b --- /dev/null +++ b/vcpkg/ports/zimpl/msvc.diff @@ -0,0 +1,48 @@ +diff --git a/zimpl/CMakeLists.txt b/zimpl/CMakeLists.txt +index 7cf9d85..85d33a7 100644 +--- a/zimpl/CMakeLists.txt ++++ b/zimpl/CMakeLists.txt +@@ -4,7 +4,7 @@ project(ZIMPL + VERSION 3.6.1 + LANGUAGES C) + +-if(CMAKE_BUILD_TYPE STREQUAL "Debug") ++if(CMAKE_BUILD_TYPE STREQUAL "Debug" AND NOT WIN32) + # if changing these flags, also update GCCWARN/GXXWARN in make/make.project + set(ADD_C_FLAGS -Wall -Wextra -Wno-unknown-pragmas -Wpointer-arith -Wcast-align -Wwrite-strings -Winline -Wshadow -Wstrict-prototypes -Wmissing-prototypes -Wmissing-noreturn -Wmissing-declarations -fno-omit-frame-pointer) + +@@ -112,7 +112,6 @@ if(MSVC) + ) + + foreach(variable ${variables}) +- string(REGEX REPLACE "/M[T,D][ d]" "" ${variable} "${${variable}}") + # message("${variable} = ${${variable}}") + endforeach() + endif() +@@ -128,9 +127,11 @@ if(ZLIB_FOUND) + include_directories(${ZLIB_INCLUDE_DIRS}) + else() + add_definitions(-DWITHOUT_ZLIB) ++endif() + +- # look for pcre if ZLIB could not be found +- find_package(PCRE) ++if(WIN32) ++ find_package(PCRE NAMES pcre2 REQUIRED) ++ set(PCRE_LIBRARIES "$<TARGET_NAME:PCRE2::POSIX>") + if(PCRE_FOUND) + add_definitions(-DWITH_PCRE) + add_definitions(-DPCRE2_STATIC) +diff --git a/zimpl/zimpl-config.cmake.in b/zimpl/zimpl-config.cmake.in +index b653f0c..946f6f2 100644 +--- a/zimpl/zimpl-config.cmake.in ++++ b/zimpl/zimpl-config.cmake.in +@@ -1,3 +1,8 @@ ++if(WIN32) ++ include(CMakeFindDependencyMacro) ++ find_dependency(pcre2) ++endif() ++ + if(NOT TARGET libzimpl) + include("${CMAKE_CURRENT_LIST_DIR}/zimpl-targets.cmake") + endif() diff --git a/vcpkg/ports/zimpl/portfile.cmake b/vcpkg/ports/zimpl/portfile.cmake new file mode 100644 index 0000000..d9811b2 --- /dev/null +++ b/vcpkg/ports/zimpl/portfile.cmake @@ -0,0 +1,40 @@ +vcpkg_check_linkage(ONLY_STATIC_LIBRARY) + +# The latest version of ZIMPL is included in the SCIP Optimization Suite. +set(scipoptsuite_version 9.1.0) +vcpkg_download_distfile(ARCHIVE + URLS "https://scipopt.org/download/release/scipoptsuite-${scipoptsuite_version}.tgz" + SHA512 03c1c49dd5e4dbc5bfd4f07305937079773f6912c87b0ba86166fc02996928e8d23332137a944f16f2488a88dc12a4a2c6ebde216eb4532135ed282a182bfdaf + FILENAME "scipoptsuite-${scipoptsuite_version}.tgz" +) +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" + PATCHES + libm.diff + msvc.diff +) + +vcpkg_find_acquire_program(BISON) +vcpkg_find_acquire_program(FLEX) + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}/zimpl" + OPTIONS + -DBREW=false + "-DBISON_EXECUTABLE=${BISON}" + "-DFLEX_EXECUTABLE=${FLEX}" + -DCMAKE_REQUIRE_FIND_PACKAGE_ZLIB=1 + MAYBE_UNUSED_VARIABLES + BREW +) +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/zimpl) +vcpkg_copy_tools(TOOL_NAMES zimpl AUTO_CLEAN) + +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/share/zimpl/zimpl-config.cmake" "../../../include" "../../include") +vcpkg_replace_string("${CURRENT_PACKAGES_DIR}/include/zimpl/mmlparse2.h" "${CURRENT_BUILDTREES_DIR}/${TARGET_TRIPLET}-rel/src/zimpl/" "") + +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include") + +vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/zimpl/LICENSE") diff --git a/vcpkg/ports/zimpl/vcpkg.json b/vcpkg/ports/zimpl/vcpkg.json new file mode 100644 index 0000000..0e4d3a4 --- /dev/null +++ b/vcpkg/ports/zimpl/vcpkg.json @@ -0,0 +1,25 @@ +{ + "name": "zimpl", + "version": "3.6.1", + "port-version": 1, + "description": "Zuse Institut Mathematical Programming Language", + "homepage": "https://zimpl.zib.de/", + "license": "LGPL-3.0-or-later", + "supports": "!uwp", + "dependencies": [ + "gmp", + { + "name": "pcre2", + "platform": "windows" + }, + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + }, + "zlib" + ] +} |