#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 = false; bool bFPIC = false; bool bDebug = m_target.optimization == TARGET_DEBUG; ECVersion cVersion; ECPPVersion cppVersion; CLDProject Compile(); static void GenerateCompileCommands(); }; #endif