[CMake] Where are object files located, and how do I change the default extension?

Alexander Neundorf a.neundorf-work at gmx.net
Wed Mar 25 12:55:56 EDT 2009


On Wednesday 25 March 2009, Carlson Daniel wrote:
> Best CMake users,
>
> I am using CMake in some smaller embedded projects which we have converted
> from traditional make scripts. After all c-files has been compiled we want
> to perform some tests on the generated object-files. The tests we are
> running demands that the object files are denoted myFile.o and not
> myFile.c.obj which is the default when running CMake for MinGw.
>
> My questions:
>
> 1. How can I change the default extension of an object file? I have tried
> to use the CMake variable CMAKE_C_OUTPUT_EXTENSION and set it to e.g. ".o"
> but the extension is still ".obj". In the Cmake module
> "CMakeCXXInformation.cmake" this variable is set depending on the variabele
> "UNIX" and when I test to set the extension in this CMake module to ".foo"
> the extension is changed to ".foo". Is it not possible to change the
> default extension from my main CMakeList-file?

I think trying to set it from a CMakeLists.txt is too late.
You should be able to set it from a toolchain- or platform file.

> 2. Is there a way to get the path of an object file? What I want to do is
> to retreive the output path of an obcject file from a c-file
> e.g.appl/CMakeFiles/appl.dir/smhd/ if my c-file resides in appl/smhd/

I think currently not.

Alex


More information about the CMake mailing list