- Activate the dspacex conda environment:
<.../dSpaceX> $ conda activate dspacex
- Create a build directory.
<.../dSpaceX> $ mkdir build
- Run cmake to configure.
<.../dSpaceX> $ cd build
<.../dSpaceX/build> $ cmake -G<generator> -DCMAKE_PREFIX_PATH=${CONDA_PREFIX} ../
The generator can be omitted for a simple Makefile, or set to one of those listed on the CMake page.
- If a generator was specified load and build the DSPACEX project file. Otherwise, simply run make to build the targets.
<../dSpaceX/build> $ make -j8
Building in CLion
If you build the server in the CLion IDE you see the following error
CMake Error at /Applications/CLion.app/Contents/bin/cmake/mac/share/cmake-3.16/Modules/FindPackageHandleStandardArgs.cmake:146 (message):
Could NOT find PNG (missing: PNG_LIBRARY PNG_PNG_INCLUDE_DIR)
You will need to add -DCMAKE_PREFIX_PATH=${CONDA_PREFIX}
to the CMake options in CLion.
- Select the settings(gear) icon in the CMake window
- From the dropdown select "CMake Settings"
- In the CMake Options: field paste
-DCMAKE_PREFIX_PATH=${CONDA_PREFIX}
CONDA_PREFIX
is the path to the conda environment.
Adding it to the CMake prefix path guarantees CMake can find all packages installed in that environment.
<../dSpaceX/build> $ conda activate dspacex
<../dSpaceX/build> $ ./bin/dSpaceX
Options include --port
and --datapath
to specify the port on which to listen
for client connections and the path to available datasets.
Use --help
to list all options.
See Configuration for more about preparing datasets to be
hosted by the dSpaceX server.
The default CMake configuration will only build the HDProcess library. It can also optionally build the following binaries if desired. These may require installation of additional dependencies, listed below.
- HDViz - A GUI for Visualizating Datasets.
- HDVizProcessing - A Commnad Line tool for feeding a dataset through the analysis tool.
- HDVizImage - A similar tool for working with Image data.
The HDProcess library has the following dependencies:
- BLAS
- LAPACK
- gfortran
The HDViz GUI has the following additional dependencies:
- GLUT
- OpenGL
- FTGL
- Freetype
- Threads
The HDVizImage binary has the following additional dependencies:
- ITK
The beSpace server backend has the following dependencies:
- libJpeg
- libPng