updatd MacOS instructions, added license
This commit is contained in:
parent
fb7615ed22
commit
aff4a787f8
21
LICENSE
Normal file
21
LICENSE
Normal file
@ -0,0 +1,21 @@
|
|||||||
|
MIT License
|
||||||
|
|
||||||
|
Copyright (c) 2025 Harvey Fong
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
of this software and associated documentation files (the "Software"), to deal
|
||||||
|
in the Software without restriction, including without limitation the rights
|
||||||
|
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||||
|
copies of the Software, and to permit persons to whom the Software is
|
||||||
|
furnished to do so, subject to the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included in all
|
||||||
|
copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
||||||
|
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
||||||
|
SOFTWARE.
|
||||||
94
README.md
94
README.md
@ -1,55 +1,107 @@
|
|||||||
# zmqprototype
|
# poomer-zmq-client_server
|
||||||
[ALPHA CODE] My learning project to prototype a cross platform zmq rep-req render node
|
c++ cross platform prototype zmq rep-req render node
|
||||||
|
|
||||||
- This is the code before integration with bella_engine_sdk
|
[ZeroMQ messaging library](https://zeromq.org)
|
||||||
|
|
||||||
server starts in pubkey server mode, allowing one client to grab the pubkey
|
server starts in pubkey server mode, allowing one client to grab the pubkey
|
||||||
- keypairs are generated on every start
|
- keypairs are generated on every start
|
||||||
- requires port 5555, 5556, 5557
|
- used tcp ports 5555, 5556, 5557
|
||||||
client
|
|
||||||
|
|
||||||
###Build
|
# Build
|
||||||
|
|
||||||
|
```
|
||||||
|
workdir/
|
||||||
|
├── libzmq/
|
||||||
|
├── cppzmq/
|
||||||
|
├── poomer-zmq-client_server/
|
||||||
|
|
||||||
|
( additional Windows package manager dependency )
|
||||||
|
├── vcpkg/
|
||||||
|
|
||||||
|
( additional MacOS package manager dependency )
|
||||||
|
└── homebrew/
|
||||||
|
|
||||||
|
```
|
||||||
|
|
||||||
## Linux
|
## Linux
|
||||||
```
|
```
|
||||||
apt install -y libzmq-dev
|
//apt install -y libzmq-dev
|
||||||
ldconfig
|
//ldconfig
|
||||||
apt install -y libtool
|
apt install -y libtool
|
||||||
apt install -y libsodium-dev
|
apt install -y libsodium-dev
|
||||||
apt install -y cmake
|
apt install -y cmake
|
||||||
|
mkdir workdir
|
||||||
git clone https://github.com/zeromq/libzmq
|
cd workdir
|
||||||
apt install libgnutls28-dev
|
apt install libgnutls28-dev
|
||||||
apt install pkg-config
|
apt install pkg-config
|
||||||
|
git clone https://github.com/zeromq/libzmq
|
||||||
cd libzmq
|
cd libzmq
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium
|
cmake .. -DENABLE_CURVE=ON -DWITH_LIBSODIUM=/usr/include/sodium
|
||||||
|
cd ../..
|
||||||
|
|
||||||
git https://github.com/zeromq/cppzmq
|
git https://github.com/zeromq/cppzmq
|
||||||
cd cppzmq
|
cd cppzmq
|
||||||
mkdir build
|
mkdir build
|
||||||
cd build
|
cd build
|
||||||
cmake ..
|
cmake ..
|
||||||
|
|
||||||
g++ server.cpp -o server -lzmq -Wl,-rpath,.
|
g++ server.cpp -o server -lzmq -Wl,-rpath,.
|
||||||
```
|
```
|
||||||
|
|
||||||
## MacOS
|
## 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 -p workdir/homebrew
|
||||||
|
cd workdir
|
||||||
|
curl -L https://github.com/Homebrew/brew/tarball/master | tar xz --strip-components 1 -C homebrew
|
||||||
|
eval "$(homebrew/bin/brew shellenv)"
|
||||||
|
brew update --force --quiet
|
||||||
|
//chmod -R go-w "$(brew --prefix)/share/zsh"
|
||||||
|
brew install libsodium
|
||||||
|
//brew install gnutls
|
||||||
|
brew install pkg-config
|
||||||
|
git clone https://github.com/zeromq/libzmq
|
||||||
|
cd libzmq
|
||||||
|
mkdir build
|
||||||
|
cd 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
|
||||||
|
make -j4
|
||||||
|
cd ../..
|
||||||
|
git clone https://github.com/zeromq/cppzmq
|
||||||
|
git clone https://github.com/oomer/poomer-zmq-client_server.git
|
||||||
|
cd poomer-zmq-client_server
|
||||||
g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,.
|
g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,.
|
||||||
g++ -std=c++11 server.cpp -o server -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,.
|
g++ -std=c++11 client.cpp -o client -I../libzmq/include -I../cppzmq -L../libzmq/build/lib -lzmq -Wl,-rpath,.
|
||||||
|
cp ../libzmq/build/lib/libzmq.5.dylib .
|
||||||
|
```
|
||||||
|
[TODO] wrap in a makefile, see bellatui
|
||||||
|
[TODO] put in bin/Darwin
|
||||||
|
[TODO] clears compile time warnings
|
||||||
|
|
||||||
cl /std:c++17 client.cpp -Fe:client.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib
|
## Windows
|
||||||
|
Install Visual Studio Community with Desktop C++
|
||||||
cl /std:c++17 server.cpp -Fe:server.exe -Ic:\Users\cupcake\github\vcpkg\installed\x64-windows\include\ /link c:\Users\cupcake\github\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib
|
open a x64 Developer Shell
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
clang++ -o bin/Darwin/client obj/Darwin/client.o -mmacosx-version-min=11.0 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk -framework Cocoa -framework IOKit -framework CoreVideo -framework CoreFoundation -framework Accelerate -fvisibility=hidden -O5 -rpath @executable_path -weak_library ./lib/libvulkan.dylib -L./lib -L../libzmq/build/lib -lbella_engine_sdk -lm -lzmq -ldl
|
|
||||||
|
|
||||||
```
|
```
|
||||||
|
mkdir workdir
|
||||||
|
cd workdir
|
||||||
|
git clone https://github.com/microsoft/vcpkg.git
|
||||||
|
cd vcpkg; .\bootstrap-vcpkg.bat
|
||||||
|
.\vcpkg.exe install boost:x64-windows zeromq[sodium]:x64-windows
|
||||||
|
.\vcpkg.exe install cppzmq:x64-windows
|
||||||
|
.\vcpkg integrate install
|
||||||
|
cd ..
|
||||||
|
git clone https://github.com/oomer/bellatui.git
|
||||||
|
cd bellatui
|
||||||
|
cl /std:c++17 client.cpp -Fe:client.exe -Ic:..\vcpkg\installed\x64-windows\include\ /link ..\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib
|
||||||
|
cl /std:c++17 server.cpp -Fe:server.exe -Ic:..\vcpkg\installed\x64-windows\include\ /link ..\vcpkg\installed\x64-windows\lib\libzmq-mt-4_3_5.lib
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user