我正在尝试使用一个外部模块为我的 Fortran 项目编写一个 cmake 列表,并且两者都必须与一个没有任何 cmake find (findlib) 包的外部库链接。到目前为止,我的 CMakeLists.txt 看起来像这样:
cmake_minimum_required (VERSION 2.6)
project (Project 1)
enable_language (C Fortran)
set(extern_INCLUDE /home/path/lib/libdir/include/)
set(extern_LIB /home/path/lib/libdir/lib)
include_directories(${extern_INCLUDE})
link_directories (${extern_LIB})
add_library(mymodule STATIC mymodule.f90)
set(main-source_SRC main-source.f)
add_executable(main-source ${main-source_SRC})
#the name of the external library located in /home/path/lib/libdir/lib is libexternlib.so
target_link_libraries(main-source mymodule externlib)
创建了一个 libmymodule.a 并且绝对没有必要(或者就此而言共享一个)。我不想生成它们。如何避免它的生成并仍然编译 mymodule,生成 .o 和 .mod 以便能够与主程序和外部库链接?等效于 ifort -c 到 mymodule 和 ifort 到所有 .o。