[PATCH] Expose LLVM build flags in LLVMConfig.cmake
dan at su-root.co.uk
Mon Jul 21 06:28:24 PDT 2014
I had another quick look at this. It seems there are
properties on Targets. Am I right in understanding that if these were
set on targets and then exported that these properties would persist?
Am I also right in thinking that if someone imports that target then
something like INTERFACE_COMPILE_OPTIONS are not automatically added
and that a client of LLVM would have to do something like...
The reason I ask is that I suspect flags ABI compatibility may be
required on a target by target basis.
For example in ``tools/gold/CMakeLists.txt`` I noticed
# Because off_t is used in the public API, the largefile parts are
# ABI compatibility.
add_definitions( -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 )
there could be other areas where this it is necessary to do something similar.
The problem with using INTERFACE_COMPILE_OPTIONS and
INTERFACE_COMPILE_DEFINITIONS it would require (assuming that these
don't automatically modify the compiler flags when used on imported
targets) a client of CMake to know that they need to read these
properties and add them to their own compile flags which would be very
clunky if they use quite a few LLVM libraries.
I am sort of stumbling around here though because I don't know LLVM's
ABI requirements. I'll post this question to the list and see if I get
More information about the llvm-commits