Hi all, I'd like to implement a feature for CMake which I miss there, and I'd like to get approval for the idea & design before proceeding.
Currently, adding a new source file to a CMake-controlled project means doing two things: creating the file on disk, and adding it to the relevant CMakeList add_library() or add_executable() call. To me, this feels like one operation too many. As a result, nearly all of my personal projects using CMake end up with some sort of wrapper/pre-call which processes file lists and creates any missing files before the list is passed to the add_*() call. I'd like this behaviour to become an option in CMake itself: allow the user to switch from current behaviour of "error out if source file is not found" to "create empty source file if it's not found." I've prototyped the creation itself and it works, but I'd like to discuss the interface for enabling this functionality. I was considering an inherited boolean property on individual source file level, plus a variable which would pre-initialise the property if set. This way, projects could control it on the finest scope possible (or on broader scopes, since the prorepty would recurse to directory & global level), while still providing a simple way to set it centrally. As far as naming is concerned, I was considering CREATE_SOURCES_IF_MISSING for the property, and CMAKE_CREATE_SOURCES_IF_MISSING for the variable. Is this something that would be acceptable into CMake? Any comments? Thanks. Petr
-- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/cmake-developers