forked from oomer/bellatui
Compare commits
3 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 4420912b17 | |||
| 7e611f3bbc | |||
| 9cd06121e2 |
2
LICENSE
2
LICENSE
@ -1,6 +1,6 @@
|
|||||||
bellatui
|
bellatui
|
||||||
|
|
||||||
Copyright (c) 2025 Harvey Fong
|
Copyright (c) 2026 Harvey Fong
|
||||||
|
|
||||||
Permission is hereby granted, free of charge, to any person obtaining a copy
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
of this software and associated documentation files (the "Software"), to deal
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
|||||||
@ -55,7 +55,7 @@ else
|
|||||||
ARCH_FLAGS = -m64 -D_FILE_OFFSET_BITS=64
|
ARCH_FLAGS = -m64 -D_FILE_OFFSET_BITS=64
|
||||||
|
|
||||||
# Linking flags
|
# Linking flags
|
||||||
LINKER_FLAGS = $(ARCH_FLAGS) -fvisibility=hidden -O3 -Wl,-rpath,'$$ORIGIN' -Wl,-rpath,'$$ORIGIN/lib' -weak_library $(LIBDIR)/libvulkan.dylib
|
LINKER_FLAGS = $(ARCH_FLAGS) -fvisibility=hidden -O3 -Wl,-rpath,'$$ORIGIN' -Wl,-rpath,'$$ORIGIN/lib'
|
||||||
|
|
||||||
# Platform-specific libraries
|
# Platform-specific libraries
|
||||||
#PLIST_LIB = -lplist
|
#PLIST_LIB = -lplist
|
||||||
@ -66,9 +66,10 @@ endif
|
|||||||
INCLUDE_PATHS = -I$(BELLA_SDK_PATH)/src -I$(LIBEFSW_PATH)/include -I$(LIBEFSW_PATH)/src -I$(LIBZMQ_PATH)/include -I$(CPPZMQ_PATH)
|
INCLUDE_PATHS = -I$(BELLA_SDK_PATH)/src -I$(LIBEFSW_PATH)/include -I$(LIBEFSW_PATH)/src -I$(LIBZMQ_PATH)/include -I$(CPPZMQ_PATH)
|
||||||
SDK_LIB_PATH = $(BELLA_SDK_PATH)/lib
|
SDK_LIB_PATH = $(BELLA_SDK_PATH)/lib
|
||||||
SDK_LIB_FILE = lib$(BELLA_SDK_NAME).$(SDK_LIB_EXT)
|
SDK_LIB_FILE = lib$(BELLA_SDK_NAME).$(SDK_LIB_EXT)
|
||||||
EFSW_LIB_PATH = $(LIBEFSW_PATH)/build
|
USD_SDK_LIB_FILE = libdl_usd_ms.$(SDK_LIB_EXT)
|
||||||
|
EFSW_LIB_PATH = $(LIBEFSW_PATH)/build
|
||||||
#EFSW_LIB_FILE = lib$(EFSW_LIB_NAME)
|
#EFSW_LIB_FILE = lib$(EFSW_LIB_NAME)
|
||||||
ZMQ_LIB_PATH = $(LIBZMQ_PATH)/build/lib
|
ZMQ_LIB_PATH = $(LIBZMQ_PATH)/build/lib
|
||||||
# Library flags
|
# Library flags
|
||||||
LIB_PATHS = -L$(SDK_LIB_PATH) -L$(EFSW_LIB_PATH) -L$(ZMQ_LIB_PATH)
|
LIB_PATHS = -L$(SDK_LIB_PATH) -L$(EFSW_LIB_PATH) -L$(ZMQ_LIB_PATH)
|
||||||
LIBRARIES = -l$(BELLA_SDK_NAME) -lm -ldl -lefsw -lzmq
|
LIBRARIES = -l$(BELLA_SDK_NAME) -lm -ldl -lefsw -lzmq
|
||||||
@ -100,6 +101,7 @@ $(OUTPUT_FILE): $(OBJECT_FILES)
|
|||||||
$(CXX) -o $@ $(OBJECT_FILES) $(LINKER_FLAGS) $(LIB_PATHS) $(LIBRARIES)
|
$(CXX) -o $@ $(OBJECT_FILES) $(LINKER_FLAGS) $(LIB_PATHS) $(LIBRARIES)
|
||||||
@echo "Copying libraries to $(BIN_DIR)..."
|
@echo "Copying libraries to $(BIN_DIR)..."
|
||||||
@cp $(SDK_LIB_PATH)/$(SDK_LIB_FILE) $(BIN_DIR)/$(SDK_LIB_FILE)
|
@cp $(SDK_LIB_PATH)/$(SDK_LIB_FILE) $(BIN_DIR)/$(SDK_LIB_FILE)
|
||||||
|
@cp $(SDK_LIB_PATH)/$(USD_SDK_LIB_FILE) $(BIN_DIR)/$(USD_SDK_LIB_FILE)
|
||||||
# @cp $(LZFSE_BUILD_DIR)/$(LZFSE_LIB_NAME) $(BIN_DIR)/$(LZFSE_LIB_NAME)
|
# @cp $(LZFSE_BUILD_DIR)/$(LZFSE_LIB_NAME) $(BIN_DIR)/$(LZFSE_LIB_NAME)
|
||||||
# @cp $(PLIST_LIB_DIR)/$(PLIST_LIB_NAME) $(BIN_DIR)/$(PLIST_LIB_NAME)
|
# @cp $(PLIST_LIB_DIR)/$(PLIST_LIB_NAME) $(BIN_DIR)/$(PLIST_LIB_NAME)
|
||||||
@cp $(EFSW_LIB_PATH)/$(EFSW_LIB_NAME) $(BIN_DIR)/$(EFSW_LIB_NAME)
|
@cp $(EFSW_LIB_PATH)/$(EFSW_LIB_NAME) $(BIN_DIR)/$(EFSW_LIB_NAME)
|
||||||
@ -134,4 +136,4 @@ cleanall:
|
|||||||
rmdir obj/* 2>/dev/null || true
|
rmdir obj/* 2>/dev/null || true
|
||||||
rmdir bin/* 2>/dev/null || true
|
rmdir bin/* 2>/dev/null || true
|
||||||
rmdir obj 2>/dev/null || true
|
rmdir obj 2>/dev/null || true
|
||||||
rmdir bin 2>/dev/null || true
|
rmdir bin 2>/dev/null || true
|
||||||
226
README.md
226
README.md
@ -33,147 +33,125 @@ stat
|
|||||||
Server response: Saturn | Elapsed: 41s | Progress: 22.65%
|
Server response: Saturn | Elapsed: 41s | Progress: 22.65%
|
||||||
```
|
```
|
||||||
|
|
||||||
### Precompiled Binaries
|
|
||||||
|
|
||||||
[Windows](https://a4g4.c14.e2-1.dev/bellatui/bellatui-windows.zip)
|
|
||||||
|
|
||||||
[MacOS](https://a4g4.c14.e2-1.dev/bellatui/bellatui-mac.zip)
|
|
||||||
```
|
|
||||||
Apple Gatekeeper blocks non-notarized executables by default.
|
|
||||||
```
|
|
||||||
|
|
||||||
[Ubuntu Linux](https://a4g4.c14.e2-1.dev/bellatui/bellatui-linux.tar.gz)
|
|
||||||
```
|
|
||||||
apt install -y libsodium-dev
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
# Build
|
# Build
|
||||||
```
|
```
|
||||||
workdir/
|
workdir/
|
||||||
├── bella_engine_sdk/
|
├── bella_engine_sdk/
|
||||||
|
├── libsodium/
|
||||||
├── libzmq/
|
├── libzmq/
|
||||||
├── cppzmq/
|
├── cppzmq/
|
||||||
├── efsw/
|
├── efsw/
|
||||||
├── belatui/
|
├── bellatui/
|
||||||
|
├── cmake/ (macos)
|
||||||
( additional Windows package manager dependency )
|
├── pkg-config/ (macos)
|
||||||
├── vcpkg/
|
|
||||||
|
|
||||||
( additional MacOS package manager dependency )
|
|
||||||
└── homebrew/
|
|
||||||
```
|
|
||||||
Download SDK for your OS and drag bella_engine_sdk into your workdir. On Windows rename unzipped folder by removing version ie bella_engine_sdk-24.6.0 -> bella_engine_sdk
|
|
||||||
|
|
||||||
- [bella_engine_sdk MacOS](https://downloads.bellarender.com/bella_engine_sdk-24.6.0.dmg)
|
|
||||||
- [bella_engine_sdk Linux](https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz)
|
|
||||||
- [bella_engine_sdk Win](https://downloads.bellarender.com/bella_engine_sdk-24.6.0.zip)
|
|
||||||
|
|
||||||
|
|
||||||
## MacOS
|
|
||||||
Install Cmake to /Applications
|
|
||||||
```
|
|
||||||
curl -LO https://github.com/Kitware/CMake/releases/download/v3.31.6/cmake-3.31.6-macos-universal.dmg
|
|
||||||
open cmake-3.31.6-macos-universal.dmg
|
|
||||||
```
|
|
||||||
Install Xcode
|
|
||||||
|
|
||||||
```
|
```
|
||||||
mkdir workdir
|
|
||||||
cd workdir
|
## MacOS x64 and arm64
|
||||||
mkdir homebrew
|
|
||||||
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C homebrew
|
```
|
||||||
eval "$(homebrew/bin/brew shellenv)"
|
# Install xcode
|
||||||
brew update --force --quiet
|
xcode-select --install
|
||||||
brew install libsodium
|
|
||||||
brew install pkg-config
|
mkdir workdir && cd workdir
|
||||||
|
mkdir cmake libsodium pkg-config libzmq cppzmq efsw bellatui
|
||||||
|
|
||||||
|
# Build cmake
|
||||||
|
cd cmake
|
||||||
|
git clone https://github.com/Kitware/CMake.git .
|
||||||
|
./configure
|
||||||
|
make -j$(sysctl -n hw.ncpu)
|
||||||
|
|
||||||
|
# Build libsodium
|
||||||
|
cd ../libsodium
|
||||||
|
curl -LO https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
|
||||||
|
tar xvf libsodium-1.0.20-stable.tar.gz --strip-components=1
|
||||||
|
./configure
|
||||||
|
./configure --prefix=$(pwd)/install
|
||||||
|
make -j$(sysctl -n hw.ncpu)
|
||||||
|
install_name_tool -id @rpath/libsodium.26.dylib src/libsodium/.libs/libsodium.26.dylib
|
||||||
|
|
||||||
|
# Build pkg-config
|
||||||
|
cd ../pkg-config
|
||||||
|
curl -LO https://pkgconfig.freedesktop.org/releases/pkg-config-0.29.2.tar.gz
|
||||||
|
tar xvf pkg-config-0.29.2.tar.gz --strip-components=1
|
||||||
|
LDFLAGS="-framework CoreFoundation -framework Carbon" CFLAGS="-Wno-int-conversion" CXXFLAGS="-Wno-int-conversion" ./configure --with-internal-glib
|
||||||
|
make -j$(sysctl -n hw.ncpu)
|
||||||
|
|
||||||
|
# Build libzmq
|
||||||
|
cd ../libzmq && git clone https://github.com/zeromq/libzmq .
|
||||||
|
../cmake/bin/cmake -B ./build -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=ON -DSODIUM_INCLUDE_DIRS=../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../libsodium/src/libsodium/.libs/libsodium.dylib -DPKG_CONFIG_EXECUTABLE=../pkg-config/pkg-config
|
||||||
|
/Applications/CMake.app/Contents/bin/cmake --build ./build -j$(sysctl -n hw.ncpu)
|
||||||
|
|
||||||
|
# Build cppzmq
|
||||||
|
cd ../cppzmq && git clone https://github.com/zeromq/cppzmq .
|
||||||
|
../cmake/bin/cmake -B ./build -DZeroMQ_LIBRARY=../libzmq/build/lib/libzmq.dylib -DZeroMQ_INCLUDE_DIR=../libzmq/include
|
||||||
|
../cmake/bin/cmake --build ./build -j$(sysctl -n hw.ncpu)
|
||||||
|
|
||||||
|
# Build efsw
|
||||||
|
cd ../efsw && git clone https://github.com/SpartanJ/efsw.git .
|
||||||
|
../cmake/bin/cmake -B ./build
|
||||||
|
../cmake/bin/cmake --build ./build -j$(sysctl -n hw.ncpu)
|
||||||
|
|
||||||
|
# Get bella sdk
|
||||||
cd ..
|
cd ..
|
||||||
git clone https://github.com/zeromq/libzmq
|
curl -LO https://downloads.bellarender.com/bella_engine_sdk-25.3.0-macos.zip
|
||||||
mkdir -p libzmq/build
|
tar -xvf bella_engine_sdk-25.3.0-macos.zip
|
||||||
cd libzmq/build
|
|
||||||
/Applications/CMake.app/Contents/bin/cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../../homebrew/Cellar/libsodium/1.0.20/include/sodium -DSODIUM_INCLUDE_DIRS=~/homebrew/Cellar/libsodium/1.0.20/include -DSODIUM_LIBRARIES=~/homebrew/Cellar/libsodium/1.0.20/lib/libsodium.a
|
# Get oom
|
||||||
make -j4
|
git clone https://git.indoodle.com/oomer/oom.git
|
||||||
cd ../..
|
|
||||||
git clone https://github.com/zeromq/cppzmq
|
|
||||||
git clone https://github.com/SpartanJ/efsw.git
|
|
||||||
mkdir -p efsw/build
|
|
||||||
cd efsw/build
|
|
||||||
/Applications/CMake.app/Contents/bin/cmake ..
|
|
||||||
make -j4
|
|
||||||
cd ../..
|
|
||||||
git clone https://github.com/oomer/bellatui.git
|
|
||||||
cd bellatui
|
cd bellatui
|
||||||
|
git clone https://github.com/oomer/bellatui.git .
|
||||||
make all -j4
|
make all -j4
|
||||||
```
|
```
|
||||||
|
|
||||||
## Linux
|
## Ubuntu Linux x64
|
||||||
|
|
||||||
### bella_engine_sdk
|
|
||||||
```
|
```
|
||||||
curl -O https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz
|
sudo apt install -y build-essential cmake mesa-vulkan-drivers libgl1
|
||||||
tar -xvf bella_engine_sdk-24.6.0.tar.gz
|
mkdir workdir && cd workdir
|
||||||
|
mkdir libsodium libzmq cppzmq efsw bellatui
|
||||||
|
|
||||||
|
# Build libsodium
|
||||||
|
cd libsodium
|
||||||
|
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz
|
||||||
|
tar xvf libsodium-1.0.20-stable.tar.gz --strip-components=1
|
||||||
|
./configure
|
||||||
|
make -j$(nproc)
|
||||||
|
|
||||||
|
# Build libzmq
|
||||||
|
cd ../libzmq && git clone https://github.com/zeromq/libzmq .
|
||||||
|
cmake -B ./build -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=../libsodium/src/libsodium/include/sodium -DSODIUM_INCLUDE_DIRS=../libsodium/src/libsodium/include -DSODIUM_LIBRARIES=../libsodium/src/libsodium/.libs/libsodium.so
|
||||||
|
cmake --build ./build -j$(nproc)
|
||||||
|
|
||||||
|
# Build cppzmq
|
||||||
|
cd ../cppzmq && git clone https://github.com/zeromq/cppzmq .
|
||||||
|
cmake -B ./build -DZeroMQ_LIBRARY=../libzmq/build/lib/libzmq.so -DZeroMQ_INCLUDE_DIR=../libzmq/include
|
||||||
|
cmake --build ./build -j$(nproc)
|
||||||
|
|
||||||
|
# Build efsw
|
||||||
|
cd ../efsw && git clone https://github.com/SpartanJ/efsw.git .
|
||||||
|
cmake -B ./build
|
||||||
|
cmake --build ./build -j$(nproc)
|
||||||
|
|
||||||
|
# Get bella sdk
|
||||||
|
cd ..
|
||||||
|
wget https://downloads.bellarender.com/bella_engine_sdk-25.3.0-linux.tar.gz
|
||||||
|
tar -xvf bella_engine_sdk-25.3.0-linux.tar.gz
|
||||||
|
|
||||||
|
# Get oom
|
||||||
|
cd ..
|
||||||
|
git clone https://git.indoodle.com/oomer/oom.git
|
||||||
|
|
||||||
|
# Build bellatui
|
||||||
|
cd ../bellatui
|
||||||
|
git clone https://github.com/oomer/bellatui.git .
|
||||||
|
make all -j$(nproc)
|
||||||
```
|
```
|
||||||
|
|
||||||
#### ubuntu dependencies
|
[TODO]
|
||||||
```
|
Fix in Makefile
|
||||||
apt install -y build-essential
|
cp ../libzmq/build/lib/libzmq.so.5 bin/Linux/release/
|
||||||
apt install -y libx11-dev
|
|
||||||
apt install -y libgl1-mesa-dev
|
|
||||||
apt install -y libtool
|
|
||||||
apt install -y libsodium-dev
|
|
||||||
apt install -y cmake
|
|
||||||
apt install pkg-config
|
|
||||||
```
|
|
||||||
|
|
||||||
#### redhat dependencies
|
|
||||||
```
|
|
||||||
dnf groupinstall -y "Development Tools"
|
|
||||||
dnf install -y libX11-devel
|
|
||||||
dnf install -y mesa-libGL-devel
|
|
||||||
dnf install -y libtool
|
|
||||||
dnf install -y libsodium-devel
|
|
||||||
dnf install -y cmake
|
|
||||||
dnf install -y pkg-config
|
|
||||||
```
|
|
||||||
|
|
||||||
[todo] makefile needs this path for redhat
|
|
||||||
```
|
|
||||||
SODDIR = /usr/lib64/
|
|
||||||
```
|
|
||||||
|
|
||||||
### building libzmq cppzmq
|
|
||||||
```
|
|
||||||
mkdir workdir
|
|
||||||
cd workdir
|
|
||||||
git clone https://github.com/zeromq/libzmq
|
|
||||||
cd libzmq
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
//cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium
|
|
||||||
cmake .. -DENABLE_DRAFTS=OFF -DWITH_TLS=OFF -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium
|
|
||||||
make -j4
|
|
||||||
cd ../..
|
|
||||||
git clone https://github.com/zeromq/cppzmq
|
|
||||||
cd cppzmq
|
|
||||||
mkdir build
|
|
||||||
cd build
|
|
||||||
cmake ..
|
|
||||||
cd ../..
|
|
||||||
git clone https://github.com/SpartanJ/efsw.git
|
|
||||||
|
|
||||||
mkdir -p efsw/build
|
|
||||||
cd efsw/build
|
|
||||||
cmake ..
|
|
||||||
make -j4
|
|
||||||
```
|
|
||||||
|
|
||||||
### compiling bellatui
|
|
||||||
```
|
|
||||||
cd ../..
|
|
||||||
git clone https://github.com/oomer/bellatui.git
|
|
||||||
cd bellatui
|
|
||||||
make all -j4
|
|
||||||
```
|
|
||||||
|
|
||||||
# Windows
|
# Windows
|
||||||
https://aka.ms/vs/17/release/vs_BuildTools.exe
|
https://aka.ms/vs/17/release/vs_BuildTools.exe
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user