OrangesDefaultTarget

Provides a helper “default target” with some sensible defaults configured.

Targets

Oranges::OrangesDefaultTarget

A default target with some basic boilerplate settings configured, that links against OrangesOptimizationFlags, OrangesDefaultWarnings, and OrangesDebugTarget (the latter, in debug configurations only).

Oranges::OrangesDefaultCXXTarget

Links to OrangesDefaultTarget, but also has some default C++ compile features added. The C++ standard used by this target is C++20, and it has exceptions and RTTI enabled by default. This target also has default symbol visibility control settings enabled; for building libraries, I recommend you link against this target and then create an export header with oranges_generate_export_header().

Target properties

ORANGES_USING_INSTALLED_PACKAGE

For any target that links against OrangesDefaultTarget, this property will be defined to TRUE if it was linked to from an installed package, and FALSE if it is being built from source. This property will (probably) be undefined for any target that does not link against OrangesDefaultTarget.

See also

Target OrangesDebugTarget

A helper target that just enables debugging flags. OrangesDefaultTarget links to this by default in all debug configurations.

Target OrangesOptimizationFlags

A helper target that enables various configuration-aware optimization flags. OrangesDefaultTarget links to this by default.

Target OrangesDefaultWarnings

A helper target that defines some default warning flags. OrangesDefaultTarget links to this by default.