On 03/26/2013 02:53 PM, Robert Maynard wrote: > My concern with this feature is the use case of a directory not existing at > configure time, but which will exist at linking time. Primarily this would > occur when an imported library is the result of an add_custom_command call > which creates a new directory. While this might be an edge case, I was > wondering if we should have a way to skip the verification on a target.
It is not an edge case. The add_dependencies command explicitly supports adding "dependencies" of an imported target that then transitively become dependencies of real targets that use it. The idea is to have a hand-made imported target that references files that will be produced at build time by something like ExternalProject. The hand-made imported target would do add_dependencies(imp_tgt ep_tgt) to get build-time dependencies right. However, that will also mean that if one defines INTERFACE_INCLUDE_DIRECTORIES on imp_tgt the paths may not exist during CMake configuration. I suggest that to support this case we allow the hand-made imported target to request that the include interface not be validated: set_property(TARGET imp_tgt PROPERTY INTERFACE_INCLUDE_DIRECTORIES_ALLOW_MISSING 1) Ideas for a better name? Alternatively one could solve this case with no additional CMake feature by hiding the needed paths in $<1:...> generator expressions. That is not as explicit, but I would be okay with that as the recommended solution over an awkwardly named property. -Brad -- 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://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers