From: Miguel A. Figueroa-V. <mi...@ie...> - 2009-04-29 12:45:48
|
2009/4/29 Ting Yao: > 2009/4/29 Ian Scott: [...] >> On my Linux systems I maintain two build trees, a Debug build and a >> RelwithDebInfo build, in the following directory arrangement >> >> code >> | >> -- vxl >> | | >> | -- src (source tree) >> | | >> | -- dbg (debug build tree - >> | | CMAKE_BUILD_TYPE:STRING=Debug ) >> | | >> | -- opt (optimised build - >> | CMAKE_BUILD_TYPE:STRING=RelwithDebInfo ) >> | >> -- local >> etc. [...] > There is also a simple way, just add SET(CMAKE_BUILD_TYPE Debug) in the > CMakeLists.txt, you can debug the code. Hello Ting, I don't think this is a good idea because, then you need to change the CMakeLists.txt file to be able to run in optimized mode. What is usually done is that you create a structure like what Ian described and then you have two different builds an optimized and one for debugging (so that you don't have to build from scratch everytime you decide to switch). You could have just one build, but even then it is not a good idea to put the "SET(CMAKE_BUILD_TYPE Debug)" in the CMakeLists.txt file. What you want to do is (assuming Ian's file structure): cd .../vxl/dbg cmake -DCMAKE_BUILD_TYPE:STRING=Debug ../vxl If you also want to create the optimized build: cd ../opt cmake -DCMAKE_BUILD_TYPE:STRING=Release ../vxl Note that you can also set the CMAKE_BUILD_TYPE variable using a gui (cmake-gui or ccmake). Note also that normally the CMakeCache.txt file isn't manually edited, you use the gui tools or the command line for that. Hope that helps. --Miguel |