<div dir="ltr"><div><div><div>Hi Ivan.<br><br></div>The correct use of OBJECT libraries is not to link against them, but to list them as sources (using a special syntax), like this:<br><br></div>add_executable(project main.c $&lt;TARGET_OBJECTS:serial&gt;)<br>
<br></div>(Assuming &#39;serial&#39; is the name of the object library). This is outlined in the documentation for OBJECT libraries.<br><br>Petr<br></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Sat, Nov 2, 2013 at 7:50 AM, Ivan Sergio Borgonovo <span dir="ltr">&lt;<a href="mailto:mail@webthatworks.it" target="_blank">mail@webthatworks.it</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I&#39;m trying to convert an embedded eclipse project to CMake with a<br>
python script.<br>
<br>
I reached a point where everything compile as I want, everything get<br>
listed in the linking step but libraries are in the wrong order and<br>
linking fail.<br>
<br>
Just reordering the libraries list and running the linking process by<br>
hand produce the right executable.<br>
<br>
I want to convert the project in a completely automatic way and I don&#39;t<br>
want my python code to get too complicated to understand<br>
inter-libraries dependencies to write smarter CMakeLists.txt files or<br>
to order properly the libraries unless there is a very simple way to do<br>
so. This would be sweet but I don&#39;t think there is a simple way.<br>
<br>
Eclipse was compiling everything as objects so order of linking was not<br>
important.<br>
<br>
I&#39;ve tried to follow<br>
<a href="http://www.cmake.org/Wiki/CMake/Tutorials/Object_Library" target="_blank">http://www.cmake.org/Wiki/CMake/Tutorials/Object_Library</a><br>
I get<br>
<br>
CMake Error at cmakedirs.cmake:118 (target_link_libraries):<br>
  Target &quot;serial&quot; of type OBJECT_LIBRARY may not be linked into another<br>
  target.  One may link only to STATIC or SHARED libraries, or to<br>
executables with the ENABLE_EXPORTS property set.<br>
Call Stack (most recent call first):<br>
  CMakeLists.txt:89 (include)<br>
<br>
for all libraries<br>
<br>
But I can&#39;t get rid of the same error even when I add:<br>
add_executable(project main.c)<br>
set_target_properties(project PROPERTIES ENABLE_EXPORTS ON) #&lt;--<br>
<br>
<br>
--<br>
Ivan Sergio Borgonovo<br>
<a href="http://www.webthatworks.it" target="_blank">http://www.webthatworks.it</a><br>
<br>
--<br>
<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Please keep messages on-topic and check the CMake FAQ at: <a href="http://www.cmake.org/Wiki/CMake_FAQ" target="_blank">http://www.cmake.org/Wiki/CMake_FAQ</a><br>
<br>
Kitware offers various services to support the CMake community. For more information on each offering, please visit:<br>
<br>
CMake Support: <a href="http://cmake.org/cmake/help/support.html" target="_blank">http://cmake.org/cmake/help/support.html</a><br>
CMake Consulting: <a href="http://cmake.org/cmake/help/consulting.html" target="_blank">http://cmake.org/cmake/help/consulting.html</a><br>
CMake Training Courses: <a href="http://cmake.org/cmake/help/training.html" target="_blank">http://cmake.org/cmake/help/training.html</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.cmake.org/mailman/listinfo/cmake" target="_blank">http://www.cmake.org/mailman/listinfo/cmake</a><br>
</blockquote></div><br></div>