diff options
| author | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
|---|---|---|
| committer | Ethan Morgan <ethan@gweithio.com> | 2026-02-14 16:44:06 +0000 |
| commit | 54409423f767d8b1cf30cb7d0efca6b4ca138823 (patch) | |
| tree | d915ac7828703ce4b963efdd9728a1777ba18c1e /vcpkg/ports/sciter-js/portfile.cmake | |
Diffstat (limited to 'vcpkg/ports/sciter-js/portfile.cmake')
| -rw-r--r-- | vcpkg/ports/sciter-js/portfile.cmake | 102 |
1 files changed, 102 insertions, 0 deletions
diff --git a/vcpkg/ports/sciter-js/portfile.cmake b/vcpkg/ports/sciter-js/portfile.cmake new file mode 100644 index 0000000..f32fdff --- /dev/null +++ b/vcpkg/ports/sciter-js/portfile.cmake @@ -0,0 +1,102 @@ +vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY) + +if(VCPKG_TARGET_IS_UWP) + message(FATAL_ERROR "Sciter only supports Windows Desktop") +endif() + +set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled) + +set(SCITER_REVISION 1a35354adaef9a9940ceac7c209f2aa8157c7fb0) +set(SCITER_SHA 9d7bc33a5aefb6759ca380cc690ea8a92fe707846045ab5f4d3fd178d4b5c2a43de1a1be8fad97e1c3b4f2c763b5f95f8089a9006de706fa87ef8b1930eb7ad3) + +if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64) + set(SCITER_ARCH x64) +elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86) + set(SCITER_ARCH x32) +else() + message(FATAL_ERROR "Sciter only supports x86/x64") +endif() + +# check out the `https://gitlab.com/sciter-engine/sciter-js-sdk/-/archive/${SCITER_REVISION}/sciter-js-sdk-${SCITER_REVISION}.tar.gz` +# hash checksum can be obtained with `curl -L -o tmp.tgz ${URL} && vcpkg hash tmp.tgz` +vcpkg_from_gitlab( + GITLAB_URL https://gitlab.com + OUT_SOURCE_PATH SOURCE_PATH + REPO sciter-engine/sciter-js-sdk + REF ${SCITER_REVISION} + SHA512 ${SCITER_SHA} +) + +# install include directory +file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/sciter-js + FILES_MATCHING + PATTERN "*.cpp" + PATTERN "*.mm" + PATTERN "*.h" + PATTERN "*.hpp" +) + +set(SCITER_SHARE "${CURRENT_PACKAGES_DIR}/share/sciter-js") +set(SCITER_TOOLS ${CURRENT_PACKAGES_DIR}/tools/sciter-js) +set(TOOL_PERMS FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE) + +# license +file(COPY ${SOURCE_PATH}/CHANGELOG.md DESTINATION ${SCITER_SHARE}) +file(INSTALL ${SOURCE_PATH}/LICENSE DESTINATION ${SCITER_SHARE} RENAME copyright) + +# tools +if(VCPKG_TARGET_IS_LINUX AND VCPKG_TARGET_ARCHITECTURE STREQUAL "x64") + set(SCITER_BIN ${SOURCE_PATH}/bin/linux/x64) + + file(INSTALL ${SOURCE_PATH}/bin/linux/packfolder DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + file(INSTALL ${SOURCE_PATH}/bin/linux/qjs DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + file(INSTALL ${SOURCE_PATH}/bin/linux/qjsc DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + + file(INSTALL ${SCITER_BIN}/usciter DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + file(INSTALL ${SCITER_BIN}/inspector DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + file(INSTALL ${SCITER_BIN}/libsciter-gtk.so DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/sciter-sqlite.so DESTINATION ${SCITER_TOOLS}) + + file(INSTALL ${SCITER_BIN}/libsciter-gtk.so DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SCITER_BIN}/libsciter-gtk.so DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + + file(INSTALL ${SCITER_BIN}/sciter-sqlite.so DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SCITER_BIN}/sciter-sqlite.so DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +elseif(VCPKG_TARGET_IS_OSX) + set(SCITER_BIN ${SOURCE_PATH}/bin/macosx) + + file(INSTALL ${SCITER_BIN}/packfolder DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + file(INSTALL ${SCITER_BIN}/qjs DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + file(INSTALL ${SCITER_BIN}/qjsc DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS}) + + file(INSTALL ${SCITER_BIN}/inspector.app DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/usciterjs.app DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/libsciter.dylib DESTINATION ${SCITER_TOOLS}) + + execute_process(COMMAND sh -c "chmod +x usciterjs.app/Contents/MacOS/usciterjs" WORKING_DIRECTORY ${SCITER_TOOLS}) + execute_process(COMMAND sh -c "chmod +x inspector.app/Contents/MacOS/inspector" WORKING_DIRECTORY ${SCITER_TOOLS}) + + file(INSTALL ${SCITER_BIN}/libsciter.dylib DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SCITER_BIN}/libsciter.dylib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + +elseif(VCPKG_TARGET_IS_WINDOWS) + set(SCITER_BIN ${SOURCE_PATH}/bin/windows/${SCITER_ARCH}) + set(SCITER_BIN32 ${SOURCE_PATH}/bin/windows/x32) + + file(INSTALL ${SOURCE_PATH}/bin/windows/packfolder.exe DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SOURCE_PATH}/bin/windows/qjs.exe DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SOURCE_PATH}/bin/windows/qjsc.exe DESTINATION ${SCITER_TOOLS}) + + file(INSTALL ${SCITER_BIN}/scapp.exe DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/usciter.exe DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/inspector.exe DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/window-mixin.exe DESTINATION ${SCITER_TOOLS}) + file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${SCITER_TOOLS}) + + file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin) + file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin) + + message(WARNING "Sciter requires manual deployment of the correct DLL files.") + +endif() |