1 vcpkg_check_linkage(ONLY_DYNAMIC_LIBRARY)
3 if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "WindowsStore")
4 message(FATAL_ERROR "Sciter only supports Windows Desktop")
8 set(VCPKG_POLICY_DLLS_WITHOUT_LIBS enabled)
10 set(SCITER_REVISION 63c9328e88c1877deea721cbe060b19c4fce7cb6)
11 set(SCITER_SHA 151ae3f74980e76fa04e0d5ef54ed56efcee312b4654c906a04b017384073ddf9ae353c29d9f0a12f681fd83d42e57b9ed3b563c641979406ddad0b3cc26d49c)
13 if(VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
15 elseif(VCPKG_TARGET_ARCHITECTURE STREQUAL x86)
19 # check out the `https://github.com/c-smile/sciter-sdk/archive/${SCITER_REVISION}.tar.gz`
20 # hash checksum can be obtained with `curl -L -o tmp.tgz ${URL} && vcpkg hash tmp.tgz`
22 OUT_SOURCE_PATH SOURCE_PATH
23 REPO c-smile/sciter-sdk
24 REF ${SCITER_REVISION}
28 # install include directory
29 file(INSTALL ${SOURCE_PATH}/include/ DESTINATION ${CURRENT_PACKAGES_DIR}/include/sciter
37 set(SCITER_SHARE ${CURRENT_PACKAGES_DIR}/share/sciter)
38 set(SCITER_TOOLS ${CURRENT_PACKAGES_DIR}/tools/sciter)
39 set(TOOL_PERMS FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)
42 file(COPY ${SOURCE_PATH}/logfile.htm DESTINATION ${SCITER_SHARE})
43 file(INSTALL ${SOURCE_PATH}/license.htm DESTINATION ${SCITER_SHARE} RENAME copyright)
46 file(COPY ${SOURCE_PATH}/samples DESTINATION ${SCITER_SHARE})
47 file(COPY ${SOURCE_PATH}/widgets DESTINATION ${SCITER_SHARE})
50 if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL Linux AND VCPKG_TARGET_ARCHITECTURE STREQUAL x64)
51 set(SCITER_BIN ${SOURCE_PATH}/bin.lnx/x64)
53 file(INSTALL ${SOURCE_PATH}/bin.lnx/packfolder DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS})
54 file(INSTALL ${SOURCE_PATH}/bin.lnx/tiscript DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS})
56 file(INSTALL ${SCITER_BIN}/usciter DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS})
57 file(INSTALL ${SCITER_BIN}/inspector DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS})
58 file(INSTALL ${SCITER_BIN}/libsciter-gtk.so DESTINATION ${SCITER_TOOLS})
60 if ("windowless" IN_LIST FEATURES)
61 set(SCITER_BIN ${SOURCE_PATH}/bin.lnx/x64lite)
64 file(INSTALL ${SCITER_BIN}/libsciter-gtk.so DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
65 file(INSTALL ${SCITER_BIN}/libsciter-gtk.so DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
67 elseif(VCPKG_CMAKE_SYSTEM_NAME STREQUAL Darwin)
68 set(SCITER_BIN ${SOURCE_PATH}/bin.osx)
70 file(INSTALL ${SCITER_BIN}/packfolder DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS})
71 file(INSTALL ${SCITER_BIN}/tiscript DESTINATION ${SCITER_TOOLS} ${TOOL_PERMS})
73 file(INSTALL ${SCITER_BIN}/inspector.app DESTINATION ${SCITER_TOOLS})
74 file(INSTALL ${SCITER_BIN}/sciter.app DESTINATION ${SCITER_TOOLS})
75 file(INSTALL ${SCITER_BIN}/sciter-osx-64.dylib DESTINATION ${SCITER_TOOLS})
77 # not sure whether there is a better way to do this, because
78 # `file(INSTALL sciter.app FILE_PERMISSIONS EXECUTE)`
79 # would mark everything as executable which is no go.
80 execute_process(COMMAND sh -c "chmod +x sciter.app/Contents/MacOS/sciter" WORKING_DIRECTORY ${SCITER_TOOLS})
81 execute_process(COMMAND sh -c "chmod +x inspector.app/Contents/MacOS/inspector" WORKING_DIRECTORY ${SCITER_TOOLS})
83 file(INSTALL ${SCITER_BIN}/sciter-osx-64.dylib DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
84 file(INSTALL ${SCITER_BIN}/sciter-osx-64.dylib DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
87 set(SCITER_BIN ${SOURCE_PATH}/bin.win/${SCITER_ARCH})
88 set(SCITER_BIN32 ${SOURCE_PATH}/bin.win/x32)
90 file(INSTALL ${SOURCE_PATH}/bin.win/packfolder.exe DESTINATION ${SCITER_TOOLS})
91 file(INSTALL ${SOURCE_PATH}/bin.win/tiscript.exe DESTINATION ${SCITER_TOOLS})
93 file(INSTALL ${SCITER_BIN32}/wsciter.exe DESTINATION ${SCITER_TOOLS})
94 file(INSTALL ${SCITER_BIN32}/inspector.exe DESTINATION ${SCITER_TOOLS})
95 file(INSTALL ${SCITER_BIN32}/sciter.dll DESTINATION ${SCITER_TOOLS})
97 if ("windowless" IN_LIST FEATURES)
98 set(SCITER_BIN ${SOURCE_PATH}/bin.win/${SCITER_ARCH}lite)
101 file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${CURRENT_PACKAGES_DIR}/bin)
102 file(INSTALL ${SCITER_BIN}/sciter.dll DESTINATION ${CURRENT_PACKAGES_DIR}/debug/bin)
105 message(STATUS "Warning: Sciter requires manual deployment of the correct DLL files.")