aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/wren
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/wren
move to own git serverHEADmaster
Diffstat (limited to 'vcpkg/ports/wren')
-rw-r--r--vcpkg/ports/wren/CMakeLists.txt50
-rw-r--r--vcpkg/ports/wren/portfile.cmake26
-rw-r--r--vcpkg/ports/wren/vcpkg.json13
3 files changed, 89 insertions, 0 deletions
diff --git a/vcpkg/ports/wren/CMakeLists.txt b/vcpkg/ports/wren/CMakeLists.txt
new file mode 100644
index 0000000..b57a6a9
--- /dev/null
+++ b/vcpkg/ports/wren/CMakeLists.txt
@@ -0,0 +1,50 @@
+# CMake taken from https://github.com/walterschell/wren/blob/cmake/CMakeLists.txt
+
+# Need transitive dependencies introduced in 2.8.12
+cmake_minimum_required(VERSION 2.8.12)
+
+project(Wren LANGUAGES "C")
+
+set(wren_warning_flags "-Wall" "-Wextra" "-Werror" "-Wno-unused-parameter")
+
+IF (WIN32)
+ ADD_DEFINITIONS (-D_CRT_SECURE_NO_WARNINGS )
+ENDIF ()
+
+set(opt_DIR "src/optional")
+set(vm_DIR "src/vm")
+
+# TODO: Don't glob
+file(GLOB opt_SRCS ${opt_DIR}/*.c)
+file(GLOB vm_SRCS ${vm_DIR}/*.c)
+
+set(wren_SRCS ${vm_SRCS} ${opt_SRCS})
+
+add_library(wren ${wren_SRCS})
+
+target_include_directories(wren PUBLIC src/include PRIVATE src/vm src/optional)
+
+target_link_libraries(wren INTERFACE m)
+
+target_compile_options(wren PRIVATE "-Wall")
+
+if (CMAKE_BUILD_TYPE STREQUAL "Debug")
+ target_compile_options(wren PUBLIC -DDEBUG)
+endif()
+
+
+INSTALL (TARGETS wren
+ RUNTIME DESTINATION ${CMAKE_INSTALL_PREFIX}/bin
+ LIBRARY DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
+ ARCHIVE DESTINATION ${CMAKE_INSTALL_PREFIX}/lib
+)
+
+
+IF (NOT DEFINED SKIP_INSTALL_HEADERS)
+ INSTALL(
+ FILES
+ src/include/wren.h
+ src/include/wren.hpp
+ DESTINATION include
+ )
+ENDIF ()
diff --git a/vcpkg/ports/wren/portfile.cmake b/vcpkg/ports/wren/portfile.cmake
new file mode 100644
index 0000000..d20b518
--- /dev/null
+++ b/vcpkg/ports/wren/portfile.cmake
@@ -0,0 +1,26 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wren-lang/wren
+ REF 4a18fc489f9ea3d253b20dd40f4cdad0d6bb40eb #0.4.0
+ SHA512 b3d79e9cb647e52db06d5cddfc8c93d05ae0e8d87f0f879ac2b812fcc7f55e018d21d3b04d62eaeb12e6d931b5e43fbe357b187e7f446e86e39be015c51c2eee
+ HEAD_REF master
+)
+
+file(COPY "${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt" DESTINATION "${SOURCE_PATH}")
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}"
+ OPTIONS
+ -DCOMPILE_AS_CPP=OFF
+)
+
+vcpkg_cmake_install()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+
+# Handle copyright
+configure_file("${SOURCE_PATH}/LICENSE" "${CURRENT_PACKAGES_DIR}/share/${PORT}/copyright" COPYONLY)
+
+vcpkg_copy_pdbs()
diff --git a/vcpkg/ports/wren/vcpkg.json b/vcpkg/ports/wren/vcpkg.json
new file mode 100644
index 0000000..4cb9889
--- /dev/null
+++ b/vcpkg/ports/wren/vcpkg.json
@@ -0,0 +1,13 @@
+{
+ "name": "wren",
+ "version": "0.4.0",
+ "description": "Wren is a small, fast, class-based concurrent scripting language.",
+ "homepage": "https://github.com/wren-lang/wren",
+ "license": "MIT",
+ "dependencies": [
+ {
+ "name": "vcpkg-cmake",
+ "host": true
+ }
+ ]
+}