CMakeLists编写时不分大小写
- set: 将一个CMAKE变量设置为给定值
SET (LIBHELLO_SRC hello.cpp)
- add_library:将目录中的源文件编译为静态链接库、共享库
add_library(${PROJECT_NAME} SHARED XXX) 共享库
ADD_LIBRARY(hello STATIC ${LIBHELLO_SRC})静态库
当要生成同名的静态库和共享库,需要使用set_target_properties来避免库覆盖问题。
- target_link_libraries:指明可执行文件XX 需要连接一个名为 XX 的链接库
target_link_libraries(${PROJECT_NAME} modcomm modrlimit sync xml thread json yaml proc logger re jsoncpp base64 db cipher http core)
- set_target_properties: 设置目标的一些属性来改变它们构建的方式
set_target_properties(target1 target2 ...
PROPERTIES prop1 value1
prop2 value2 ...)
- execute_process:执行系统命令
execute_process(COMMAND touch test.txt
COMMAND echo "test..."
)
- link_directories的目录只包括当前目录下的文件,不包括子目录的文件
----webshell
---src
1.cc
---include
1.h
main.cc
----CMakeLists.txt
link_directories(${CMAKE_CURRENT_LIST_DIR}/webshell)
只生效webshell下的main.cc
网友评论