使用cmake构建一个引用子目录库的库

时间:2013-11-21 00:59:59

标签: cmake

我正在尝试使用目前适用于Unix和Windows的Makefile转换构建。我有以下目录布局:

  • LIB1
  • LIB2

lib2依赖于lib1。

在lib1中,我使用

在Unix上创建一个.o文件
ld -r obj1.o -o lib1.o'.

在lib2中,我还使用在lib1目录中创建的lib1.o文件创建一个.o文件:

ld -r obj2.o ../lib1/lib1.o -o lib2.o

在Windows上它非常相似,只是我们使用lib1中的lib命令创建.lib文件:

lib -out:lib1.lib obj1.obj

并在lib2中:

lib -out:lib2.lib obj2.obj ..\lib1\lib1.lib

不幸的是,无论我做什么,lib1.o对象文件在构建lib2.o时都不会出现。

我的CMakeLists.txt文件位于lib1:

project (lib1)
add_library(lib1 obj1.c)
lib2中的

project (lib2)
add_library(lib2 obj2.c)
target_link_libraries(lib2 lib1)

并且在根部我有:

project (root)
add_subdirectory(lib1)
add_subdirectory(lib2)
add_dependencies(lib2 lib1)

有什么我不想实现的吗?

谢谢, 马努

0 个答案:

没有答案