How do I add a compiler flag (I want to APPEND it, not overwrite the others) to a single translation unit with cmake?
I tried with
set_source_files_properties(MyFile.cpp PROPERTIES CMAKE_CXX_FLAGS "-msse4.1")
but it isn't working.. any advice on how to do that?
You're almost there, this should work:
The kind-specific helpers (like
set_source_files_properties()
) can be handy at times, but they have a very simiplified interface. For non-trivial things, you have to useset_property()
. I've found that I actually rarely use the helpers at all.Try this:
By the way, a few properties are always appended, for example, COMPILE_FLAGS. For those you don't need to do anything special, just set them and they get appended :)
The correct property for setting the flags of a source file is named COMPILE_FLAGS. Because this is a string property, the correct way to append additional options is to use the
APPEND_STRING
variant of the set_property command:The
APPEND_STRING
option is only available with CMake 2.8.6 or newer.