forked from skyrim-multiplayer/skymp
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
- Loading branch information
Showing
3 changed files
with
120 additions
and
0 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,79 @@ | ||
vcpkg_minimum_required(VERSION 2022-10-12) # for ${VERSION} | ||
|
||
set(SHA512 0) | ||
|
||
if(VCPKG_TARGET_IS_WINDOWS) | ||
set(SHA512 ee66d0c03d2e48046a42616abf7639a3983e7db24c04d8643b9141cb9209a50643e31873c5a4918853a4344e822d653480558510a4db9a2ab481396891d79917) | ||
set(DIST_URL "https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-headers.tar.gz") | ||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") | ||
vcpkg_download_distfile( | ||
out_win_lib | ||
URLS "https://nodejs.org/dist/v${VERSION}/win-x64/node.lib" | ||
FILENAME "node.lib" | ||
SHA512 95c4b053bf88f758b6124b4a576719901545485613767f1ab996bb019ea7bb0d303c511b357f830e5a14d463dd74c6b412f126103f21d12e31ca00c7de86d853 | ||
) | ||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x86") | ||
vcpkg_download_distfile( | ||
out_win_lib | ||
URLS "https://nodejs.org/dist/v${VERSION}/win-x86/node.lib" | ||
FILENAME "node.lib" | ||
SHA512 0baa54a7870088a3290f817f6362446d304e8710ee36f99075925d110bce5c1eac377aa5c4ed6cf30161f98f39032d848eeb8d459add57b1c6458b8c91c72073 | ||
) | ||
endif() | ||
elseif(VCPKG_TARGET_IS_OSX) | ||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") | ||
set(SHA512 8eb1713afdce23b0e8408d81aa47b3ea0955de328105d666a57efef8955b286c707c107377cff36164d8455558829ab65567b9cbe5997085afc841d95128fcd5) | ||
set(DIST_URL "https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-darwin-arm64.tar.gz") | ||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") | ||
set(SHA512 ffe7e878fd5e424b0ff0d2e7db5e9c02f283792df2f1a748bd6381226701bcd9f93ae48f88d295412afb10d1c924ca068f70aba9857236c8893a2b812eacf248) | ||
set(DIST_URL "https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-darwin-x64.tar.gz") | ||
endif() | ||
elseif(VCPKG_TARGET_IS_LINUX) | ||
if(VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") | ||
set(SHA512 f137a0dba52ded9f2f6b304c5f41fd2c75ba069ee31cfb89811b14254552c0d5ba10890f7001e64e8a6fee277302cb0ba915e0a417c047577384ac495c4ff447) | ||
set(DIST_URL "https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-linux-x64.tar.gz") | ||
elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL "arm64") | ||
set(SHA512 a0b2f522b0ecdc4b642f3104fd2eb08b8dfa6dc2b116b5a331722b8c6d96b2b6d5df0e691ef2b56e0463e1f30d37c98c686c5d306e1aa8cd927b306c4eef0770) | ||
set(DIST_URL "https://nodejs.org/dist/v${VERSION}/node-v${VERSION}-linux-arm64.tar.gz") | ||
endif() | ||
endif() | ||
|
||
get_filename_component(DIST_FILENAME "${DIST_URL}" NAME) | ||
|
||
if(out_win_lib) | ||
# nodejs requires the same node.lib to be used for both debug and release builds | ||
file(COPY "${out_win_lib}" DESTINATION "${CURRENT_PACKAGES_DIR}/lib") | ||
file(COPY "${out_win_lib}" DESTINATION "${CURRENT_PACKAGES_DIR}/debug/lib") | ||
endif() | ||
|
||
# download dist | ||
vcpkg_download_distfile( | ||
out_dist | ||
URLS "${DIST_URL}" | ||
FILENAME "${DIST_FILENAME}" | ||
SHA512 "${SHA512}" | ||
) | ||
|
||
# extract dist | ||
vcpkg_extract_source_archive( | ||
OUT_SOURCE_PATH | ||
ARCHIVE "${out_dist}" | ||
) | ||
|
||
# copy headers | ||
set(suffix "include/node") | ||
set(source_path "${OUT_SOURCE_PATH}/${suffix}") | ||
file(COPY "${source_path}" DESTINATION "${CURRENT_PACKAGES_DIR}/include" FILES_MATCHING PATTERN "*.h") | ||
|
||
# we do not take the license from the dist file because for windows it is not included as we download the headers only | ||
set(license_url "https://raw.githubusercontent.com/nodejs/node/v18.12.1/LICENSE") | ||
vcpkg_download_distfile( | ||
out_license | ||
URLS "${license_url}" | ||
FILENAME "LICENSE" | ||
SHA512 2d79b49a12178a078cf1246ef7589d127189914403cd6f4dfe277ced2b3ef441a6e6ee131f1c75f996d1c1528b7e1ae332e83c1dc44580b2b51a933ed0c50c48 | ||
) | ||
file(INSTALL "${out_license}" DESTINATION "${CURRENT_PACKAGES_DIR}/share/${PORT}" RENAME copyright) | ||
|
||
# copy ./unofficial-node-api-config.cmake to ${CURRENT_PACKAGES_DIR}/share/node-api | ||
file(COPY "${CMAKE_CURRENT_LIST_DIR}/unofficial-node-api-config.cmake" DESTINATION "${CURRENT_PACKAGES_DIR}/share/unofficial-${PORT}") |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,23 @@ | ||
if(WIN32) | ||
add_library(unofficial::node-api::node-api UNKNOWN IMPORTED) | ||
else() | ||
add_library(unofficial::node-api::node-api INTERFACE IMPORTED) | ||
endif() | ||
|
||
find_path(node-api_INCLUDE_DIR | ||
NAMES node.h | ||
PATHS "${CMAKE_CURRENT_LIST_DIR}/../../include/node" | ||
NO_DEFAULT_PATH | ||
REQUIRED) | ||
set_target_properties(unofficial::node-api::node-api PROPERTIES | ||
INTERFACE_INCLUDE_DIRECTORIES "${node-api_INCLUDE_DIR}" | ||
) | ||
|
||
if(WIN32) | ||
find_library(node-api_LIBRARY_RELEASE NAMES node PATHS "${CMAKE_CURRENT_LIST_DIR}/../../lib" NO_DEFAULT_PATH REQUIRED) | ||
find_library(node-api_LIBRARY_DEBUG NAMES node PATHS "${CMAKE_CURRENT_LIST_DIR}/../../debug/lib" NO_DEFAULT_PATH REQUIRED) | ||
set_target_properties(unofficial::node-api::node-api PROPERTIES | ||
IMPORTED_LOCATION_DEBUG "${node-api_LIBRARY_DEBUG}" | ||
IMPORTED_LOCATION_RELEASE "${node-api_LIBRARY_RELEASE}" | ||
) | ||
endif() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,18 @@ | ||
{ | ||
"name": "node-api", | ||
"version-semver": "18.12.1", | ||
"description": "NodeJS API for writing modules in C++", | ||
"homepage": "https://nodejs.org/api/addons.html", | ||
"license": null, | ||
"supports": "((windows & !arm) | linux | osx) & !uwp", | ||
"dependencies": [ | ||
{ | ||
"name": "vcpkg-cmake", | ||
"host": true | ||
}, | ||
{ | ||
"name": "vcpkg-cmake-config", | ||
"host": true | ||
} | ||
] | ||
} |