我使用cmake和make在Linux中构建一些库。 CMakelist的安装部分如下:
add_library(RVO ${RVO_HEADERS} ${RVO_SOURCES})
if(WIN32)
set_target_properties(RVO PROPERTIES COMPILE_DEFINITIONS NOMINMAX)
endif()
install(FILES ${RVO_HEADERS} DESTINATION include)
install(TARGETS RVO DESTINATION lib)
但是当我运行make时,lib正确构建,但没有移动到相应的foler" / lib"正如预期的那样," / include"使用复制的文件创建文件夹。
这里有什么问题?
答案 0 :(得分:3)
如果要更改文件已安装(相对于CMAKE_INSTALL_PREFIX
),请在DESTINATION
命令调用中使用install()
关键字。要执行安装,请使用需要运行make install
,因为只运行make
只会构建项目。
要更改放置已构建二进制文件的位置(在构建树中),您需要在RVO
目标上设置LIBRARY_OUTPUT_DIRECTORY属性。您还可以使用CMAKE_LIBRARY_OUTPUT_DIRECTORY设置其默认值。