Define macros to detect cppast when parsing the code
This commit is contained in:
parent
ae87bc378b
commit
206c771b1d
2 changed files with 12 additions and 0 deletions
|
|
@ -29,6 +29,11 @@ namespace cppast
|
|||
class libclang_compile_config final : public compile_config
|
||||
{
|
||||
public:
|
||||
/// Creates the default configuration.
|
||||
///
|
||||
/// \effects It will set the clang binary determined by the build system,
|
||||
/// as well as the libclang system include directory determined by the build system.
|
||||
/// It will also define `__cppast__` with the value `"libclang"` as well as `__cppast_major__` and `__cppast_minor__`.
|
||||
libclang_compile_config();
|
||||
|
||||
/// \effects Sets the path to the location of the `clang++` binary and the version of that binary.
|
||||
|
|
|
|||
|
|
@ -49,13 +49,20 @@ namespace
|
|||
|
||||
libclang_compile_config::libclang_compile_config() : compile_config({})
|
||||
{
|
||||
// set given clang binary
|
||||
auto ptr = CPPAST_CLANG_VERSION_STRING;
|
||||
auto major = parse_number(ptr);
|
||||
auto minor = parse_number(ptr);
|
||||
auto patch = parse_number(ptr);
|
||||
set_clang_binary(CPPAST_CLANG_BINARY, major, minor, patch);
|
||||
|
||||
// set system include dir
|
||||
add_include_dir(CPPAST_LIBCLANG_SYSTEM_INCLUDE_DIR);
|
||||
|
||||
// set macros to detect cppast
|
||||
define_macro("__cppast__", "libclang");
|
||||
define_macro("__cppast_version_major__", CPPAST_VERSION_MAJOR);
|
||||
define_macro("__cppast_version_minor__", CPPAST_VERSION_MINOR);
|
||||
}
|
||||
|
||||
void libclang_compile_config::do_set_flags(cpp_standard standard, compile_flags flags)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue