This is similar to a thread a while back:<br><br><a href="http://www.cmake.org/pipermail/cmake/2009-April/028419.html">http://www.cmake.org/pipermail/cmake/2009-April/028419.html</a><br><br>I suggested comparing the CMakeCache.txt files before and after a configure to get a list of relevant configuration changes and adding them to the command line.<br>
<br>James<br><br><div class="gmail_quote">On Fri, Jul 17, 2009 at 7:54 AM, David E DeMarle <span dir="ltr"><<a href="mailto:dave.demarle@kitware.com">dave.demarle@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
I think you can write a starter cmakecache in an empty build directory<br>
consisting of just the non-default options you want and and then run<br>
cmake on that. It will fill in the rest of what it needs if you've<br>
provided a consistent set that doesn't need to ask you anything.<br>
<br>
That is what dashboards do.<br>
<div class="im"><br>
David E DeMarle<br>
Kitware, Inc.<br>
R&D Engineer<br>
28 Corporate Drive<br>
Clifton Park, NY 12065-8662<br>
Phone: 518-371-3971 x109<br>
<br>
<br>
<br>
</div><div><div></div><div class="h5">On Fri, Jul 17, 2009 at 4:12 AM, Alin M Elena<<a href="mailto:alinm.elena@googlemail.com">alinm.elena@googlemail.com</a>> wrote:<br>
> Hi Bill and Eric,<br>
><br>
> I see your points about the implementation but I think you are thinking to<br>
> something different that I have in my mind.<br>
><br>
> I am not interested in portability. When I try to compile a big project (eg<br>
> paraview) the -gui is a very good tool, due to its incremental support. Then I<br>
> go let us say to a production environment where I am command line and I want a<br>
> one-go approach.<br>
><br>
> The programmatic set variables are of no value to me as they will be set the<br>
> same in the command line environment. I need a track of all the variables that<br>
> I set. The only thing that I want to keep track of are my changes, as they are<br>
> the only one that change the flow of the compilation process.<br>
><br>
> regards,<br>
><br>
> Alin<br>
> --<br>
> ______________________________________________________________________<br>
> "If the Universities will not study useless subjects, who will?"<br>
> G. F. FitzGerald, Nature, 45/46, 392 (1892)<br>
> ______________________________________________________________________<br>
> Mr Alin M ELENA<br>
> Irish Centre for High-End Computing -- <a href="http://www.ichec.ie" target="_blank">www.ichec.ie</a><br>
> The Design Tower, Trinity Technology & Enterprise Campus<br>
> Grand Canal Quay, Dublin 2, Ireland<br>
> Tel: +353 (0) 1 5241608 ext 29<br>
> Fax: +353 (0) 1 7645845<br>
> <a href="http://alin.elenaworld.net" target="_blank">http://alin.elenaworld.net</a><br>
> <a href="mailto:alin.elena@ichec.ie">alin.elena@ichec.ie</a><br>
> <a href="mailto:alinm.elena@gmail.com">alinm.elena@gmail.com</a><br>
> ______________________________________________________________________<br>
> On Thursday 16 July 2009 20:21:02 you wrote:<br>
>> 2009/7/16 Bill Hoffman <<a href="mailto:bill.hoffman@kitware.com">bill.hoffman@kitware.com</a>>:<br>
>> > Alin M Elena wrote:<br>
>> >>> I think the previous posts are missing the question.... I think what<br>
>> >>> is wanted is a way to run cmake-gui pick some options, and then<br>
>> >>> generate a -D command line equivalent to the options that were picked<br>
>> >>> in cmake-gui. This is not possible, and would be difficult to<br>
>> >>> implement.<br>
>> >><br>
>> >> Thanks Bill, exactly what I wanted to know. Why is that difficult?<br>
>> ><br>
>> > All options in the cache are stored together, some are set from the<br>
>> > cmakelists.txt files and some are set by users. I suppose camke-gui<br>
>> > could try and track all changes made by the user and collect them up. I<br>
>> > am not sure that the set of options would be portable to a different<br>
>> > machine.<br>
>><br>
>> I may add some other similar possible issues.<br>
>><br>
>> Sometimes as Bill said some options do appear on a specific machine basis<br>
>> like in<br>
>> IF (WIN32)<br>
>> OPTION(WHATEVER "You know" FALSE)<br>
>> ENDIF(WIN32)<br>
>><br>
>> of<br>
>><br>
>> FIND_PACKAGE(Doxygen)<br>
>> IF (DOXYGEN_FOUND)<br>
>> OPTION(BUILD_DOC "Build documentation using Doxygen" OFF)<br>
>> ENDIF(DOXYGEN_FOUND)<br>
>><br>
>> or even more, one option may trigger another one<br>
>><br>
>> OPTION(LEVEL1 "level1" OFF)<br>
>> IF (LEVEL1)<br>
>> OPTION(LEVEL2 "level2" OFF)<br>
>> ENDIF(LEVEL1)<br>
>><br>
>> in this second case the GUI will show you the LEVEL2 option<br>
>> only if you set LEVEL1 to ON and hit configure.<br>
>><br>
>> The CMake gui (QT or curse) have an iterative usage pattern<br>
>><br>
>> 1) configure<br>
>> 2) select change<br>
>> 3) eventually go to 1<br>
>> 4) generate<br>
>><br>
>> The pure command line is usually "one-shot" trying to get the<br>
>> "preferred" configuration.<br>
>><br>
>> Like Bill said a possible way to do it would be to track user-modified<br>
>> values vs programmatically chosen ones. But you'll have to deal with<br>
>> user-modified values depending on programmatically chosen path,<br>
>> not that easy to do.<br>
> _______________________________________________<br>
> Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
><br>
> Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
><br>
> Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
><br>
> Follow this link to subscribe/unsubscribe:<br>
> <a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
><br>
_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
</div></div></blockquote></div><br>