Sharg 1.1.0
The argument parser for bio-c++ tools.
 
Loading...
Searching...
No Matches
platform.hpp
Go to the documentation of this file.
1// --------------------------------------------------------------------------------------------------------
2// Copyright (c) 2006-2023, Knut Reinert & Freie Universität Berlin
3// Copyright (c) 2016-2023, Knut Reinert & MPI für molekulare Genetik
4// This file may be used, modified and/or redistributed under the terms of the 3-clause BSD-License
5// shipped with this file and also available at: https://github.com/seqan/sharg-parser/blob/main/LICENSE.md
6// --------------------------------------------------------------------------------------------------------
7
8#pragma once
9
15// ============================================================================
16// C++ standard and features
17// ============================================================================
18
19// C++ standard [required]
20#ifdef __cplusplus
21static_assert(__cplusplus >= 201709L, "SHARG requires C++20, make sure that you have set -std=c++20.");
22#else
23# error "This is not a C++ compiler."
24#endif
25
26#include <version>
27
28// ============================================================================
29// Dependencies
30// ============================================================================
31
32// SHARG [required]
33#if __has_include(<sharg/version.hpp>)
34# include <sharg/version.hpp>
35#else
36# error SHARG include directory not set correctly. Forgot to add -I ${INSTALLDIR}/include to your CXXFLAGS?
37#endif
38
39// ============================================================================
40// Documentation
41// ============================================================================
42
43// Doxygen related
44// this macro is a NO-OP unless doxygen parses it, in which case it resolves to the argument
45#ifndef SHARG_DOXYGEN_ONLY
46# define SHARG_DOXYGEN_ONLY(x)
47#endif
Provides SHARG version macros and global variables.