37 return path.empty() ?
false :
38 path.back()==
'/' || path.back()==
'\\';
89 compiler.object_file_extension=
"obj";
138 if(!std::filesystem::is_directory(
Fo_value))
148 compiler.output_directory_object.empty())
150 log.error() <<
"output directory required for /c with multiple input files"
164 if(!std::filesystem::is_directory(
compiler.output_file_executable))
166 log.warning() <<
"not a directory: " <<
compiler.output_file_executable
188 std::list<std::string>::iterator it;
190 std::cout <<
"Defines:\n";
195 std::cout <<
" " << (*it) <<
'\n';
198 std::cout <<
"Undefines:\n";
203 std::cout <<
" " << (*it) <<
'\n';
206 std::cout <<
"Preprocessor Options:\n";
211 std::cout <<
" " << (*it) <<
'\n';
214 std::cout <<
"Include Paths:\n";
219 std::cout <<
" " << (*it) <<
'\n';
222 std::cout <<
"Library Paths:\n";
223 for(it=
compiler.library_paths.begin();
227 std::cout <<
" " << (*it) <<
'\n';
230 std::cout <<
"Output file (object): "
231 <<
compiler.output_file_object <<
'\n';
232 std::cout <<
"Output file (executable): "
233 <<
compiler.output_file_executable <<
'\n';
243 std::cout <<
"goto-cl understands the options of CL plus the following.\n\n";
ait supplies three of the four components needed: an abstract interpreter (in this case handling func...
void print_warnings_as_errors(bool yes)
With yes set to true, prefix warnings with an error message.
std::string get_value(char option) const
virtual bool isset(char option) const
@ COMPILE_LINK_EXECUTABLE
bool set(const cmdlinet &cmdline)
struct configt::ansi_ct ansi_c
const std::string base_name
void help()
display command line help
Class that provides messages with a built-in verbosity 'level'.
static unsigned eval_verbosity(const std::string &user_input, const message_levelt default_verbosity, message_handlert &dest)
Parse a (user-)provided string as a verbosity level and set it as the verbosity of dest.
cl_message_handlert message_handler
virtual int doit()
does it.
virtual void help_mode()
display command line help
Compile and link source and object files.
bool has_prefix(const std::string &s, const std::string &prefix)
std::string get_base_name(const std::string &in, bool strip_suffix)
cleans a filename from path and extension
static bool has_directory_suffix(const std::string &path)