I'm confused because neither of your examples has the semicolon, but what we need is: "regina.exe" "cc.rex" "dcc.exe" "CMakeCCompilerId.c"
But it sounds like you're saying that we're not actually getting invoked as: cc.rex;dcc.exe CMakeCCompilerId.c The problem is, I can't tell what we ARE getting invoked as. The symptoms match regina being invoked with no operands, but I can't seem to prove that. If I run with --trace and --debug-output, the last of the output is: C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake(97): EXECUTE_PROCESS(COMMAND ${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_ COMPILER_ID_ARG1} ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST} ${testflags} ${src} WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR} OUTPUT_VARIABLE CMAKE_${lang}_C OMPILER_ID_OUTPUT ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT ) Called from: [2] C:/Program Files (x86)/CMake 2.8/share/cmake-2.8/Modules/CMakeDetermineCCompiler.cmake [1] C:/SVN/zFPE/CMakeLists.txt Does that tell us anything? -----Original Message----- From: Brad King [mailto:brad.k...@kitware.com] Sent: Friday, January 20, 2012 3:50 PM To: Phil Smith Cc: Bill Hoffman; cmake@cmake.org Subject: Re: [CMake] CMake still broken post-2.8.1 On October 24, 2011 6:08 PM Bill Hoffman wrote: > So, right at the end it is doing this: > > C:/Program Files (x86)/CMake > 2.8/share/cmake-2.8/Modules/CMakeDetermineCompilerId.cmake(96): > EXECUTE_PROCESS(COMMAND ${CMAKE_${lang}_COMPILER} > ${CMAKE_${lang}_COMPILER_ID_ARG1} > ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST} ${testflags} ${src} > WORKING_DIRECTORY ${CMAKE_${lang}_COMPILER_ID_DIR} > OUTPUT_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT > ERROR_VARIABLE CMAKE_${lang}_COMPILER_ID_OUTPUT > RESULT_VARIABLE CMAKE_${lang}_COMPILER_ID_RESULT ) [snip] > message("${CMAKE_${lang}_COMPILER} ${CMAKE_${lang}_COMPILER_ID_ARG1} > ${CMAKE_${lang}_COMPILER_ID_FLAGS_LIST} ${testflags} ${src}" [snip] On 10/24/2011 6:38 PM, Phil Smith wrote: > Ah, ok. With 2.8.1: > > C:/Program Files/Regina/regina.exe cc.rex dcc.exe CMakeCCompilerId.c > > With 2.8.6: > C:/Program Files/Regina/regina.exe cc.rex;dcc.exe CMakeCCompilerId.c > > Note the semicolon; where'd it come from? It's not in the toolchain file: I did not notice previously that the reported ; is coming from a message() command in a string and not a real command line that is invoked. The 2.8.1 output line misrepresents the actual command that is running. What you mean by: > SET(CMAKE_C_COMPILER "regina.exe" "cc.rex dcc.exe") > SET(CMAKE_CXX_COMPILER "regina.exe" "cc.rex dcxx.exe") is that you want the compiler to be invoked as "regina.exe" "cc.rex dcc.exe" "CMakeCCompilerId.c" where the second piece puts both files in a *single* argument, right? Much of the discussion in this thread made it appear that you wanted "regina.exe" "cc.rex" "dcc.exe" "CMakeCCompilerId.c" but that is what the above-mentioned execute_process command ends up running in 2.8.6 and causing the hang. Correct? -Brad -- 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