add_subdirectory
添加子文件夹到编译中。文件夹结构比如:
如果子文件mylibs在当前Cmakelists.txt的文件夹下,则可以直接add 例:
add_subdirectory(mylibs)
如果子文件otherlibs不在当前Cmakelists.txt的文件夹下,则如下add 例:
add_subdirectory(../otherlibs otherlibs.out)
其实可以统一到第二种方式,按照不在当前目录下的方式处理。
指定库install输出目录,头文件目录
对于库代码,生成的库需要对外使用,同时还有头文件。
指定库文件的位置:
在Cmakelists.txt中使用如下语句即可:
set(LIBRARY_OUTPUT_PATH yourInstallPath)
yourInstallPath就是你希望放置的文件夹路径
指定头文件的位置
在Cmakelists.txt中使用如下语句即可:
install(FILES xxx.h xxx1.h DESTINATION yourInstallPath)
xxx.h , xxx1.h 就是你希望导出的头文件。 yourInstallPath就是你希望放置的文件夹路径。
Clion注意点
指定库文件的路径在更新Cmakelists.txt的时候就会创建对应的路径。 头文件则会在build之前拷贝过去,库文件则在build结束之后自动拷贝过去。 可能不会自动更新。
Clion的菜单 Run->install 可保证万无一失。最好运行命令:
cmake .
make install