Quick Start Guide#

This guide will help you get Join framework up and running on your system in few minutes.


Prerequisites#

Join framework requires:

  • C++14 compatible compiler
  • CMake
  • Linux operating system

Dependencies#

Join relies on the following libraries:

LibraryPackagePurpose
OpenSSLlibssl-devTLS support and cryptographic operations
zlibzlib1g-devCompression capabilities
Google Testlibgtest-devUnit testing (optional)
Google Mocklibgmock-devMocking in tests (optional)

Note: OpenSSL is required by join_core as TLS support is part of the core runtime.


Installing Dependencies#

On Ubuntu/Debian:

sudo apt update && sudo apt install libssl-dev zlib1g-dev libgtest-dev libgmock-dev

Download#

Clone the latest source code from GitHub:

git clone https://github.com/joinframework/join.git

Configuration#

Configure Join using CMake. Here are the most common configurations:

Standard Release Configuration#

For production use:

cmake -B build -DCMAKE_BUILD_TYPE=Release

Debug Configuration with Tests#

For development with tests and coverage enabled:

cmake -B build -DCMAKE_BUILD_TYPE=Debug -DJOIN_ENABLE_TESTS=ON

Configuration Options#

Available CMake options:

OptionDescriptionDefault
CMAKE_BUILD_TYPEBuild type: Release, Debug, RelWithDebInfo, MinSizeRelRelease
BUILD_SHARED_LIBSBuild as shared libraries (OFF for static)ON
JOIN_ENABLE_CRYPTOEnable crypto moduleON
JOIN_ENABLE_DATAEnable data moduleON
JOIN_ENABLE_FABRICEnable fabric moduleON
JOIN_ENABLE_SERVICESEnable services moduleON
JOIN_ENABLE_TESTSEnable unit testsOFF
JOIN_ENABLE_COVERAGEEnable code coverage reportingOFF
CMAKE_INSTALL_PREFIXInstallation directory/usr/local

Build#

Build Join using CMake:

cmake --build build

Installation#

Install Join to your system:

sudo cmake --install build

After installation, you may need to update the library cache:

sudo ldconfig

Running Tests#

If you configured with tests enabled (-DJOIN_ENABLE_TESTS=ON), run the test suite:

ctest --test-dir build --output-on-failure

Using Join in Your Project#

Once installed, you can use Join in your CMake projects:

CMakeLists.txt#

cmake_minimum_required(VERSION 3.14)
project(MyApp)

# Find the join package
find_package(join REQUIRED)

# Create your executable
add_executable(myapp main.cpp)

# Link against Join modules
target_link_libraries(myapp PRIVATE 
    join::core
    join::crypto
    join::data
    join::fabric
    join::services
)

# Set C++ standard
set_target_properties(myapp PROPERTIES
    CXX_STANDARD 14
    CXX_STANDARD_REQUIRED ON
)

Next Steps#

Now that you have Join installed and working, explore the modules:


Additional Resources#


Getting Help#

If you encounter issues:

  1. Search existing issues
  2. Review the API documentation
  3. Open a new issue with:
    • Your system information (OS, compiler version)
    • CMake configuration command
    • Complete error messages
    • Minimal reproducible example

License#

Join is released under the MIT License, giving you maximum freedom to use it in your projects, whether open source or proprietary.