Skip to content

Latest commit

 

History

History
79 lines (56 loc) · 2.03 KB

BUILDING.md

File metadata and controls

79 lines (56 loc) · 2.03 KB

Building with CMake

Build

This project doesn't require any special command-line flags to build to keep things simple.

Here are the steps for building in release mode with a single-configuration generator, like the Unix Makefiles one:

cmake -S . -B build -D CMAKE_BUILD_TYPE=Release
cmake --build build

Here are the steps for building in release mode with a multi-configuration generator, like the Visual Studio ones:

cmake -S . -B build
cmake --build build --config Release

Building with MSVC

Note that MSVC by default is not standards compliant and you need to pass some flags to make it behave properly. See the flags-windows preset in the CMakePresets.json file for the flags and with what variable to provide them to CMake during configuration.

To build tests, include the option -D oystr_DEVELOPER_MODE=ON

cmake -S . -B build -D oystr_DEVELOPER_MODE=ON cmake --build build

Install

This project doesn't require any special command-line flags to install to keep things simple. As a prerequisite, the project has to be built with the above commands already.

The below commands require at least CMake 3.15 to run, because that is the version in which Install a Project was added.

Here is the command for installing the release mode artifacts with a single-configuration generator, like the Unix Makefiles one:

cmake --install build

Here is the command for installing the release mode artifacts with a multi-configuration generator, like the Visual Studio ones:

cmake --install build --config Release

CMake package

This project exports a CMake package to be used with the find_package command of CMake:

  • Package name: oystr
  • Cache variable: OYSTR_EXECUTABLE

Example usage:

find_package(oystr REQUIRED)
# Use the executable in some command
execute_process(
    COMMAND "${OYSTR_EXECUTABLE}" ...
    ...
)