diff options
Diffstat (limited to 'vcpkg/ports/liblemon')
| -rw-r--r-- | vcpkg/ports/liblemon/fix-cmake.patch | 78 | ||||
| -rw-r--r-- | vcpkg/ports/liblemon/fix-cmake4.patch | 19 | ||||
| -rw-r--r-- | vcpkg/ports/liblemon/portfile.cmake | 45 | ||||
| -rw-r--r-- | vcpkg/ports/liblemon/vcpkg.json | 18 |
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 + } + ] +} |