The terminology of in-source and out-of-source for where the CMakeLists.txt and *.cmake files exist temporarily threw me off, as with CMake, in-source and out-of-source usually refer to where the generated build files are placed.
On Wed, Jun 4, 2014 at 12:23 AM, Adam <adam707b...@gmail.com> wrote: > Thanks for the comments I've update the wiki. Top-level only now marked as > anti-pattern > https://github.com/toomuchatonce/cmake-examples/wiki/cmake-patterns-and-examples > > If there are other patterns / anti-patterns you've seen please send me a > pull request and I'll add them. > > I'm particularly interested in super-build patterns that allow sub-projects > (for both inhouse and 3rdparty components) to be shared between projects. > > > > > > On Wed, Jun 4, 2014 at 5:56 AM, Chuck Atkins <chuck.atk...@kitware.com> > wrote: >> >> "Just put all the build commands in the top level cmake file." >> >> Definitely an anti-pattern. As you mentioned, it definitely doesn't >> scale. The problem with even doing this for a simple project is that it >> builds this behavior for people trying to learn cmake through simple >> examples. This very very quickly turns in to a 3k line top level >> CMakeLists.txt for even moderately sized projects. I would really >> discourage this one as "don't do it ever" because of the bad behaviours it >> builds early on. >> >> - Chuck >> >> On Tue, Jun 3, 2014 at 1:22 PM, Iosif Neitzke >> <iosif.neitzke+cm...@gmail.com> wrote: >>> >>> Great to see these examples with pros and cons. >>> >>> I believe the staticlibs-include example [0] pattern, though mentioned >>> in Mastering CMake [1], generally is deprecated in favor of >>> add_subdirectory with CMakeLists.txt at each level for self-contained >>> projects. >>> >>> [0] >>> https://github.com/toomuchatonce/cmake-examples/tree/master/staticlibs-include >>> >>> [1] Mastering CMake, 6th Edition, Chapter 7: Converting Existing >>> Systems to CMake, Source Code Directory Structures, page 116 >>> >>> On Mon, Jun 2, 2014 at 5:23 PM, Adam Boseley <adam707b...@gmail.com> >>> wrote: >>> > >>> > There's a lot of legacy examples around the web but not too many using >>> > the >>> > newer features. What is the current best practise? >>> > >>> > Here's some simple examples >>> > >>> > https://github.com/toomuchatonce/cmake-examples/wiki/cmake-patterns-and-examples >>> > >>> > Are these patterns or anti-patterns? >>> > >>> > Regards, >>> > Adam >>> > >>> > -- >>> > >>> > 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://www.cmake.org/mailman/listinfo/cmake >>> -- >>> >>> 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://www.cmake.org/mailman/listinfo/cmake >> >> >> >> -- >> >> 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://www.cmake.org/mailman/listinfo/cmake > > -- 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://www.cmake.org/mailman/listinfo/cmake