aboutsummaryrefslogtreecommitdiff
path: root/vcpkg/ports/angelscript/portfile.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'vcpkg/ports/angelscript/portfile.cmake')
-rw-r--r--vcpkg/ports/angelscript/portfile.cmake53
1 files changed, 53 insertions, 0 deletions
diff --git a/vcpkg/ports/angelscript/portfile.cmake b/vcpkg/ports/angelscript/portfile.cmake
new file mode 100644
index 0000000..28453e0
--- /dev/null
+++ b/vcpkg/ports/angelscript/portfile.cmake
@@ -0,0 +1,53 @@
+vcpkg_download_distfile(ARCHIVE
+ URLS "https://angelcode.com/angelscript/sdk/files/angelscript_${VERSION}.zip"
+ FILENAME "angelscript_${VERSION}.zip"
+ SHA512 87c94042932f15d07fe6ede4c3671b1f73ac757b68ab360187591497eeabc56a4ddb7901e4567108e44886a2011a29c2884d4b7389557826f36a6c384f4a9c69
+)
+
+set(PATCHES
+ "mark-threads-private.patch"
+ "fix-dependency.patch"
+)
+
+if (VCPKG_TARGET_IS_OSX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64")
+ list(APPEND PATCHES "fix-osx-x64.patch")
+endif()
+
+if (VCPKG_TARGET_IS_WINDOWS AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64")
+ list(APPEND PATCHES "fix-win-arm64.patch")
+endif()
+
+if (VCPKG_TARGET_IS_ANDROID AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ list(APPEND PATCHES "fix-ndk-arm.patch")
+endif()
+
+vcpkg_extract_source_archive(
+ SOURCE_PATH
+ ARCHIVE "${ARCHIVE}"
+ PATCHES
+ ${PATCHES}
+)
+
+if (VCPKG_TARGET_IS_ANDROID AND VCPKG_TARGET_ARCHITECTURE STREQUAL "arm")
+ vcpkg_replace_string("${SOURCE_PATH}/angelscript/source/as_callfunc_arm_gcc.S"
+[[.globl armFuncObjLast /* Make the function globally accessible.*/]]
+[[.globl armFuncObjLast /* Make the function globally accessible.*/
+.type armFuncObjLast, %function]])
+endif()
+
+vcpkg_cmake_configure(
+ SOURCE_PATH "${SOURCE_PATH}/angelscript/projects/cmake"
+)
+
+vcpkg_cmake_install()
+vcpkg_copy_pdbs()
+
+file(REMOVE_RECURSE "${CURRENT_PACKAGES_DIR}/debug/include")
+vcpkg_cmake_config_fixup(CONFIG_PATH "lib/cmake/Angelscript")
+
+# Copy the addon files
+if("addons" IN_LIST FEATURES)
+ file(INSTALL "${SOURCE_PATH}/add_on/" DESTINATION "${CURRENT_PACKAGES_DIR}/include/angelscript" FILES_MATCHING PATTERN "*.h" PATTERN "*.cpp")
+endif()
+
+vcpkg_install_copyright(FILE_LIST "${SOURCE_PATH}/docs/manual/doc_license.html")