Alexander Neundorf wrote:
> On Monday 21 June 2010, Mathias Lafeldt wrote:
>> Hi,
>>
>> is there a way to tell CMake in which order to link in object files?
>>
>> For example, I got the following executable:
>>
>>      ADD_EXECUTABLE(hello crt0.o hello.c)
>>
>> Using a disassembler, I can see that hello.c is compiled in before
>> crt0.o, but I want crt0.o to always be the first.
>>
>> Also, this gives me the same result:
>>
>>      ADD_EXECUTABLE(hello hello.c crt0.o)
> 
> Is this for some embedded system ?

It's for the MIPS R5900 processor aka Emotion Engine.

> You may consider putting crt0.o in the CMAKE_C_LINK_EXECUTABLE variable for 
> your target.

Thank you. I didn't know about CMAKE_C_LINK_EXECUTABLE, but it seems to
be suitable.

Unfortunately, the only documentation I could find
(<http://www.cmake.org/Wiki/CMake_Useful_Variables>) is very limited and
I don't really know the meaning/origin of all variables in sharp (?)
braces. For example, what is the difference between <FLAGS> and
<CMAKE_C_LINK_FLAGS>?

I found this in the eCos platform script:

SET(CMAKE_C_LINK_EXECUTABLE    "<CMAKE_C_COMPILER>   <FLAGS>
<CMAKE_C_LINK_FLAGS>   <LINK_FLAGS> <OBJECTS> -o <TARGET> -nostdlib
-nostartfiles -L${ECOS_LIBTARGET_DIRECTORY} -Ttarget.ld  <LINK_LIBRARIES>")

-Mathias
_______________________________________________
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

Reply via email to