I have no idea how to construct an example, I'm afraid, though I'm willing to try. But there's nothing in the project files that makes such a distinction as far as I can tell.
The compiler is the same - it's a cross-compiler, and is being invoked as a script, since it's a 2-pass deal (compiles to assembler, assemble that). As far as I can tell, the obj file suffix is chosen by make - it invokes the compiler with -o filename.c.o[bj]. The CMake call generates the Makefiles, of course, which is why I assumed that it was CMake making this decision. The .obj do appear in the Makefiles, and not anywhere in CMakeLists.txt that I can see (other than in some 'make clean' stuff I added). ...phsiii From: David Cole [mailto:[EMAIL PROTECTED] Sent: Friday, October 10, 2008 1:02 PM To: Phil Smith Cc: CMake Subject: Re: [CMake] Object files: .o vs .obj? No, it doesn't make sense. Can you construct a minimal example that demonstrates this? If not, there must be something in your project files that differentiates between in-source and out-of-source builds...? Are you changing compilers based on in-source/out-of-source? The in-source/out-of-source change should have no effect on the suffix used for object files. Isn't the obj file suffix typically chosen by the compiler...? On Fri, Oct 10, 2008 at 12:50 PM, Phil Smith <[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>> wrote: Hm. If I do an out-of-source build, I get .o files. If I do an in-source build, I get .obj. (Yes, I know in-source builds are considered Evil; the lead engineer wants to do 'em that way, not sure why, so I was testing to see if they'd work, noticed that I was getting .obj files.) Does this make any sense? ...phsiii -----Original Message----- From: [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> [mailto:[EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]>] On Behalf Of Phil Smith Sent: Thursday, October 09, 2008 12:27 PM To: CMake Subject: [CMake] Object files: .o vs .obj? With (allegedly) identical CMake setups, we have two machines that generate different outputs: .o vs. obj. The one that generates .obj has Visual Studio installed, the other doesn't. I tried adding SET(CMAKE_C_OUTPUT_EXTENSION ".obj") to my Toolchain file, but it made no difference. The CMake invocation is: cmake -DCMAKE_TOOLCHAIN_FILE:string="%DIGNUS_SOURCE%\zosport.cmake" -G"Unix Makefiles" %DIGNUS_SOURCE%\vtk-core\ I even added: message(STATUS "Generator is ${CMAKE_GENERATOR}") in the ".obj" machine's CMakeLists.txt (that's the machine with Visual Studio installed), again, no difference. I'd slightly rather force .obj than .o, but in any case, I need it to be predictable. Any ideas? -- ...phsiii Phil Smith III [EMAIL PROTECTED]<mailto:[EMAIL PROTECTED]> Voltage Security, Inc. www.voltage.com<http://www.voltage.com> (703) 476-4511 (home office) (703) 568-6662 (cell) _______________________________________________ CMake mailing list CMake@cmake.org<mailto:CMake@cmake.org> http://www.cmake.org/mailman/listinfo/cmake _______________________________________________ CMake mailing list CMake@cmake.org<mailto:CMake@cmake.org> http://www.cmake.org/mailman/listinfo/cmake
_______________________________________________ CMake mailing list CMake@cmake.org http://www.cmake.org/mailman/listinfo/cmake