Hi Brian, You ask a lot of questions in one mail ;-) I'll answer some inline (see below).
Best regards, Marcel Loose. On Tuesday 02 February 2010 22:15:11 Brian Davis wrote: > So I have various CMakeLists.txt files in my directory structure. Some > with the PROJECT( name ) specified at the top and some without. I am > using add_sub directory to add each directory. > > /CMakeLists.txt > /source/cpp/app/CMakeLists.txt > /source/cpp/app/someapp/CMakeLists.txt > /source/cpp/lib/CmakeLists.txt > source/cpp/lib/somelib > > For the subdirectory structure above build settings for someapp will > inherit from app/CMakeLists.txt and the top level CMakeLists.txt file. > However if the build directories and include paths are set for libraries > in > /source/cpp/lib/CmakeLists.txt how would apps see these. > > Is there a way for one project to inherit project settings from another > project which is not in the path from the originating subproject > CMakeLists.txt (app/CMakeLists.txt) up to the root CMakeLists.txt? > > For example is there a way for apps to inherit project settings in libs > (such as include paths) without having to use CACHE STRING "" FORCE and > having to move these vars up the path to the root CMakeLists.txt file. Instead of using cached variables, you might consider using global (user- defined) properties. That's what I do when I need to "inherit", e.g., include directories, across directory structures. Note that INCLUDE_DIRECTORIES is a property of a directory. So you can always look up that property for a given directory. > > Is there also a way to disable recursive sub directory project inheritance > in CMake? I don't know what you mean by "project inheritance", but AFAIK it is not possible to disable inheriting settings from your parent directory. > > Is there another name I can give to my CMakeLists.txt files that CMake will > parse in add_subdirectory? I have multiple CMakeLists.txt files open in > eclipse and can never keep which one is which straight (they all have the > same name). No, that name is hard-coded into CMake. > > I also noticed that if I have a CMakeLists.txt in between the top/root > level CMakeLists.txt without the PROJECT( name ) in the file that include > paths added at the intermediary CMakeLists.txt using INCLUDE_DIRECTORIES( > wherever) are still inherited. Yep, that's default behavior. And usually, that's the behavior you would expect and prefer. > _______________________________________________ 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