Hi. I may be wrong, but I suppose, that CMake puts linker flags BEFORE all the files to link and you use the flags to link libraries. For linking libraries you should be using the target_link_libraries CMake command.
-- Gruesse, Jakub From: [email protected] [mailto:[email protected]] On Behalf Of Juan Pablo Hernandez Vogt Sent: Donnerstag, 17. Oktober 2013 12:01 To: [email protected] Subject: [CMake] Object file as first one in link.txt file Hello everybody, I moving a makefile to cmake, and after errors I could check that order in link chain was important. 1) CMake generates this link.txt (error when linking) /usr/bin/c++ -lfusion_io -ladios -lmxml -lmpi -lopen-rte -lopen-pal -lpthread -lstdc++ CMakeFiles/niio-main.dir/main.cpp.o -o niio-main -rdynamic -L/home/testuser/dev/niio/lib -L/home/testuser/dev/niio/openmpi/lib 2) Desired linking that works: /usr/bin/c++ CMakeFiles/niio-main.dir/main.cpp.o -lfusion_io -ladios -lmxml -lmpi -lopen-rte -lopen-pal -lpthread -lstdc++ -o niio-main -rdynamic -L/home/testuser/dev/niio/lib -L/home/testuser/dev/niio/openmpi/lib My question is, how to fix in my CMakeLists.txt to have main.cpp.o first in the sequence of the link command? My current code is: set(TARGET_NAME "niio-main") link_directories("${PROJECT_SOURCE_DIR}/lib") link_directories("${PROJECT_SOURCE_DIR}/openmpi/lib") add_executable(${TARGET_NAME} main.cpp) include_directories("${PROJECT_SOURCE_DIR}") include_directories("${PROJECT_SOURCE_DIR}/openmpi/include") add_definitions( -DOMPI_SKIP_MPICXX -DDEBUG -DNI_IO -DNI_MPI ) set_target_properties(${TARGET_NAME} PROPERTIES COMPILE_FLAGS "-fPIC -g -Wall -Wno-deprecated") set_target_properties(${TARGET_NAME} PROPERTIES LINK_FLAGS "-lfusion_io -ladios -lmxml -lmpi -lopen-rte -lopen-pal -lpthread -lstdc++") Thank you very much, JP -- Powered by www.kitware.com Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Kitware offers various services to support the CMake community. For more information on each offering, please visit: CMake Support: http://cmake.org/cmake/help/support.html CMake Consulting: http://cmake.org/cmake/help/consulting.html CMake Training Courses: http://cmake.org/cmake/help/training.html Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
