Go to the documentation of this file.
17 #define EX_SOFTWARE 70
38 return path.empty() ? false :
39 path.back()==
'/' || path.back()==
'\\';
64 ms_cl_version.
get(
"cl.exe");
66 debug() <<
"Visual Studio mode " << ms_cl_version <<
eom;
98 std_string ==
":c++14" || std_string ==
"=c++14" ||
99 std_string ==
":c++17" || std_string ==
"=c++17" ||
100 std_string ==
":c++latest" || std_string ==
"=c++latest")
105 else if(std_string ==
":c++11" || std_string ==
"=c++11")
112 warning() <<
"unknown language standard " << std_string <<
eom;
129 warning() <<
"not a directory: " << Fo_value <<
eom;
140 error() <<
"output directory required for /c with multiple input files"
155 warning() <<
"not a directory: "
176 std::list<std::string>::iterator it;
178 std::cout <<
"Defines:\n";
183 std::cout <<
" " << (*it) <<
'\n';
186 std::cout <<
"Undefines:\n";
191 std::cout <<
" " << (*it) <<
'\n';
194 std::cout <<
"Preprocessor Options:\n";
199 std::cout <<
" " << (*it) <<
'\n';
202 std::cout <<
"Include Paths:\n";
207 std::cout <<
" " << (*it) <<
'\n';
210 std::cout <<
"Library Paths:\n";
215 std::cout <<
" " << (*it) <<
'\n';
218 std::cout <<
"Output file (object): "
220 std::cout <<
"Output file (executable): "
225 return compiler.
doit() ? EX_USAGE : EX_OK;
231 std::cout <<
"goto-cl understands the options of CL plus the following.\n\n";
virtual void help_mode()
display command line help
std::string get_base_name(const std::string &in, bool strip_suffix)
cleans a filename from path and extension
std::list< std::string > defines
virtual bool isset(char option) const
std::list< std::string > include_paths
bool doit()
reads and source and object files, compiles and links them into goto program objects.
const std::string base_name
cl_message_handlert message_handler
std::list< std::string > undefines
struct configt::ansi_ct ansi_c
virtual int doit()
does it.
std::string output_file_object
std::string output_file_executable
std::string get_value(char option) const
std::list< std::string > library_paths
Compile and link source and object files.
bool is_directory(const std::string &path)
std::string object_file_extension
@ COMPILE_LINK_EXECUTABLE
std::list< std::string > preprocessor_options
std::string output_directory_object
bool set(const cmdlinet &cmdline)
static bool has_directory_suffix(const std::string &path)
bool has_prefix(const std::string &s, const std::string &prefix)
void help()
display command line help
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.
mstreamt & warning() const
void get(const std::string &executable)
enum ms_cl_versiont::targett target