Hi Michael, I am using cmake 2.6. It worked by following your previous pattern. I can't remember where is wrong exactly. Maybe I shouldn't write "target_link_libraries(core libutil.a)" but "target_link_libraries(core util )".
Thanks again! DONG Li 2009/11/18 Michael Wild <them...@gmail.com> > > On 18. Nov, 2009, at 6:18 , 董理 wrote: > > Michael Wild 写道: >> >>> >>> On 17. Nov, 2009, at 4:31 , DONG Li wrote: >>> >>> Hi all, >>>> >>>> I am trying to use CMake as my Fortran project build tool, it is a >>>> wonderful project guard!. But a annoying problem comes up. I searched all >>>> around the internet, but no easy document for me : (. Since I want to use >>>> static-linking, the Intel Fortran compiler complains "undefined reference >>>> to" when it links objects for an executable. >>>> >>>> The structure of the project is: >>>> >>>> CMakeLists.txt core init_data main test util >>>> >>>> and there will be static libraries under util and core as libutil.a and >>>> libcore.a. Further more, libcore.a depends on libutil.a. >>>> >>>> Finally, an executable will be generated under main which uses libcore.a >>>> and libutil.a. >>>> >>>> So how can I accomplish this? Thanks very much. I really want to learn >>>> CMake~ >>>> >>>> Best regards, >>>> >>>> DONG Li_______________________________________________ >>>> >>>> >>> CMakeLists.txt >>> --------------- >>> cmake_minimum_required(VERSION 2.6) >>> project(SuperDuper Fortran) >>> add_subdirectory(util) >>> add_subdirectory(core) >>> add_subdirectory(main) >>> >>> util/CMakeLists.txt >>> ------------------- >>> add_library(util util1.f util2.f) >>> >>> core/CMakeLists.txt >>> ------------------- >>> add_library(core core1.f core2.f) >>> target_link_libraries(core util) >>> >>> main/CMakeLists.txt >>> ------------------- >>> add_executable(${PROJECT_NAME} main1.f main2.f) >>> target_link_libraries(${PROJECT_NAME} util core) >>> >>> >>> HTH >>> >>> Michael >>> >> Hi Michael, >> >> I have tried this pattern, but it doesn't work. Forgot to say that my >> programs are in Fortran 90 with several modules. Does this matter? >> >> >> Best regards, >> >> DONG Li >> > > > Well, "doesn't work" certainly isn't enough information. Which version of > CMake are you using? What are the errors you get? Still the linking errors? > Then you must be missing either some sources, some external libraries or > have typos in your code. > > And, please, keep the messages on the list by using the "reply-all" button. > > Michael -- 祝好 董理
_______________________________________________ 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