On Mon, Jan 11, 2010 at 3:51 PM, Chauhan, Vikas <vikas.chau...@anritsu.com> wrote: >> > Actually, when I used the macro I found that though this macro gives >> > a >> > useful functionality it is not exactly what I wanted. >> > >> > What I want to do can be illustrated the following example: >> > I have a main project/dir - projectSystem >> > I have three component/dir - projectcomponent1, projectcomponent2, >> > projectcomponent3. >> > >> > Now on windows from the directory where the cmake generated files > are >> > present, at present I issue a command : >> > cmake --build PATH_TO_PROJECTSYSTEM >> > This builds the projectSystem alongwith projectComponent1, >> > projectComponent2 & projectComponent3. >> > >> > Now, I want to do two things on command window(from the dir where >> > cmake >> > build files are generated): >> > 1. Query the list of sub-targets(components) available. In this case >> > the >> > result is a list >> > projectComponent1 >> > projectComponent2 >> > projectComponent3 >> > 2. Now based on the list in 1, optionally build any component. For >> > example issue a command: >> > >> > cmake --build projectComponent1 >> > >> > Can we achieve this? Or is it asking for too much :) >> > >> > Thanks, >> > Vikas >> >> I'm new to CMake too, but it looks like you could do what you want > with the >> option() directive. >> >> So I would have in my CMakeLists.txt something like: >> >> option(ProjectComponent1 "Builds the first project component" OFF) >> etc. >> >> And later on: >> if(ProjectComponent1) >> add_subdirectory(${ProjectComponent1_DIR}) >> endif(ProjectComponent1) >> etc. >> >> and then in ccmake set the option to ON when you want to build with > it. I'd be >> surprised if there wasn't a way to define separate make targets > somewhere >> instead though, so you could do "make projectComponent1", but I'm not > sure >> about how to do that. > > I understand what you mean and it is similar to what the macro suggested > by Alex does. > However, I do not want a developer to have a need to change setting in > the cmake GUI for what I need. > > What I want is that: > 1. the user should be able to see a list of components & sub-components, > using a command from the cmd window from the location where the cmake > GUI has generated the build files. > 2. the user should be able to choose a sub-component to build without > asking to build the whole component. Also, I do not want to be > generating build files every time I choose to build a different > sub-component. > > Is this possible? > > Please note that I am on windows. I guess this is easily possible on > Linux. As make allows you to query a list of targets & can build > specific targets as well. Please correct me if I am wrong. >
The options method probably solves this the best. John _______________________________________________ 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