Apache Geode Native C++
CHANGELOG
C++ Application Development Walkthrough
This section describes how to set up a native client development environment using C++ and CMake.
Prerequisites
This walkthrough assumes that certain components are in place:
- The Geode Native Client libraries. Install the Native Client as described in Getting Started with the Native Library. Follow the ease-of-use recommendations by installing the Native Client in a well-known location and renaming it.
| System | Native Client Library Well-Known Location |
|---|---|
| Linux | /usr/local/nativeclient |
| Windows | C:\Program Files\nativeclient |
The CMake tool suite. Download and install CMake, following the instructions on cmake.org.
Geode: Install and configure Geode. See the Geode User’s Guide for instructions and system requirements.
To develop a Native Client application using C++ and CMake:
- Create a project directory structure
- Populate the project directories with C++ source code
- Configure the CMake build environment
- Run CMake to build your application
- Run your application
Setting up Directories and Sources
Create a project directory structure. In this example, the project is called MyProject. The directory structure provides a place for your application source files and a
cmakemodules directory for project-specific CMake files:MyProject/ cmake/ FindGeodeNative.cmake CMakeLists.txt main.cppChange directory to MyProject and create your application sources. In this example, we have one source file,
main.cpp.
Configuring CMake
Copy the
FindGeodeNative.cmakescript from one of the Native Client examples to thecmakesubdirectory.Create CMakeLists.txt. Copy the file from an example, if you like, as a starting point. The CMakeLists.txt file should contain the following CMake instructions:
CMake minimum version
cmake_minimum_required(VERSION 3.10)Your project name and language
project(MyProject LANGUAGES CXX)Minimum language version. For the Native Client, the minimum C++ version is 11.
set(CMAKE_CXX_STANDARD 11)Path to the CMake modules directory where the
FindGeodeNative.cmakescript is located and an instruction telling CMake to use it:set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake) find_package(GeodeNative REQUIRED COMPONENTS cpp)The compilation target and the source(s) to be compiled
add_executable(MyProject main.cpp) target_link_libraries(MyProject PUBLIC GeodeNative::cpp)
Combined, the above elements comprise the following CMakeLists.txt:
# CMakeLists.txt for C++ Native Client App
cmake_minimum_required(VERSION 3.10)
project(MyProject LANGUAGES CXX)
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/cmake)
find_package(GeodeNative REQUIRED COMPONENTS cpp)
add_executable(MyProject main.cpp)
target_link_libraries(MyProject
PUBLIC
GeodeNative::cpp)
Building the App
Create a build directory and set it as your current directory:
$ mkdir build $ cd buildRun CMake twice, once to configure the build, then again to perform the build, generating the executable application.
$ cmake .. $ cmake --build .
This creates the executable application in your build directory.
Apache Geode Native C++ Documentation