[CMake] Possible to modify COMPILE_FLAGS?
Campbell Barton
ideasman42 at gmail.com
Tue Oct 25 20:58:29 EDT 2011
Thanks for that, from reading the docs now this is more clear but for
some reason I had the impression the flags on a file could be
manipulated.
# ---
# Heres the macro I came up with to disable certain warnings for a
given set of files...
macro(remove_strict_flags_file
filenames)
foreach(_SOURCE ${ARGV})
if(CMAKE_COMPILER_IS_GNUCC)
set_source_files_properties(${_SOURCE}
PROPERTIES
COMPILE_FLAGS "-Wno-deprecated-declarations"
)
endif()
if(MSVC)
# TODO
endif()
endforeach()
unset(_SOURCE)
endmacro()
# ---
# Example use
remove_strict_flags_file(
intern/indexer.c
intern/util.c
intern/anim_movie.c
)
On Tue, Oct 25, 2011 at 7:16 PM, Michael Wild <themiwi at gmail.com> wrote:
> On 10/25/2011 09:51 AM, Campbell Barton wrote:
>> The problem I'm trying to solve is to have "-Werror" for the whole
>> project except a few files which include system headers that give
>> warnings we can't workaround (even with -isystem).
>>
>> So I'm trying to get cmake to replace some flags for a specific file,
>> and I ran into the problem that the variable appears not to be set.
>>
>> get_source_file_property(MYVAR intern/BME_Customdata.c COMPILE_FLAGS)
>> ... modify the MYVAR
>> ... set the flags back
>>
>> But the variable isnt set, Im sure the source file is valid because I
>> printed it from the list passed to the target, and I tried this before
>> and after defining the source file in the target:
>> message(FATAL_ERROR "Check: ${MYVAR}")
>> Check: NOTFOUND
>>
>>
>> I'm guessing the COMPILE_FLAGS property can be set which overrides the
>> default flags but is there a good way to manipulate the existing
>> flags?
>>
>
> Problem is, that the COMPILE_FLAGS property only *appends* to the
> default compile flags. You'll have to remove -Werror from
> CMAKE_<LANG>_FLAGS[_<CONFIG>] variables and set it instead on all the
> files you want it to be set for.
>
> Michael
> --
>
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
--
- Campbell
More information about the CMake
mailing list