[cmake-developers] Adding TIMEOUT to execute_process() in CMAKE_DETERMINE_COMPILER_ID_VENDOR() ?

Alexander Neundorf neundorf at kde.org
Sun Aug 15 11:43:17 EDT 2010


Hi,

in CMAKE_DETERMINE_COMPILER_ID_VENDOR() the compiler is executed, and one 
after the other a list of command line arguments is tested to see whether any 
of them makes the compiler produce output where the compiler ID can be 
recognized.

Now I think there is an issue with the execute_process() call.

E.g. for gas, the GNU assembler, a good option to do this is "gas --version", 
which prints "GNU assembler ....".
Now for nasm, the Netwide assembler, a good option would be "nasm -v", which 
gives "NASM version 0.98.39 compiled on Feb  6 2006" here.

So far so good, but, when I add "-v" to the list of options to try, the 
function will try each compiler (where it hasn't found the ID yet) with 
the "-v" option.

When I do this with as, it just sits there and waits forever, which would make 
cmake wait forever I think.

Checking that each of the listed options doesn't make any possible compiler 
hang is IMO not really possible.

So should a TIMEOUT be added to the execute_process() ?
Maybe something like 30 seconds ?

Alex



More information about the cmake-developers mailing list