Compare commits

..

2 Commits

2 changed files with 66 additions and 79 deletions

View File

@ -66,6 +66,7 @@ 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)
USD_SDK_LIB_FILE = libdl_usd_ms.$(SDK_LIB_EXT)
EFSW_LIB_PATH = $(LIBEFSW_PATH)/build 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
@ -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)

139
README.md
View File

@ -33,21 +33,6 @@ 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/
@ -56,77 +41,79 @@ workdir/
├── 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/
```
## 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
``` ```
## Ubuntu Linux x64 and arm64 ## Ubuntu Linux x64
### bella_engine_sdk
```
curl -O https://downloads.bellarender.com/bella_engine_sdk-24.6.0.tar.gz
tar -xvf bella_engine_sdk-24.6.0.tar.gz
```
#### ubuntu dependencies
```
apt install -y build-essential
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
```
### building libzmq cppzmq
``` ```
sudo apt install -y build-essential cmake mesa-vulkan-drivers libgl1
mkdir workdir && cd workdir mkdir workdir && cd workdir
mkdir libsodium libzmq cppzmq efsw bellatui mkdir libsodium libzmq cppzmq efsw bellatui
# Build libsodium # Build libsodium
cd libsodium && git clone https://github.com/jedisct1/libsodium.git cd libsodium
wget https://download.libsodium.org/libsodium/releases/libsodium-1.0.20-stable.tar.gz 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 tar xvf libsodium-1.0.20-stable.tar.gz --strip-components=1
./configure ./configure
@ -145,7 +132,7 @@ cmake --build ./build -j$(nproc)
# Build efsw # Build efsw
cd ../efsw && git clone https://github.com/SpartanJ/efsw.git . cd ../efsw && git clone https://github.com/SpartanJ/efsw.git .
cmake -B ./build cmake -B ./build
make -j$(nproc) cmake --build ./build -j$(nproc)
# Get bella sdk # Get bella sdk
cd .. cd ..
@ -156,7 +143,6 @@ tar -xvf bella_engine_sdk-25.3.0-linux.tar.gz
cd .. cd ..
git clone https://git.indoodle.com/oomer/oom.git git clone https://git.indoodle.com/oomer/oom.git
# Build bellatui # Build bellatui
cd ../bellatui cd ../bellatui
git clone https://github.com/oomer/bellatui.git . git clone https://github.com/oomer/bellatui.git .
@ -165,7 +151,6 @@ make all -j$(nproc)
[TODO] [TODO]
Fix in Makefile Fix in Makefile
cp ../bella_engine_sdk/lib/libdl_usd_ms.so bin/Linux/release/
cp ../libzmq/build/lib/libzmq.so.5 bin/Linux/release/ cp ../libzmq/build/lib/libzmq.so.5 bin/Linux/release/
# Windows # Windows