perf: 调整结构

This commit is contained in:
msojocs 2024-07-06 10:25:01 +08:00
parent ce6a977c17
commit ae97399c75
16 changed files with 52 additions and 99 deletions

View File

@ -104,4 +104,4 @@ set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)
add_subdirectory(./src/nwjs)
add_subdirectory(./src/module)

View File

@ -1,60 +0,0 @@
cmake_minimum_required(VERSION 3.0.0)
project(mylrc VERSION 0.1.0)
find_package(cJSON REQUIRED)
find_package(OpenSSL REQUIRED)
include(CTest)
enable_testing()
include_directories(./src/include)
add_executable(
mylrc
main.cpp
src/common.cpp
src/tmc.cpp
src/ae.cpp
src/ae/keyExpansion.cpp
src/ae/storeStateArray.cpp
src/ae/shiftRows.cpp
src/ae/loadStateArray.cpp
src/ae/mixColumns.cpp
src/ae/subBytes.cpp
src/ae/addRoundKey.cpp
src/ka.cpp
src/kq.cpp
src/print_hex.cpp
)
target_link_libraries(
mylrc
PRIVATE cjson
OpenSSL::SSL
)
add_executable(mylrc_test test/test.cpp)
add_executable(
storeStateArray_test
test/storeStateArray_test.cpp
src/common.cpp
src/ae/storeStateArray.cpp
)
add_executable(
printHex_test
test/printHex_test.cpp
src/print_hex.cpp
)
add_executable(
md5_test
test/md5_test.cpp
src/kq.cpp
)
target_link_libraries(md5_test OpenSSL::SSL)
# add_subdirectory(src)
add_test(
mylrc_test
$<TARGET_FILE:mylrc_test>#
)
set(CPACK_PROJECT_NAME ${PROJECT_NAME})
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
include(CPack)

View File

@ -37,7 +37,7 @@ include_directories(node/include/node)
include_directories(node/deps/v8/include)
include_directories(node/deps/uv/include)
add_library(wcc_node
add_library(wcc_module
SHARED
./wcc.cpp
./include/wcc.hh
@ -84,10 +84,10 @@ add_library(wcc_node
../utils/file.cpp
)
set_target_properties(wcc_module PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
# DV8_COMPRESS_POINTERS: IsString
target_compile_options(wcc_node PRIVATE "-DNODE_GYP_MODULE_NAME=binding" "-DUSING_UV_SHARED=1" "-DUSING_V8_SHARED=1" "-DV8_DEPRECATION_WARNINGS=1" "-DV8_DEPRECATION_WARNINGS" "-DV8_REVERSE_JSARGS" "-D_GLIBCXX_USE_CXX11_ABI=1" "-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64" "-DV8_COMPRESS_POINTERS" "-DV8_31BIT_SMIS_ON_64BIT_ARCH" "-D__STDC_FORMAT_MACROS" "-DOPENSSL_NO_PINSHARED" "-DOPENSSL_THREADS" "-DOPENSSL_NO_ASM" "-DBUILDING_NODE_EXTENSION")
set_target_properties(wcc_node PROPERTIES RUNTIME_OUTPUT_DIRECTORY /home/msojocs/github/wx-compiler/cache/package.nw)
set_target_properties(wcc_node PROPERTIES PREFIX "" SUFFIX ".node")
# target_link_libraries(wcc_node ${CMAKE_CURRENT_SOURCE_DIR}/lib/nw-v${NW_VERSION}.lib)
# target_link_libraries(wcc_node ${CMAKE_CURRENT_SOURCE_DIR}/lib/node-v${NW_VERSION}.lib)
target_compile_options(wcc_module PRIVATE "-DNODE_GYP_MODULE_NAME=binding" "-DUSING_UV_SHARED=1" "-DUSING_V8_SHARED=1" "-DV8_DEPRECATION_WARNINGS=1" "-DV8_DEPRECATION_WARNINGS" "-DV8_REVERSE_JSARGS" "-D_GLIBCXX_USE_CXX11_ABI=1" "-D_LIBCPP_HAS_NO_VENDOR_AVAILABILITY_ANNOTATIONS" "-D_LARGEFILE_SOURCE" "-D_FILE_OFFSET_BITS=64" "-DV8_COMPRESS_POINTERS" "-DV8_31BIT_SMIS_ON_64BIT_ARCH" "-D__STDC_FORMAT_MACROS" "-DOPENSSL_NO_PINSHARED" "-DOPENSSL_THREADS" "-DOPENSSL_NO_ASM" "-DBUILDING_NODE_EXTENSION")
set_target_properties(wcc_module PROPERTIES PREFIX "" SUFFIX ".node")
# target_link_libraries(wcc_module ${CMAKE_CURRENT_SOURCE_DIR}/lib/nw-v${NW_VERSION}.lib)
# target_link_libraries(wcc_module ${CMAKE_CURRENT_SOURCE_DIR}/lib/node-v${NW_VERSION}.lib)

View File

@ -1,2 +0,0 @@
[ZoneTransfer]
ZoneId=3

View File

@ -1,2 +0,0 @@
[ZoneTransfer]
ZoneId=3

View File

@ -1,2 +0,0 @@
[ZoneTransfer]
ZoneId=3

View File

@ -1,2 +0,0 @@
[ZoneTransfer]
ZoneId=3

View File

@ -1,2 +0,0 @@
[ZoneTransfer]
ZoneId=3

View File

@ -0,0 +1,43 @@
#! /bin/bash
set -ex
root_dir=$(cd `dirname $0`/../../.. && pwd -P)
cur_dir=$(cd `dirname $0` && pwd -P)
nw_version="0.55.0"
if [ ! -f "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip" ];then
wget -c -O "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip.tmp" "https://dl.nwjs.io/v0.55.0/nwjs-v0.55.0-win-x64.zip"
mv "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip.tmp" "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip"
fi
if [ ! -d "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64" ];then
cd "$root_dir/cache"
unzip "nwjs-sdk-v$nw_version-win-x64.zip"
fi
rm -rf "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64/package.nw"
cp -r "$cur_dir/package.nw" "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64"
docker run -d -it\
--volume=$root_dir:/workspace\
--env=USE_XVFB=yes\
--env=XVFB_SERVER=:95\
--env=XVFB_SCREEN=0\
--env=XVFB_RESOLUTION=320x240x8\
--env=DISPLAY=:95\
--rm\
--hostname=DESKTOP-1TV4OAG\
--name=wine\
--shm-size=1g\
--workdir=/home/wineuser\
--env=TZ=Asia/Shanghai\
--volume=winehome:/home/wineuser\
-p 8083:8083\
scottyhardy/docker-wine:latest\
wine /workspace/cache/nwjs-sdk-v$nw_version-win-x64/nw.exe
sleep 10
curl http://localhost:8083
# curl http://localhost:8083/close
# docker stop wine

View File

@ -4,16 +4,12 @@ import path from 'path';
import linux from '../../../runner/module-linux'
import windows from '../../../runner/module-windows'
import * as fs from 'fs'
import { execFileSync, execSync } from 'child_process';
import { execFileSync } from 'child_process';
describe("wcc - module", function () {
this.beforeAll(() => {
// TODO: 启动docker wine容器
execFileSync(path.resolve(__dirname, './nwjs-download.sh'))
const rootDir = path.resolve(__dirname, '../../../')
const cmd = `docker run -it --volume=${rootDir}:/workspace --env=USE_XVFB=yes --env=XVFB_SERVER=:95 --env=XVFB_SCREEN=0 --env=XVFB_RESOLUTION=320x240x8 --env=DISPLAY=:95 --rm --hostname=DESKTOP-1TV4OAG --name=wine --shm-size=1g --workdir=/home/wineuser --env=TZ=Asia/Shanghai --volume=winehome:/home/wineuser -p 8083:8083 scottyhardy/docker-wine:latest wine /workspace/nwjs-sdk-v0.55.0-win-x64/nw.exe`
execSync(cmd)
execFileSync(path.resolve(__dirname, '../../../runner/nwjs/wine-prepare.sh'), { stdio: 'inherit' })
})
describe("llw: linux output should deep equal with wine", function () {
// afterEach(function(){

View File

@ -1,16 +0,0 @@
#! /bin/bash
set -e
root_dir=$(cd `dirname $0`/../../../.. && pwd -P)
nw_version="0.55.0"
if [ ! -f "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip" ];then
wget -c -O "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip.tmp" "https://dl.nwjs.io/v0.55.0/nwjs-v0.55.0-win-x64.zip"
mv "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip.tmp" "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64.zip"
fi
if [ ! -d "$root_dir/cache/nwjs-sdk-v$nw_version-win-x64" ];then
cd "$root_dir/cache"
unzip "nwjs-sdk-v$nw_version-win-x64.zip"
fi