ores.cpp.component.export

Table of Contents

Per-component shared-library export/import macros. All component profiles. Components built as static libraries on Windows omit DLL annotations there; their shared-library visibility on other platforms is unchanged.

See the Template variable reference for the complete list of available variables and their semantics.

1. Template

The full template source. Edit here and re-tangle with compass build --direct tangle_codegen_templates to regenerate library/templates/cpp_export.hpp.mustache.

{{! GENERATED FILE — tangled from projects/ores.codegen/library/templates/ores.cpp.component.export.org. Edit the org source. }}
{{{cpp_license}}}
{{#component}}
#ifndef {{full_name_upper}}_EXPORT_HPP
#define {{full_name_upper}}_EXPORT_HPP

#include <boost/config.hpp>

{{#win32_static_library}}
#if defined(_WIN32)
#  define {{full_name_upper}}_EXPORT
#else
{{/win32_static_library}}
#ifdef {{full_name_upper}}_LIBRARY
#  define {{full_name_upper}}_EXPORT BOOST_SYMBOL_EXPORT
#else
#  define {{full_name_upper}}_EXPORT BOOST_SYMBOL_IMPORT
#endif
{{#win32_static_library}}
#endif
{{/win32_static_library}}

#endif
{{/component}}

2. See also

Emacs 29.3 (Org mode 9.6.15)