On Thu, Nov 27, 2008 at 2:31 PM, Alexander Neundorf <[EMAIL PROTECTED] > wrote:
> On Thursday 27 November 2008, Eric Noulard wrote: > > 2008/11/27 Robert Dailey <[EMAIL PROTECTED]>: > > >> find . -name "*.c" > source_files.txt > > >> edit source_files.txt and put that list of files exiplicitly into a > > >> CMakeLists.txt file. > > >> > > >> file(GLOB is a bad way to get source lists for CMake. CMake has no > way > > >> of knowing when new files have been put in the directory. > > > > > > But unless I am missing a fundamental feature somewhere, GLOB still > seems > > > to be the better alternative. While it may not intrinsically know when > > > new files have appeared on the filesystem, the programmer can simply > > > re-run the CMake command to get an updated project with the newly added > > > source files without editing the CMakeLists.txt file directly. > > > > Yes but when he add a source file, he won't necessarily remember he > > MUST rerun CMake manually > > so its next attempt to "build" the project will trigger either a > > compile error (added header missing) > > or link error (added source file not compiled). > > > > Whereas with hard-written sources files in CMakeLists.txt, the user > > will get accustomed to > > "simple" CMakeList.txt editing thus CMake will relaunch itself > > automatically when needed and > > in particular when a CMakeLists.txt is changed. > > Additionally it can happen from time to time that there are files in the > directories which you just started to write, or forgot to delete, or > somebody > else sent you, or... and which you don't want to build, but which would be > found by the glob. > So, yes, put the files you want to have explicitely in your cmake files. Okay, so if I hard-code the list of files to compile, I still need to create 1 CMakeLists.txt file for each of the 20 directories containing CPP files to compile. However, this is simply to modularize the CMake script itself. I suppose I could use include() instead of add_subdirectory()?
_______________________________________________ CMake mailing list [email protected] http://www.cmake.org/mailman/listinfo/cmake
