On Fri, Jul 3, 2009 at 4:33 PM, Robert Dailey wrote: > On Fri, Jul 3, 2009 at 3:31 PM, Robert Dailey wrote: >> On Fri, Jul 3, 2009 at 2:54 PM, James Bigler wrote: >>> On Wed, Jul 1, 2009 at 4:34 PM, Robert Dailey wrote: [...] > Interesting, this seems to work: > project( foo ) > add_library( foo1 STATIC foo1.cpp ) > add_library( foo2 STATIC foo2.cpp ) > add_library( foo3 STATIC foo3.cpp ) > This creates a solution called "foo.sln" and 3 projects: "foo1.vcproj", > "foo2.vcproj", "foo3.vcproj". Why does this work? I thought for every > add_library() there must be 1 call to project(). Since I didn't call > project() for foo1, foo2, or foo3, I don't know why it's letting me create > those libraries. Can someone explain this behavior?
There is no place that I have read that indicates that you need more than one project. In fact, it doesn't make much sense to me to have more than one cmake project command per directory. I many times use multiple nested project commands so that in IDEs like MS Visual Studio I get a solution file for each (of course, each is in different directories). This allows me to load only a small number of Visual Studio Projects (*.vcproj), which are created per each CMake target. You might be confusing a CMake project with Visual Studio's notion of a project which would be created for each target as opposed to each cmake project instruction. Below is the help, which clearly states what the command is for: $ cmake --help-command project cmake version 2.7.20090329 ------------------------------------------------------------------------------ SingleItem project Set a name for the entire project. project(<projectname> [languageName1 languageName2 ... ] ) Sets the name of the project. Additionally this sets the variables <projectName>_BINARY_DIR and <projectName>_SOURCE_DIR to the respective values. Optionally you can specify which languages your project supports. Example languages are CXX (i.e. C++), C, Fortran, etc. By default C and CXX are enabled. E.g. if you do not have a C++ compiler, you can disable the check for it by explicitely listing the languages you want to support, e.g. C. By using the special language "NONE" all checks for any language can be disabled. --Miguel _______________________________________________ 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