I'm a long time Xcode user and recently used cmake to create an Xcode project 
for LLVM.  I really like the idea the CMake can produce native projects for 
different platforms, but in my case, the resulting xcode project was very slow 
to use.  

To investigate, I created a small cmake example project with a static library 
and a main executable that uses the library.   The generated Xcode project does 
not encode the static library as a link library of the main executable.  
Instead the static library is slipped in via OTHER_LDFLAGS.  Thus, Xcode does 
not know that if a source file of the static library is changed, that the main 
executable needs to be relinked.  

The generated Xcode project also has extra shell script phases (CMake ReRun, 
and CMAKE PostBuild Rules).  I'm not sure why they are there, but they slow 
down large builds (like llvm).  But they do have the side effect of causing 
Xcode to re-evaluate the mod times of files, which in a way, compensates for 
missing static library dependency.

I'd like to contribute to making the xcode project generator better, but would 
like to understand why the current implementation works as it does.  

-Nick

_______________________________________________
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

Reply via email to