aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRichy HBM <RichyHBM@users.noreply.github.com>2019-09-11 22:52:07 +0100
committerCurtis J Bezault <curtbezault@gmail.com>2019-09-11 14:52:07 -0700
commit1e7303d4c52468fbb24a0d3418ff033d2585d18d (patch)
treeda7936f5176116a9a286670f47a405fb130ff8db
parentb6bc3f306c295fd2c5c613029a91c05eead3dc94 (diff)
downloadvcpkg-1e7303d4c52468fbb24a0d3418ff033d2585d18d.tar.gz
vcpkg-1e7303d4c52468fbb24a0d3418ff033d2585d18d.zip
Adding WREN to vcpkg (#7242)
* First pass wren port * Add warnings defs, dont specifically use static * Revert warnings * See if bringing back new lines fixes windows build issues * Try force static * Remove STATIC * Force static
-rw-r--r--ports/wren/CMakeLists.txt50
-rw-r--r--ports/wren/CONTROL4
-rw-r--r--ports/wren/portfile.cmake27
3 files changed, 81 insertions, 0 deletions
diff --git a/ports/wren/CMakeLists.txt b/ports/wren/CMakeLists.txt
new file mode 100644
index 000000000..b57a6a907
--- /dev/null
+++ b/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/ports/wren/CONTROL b/ports/wren/CONTROL
new file mode 100644
index 000000000..7ea85e165
--- /dev/null
+++ b/ports/wren/CONTROL
@@ -0,0 +1,4 @@
+Source: wren
+Version: 2019-07-01
+Homepage: https://github.com/wren-lang/wren
+Description: Wren is a small, fast, class-based concurrent scripting language.
diff --git a/ports/wren/portfile.cmake b/ports/wren/portfile.cmake
new file mode 100644
index 000000000..dbd71b8df
--- /dev/null
+++ b/ports/wren/portfile.cmake
@@ -0,0 +1,27 @@
+vcpkg_check_linkage(ONLY_STATIC_LIBRARY)
+
+vcpkg_from_github(
+ OUT_SOURCE_PATH SOURCE_PATH
+ REPO wren-lang/wren
+ REF d1a0d0682ac072fa20f2dcca356dac06565e93a1
+ SHA512 d6b7555da10ea209d04308467563ec401f699a22ca8524e4ae65fd050b0403c5e70430047dbb6a883b8021ab50525c17bb63d76543e7c59dfe4b521cfde6c413
+ HEAD_REF master
+)
+
+file(COPY ${CMAKE_CURRENT_LIST_DIR}/CMakeLists.txt DESTINATION ${SOURCE_PATH})
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}
+ PREFER_NINJA
+ OPTIONS
+ -DCOMPILE_AS_CPP=OFF
+)
+
+vcpkg_install_cmake()
+
+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()