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 <[email protected]> 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
--

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

Reply via email to