2017-01-19 46 views
0

我使用cmake並在Linux中構建一些庫。 的CMakelist的安裝部分如下:cmake和make不會創建文件夾並將文件複製到它

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目錄」,也不是「/包括」文件夾是用複製的文件創建的。

這裏有什麼問題?

+1

[如何使用CMAKE \ _INSTALL \ _PREFIX]可能的重複(http://stackoverflow.com/questions/6241922/how-to-use-cmake-install-prefix) – Florian

+5

默認情況下,'make'運行全部'目標。而'install'目標不在它的依賴關係之內。所以,運行'make install'。 – arrowd

+0

@arrowd這應該是一個答案。 – Angew

回答

2

當你想要更改文件安裝(相對於CMAKE_INSTALL_PREFIX),您使用install()命令調用DESTINATION關鍵字。要執行安裝,使用需要運行的make install,因爲運行只需make將只有建立該項目。

要改變其中內置二進制文件放置(建築樹內)的位置,你需要設置RVO目標LIBRARY_OUTPUT_DIRECTORY財產。您還可以使用CMAKE_LIBRARY_OUTPUT_DIRECTORY設置其默認值。

相關問題