aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/liblemon
diff options
context:
space:
mode:
authorEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
committerEthan Morgan <ethan@gweithio.com>2026-02-14 16:44:06 +0000
commit54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch)
treed915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/liblemon
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/liblemon')
-rw-r--r--vcpkg/ports/liblemon/fix-cmake.patch78
-rw-r--r--vcpkg/ports/liblemon/fix-cmake4.patch19
-rw-r--r--vcpkg/ports/liblemon/portfile.cmake45
-rw-r--r--vcpkg/ports/liblemon/vcpkg.json18
4 files changed, 160 insertions, 0 deletions
diff --git a/vcpkg/ports/liblemon/fix-cmake.patch b/vcpkg/ports/liblemon/fix-cmake.patch
new file mode 100644
index 0000000..1771729
--- /dev/null
+++ b/vcpkg/ports/liblemon/fix-cmake.patch
@@ -0,0 +1,78 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 4406bc2..5717680 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -295,7 +295,7 @@ CONFIGURE_FILE(
+ ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
+ @ONLY
+ )
+-IF(UNIX)
++IF(UNIX OR TRUE)
+ INSTALL(
+ FILES ${PROJECT_BINARY_DIR}/cmake/LEMONConfig.cmake
+ DESTINATION share/lemon/cmake
+@@ -307,6 +307,13 @@ ELSEIF(WIN32)
+ )
+ ENDIF()
+
++install(
++ EXPORT lemon-targets
++ FILE lemon-targets.cmake
++ NAMESPACE unofficial::lemon::
++ DESTINATION share/lemon/cmake
++)
++
+ CONFIGURE_FILE(
+ ${PROJECT_SOURCE_DIR}/cmake/version.cmake.in
+ ${PROJECT_BINARY_DIR}/cmake/version.cmake
+diff --git a/cmake/LEMONConfig.cmake.in b/cmake/LEMONConfig.cmake.in
+index b0d2d8b..6bb662a 100644
+--- a/cmake/LEMONConfig.cmake.in
++++ b/cmake/LEMONConfig.cmake.in
+@@ -1,4 +1,4 @@
+-SET(LEMON_INCLUDE_DIR "@CMAKE_INSTALL_PREFIX@/include" CACHE PATH "LEMON include directory")
++SET(LEMON_INCLUDE_DIR "${CMAKE_CURRENT_LIST_DIR}/../../include" CACHE PATH "LEMON include directory")
+ SET(LEMON_INCLUDE_DIRS "${LEMON_INCLUDE_DIR}")
+
+ IF(UNIX)
+@@ -7,7 +7,12 @@ ELSEIF(WIN32)
+ SET(LEMON_LIB_NAME "lemon.lib")
+ ENDIF(UNIX)
+
+-SET(LEMON_LIBRARY "@CMAKE_INSTALL_PREFIX@/lib/${LEMON_LIB_NAME}" CACHE FILEPATH "LEMON library")
++SET(LEMON_LIBRARY
++ optimized "${CMAKE_CURRENT_LIST_DIR}/../../lib/${LEMON_LIB_NAME}"
++ debug "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib/${LEMON_LIB_NAME}"
++ CACHE FILEPATH "LEMON library")
+ SET(LEMON_LIBRARIES "${LEMON_LIBRARY}")
+
+ MARK_AS_ADVANCED(LEMON_LIBRARY LEMON_INCLUDE_DIR)
++
++INCLUDE(${CMAKE_CURRENT_LIST_DIR}/lemon-targets.cmake)
+diff --git a/lemon/CMakeLists.txt b/lemon/CMakeLists.txt
+index 4e6567e..ad6f5bf 100644
+--- a/lemon/CMakeLists.txt
++++ b/lemon/CMakeLists.txt
+@@ -56,6 +56,10 @@ ENDIF()
+
+ ADD_LIBRARY(lemon ${LEMON_SOURCES})
+
++INCLUDE(GNUInstallDirs)
++
++TARGET_INCLUDE_DIRECTORIES(lemon PUBLIC $<INSTALL_INTERFACE:${CMAKE_INSTALL_INCLUDEDIR}>)
++
+ TARGET_LINK_LIBRARIES(lemon
+ ${GLPK_LIBRARIES} ${COIN_LIBRARIES} ${ILOG_LIBRARIES} ${SOPLEX_LIBRARIES}
+ )
+@@ -71,6 +75,11 @@ INSTALL(
+ COMPONENT library
+ )
+
++install(TARGETS lemon EXPORT lemon-targets
++ LIBRARY DESTINATION lib
++ ARCHIVE DESTINATION lib
++)
++
+ INSTALL(
+ DIRECTORY . bits concepts
+ DESTINATION include/lemon
diff --git a/vcpkg/ports/liblemon/fix-cmake4.patch b/vcpkg/ports/liblemon/fix-cmake4.patch
new file mode 100644
index 0000000..0573e8e
--- /dev/null
+++ b/vcpkg/ports/liblemon/fix-cmake4.patch
@@ -0,0 +1,19 @@
+diff --git a/CMakeLists.txt b/CMakeLists.txt
+index 5717680e51..4a3992dafa 100644
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -1,14 +1,5 @@
+ CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
+
+-IF(POLICY CMP0048)
+- CMAKE_POLICY(SET CMP0048 OLD)
+-ENDIF(POLICY CMP0048)
+-
+-IF(POLICY CMP0026)
+- #This is for copying the dll's needed by glpk (in lp_test and mip_test)
+- CMAKE_POLICY(SET CMP0026 OLD)
+-ENDIF(POLICY CMP0026)
+-
+ SET(PROJECT_NAME "LEMON")
+ PROJECT(${PROJECT_NAME})
+
diff --git a/vcpkg/ports/liblemon/portfile.cmake b/vcpkg/ports/liblemon/portfile.cmake
new file mode 100644
index 0000000..e91f4e4
--- /dev/null
+++ b/vcpkg/ports/liblemon/portfile.cmake
@@ -0,0 +1,45 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+set(VERSION ed2c21cbd6ef)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "http://lemon.cs.elte.hu/hg/lemon/archive/${VERSION}.zip"
+ FILENAME "lemon-${VERSION}.zip"
+ SHA512 029640e4f791a18068cb2e2b4e794d09822d9d56fb957eb3e2cceae3a30065c0041a31c465637cfcadf7b2473564070b34adc88513439cdf9046831854e2aa70
+)
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ SOURCE_BASE "${VERSION}"
+ PATCHES
+ fix-cmake.patch
+ fix-cmake4.patch
+)
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCMAKE_CXX_STANDARD=14
+ -DLEMON_ENABLE_GLPK=OFF
+ -DLEMON_ENABLE_ILOG=OFF
+ -DLEMON_ENABLE_COIN=OFF
+ -DLEMON_ENABLE_SOPLEX=OFF
+)
+
+vcpkg_cmake_install()
+
+vcpkg_cmake_config_fixup(CONFIG_PATH share/lemon/cmake PACKAGE_NAME lemon)
+
+vcpkg_fixup_pkgconfig()
+
+file(GLOB EXE "${CURRENT_PACKAGES_DIR}/bin/*.exe")
+file(COPY ${EXE} DESTINATION "${CURRENT_PACKAGES_DIR}/tools/liblemon/")
+vcpkg_copy_tool_dependencies("${CURRENT_PACKAGES_DIR}/tools/liblemon")
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/share/doc")
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/LICENSE")
diff --git a/vcpkg/ports/liblemon/vcpkg.json b/vcpkg/ports/liblemon/vcpkg.json
new file mode 100644
index 0000000..02b40ba
--- /dev/null
+++ b/vcpkg/ports/liblemon/vcpkg.json
@@ -0,0 +1,18 @@
+{
+ "name": "liblemon",
+ "version-date": "2019-06-13",
+ "port-version": 10,
+ "description": "Library for Efficient Modeling and Optimization in Networks",
+ "homepage": "https://lemon.cs.elte.hu/trac/lemon",
+ "supports": "!uwp",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ },
+ {
+ "name": "vcpkg-cmake-config",
+ "host": true
+ }
+ ]
+}