Alexander Neundorf wrote:
Hi, there are properties like OBJECT_DEPENDS and ADDITIONAL_MAKE_CLEAN_FILES. Add entries to them is quite tedious: GET_SOURCE_FILE_PROPERTY(_depends file.cpp OBJECT_DEPENDS) IF(_depends) SET(_depends ${_depends} anotherdependfile.h) ELSE(_depends) SET(_depends anotherdependfile.h) ENDIF(_depends) SET_SOURCE_FILES_PROPERTIES(file.cpp PROPERTIES OBJECT_DEPENDS ${_depends} ) The IF test is required because if the property hasn't been set yet, it has the value "NOTFOUND" instead of empty. I have two suggestions: -make the returned variable empty instead of "NOTFOUND" -> might be incompatible -add an option to SET_XXX_PROPERTIES() "APPEND" or something like this, so that one could simply do: SET_SOURCE_FILES_PROPERTIES(file.cpp APPEND PROPERTIES OBJECT_DEPENDS anotherdependfile.h ) What do you think ?

I think APPEND is the cleaner approach. However, we have to distinguish between appending to a string and appending to a list because some properties are strings and some are lists. The SET_*_PROPERTIES commands do not actually interpret the properties and do not know which are which.

How does this look:

SET_SOURCE_FILES_PROPERTIES(file.cpp APPEND_LIST PROPERTIES
 OBJECT_DEPENDS anotherdependfile.h
)

?

Are files marked as "OUTPUT" in a CUSTOM_COMMAND actually automatically added the the list of files which will be deleted on "make clean" ?

Yes.

-Brad
_______________________________________________
CMake mailing list
[email protected]
http://www.cmake.org/mailman/listinfo/cmake

Reply via email to