Yep, that certainly is an error.
Glad it works now.
Perhaps you should consider upgrading to CMake 2.8. Fortran support
was much improved lately...
Michael
On 18. Nov, 2009, at 15:09 , 董理 wrote:
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