Argiris Kirtzidis <akyrtzi at gmail.com> writes:> I gave it a try and unfortunately it doesn't seem practical to use > CMake-produced VC++ projects. Every time you run CMake so that the VC++ > projects include new files, the entire solution gets rebuilt.I recall some discussion about the behavior you describe on the cmake ml, but can't find it right now. IIRC, once generated the project files, you shouldn't need to re-run cmake, ever. CMake inserts something in the project files for detecting that a re-generation is needed and automatically stops the build and invokes itself, then continue, perhaps with some intermediate prompt by the IDE about changed files, etc. If this doesn't work for you, please comment it on the cmake ml. Don't forget to mention the version you are using, etc. -- Oscar
Óscar Fuentes wrote:> Argiris Kirtzidis <akyrtzi at gmail.com> writes: > > >> I gave it a try and unfortunately it doesn't seem practical to use >> CMake-produced VC++ projects. Every time you run CMake so that the VC++ >> projects include new files, the entire solution gets rebuilt. >> > > I recall some discussion about the behavior you describe on the cmake > ml, but can't find it right now. > > IIRC, once generated the project files, you shouldn't need to re-run > cmake, ever. CMake inserts something in the project files for detecting > that a re-generation is needed and automatically stops the build and > invokes itself, then continue, perhaps with some intermediate prompt by > the IDE about changed files, etc. >Thanks for the tip. For a simple test I added a file entry in tools/llc/CMakeLists.txt and, after doing "Build Solution", CMake recreated 7 project files, resulting in building 41. Why wasn't just the llc project affected, do the dependencies need tweaking or something ? -Argiris
Argiris Kirtzidis <akyrtzi at gmail.com> writes:>> I recall some discussion about the behavior you describe on the cmake >> ml, but can't find it right now. >> >> IIRC, once generated the project files, you shouldn't need to re-run >> cmake, ever. CMake inserts something in the project files for detecting >> that a re-generation is needed and automatically stops the build and >> invokes itself, then continue, perhaps with some intermediate prompt by >> the IDE about changed files, etc. >> > > Thanks for the tip. For a simple test I added a file entry in > tools/llc/CMakeLists.txt and, after doing "Build Solution", CMake > recreated 7 project files, resulting in building 41. > Why wasn't just the llc project affected, do the dependencies need > tweaking or something ?Found the problem. I'm recreating include/llvm/config.h on each cmake invocation, which forces the rebuild of everything. The best thing to do is to remove the VC++ config hack and use the general configuration process. Maybe this weekend. Thanks for your feedback, Argiris. -- Oscar