[CMake] CMake minimum required version

Russell Wallace russell.wallace at gmail.com
Sat Aug 25 14:07:29 EDT 2012


I didn't claim you should have CMake do any such thing automatically,
did I say anything to suggest otherwise?

The workflow I intend to use is:

1. I create src/foo.cc
2. I type a command (which will delete the build directory, recreate
it and rerun cmake, which will bring everything up to date)

I put it to you that this is strictly better (both easier and less
error-prone) than the workflow other people here are suggesting, which
is:

1. You create src/foo.cc
2. You edit the list of files by hand
3. You type a command

On Sat, Aug 25, 2012 at 7:01 PM, David Cole <david.cole at kitware.com> wrote:
> And when should we inspect the file system to determine if you've
> added new files or not?
>
> Or should we *always* do that?
>
> If we always did that, people with source trees of thousands (and some
> with tens of thousands) of source files would immediately complain to
> us that CMake is too slow.
>
> How should we approach it then?
>
>
> On Sat, Aug 25, 2012 at 1:52 PM, Russell Wallace
> <russell.wallace at gmail.com> wrote:
>> Explicit in the actual set of .cc files that exist in the src directory.
>>
>> On Sat, Aug 25, 2012 at 6:48 PM, David Cole <david.cole at kitware.com> wrote:
>>> On Sat, Aug 25, 2012 at 1:38 PM, Russell Wallace
>>> <russell.wallace at gmail.com> wrote:
>>>> On Sat, Aug 25, 2012 at 12:41 PM, Rolf Eike Beer <eike at sf-mail.de> wrote:
>>>>> That sounds suspicious. From the documentation (cmake --help-command file):
>>>>>
>>>>>        We do not recommend using GLOB to
>>>>>        collect a list of source files from your source tree.  If no
>>>>>        CMakeLists.txt file changes when a source is added or removed then the
>>>>>        generated build system cannot know when to ask CMake to regenerate.
>>>>
>>>> Of course it can't, I wasn't expecting it to. That's not a reason to
>>>> violate DRY keeping the two lists in sync by hand! All you need to do
>>>> is issue a single command to scrub the build directory and re-create
>>>> it. Not only is that strictly less work, more importantly, it's
>>>> strictly less error-prone.
>>>> --
>>>>
>>>> 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
>>>
>>>
>>> Nobody's asking you to keep two lists in sync.
>>>
>>> We're recommending that you keep your one list in a CMakeLists.txt
>>> file (or something included by it) so that when you modify the list,
>>> CMake will automatically re-run.
>>>
>>> Where is your list of source files, if it's not explicit in the CMakeLists file?


More information about the CMake mailing list