aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJonas <dotchucknorris@gmx.de>2019-05-16 23:34:37 +0200
committerVictor Romero <romerosanchezv@gmail.com>2019-05-16 14:34:37 -0700
commit7cf8af8d3704d39729fb65813901b2317427e07b (patch)
tree4c8b226787d2de5f1eecb52e5fa3cfc4bac305c7
parentec46f021817f4bc3f3e9385e4d09b9db9cef2786 (diff)
downloadvcpkg-7cf8af8d3704d39729fb65813901b2317427e07b.tar.gz
vcpkg-7cf8af8d3704d39729fb65813901b2317427e07b.zip
[angelscript] Add new port (#6403)
* [angelscript] Add new port * [angelscript] Add version and description
-rw-r--r--ports/angelscript/CONTROL3
-rw-r--r--ports/angelscript/LICENSE13
-rw-r--r--ports/angelscript/mark-threads-private.patch13
-rw-r--r--ports/angelscript/portfile.cmake50
4 files changed, 79 insertions, 0 deletions
diff --git a/ports/angelscript/CONTROL b/ports/angelscript/CONTROL
new file mode 100644
index 000000000..7c12ea845
--- /dev/null
+++ b/ports/angelscript/CONTROL
@@ -0,0 +1,3 @@
+Source: angelscript
+Version: 2.33.0
+Description: The AngelCode Scripting Library, or AngelScript as it is also known, is an extremely flexible cross-platform scripting library designed to allow applications to extend their functionality through external scripts. It has been designed from the beginning to be an easy to use component, both for the application programmer and the script writer.
diff --git a/ports/angelscript/LICENSE b/ports/angelscript/LICENSE
new file mode 100644
index 000000000..27105b90d
--- /dev/null
+++ b/ports/angelscript/LICENSE
@@ -0,0 +1,13 @@
+AngelCode Scripting Library
+
+Copyright © 2003-2018 Andreas Jönsson
+
+This software is provided 'as-is', without any express or implied warranty. In no event will the authors be held liable for any damages arising from the use of this software.
+
+Permission is granted to anyone to use this software for any purpose, including commercial applications, and to alter it and redistribute it freely, subject to the following restrictions:
+
+ The origin of this software must not be misrepresented; you must not claim that you wrote the original software. If you use this software in a product, an acknowledgment in the product documentation would be appreciated but is not required.
+
+ Altered source versions must be plainly marked as such, and must not be misrepresented as being the original software.
+
+ This notice may not be removed or altered from any source distribution.
diff --git a/ports/angelscript/mark-threads-private.patch b/ports/angelscript/mark-threads-private.patch
new file mode 100644
index 000000000..567c19aa1
--- /dev/null
+++ b/ports/angelscript/mark-threads-private.patch
@@ -0,0 +1,13 @@
+diff --git a/angelscript/projects/cmake/CMakeLists.txt b/angelscript/projects/cmake/CMakeLists.txt
+index 7c800c5..982ad8b 100644
+--- a/angelscript/projects/cmake/CMakeLists.txt
++++ b/angelscript/projects/cmake/CMakeLists.txt
+@@ -145,7 +145,7 @@ endif()
+
+ # Don't override the default library output path to avoid conflicts when building for multiple target platforms
+ #set(LIBRARY_OUTPUT_PATH ${PROJECT_SOURCE_DIR}/../../lib)
+-target_link_libraries(${ANGELSCRIPT_LIBRARY_NAME} Threads::Threads)
++target_link_libraries(${ANGELSCRIPT_LIBRARY_NAME} PRIVATE Threads::Threads)
+
+ set_target_properties(${ANGELSCRIPT_LIBRARY_NAME} PROPERTIES VERSION ${PROJECT_VERSION})
+
diff --git a/ports/angelscript/portfile.cmake b/ports/angelscript/portfile.cmake
new file mode 100644
index 000000000..18128d220
--- /dev/null
+++ b/ports/angelscript/portfile.cmake
@@ -0,0 +1,50 @@
+# Common Ambient Variables:
+# CURRENT_BUILDTREES_DIR = ${VCPKG_ROOT_DIR}\buildtrees\${PORT}
+# CURRENT_PACKAGES_DIR = ${VCPKG_ROOT_DIR}\packages\${PORT}_${TARGET_TRIPLET}
+# CURRENT_PORT_DIR = ${VCPKG_ROOT_DIR}\ports\${PORT}
+# PORT = current port name (zlib, etc)
+# TARGET_TRIPLET = current triplet (x86-windows, x64-windows-static, etc)
+# VCPKG_CRT_LINKAGE = C runtime linkage type (static, dynamic)
+# VCPKG_LIBRARY_LINKAGE = target library linkage type (static, dynamic)
+# VCPKG_ROOT_DIR = <C:\path\to\current\vcpkg>
+# VCPKG_TARGET_ARCHITECTURE = target architecture (x64, x86, arm)
+#
+
+include(vcpkg_common_functions)
+
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://www.angelcode.com/angelscript/sdk/files/angelscript_2.33.0.zip"
+ FILENAME "angelscript_2.33.0.zip"
+ SHA512 eaf972ecf965fe4f72e55755f5e796499018e918f93cfd835b1ca20f9338e299e8dbd707240341eef81ae920f07d2280646151f515f5990a62550689445c86f0
+)
+
+vcpkg_extract_source_archive_ex(
+ OUT_SOURCE_PATH SOURCE_PATH
+ ARCHIVE ${ARCHIVE}
+ # (Optional) A friendly name to use instead of the filename of the archive (e.g.: a version number or tag).
+ # REF 1.0.0
+ # (Optional) Read the docs for how to generate patches at:
+ # https://github.com/Microsoft/vcpkg/blob/master/docs/examples/patching.md
+ PATCHES
+ mark-threads-private.patch
+ # 002_more_port_fixes.patch
+)
+
+vcpkg_configure_cmake(
+ SOURCE_PATH ${SOURCE_PATH}/angelscript/projects/cmake
+ PREFER_NINJA # Disable this option if project cannot be built with Ninja
+ # OPTIONS -DUSE_THIS_IN_ALL_BUILDS=1 -DUSE_THIS_TOO=2
+ # OPTIONS_RELEASE -DOPTIMIZE=1
+ # OPTIONS_DEBUG -DDEBUGGABLE=1
+)
+
+vcpkg_install_cmake()
+
+file(REMOVE_RECURSE ${CURRENT_PACKAGES_DIR}/debug/include)
+vcpkg_fixup_cmake_targets(CONFIG_PATH "lib/cmake/Angelscript")
+
+# Handle copyright
+file(INSTALL ${CURRENT_PORT_DIR}/LICENSE DESTINATION ${CURRENT_PACKAGES_DIR}/share/angelscript RENAME copyright)
+
+# Post-build test for cmake libraries
+# vcpkg_test_cmake(PACKAGE_NAME angelscript)