diff options
Diffstat (limited to 'vcpkg/ports/lpeg')
| -rw-r--r-- | vcpkg/ports/lpeg/CMakeLists.txt | 51 | ||||
| -rw-r--r-- | vcpkg/ports/lpeg/lpeg.def | 3 | ||||
| -rw-r--r-- | vcpkg/ports/lpeg/portfile.cmake | 33 | ||||
| -rw-r--r-- | vcpkg/ports/lpeg/unofficial-lpeg-config.cmake.in | 5 | ||||
| -rw-r--r-- | vcpkg/ports/lpeg/usage | 13 | ||||
| -rw-r--r-- | vcpkg/ports/lpeg/vcpkg.json | 19 |
6 files changed, 124 insertions, 0 deletions
diff --git a/vcpkg/ports/lpeg/CMakeLists.txt b/vcpkg/ports/lpeg/CMakeLists.txt new file mode 100644 index 0000000..b35118b --- /dev/null +++ b/vcpkg/ports/lpeg/CMakeLists.txt @@ -0,0 +1,51 @@ +cmake_minimum_required(VERSION 3.11)
+project(lpeg)
+
+find_path(LUA_INCLUDE_DIR lua.h PATH_SUFFIXES lua)
+find_library(LUA_LIBRARY lua)
+set(LPEG_INCLUDES ${LUA_INCLUDE_DIR})
+set(LPEG_LIBRARIES ${LUA_LIBRARY})
+
+add_library(lpeg
+ lpvm.c
+ lptree.c
+ lpprint.c
+ lpcap.c
+ lpcode.c
+ lpcset.c
+ lpeg.def)
+
+target_include_directories(lpeg PRIVATE ${LPEG_INCLUDES})
+target_link_libraries(lpeg PRIVATE ${LPEG_LIBRARIES})
+
+install(TARGETS lpeg
+ EXPORT unofficial-lpeg-targets
+ RUNTIME DESTINATION bin
+ LIBRARY DESTINATION lib
+ ARCHIVE DESTINATION lib)
+install(FILES re.lua DESTINATION share/lua)
+
+include(CMakePackageConfigHelpers)
+
+configure_package_config_file(
+ "${CMAKE_CURRENT_SOURCE_DIR}/unofficial-${PROJECT_NAME}-config.cmake.in"
+ "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config.cmake"
+ INSTALL_DESTINATION "share/unofficial-${PROJECT_NAME}"
+)
+
+set(VERSION_FILE_PATH "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config-version.cmake")
+write_basic_package_version_file(
+ "${VERSION_FILE_PATH}"
+ VERSION "${LPEG_VERSION}"
+ COMPATIBILITY SameMajorVersion
+)
+
+install(
+ FILES "${CMAKE_CURRENT_BINARY_DIR}/unofficial-${PROJECT_NAME}-config.cmake"
+ DESTINATION "share/unofficial-${PROJECT_NAME}"
+)
+
+install(
+ EXPORT "unofficial-${PROJECT_NAME}-targets"
+ NAMESPACE "unofficial::${PROJECT_NAME}::"
+ DESTINATION "share/unofficial-${PROJECT_NAME}")
diff --git a/vcpkg/ports/lpeg/lpeg.def b/vcpkg/ports/lpeg/lpeg.def new file mode 100644 index 0000000..c4c1285 --- /dev/null +++ b/vcpkg/ports/lpeg/lpeg.def @@ -0,0 +1,3 @@ +LIBRARY lpeg +EXPORTS + luaopen_lpeg diff --git a/vcpkg/ports/lpeg/portfile.cmake b/vcpkg/ports/lpeg/portfile.cmake new file mode 100644 index 0000000..d9d513a --- /dev/null +++ b/vcpkg/ports/lpeg/portfile.cmake @@ -0,0 +1,33 @@ +vcpkg_download_distfile(ARCHIVE + URLS "https://www.inf.puc-rio.br/~roberto/lpeg/lpeg-${VERSION}.tar.gz" + FILENAME "lpeg-${VERSION}.tar.gz" + SHA512 01b2a4ceb2d110e143603bc63c84a59736ea735dd0ed9866286ba115d41be48d09c9ff21c8e2327974d2296944f6508d50a5c3a18f26ac1d81b8b2fc41f61222 +) + +vcpkg_extract_source_archive( + SOURCE_PATH + ARCHIVE "${ARCHIVE}" +) + +file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/lpeg.def" DESTINATION "${SOURCE_PATH}") +file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-lpeg-config.cmake.in" DESTINATION "${SOURCE_PATH}") + +vcpkg_cmake_configure( + SOURCE_PATH "${SOURCE_PATH}" + OPTIONS + "-DLPEG_VERSION=${VERSION}" +) + +vcpkg_cmake_install() +vcpkg_cmake_config_fixup(PACKAGE_NAME "unofficial-lpeg") + +# Remove debug share +file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share") + +# Handle copyright +file(INSTALL "${SOURCE_PATH}/lpeg.html" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) +file(INSTALL "${CMAKE_CURRENT_LIST_DIR}/usage" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}") + +# Allow empty include directory +set(VCPKG_POLICY_EMPTY_INCLUDE_FOLDER enabled) diff --git a/vcpkg/ports/lpeg/unofficial-lpeg-config.cmake.in b/vcpkg/ports/lpeg/unofficial-lpeg-config.cmake.in new file mode 100644 index 0000000..fcf6683 --- /dev/null +++ b/vcpkg/ports/lpeg/unofficial-lpeg-config.cmake.in @@ -0,0 +1,5 @@ +@PACKAGE_INIT@
+
+include("${CMAKE_CURRENT_LIST_DIR}/unofficial-lpeg-targets.cmake")
+set(UNOFFICIAL_LPEG_LUA_FILES "${PACKAGE_PREFIX_DIR}/share/lua/re.lua")
+check_required_components(lpeg)
diff --git a/vcpkg/ports/lpeg/usage b/vcpkg/ports/lpeg/usage new file mode 100644 index 0000000..19ef17b --- /dev/null +++ b/vcpkg/ports/lpeg/usage @@ -0,0 +1,13 @@ +lpeg provides CMake targets: + + find_package(unofficial-lpeg CONFIG REQUIRED) + target_link_libraries(main PRIVATE unofficial::lpeg::lpeg) + +UNOFFICIAL_LPEG_LUA_FILES will be set to the path of re.lua + + add_custom_command(TARGET main POST_BUILD + COMMAND ${CMAKE_COMMAND} -E copy + ${UNOFFICIAL_LPEG_LUA_FILES} + $<TARGET_FILE_DIR:main>) + + install(FILES ${UNOFFICIAL_LPEG_LUA_FILES} DESTINATION my_lua_path) diff --git a/vcpkg/ports/lpeg/vcpkg.json b/vcpkg/ports/lpeg/vcpkg.json new file mode 100644 index 0000000..905e192 --- /dev/null +++ b/vcpkg/ports/lpeg/vcpkg.json @@ -0,0 +1,19 @@ +{ + "name": "lpeg", + "version": "1.1.0", + "port-version": 1, + "description": "LPeg is a pattern-matching library for Lua, based on Parsing Expression Grammars (PEGs).", + "homepage": "https://www.inf.puc-rio.br/~roberto/lpeg", + "license": "MIT", + "dependencies": [ + "lua", + { + "name": "vcpkg-cmake", + "host": true + }, + { + "name": "vcpkg-cmake-config", + "host": true + } + ] +} |