docc 0.8.3 (0d44999b)
C++ API Reference
Loading...
Searching...
No Matches
docc::compile::SrcFileCompilerBuilder Class Reference

#include <docc/compile/src_file_compiler_builder.h>

Inheritance diagram for docc::compile::SrcFileCompilerBuilder:
[legend]

Public Member Functions

 SrcFileCompilerBuilder ()
 ~SrcFileCompilerBuilder ()
 SrcFileCompilerBuilder (SrcFileCompilerBuilder &&) noexcept
SrcFileCompilerBuilder & operator= (SrcFileCompilerBuilder &&) noexcept
SrcFileCompilerBuilder & set_src_extension (const std::string &ext)
SrcFileCompilerBuilder & set_output_dir (const std::filesystem::path &output_dir)
SrcFileCompilerBuilder & add_compile_option (const std::string &opt)
SrcFileCompilerBuilder & add_link_option (const std::string &opt)
SrcFileCompilerBuilder & add_common_option (const std::string &opt)
SrcFileCompilerBuilder & add_include_path (const std::filesystem::path &path)
SrcFileCompilerBuilder & add_library_path (const std::filesystem::path &path)
 calls [add_library_path(path, false)]
SrcFileCompilerBuilder & add_library_path (const std::filesystem::path &path, bool is_rpath)
 adds a path to the lookup paths the linker checks for libraries
SrcFileCompilerBuilder & set_compiler (const std::filesystem::path &compiler)
SrcFileCompilerBuilder & set_linker (const std::filesystem::path &linker)
SrcFileCompilerBuilder & set_from_paths (std::shared_ptr< util::DefaultDoccPaths > paths) override
SrcFileCompilerBuilder & set_bin_extension (const std::string &ext)
SrcFileCompilerBuilder & set_compile_order (int codegen_order=0, int compile_min_order=0)
SrcFileCompilerBuilder & inherit (const SrcFileCompilerBuilder &builder, bool compile_options=false)
SrcFileCompilerBuilder & codegen_only ()
SrcFileCompilerBuilder & set_link_immediately (bool link_imm)
 There is only 1 source and no need to compile an object file and then link all object files.
SrcFileCompilerBuilder & contribute_parent_link_options (const std::vector< std::string > &opts)
SrcFileCompilerBuilder & redirect_snippet (const std::string &ext, SrcFileCompilerBuilder sub_builder)
std::unique_ptr< SrcFileCompiler > build ()
bool remove_compile_option (const std::string &opt)
Public Member Functions inherited from docc::compile::CodegenCompilerBuilderBase< SrcFileCompilerBuilder >
virtual ~CodegenCompilerBuilderBase ()=default
const util::DefaultDoccPaths & docc_paths () const

Additional Inherited Members

Protected Attributes inherited from docc::compile::CodegenCompilerBuilderBase< SrcFileCompilerBuilder >
std::shared_ptr< util::DefaultDoccPaths > docc_paths_

Constructor & Destructor Documentation

◆ SrcFileCompilerBuilder() [1/2]

docc::compile::SrcFileCompilerBuilder::SrcFileCompilerBuilder ( )

◆ ~SrcFileCompilerBuilder()

docc::compile::SrcFileCompilerBuilder::~SrcFileCompilerBuilder ( )

◆ SrcFileCompilerBuilder() [2/2]

docc::compile::SrcFileCompilerBuilder::SrcFileCompilerBuilder ( SrcFileCompilerBuilder && )
noexcept

Member Function Documentation

◆ add_common_option()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::add_common_option ( const std::string & opt)

◆ add_compile_option()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::add_compile_option ( const std::string & opt)

◆ add_include_path()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::add_include_path ( const std::filesystem::path & path)

◆ add_library_path() [1/2]

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::add_library_path ( const std::filesystem::path & path)

calls [add_library_path(path, false)]

◆ add_library_path() [2/2]

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::add_library_path ( const std::filesystem::path & path,
bool is_rpath )

adds a path to the lookup paths the linker checks for libraries

Parameters
path
is_rpathalso append this path to the RPATH to bake into the binary, such that it can find the .so libraries at runtime

◆ add_link_option()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::add_link_option ( const std::string & opt)

◆ build()

std::unique_ptr< SrcFileCompiler > docc::compile::SrcFileCompilerBuilder::build ( )

◆ codegen_only()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::codegen_only ( )

◆ contribute_parent_link_options()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::contribute_parent_link_options ( const std::vector< std::string > & opts)

◆ inherit()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::inherit ( const SrcFileCompilerBuilder & builder,
bool compile_options = false )

◆ operator=()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::operator= ( SrcFileCompilerBuilder && )
noexcept

◆ redirect_snippet()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::redirect_snippet ( const std::string & ext,
SrcFileCompilerBuilder sub_builder )

◆ remove_compile_option()

bool docc::compile::SrcFileCompilerBuilder::remove_compile_option ( const std::string & opt)

◆ set_bin_extension()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_bin_extension ( const std::string & ext)

◆ set_compile_order()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_compile_order ( int codegen_order = 0,
int compile_min_order = 0 )

◆ set_compiler()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_compiler ( const std::filesystem::path & compiler)

◆ set_from_paths()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_from_paths ( std::shared_ptr< util::DefaultDoccPaths > paths)
overridevirtual

◆ set_link_immediately()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_link_immediately ( bool link_imm)

There is only 1 source and no need to compile an object file and then link all object files.

Fuse compile and link options. Expects the [compiler-executable] to be a gcc-like driver that can also handle linking

◆ set_linker()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_linker ( const std::filesystem::path & linker)

◆ set_output_dir()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_output_dir ( const std::filesystem::path & output_dir)

◆ set_src_extension()

SrcFileCompilerBuilder & docc::compile::SrcFileCompilerBuilder::set_src_extension ( const std::string & ext)

The documentation for this class was generated from the following file: