CMake Practice

指定工程名称

PROJECT(HELLO)

显示设置变量

SET(SRC_LIST main.c t1.c)

生成可执行文件

ADD_EXECUTABLE(hello ${SRC_LIST})

包含的子目录

ADD_SUBDIRECTORY(lib)

同时得到动态库和静态库

SET_TARGET_PROPERTIES(hello_static PROPERTIES OUTPUT_NAME "hello")

安装共享库和头文件

添加动态库和静态库到 -DCMAKE_INSTALL_PREFIXlib文件夹下

INSTALL(TARGETS hello hello_static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)

添加头文件到 -DCMAKE_INSTALL_PREFIXinclude/hello

INSTALL(FILES hello.h DESTINATION include/hello)

引用外部头文件

INCLUDE_DIRECTORIES(/usr/include/hello)

添加搜索路径在已知路径前还是后

CMAKE_INCLUDE_DIRECTORIES_BEFORE  on

CMAKE_INCLUDE_DIRECTORIES_AFTER in

target添加共享库

TARGET_LINK_LIBRARIES(main libhello.so)

添加非标准的共享库搜索路径

LINK_DIRECTORIES()

 

 

请使用浏览器的分享功能分享到微信等