#ifndef C_H #define C_H #include "tier1/utlstring.h" #include "tier1/utlvector.h" #include "runner.h" #include "ld.h" #include "target.h" #include "helper.h" struct C_Macro_t { CUtlString szName; CUtlString szValue; }; enum ECVersion { CVERSION_89, CVERSION_99 = 0, CVERSION_11, CVERSION_17, CVERSION_23, CVERSION_2Y, }; enum ECPPVersion { CPPVERSION_98 = 1, CPPVERSION_11 = 0, CPPVERSION_14 = 2, CPPVERSION_17 = 3, CPPVERSION_20 = 4, CPPVERSION_23 = 5, CPPVERSION_2C = 6, }; class CCProject : public CProject { public: CUtlVector files; CUtlVector macros; CUtlVector includeDirectories; CUtlVector includeFiles; bool bFPIE; bool bFPIC; bool bDebug = m_target.optimization == TARGET_DEBUG; ECVersion cVersion; ECPPVersion cppVersion; CLDProject Compile(); static void GenerateCompileCommands(); }; #endif