build.rst
4.49 KB
Building
Building C++ Client
Prerequisites
- CMake (version >= 3.12.4)
- For Linux/Mac gcc which supports C++ 11 or higher
- For Windows Visual Studio 2017
External Dependencies
- ITK (version = 4.13..1)
- Poco (version = 1.9.0)
- nlohmann_json
Note
Above are source only dependencies for CMake project. They will get downloaded and built as part of super-build project for AIAA Client.
Building Binaries
Following the below instructions to get the source code and build the project
git clone https://github.com/NVIDIA/ai-assisted-annotation-client.git NvidiaAIAAClient
cd NvidiaAIAAClient
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release ../
# If ITK is installed locally
export MYINSTALL_DIR=/home/xyz/install
cmake -DCMAKE_BUILD_TYPE=Release -DITK_DIR=${MYINSTALL_DIR}/lib/cmake/ITK-4.13 ../
# If ITK and Poco are installed locally
cmake -DCMAKE_BUILD_TYPE=Release -DITK_DIR=${MYINSTALL_DIR}/lib/cmake/ITK-4.13 -DPoco_DIR=${MYINSTALL_DIR}/lib/cmake/Poco ../
- To Build binaries/package on Linux/MacOS:
-
- make -j6
- cd NvidiaAIAAClient-Build
- make package
- To Build binaries/package on Windows:
-
- open
NvidiaAIAAClient-superbuild.sln
and runALL_BUILD
target - open
NvidiaAIAAClient.sln
under NvidiaAIAAClient-Build and runPACKAGE
target to build (in Release mode) an installable-package
- open
Note
- Use Release mode for faster build.
- For Windows, use CMAKE GUI client to configure and generate the files.
- For Windows, if ITK is not externally installed, then use shorter path for ROOT Folder e.g.
C:/NvidiaAIAAClient
to avoidLongPath
error.
- Following are some additional CMake Flags helpful while configuring the project.
-
-
ITK_DIR
- use already installed ITK libraries and includes -
Poco_DIR
- use already installed Poco libraries and includes -
AIAA_LOG_DEBUG_ENABLED
- enable/disable Debug-level Logging (default: 0) -
AIAA_LOG_INFO_ENABLED
- enable/disable Info-level Logging (default: 1)
-
Building the Documentation
The NVIDIA AI-Assisted Annotation Client documentation is found in the docs/ directory and is based on Sphinx. Doxygen integrated with Exhale is used for C++ API docuementation.
To build the docs install the required dependencies:
$ apt-get update $ apt-get install -y --no-install-recommends doxygen $ pip install --upgrade sphinx sphinx-rtd-theme nbsphinx exhale breathe SimpleITK numpy
Then use Sphinx to build the documentation into the build/html directory:
$ cd docs $ make clean html