I asked a similar question about a month ago.&nbsp; The response can be found in the archive:<br><br><a href="http://www.cmake.org/pipermail/cmake/2008-November/025541.html">http://www.cmake.org/pipermail/cmake/2008-November/025541.html</a><br>
<br>I tried it on VS, and it seem to work (though I had to use .obj instead of .o to make it work).<br><br>Perhaps you could take the response as a start and work back to your project a little at a time.<br><br>James<br><br>
<div class="gmail_quote">On Tue, Dec 9, 2008 at 11:39 PM, Colin D Bennett <span dir="ltr">&lt;<a href="mailto:colin@gibibit.com">colin@gibibit.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Tue, 9 Dec 2008 22:26:11 -0800<br>
Colin D Bennett &lt;<a href="mailto:colin@gibibit.com">colin@gibibit.com</a>&gt; wrote:<br>
<br>
&gt; The problem is that CMake is *silently* ignoring the request to link<br>
&gt; the object file into the executable target with ADD_EXECUTABLE().<br>
<br>
</div>I forgot to include the CMake/SDCC toolchain file I&#39;m using, which<br>
might be of help:<br>
<br>
<br>
--------------------------------------------------------------------<br>
# the name of the target operating system<br>
SET(CMAKE_SYSTEM_NAME Generic)<br>
<br>
# which compilers to use for C and C++<br>
SET(CMAKE_C_COMPILER sdcc)<br>
SET(SDCC_MCS51_MEMORY_MODEL &quot;large&quot;)<br>
SET(SDCC_STACK_AUTO ON)<br>
# Flags common to both compiler and linker.<br>
SET(SDCC_MCS51_COMMON_FLAGS &quot;-mmcs51<br>
 &nbsp; &nbsp;--model-${SDCC_MCS51_MEMORY_MODEL}&quot;)<br>
IF(SDCC_STACK_AUTO)<br>
 &nbsp; &nbsp;SET(SDCC_MCS51_COMMON_FLAGS &quot;${SDCC_MCS51_COMMON_FLAGS}<br>
 &nbsp; &nbsp; &nbsp; &nbsp;--stack-auto&quot;)<br>
ENDIF(SDCC_STACK_AUTO)<br>
<br>
SET(CMAKE_C_FLAGS_INIT &quot;${SDCC_MCS51_COMMON_FLAGS} --std-c99&quot;)<br>
SET(CMAKE_EXE_LINKER_FLAGS_INIT &quot;${SDCC_MCS51_COMMON_FLAGS}&quot;)<br>
<br>
# Safe memory mapping which excludes the vanishing region.<br>
# There are only 3414 bytes available in XDATA, but it is all retained<br>
# through PM2 and PM3.<br>
SET(SDCC_CC2430_MEMORY_MAPPING<br>
 &nbsp; &nbsp;&quot;--xram-loc 0xF000 --xram-size 3414 --iram-size 256 --code-size<br>
32768&quot;)<br>
<br>
SET(CMAKE_EXE_LINKER_FLAGS_INIT ${SDCC_CC2430_MEMORY_MAPPING})<br>
<br>
# here is the target environment is located<br>
SET(CMAKE_FIND_ROOT_PATH /home/cdb/bin/sdcc)<br>
<br>
# adjust the default behaviour of the FIND_XXX() commands:<br>
# search headers and libraries in the target environment, search<br>
# programs in the host environment<br>
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)<br>
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)<br>
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)<br>
--------------------------------------------------------------------<br>
<br>
<br>
Then I use &quot;cmake -DCMAKE_TOOLCHAIN_FILE=TOOLCHAIN.cmake&quot; to build.<br>
<br>
Regards,<br>
Colin<br>
<br>
_______________________________________________<br>
CMake mailing list<br>
<a href="mailto:CMake@cmake.org">CMake@cmake.org</a><br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
</blockquote></div><br>