cmake和make不会创建文件夹并将文件复制到其中

时间:2017-01-19 07:47:47

标签: c++ linux makefile cmake

我使用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"使用复制的文件创建文件夹。

这里有什么问题?

1 个答案:

答案 0 :(得分:3)

如果要更改文件已安装(相对于CMAKE_INSTALL_PREFIX),请在DESTINATION命令调用中使用install()关键字。要执行安装,请使用需要运行make install,因为只运行make只会构建项目。

要更改放置已构建二进制文件的位置(在构建树中),您需要在RVO目标上设置LIBRARY_OUTPUT_DIRECTORY属性。您还可以使用CMAKE_LIBRARY_OUTPUT_DIRECTORY设置其默认值。