mirror of
https://github.com/msojocs/wx-compiler.git
synced 2025-07-19 00:00:04 +08:00
perf: 调整结构
This commit is contained in:
parent
ce6a977c17
commit
ae97399c75
@ -104,4 +104,4 @@ set(CPACK_PROJECT_NAME ${PROJECT_NAME})
|
|||||||
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|
set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
|
||||||
include(CPack)
|
include(CPack)
|
||||||
|
|
||||||
add_subdirectory(./src/nwjs)
|
add_subdirectory(./src/module)
|
@ -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)
|
|
@ -37,7 +37,7 @@ include_directories(node/include/node)
|
|||||||
include_directories(node/deps/v8/include)
|
include_directories(node/deps/v8/include)
|
||||||
include_directories(node/deps/uv/include)
|
include_directories(node/deps/uv/include)
|
||||||
|
|
||||||
add_library(wcc_node
|
add_library(wcc_module
|
||||||
SHARED
|
SHARED
|
||||||
./wcc.cpp
|
./wcc.cpp
|
||||||
./include/wcc.hh
|
./include/wcc.hh
|
||||||
@ -84,10 +84,10 @@ add_library(wcc_node
|
|||||||
../utils/file.cpp
|
../utils/file.cpp
|
||||||
)
|
)
|
||||||
|
|
||||||
|
set_target_properties(wcc_module PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
|
||||||
# DV8_COMPRESS_POINTERS: 缺少会导致IsString崩溃
|
# 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")
|
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_node PROPERTIES RUNTIME_OUTPUT_DIRECTORY /home/msojocs/github/wx-compiler/cache/package.nw)
|
set_target_properties(wcc_module PROPERTIES PREFIX "" SUFFIX ".node")
|
||||||
set_target_properties(wcc_node PROPERTIES PREFIX "" SUFFIX ".node")
|
# target_link_libraries(wcc_module ${CMAKE_CURRENT_SOURCE_DIR}/lib/nw-v${NW_VERSION}.lib)
|
||||||
# target_link_libraries(wcc_node ${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)
|
||||||
# target_link_libraries(wcc_node ${CMAKE_CURRENT_SOURCE_DIR}/lib/node-v${NW_VERSION}.lib)
|
|
||||||
|
|
@ -1,2 +0,0 @@
|
|||||||
[ZoneTransfer]
|
|
||||||
ZoneId=3
|
|
@ -1,2 +0,0 @@
|
|||||||
[ZoneTransfer]
|
|
||||||
ZoneId=3
|
|
@ -1,2 +0,0 @@
|
|||||||
[ZoneTransfer]
|
|
||||||
ZoneId=3
|
|
@ -1,2 +0,0 @@
|
|||||||
[ZoneTransfer]
|
|
||||||
ZoneId=3
|
|
@ -1,2 +0,0 @@
|
|||||||
[ZoneTransfer]
|
|
||||||
ZoneId=3
|
|
43
test/runner/nwjs/wine-prepare.sh
Executable file
43
test/runner/nwjs/wine-prepare.sh
Executable 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
|
@ -4,16 +4,12 @@ import path from 'path';
|
|||||||
import linux from '../../../runner/module-linux'
|
import linux from '../../../runner/module-linux'
|
||||||
import windows from '../../../runner/module-windows'
|
import windows from '../../../runner/module-windows'
|
||||||
import * as fs from 'fs'
|
import * as fs from 'fs'
|
||||||
import { execFileSync, execSync } from 'child_process';
|
import { execFileSync } from 'child_process';
|
||||||
|
|
||||||
describe("wcc - module", function () {
|
describe("wcc - module", function () {
|
||||||
this.beforeAll(() => {
|
this.beforeAll(() => {
|
||||||
// TODO: 启动docker wine容器
|
// TODO: 启动docker wine容器
|
||||||
execFileSync(path.resolve(__dirname, './nwjs-download.sh'))
|
execFileSync(path.resolve(__dirname, '../../../runner/nwjs/wine-prepare.sh'), { stdio: 'inherit' })
|
||||||
|
|
||||||
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)
|
|
||||||
})
|
})
|
||||||
describe("llw: linux output should deep equal with wine", function () {
|
describe("llw: linux output should deep equal with wine", function () {
|
||||||
// afterEach(function(){
|
// afterEach(function(){
|
||||||
|
@ -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
|
|
Loading…
x
Reference in New Issue
Block a user