CMake

作者: Supreme_DJK | 来源:发表于2019-06-24 10:26 被阅读0次

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

相关文章

网友评论

      本文标题:CMake

      本文链接:https://www.haomeiwen.com/subject/dzcnqctx.html