package compatible

This commit is contained in:
arm64v8a
2022-10-02 19:07:21 +08:00
parent 11c688b4fa
commit 8f4dfbbc00
4 changed files with 59 additions and 30 deletions

View File

@@ -34,7 +34,11 @@ endif ()
include("cmake/fuck_windows/fuck.cmake")
# default prefix path
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/libs/deps/built)
if (NKR_PACKAGE)
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/libs/deps/package)
else ()
list(APPEND CMAKE_PREFIX_PATH ${CMAKE_SOURCE_DIR}/libs/deps/built)
endif ()
message("[CMAKE_PREFIX_PATH] ${CMAKE_PREFIX_PATH}")
# for some cross toolchain
@@ -49,7 +53,7 @@ find_package(Threads)
if (NKR_PACKAGE)
add_compile_definitions(NKR_PACKAGE)
endif()
endif ()
if (NKR_NO_EXTERNAL)
add_compile_definitions(NKR_NO_EXTERNAL)
@@ -115,6 +119,7 @@ set(PROJECT_SOURCES
db/Database.cpp
db/TrafficLooper.cpp
db/ProfileFilter.cpp
db/ConfigBuilder.cpp
fmt/AbstractBean.cpp
fmt/Bean2CoreObj_ray.cpp
@@ -123,7 +128,6 @@ set(PROJECT_SOURCES
fmt/Bean2Link.cpp
fmt/InsecureHint.cpp
fmt/Link2Bean.cpp
db/ConfigBuilder.cpp
fmt/ChainBean.hpp # translate
sub/GroupUpdater.cpp

View File

@@ -1,10 +1,14 @@
# NekoRay
基于 Qt/C++ 的跨平台代理配置管理器 使用 Matsuri 定制版 v2ray-core
基于 Qt/C++ 的跨平台 GUI 代理配置管理器
后端 1. v2ray 2. sing-box
目前支持 Windows / Linux amd64 开箱即用
Qt/C++ based cross-platform proxy configuration manager ( Use Matsuri custom version of v2ray-core )
Qt/C++ based cross-platform GUI proxy configuration manager
backend: 1. v2ray 2.sing-box
Support Windows / Linux amd64 out of the box now.
@@ -44,7 +48,7 @@ https://matsuridayo.github.io
launcher 参数
* `./launcher -- -appdata` `--` 后的参数传递给主程序
* `./launcher -- -appdata` ( `--` 后的参数传递给主程序 )
* `-debug` Debug mode
* `-theme` Use local QT theme (unstable) (1.0+)

View File

@@ -4,30 +4,49 @@ set -e
cd libs
# libs/deps/...
mkdir -p deps; cd deps
INSTLL_PREFIX=$PWD/built
mkdir -p $INSTLL_PREFIX
mkdir -p deps
cd deps
if [ -z $NKR_PACKAGE ]; then
INSTALL_PREFIX=$PWD/built
else
INSTALL_PREFIX=$PWD/package
fi
rm -rf $INSTALL_PREFIX
mkdir -p $INSTALL_PREFIX
#### clean ####
clean() {
rm -rf dl.zip yaml-* zxing-* protobuf
}
#### ZXing 1.3.0 ####
curl -L -o dl.zip https://github.com/nu-book/zxing-cpp/archive/refs/tags/v1.3.0.zip
unzip dl.zip
cd zxing-*
mkdir -p build
cd build
cmake .. -GNinja -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DBUILD_BLACKBOX_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX
ninja && ninja install
cd ../..
#### exit if NKR_PACKAGE ####
if [ ! -z $NKR_PACKAGE ]; then
clean
exit
fi
#### yaml-cpp ####
curl -L -o dl.zip https://github.com/jbeder/yaml-cpp/archive/refs/tags/yaml-cpp-0.7.0.zip
unzip dl.zip
cd yaml-*
mkdir -p build; cd build
mkdir -p build
cd build
cmake .. -GNinja -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTLL_PREFIX
ninja && ninja install
cd ../..
#### ZXing ####
curl -L -o dl.zip https://github.com/nu-book/zxing-cpp/archive/refs/tags/v1.3.0.zip
unzip dl.zip
cd zxing-*
mkdir -p build; cd build
cmake .. -GNinja -DBUILD_SHARED_LIBS=OFF -DCMAKE_BUILD_TYPE=Release -DBUILD_EXAMPLES=OFF -DBUILD_BLACKBOX_TESTS=OFF -DCMAKE_INSTALL_PREFIX=$INSTLL_PREFIX
cmake .. -GNinja -DBUILD_TESTING=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX
ninja && ninja install
cd ../..
@@ -45,10 +64,10 @@ cmake .. -GNinja \
-DBUILD_SHARED_LIBS=OFF \
-Dprotobuf_MSVC_STATIC_RUNTIME=OFF \
-Dprotobuf_BUILD_TESTS=OFF \
-DCMAKE_INSTALL_PREFIX=$INSTLL_PREFIX
-DCMAKE_INSTALL_PREFIX=$INSTALL_PREFIX
ninja && ninja install
cd ../..
#### clean ####
rm -rf dl.zip yaml-* zxing-* protobuf
####
clean

View File

@@ -337,6 +337,8 @@ namespace NekoRay {
search << "/usr/share/xray";
search << "/usr/local/share/xray";
search << "/opt/xray";
search << "/usr/share/sing-geoip";
search << "/usr/share/sing-geosite";
for (const auto &dir: search) {
if (dir.isEmpty()) continue;
QFileInfo asset(dir + "/" + name);