CMake库输出的自定义目录

时间:2010-09-18 14:42:25

标签: cmake

在CMake中,我似乎无法在../out/library中输出我的库,只有库。当我执行../out/library路径时,它告诉我它找不到库,就好像它想链接到它一样。

add_library(../out/JE3D ../source/CDeviceLayerSDL.cpp)

还有更多文件,我只是在节省空间。当我这样做时,我收到了这个错误。

  

链接CXX静态库lib ../ out / JE3D.a   / usr / bin / ar:lib ../ out / JE3D.a:没有这样的文件或目录   make [2]: * [lib ../ out / JE3D.a]错误1   make [1]:* [CMakeFiles /../ out / JE3D.dir / all]错误2   make:*** [all]错误2

1 个答案:

答案 0 :(得分:33)

LIBRARY_OUTPUT_DIRECTORY target属性指定将构建库目标文件的目录。

set_target_properties(JE3D PROPERTIES
         LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/library)

如果所有库都在一个目录中,我发现设置CMAKE_LIBRARY_OUTPUT_DIRECTORY变量更方便,该变量用于在创建目标时初始化LIBRARY_OUTPUT_DIRECTORY属性。

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/out/library)

修改:如果您的目标是静态库,请检查评论