CMake在哪里构建库

时间:2016-05-18 13:44:58

标签: cmake

在Windows上,cmake在

中构建库
  

$ {CMAKE_BINARY_DIR} /<< Libname>> /<<调试或发布>> /Libname.lib

上的ubuntu-mate上
  

$ {CMAKE_BINARY_DIR} /Libname.a

有没有办法获得这个补丁?我的用例是这样一个FULL_PATH_TO_LIB 如下:

add_library(${LIB_NAME} STATIC ${SOURCES})
#...
target_link_libraries(${PROJECT_BENCH_NAME} 
 debug ${FULL_PATH_TO_LIB}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX })

1 个答案:

答案 0 :(得分:0)

您可以单独为可执行文件,存档库(.a / .lib)和动态库(.dll / .so)自定义输出目录,然后使用此信息链接到特定文件。 Here你找到了详细的解释。 (您也可以按目标设置输出目录)

例如,在您的情况下,您可以设置CMAKE_ARCHIVE_OUTPUT_DIRECTORY

set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib/)
add_library(${LIB_NAME} STATIC ${SOURCES})
#...
target_link_libraries(${PROJECT_BENCH_NAME} 
 debug ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}${LIB_NAME}${CMAKE_DEBUG_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX })