指定工程名称
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_PREFIX的lib文件夹下
INSTALL(TARGETS hello hello_static LIBRARY DESTINATION lib ARCHIVE DESTINATION lib)
添加头文件到 -DCMAKE_INSTALL_PREFIX的include/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()