[new port] squirrel (#18681)

* [new port] squirrel

* Add versions

* Fix squirrel portfile according to new standards

* Add version to squirrel

* Remove all files from /bin directory

* Update squirrel version

* Could not fix the execs in bin/ directory hence simply enforced dir removal

* Update versions

* Remove obsolete version

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* Remove trailing comma

* Remove bin files only when not using squirrel as library

* Do not remove bin dir when on win32 and dynamic linking because of dlls

* Fixing the bin directory cleanup for various platforms

* Update versions

* Smart remove bin directory for static vs dynamic build; add note on the binaries there

* Update version

* Define 'interpreter' feature which controls building sq and sq_static binaries

* Update version and revision of squirrel to the most recent one

* Update versions database

* Remove bin/ directory for static build

* Update versions database

* Apply suggestions from code review

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

* Update versions

* Fix interpreter tool

* Update versions

* Add patch to optionally build squirrel interpreter

* Update versions

* [new port] squirrel

Add versions

Fix squirrel portfile according to new standards

Add version to squirrel

Remove all files from /bin directory

Update squirrel version

Could not fix the execs in bin/ directory hence simply enforced dir removal

Update versions

Remove obsolete version

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

Remove trailing comma

Remove bin files only when not using squirrel as library

Do not remove bin dir when on win32 and dynamic linking because of dlls

Fixing the bin directory cleanup for various platforms

Update versions

Smart remove bin directory for static vs dynamic build; add note on the binaries there

Update version

Define 'interpreter' feature which controls building sq and sq_static binaries

Update version and revision of squirrel to the most recent one

Update versions database

Remove bin/ directory for static build

Update versions database

Apply suggestions from code review

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>

Update versions

Fix interpreter tool

Update versions

Add patch to optionally build squirrel interpreter

Update versions

Conditionally build sq and sq_static

Update versions

* Change line endings to LF

* Update versions

* Change line endings to LF

* Update versions

Co-authored-by: NancyLi1013 <46708020+NancyLi1013@users.noreply.github.com>
Co-authored-by: Artem Shubovych <artem.shubovych@thetradedesk.com>
This commit is contained in:
Artem Shubovych 2021-11-06 10:08:58 +11:00 committed by GitHub
parent 1ab6c8c7fa
commit 637c236d18
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 128 additions and 0 deletions

View File

@ -0,0 +1,41 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index dc35b6f..628c649 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -3,6 +3,7 @@ project(squirrel VERSION 3.1 LANGUAGES C CXX)
option(DISABLE_STATIC "Avoid building/installing static libraries.")
option(LONG_OUTPUT_NAMES "Use longer names for binaries and libraries: squirrel3 (not sq).")
+option(BUILD_SQ "Build sq interpreter.")
if (NOT CMAKE_BUILD_TYPE)
set(CMAKE_BUILD_TYPE "Release")
@@ -35,15 +36,24 @@ endif()
add_subdirectory(squirrel)
add_subdirectory(sqstdlib)
-add_subdirectory(sq)
+
+if(BUILD_SQ)
+ add_subdirectory(sq)
+endif()
if(CMAKE_SIZEOF_VOID_P EQUAL 8)
set(tgts)
if(NOT DISABLE_DYNAMIC)
- list(APPEND tgts squirrel sqstdlib sq)
+ list(APPEND tgts squirrel sqstdlib)
+ if(BUILD_SQ)
+ list(APPEND tgts sq)
+ endif()
endif()
if(NOT DISABLE_STATIC)
- list(APPEND tgts squirrel_static sqstdlib_static sq_static)
+ list(APPEND tgts squirrel_static sqstdlib_static)
+ if(BUILD_SQ)
+ list(APPEND tgts sq_static)
+ endif()
endif()
foreach(t ${tgts})
target_compile_definitions(${t} PUBLIC -D_SQ64)

View File

@ -0,0 +1,53 @@
vcpkg_from_github(
OUT_SOURCE_PATH SOURCE_PATH
REPO albertodemichelis/squirrel
HEAD_REF master
REF 23a0620658714b996d20da3d4dd1a0dcf9b0bd98
SHA512 205ba0b2b37ca2133f8c1b3024a3a34186697998714140d409006ae0f5facc76b2664dbbad33bbc51c86199e2524bd0cd905b8941e306db892a50a58f1b96371
PATCHES fix_optionally_build_sq.patch
)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "static" BUILD_STATIC)
string(COMPARE EQUAL "${VCPKG_LIBRARY_LINKAGE}" "dynamic" BUILD_DYNAMIC)
vcpkg_check_features(OUT_FEATURE_OPTIONS FEATURE_OPTIONS
FEATURES
"interpreter" BUILD_SQ
)
vcpkg_cmake_configure(
SOURCE_PATH "${SOURCE_PATH}"
OPTIONS
-DDISABLE_DYNAMIC=${DISABLE_DYNAMIC}
-DDISABLE_STATIC=${DISABLE_STATIC}
${FEATURE_OPTIONS}
)
vcpkg_cmake_install()
vcpkg_cmake_config_fixup(CONFIG_PATH lib/cmake/squirrel)
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/share")
if(BUILD_SQ)
if(BUILD_STATIC)
message(STATUS "Copying sq tool")
vcpkg_copy_tools(
TOOL_NAMES sq
AUTO_CLEAN
)
elseif(BUILD_DYNAMIC)
message(STATUS "Copying sq and sq_static tool")
vcpkg_copy_tools(
TOOL_NAMES sq sq_static
AUTO_CLEAN
)
endif()
endif()
if(VCPKG_LIBRARY_LINKAGE STREQUAL "static")
file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/bin" "${CURRENT_PACKAGES_DIR}/debug/bin")
endif()
file(INSTALL "${SOURCE_PATH}/COPYRIGHT" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright)

21
ports/squirrel/vcpkg.json Normal file
View File

@ -0,0 +1,21 @@
{
"name": "squirrel",
"version-date": "2021-09-17",
"description": "Squirrel is a high level imperative, object-oriented programming language, designed to be a light-weight scripting language that fits in the size, memory bandwidth, and real-time requirements of applications like video games.",
"homepage": "http://www.squirrel-lang.org",
"dependencies": [
{
"name": "vcpkg-cmake",
"host": true
},
{
"name": "vcpkg-cmake-config",
"host": true
}
],
"features": {
"interpreter": {
"description": "Build sq command-line interpreter"
}
}
}

View File

@ -6456,6 +6456,10 @@
"baseline": "0.30",
"port-version": 1
},
"squirrel": {
"baseline": "2021-09-17",
"port-version": 0
},
"sratom": {
"baseline": "0.6.4",
"port-version": 0

View File

@ -0,0 +1,9 @@
{
"versions": [
{
"git-tree": "a78b663e75b8e4c6e81a9110e3ddacd55a43f0ad",
"version-date": "2021-09-17",
"port-version": 0
}
]
}