compiler_args
This is the reference page for compiler_args generator.
Go to Integrations/Compilers on command line if you want to learn how to integrate your project calling
your compiler in the command line.
Generates a file named conanbuildinfo.args containing a command line parameters to invoke gcc, clang or cl compiler.
You can use the compiler_args generator directly to build simple programs:
gcc/clang:
> g++ timer.cpp @conanbuildinfo.args -o bin/timer
cl:
$ cl /EHsc timer.cpp @conanbuildinfo.args
gcc/clang
| FLAG | MEANING | 
|---|---|
| -DXXX | Corresponding to requirements defines | 
| -IXXX | Corresponding to requirements include dirs | 
| -Wl,-rpathXXX | Corresponding to requirements lib dirs | 
| -LXXX | Corresponding to requirements lib dirs | 
| -lXXX | Corresponding to requirements libs | 
| -m64 | For x86_64 architecture | 
| -m32 | For x86 architecture | 
| -DNDEBUG | For Release builds | 
| -s | For Release builds (only gcc) | 
| -g | For Debug builds | 
| -D_GLIBCXX_USE_CXX11_ABI=0 | When setting libcxx == “libstdc++” | 
| -D_GLIBCXX_USE_CXX11_ABI=1 | When setting libcxx == “libstdc++11” | 
| Other flags | cxxflags, cflags, sharedlinkflags, exelinkflags (applied directly) | 
cl (Visual Studio)
| FLAG | MEANING | 
|---|---|
| /DXXX | Corresponding to requirements defines | 
| /IXXX | Corresponding to requirements include dirs | 
| /LIBPATH:XX | Corresponding to requirements lib dirs | 
| /MT, /MTd, /MD, /MDd | Corresponding to Runtime | 
| -DNDEBUG | For Release builds | 
| /Zi | For Debug builds | 
You can also use it in a recipe:
from conans import ConanFile
class PocoTimerConan(ConanFile):
   settings = "os", "compiler", "build_type", "arch"
   requires = "Poco/1.9.0@pocoproject/stable"
   generators = "compiler_args"
   default_options = {"Poco:shared": True, "OpenSSL:shared": True}
   def imports(self):
      self.copy("*.dll", dst="bin", src="bin") # From bin to bin
      self.copy("*.dylib*", dst="bin", src="lib") # From lib to bin
   def build(self):
      self.run("mkdir -p bin")
      command = 'g++ timer.cpp @conanbuildinfo.args -o bin/timer'
      self.run(command)