cmake server (was: CMAKE_HOME_DIRECTORY error/warning message?)

René J. V. Bertin rjvbertin at gmail.com
Wed Mar 22 15:30:24 UTC 2017


Milian Wolff wrote:

>> (those come from a normal project where source and build trees are real
>> directories with the same parent)
> 
> Just fixed that.

Hmmm, should that also fix the case where the source directory is in fact a 
symlink?

Either way I have the impression that support for the CMake server is still not 
very stable or feature complete so I think I'll be using the 5.1 branch for a 
while.

I did have a look around the code to see if using a cmake server is optional. 
The CMakeServer class suggests it might be but there clearly is no fallback for 
when no server is available.

I also noticed that this is another case where Q_ASSERTS are being used in a way 
that isn't ideal IMHO. Not only does the approach mean that production code runs 
without any protection at all against cmake server disconnects. It is also very 
user unfriendly (not to say unprofessional) to provoke an abort if this happens, 
instead of trying to relaunch the cmake server or at least exit gracefully with 
an explanation/apology.

Q_ASSERTs should be reserved for situations that are clearly bugs that lead to 
situations that cannot be handled except by a more or less ungraceful exit 
because of unknow and possibly hopeless internal instability. A server 
disconnect is not a bug and not an indication of such instability.

R.



More information about the KDevelop-devel mailing list