本文主要是介绍CMakeLists.txt语法规则:部分常用命令说明三,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一. 简介
前面几篇文章学习了CMakeLists.txt语法中 add_executable命令,add_library命令,aux_source_directory命令,include_directories命令,add_subdirectory 命令的简单使用。文章如下:
CMakeLists.txt语法规则:部分常用命令说明一-CSDN博客
CMakeLists.txt语法规则:部分常用命令说明二-CSDN博客
本文继续学习 CMakeLists.txt语法中部分常用命令。
二. CMakeLists.txt语法规则:部分常用命令
1. link_directories命令 和 link_libraries 命令
link_directories(directory1 directory2 ...)
link_libraries([item1 [item2 [...]]][[debug|optimized|general] <item>] ...)
├── build
├── CMakeLists.txt
├── include
│ └── hello.h
├── lib
│ └── libhello.so
└── main.c
# 顶层 CMakeLists.txt
cmake_minimum_required("VERSION" "3.5")
project("HELLO")include_directories(include)
link_directories(lib)
link_libraries(hello)
add_executable(main main.c)
link_libraries(hello) # 简写link_libraries(libhello.so) # 全称
# 顶层 CMakeLists.txt
cmake_minimum_required("VERSION" "3.5")
project("HELLO")include_directories(include)
link_libraries(${PROJECT_SOURCE_DIR}/lib/libhello.so)
add_executable(main main.c)
与 include_directories 命令相同,当调用 add_subdirectory 命令加载子源码时,会将link_directories 命令 包含的目录列表以及 link_libraries 命令包含的链接库列表,向下传递给子源码。
2. list
list(LENGTH <list> <output variable>)
list(GET <list> <element index> [<element index> ...]<output variable>)
list(APPEND <list> [<element> ...])
list(FIND <list> <value> <output variable>)
list(INSERT <list> <element_index> <element> [<element> ...])
list(REMOVE_ITEM <list> <value> [<value> ...])
list(REMOVE_AT <list> <index> [<index> ...])
list(REMOVE_DUPLICATES <list>)
list(REVERSE <list>)
list(SORT <list>)
INSERT 选项将向列表中的指定位置插入元素。
REMOVE_AT 和 REMOVE_ITEM 选项将从列表中删除元素,不同之处在于 REMOVE_ITEM 将删除给定的元素,而 REMOVE_AT 将删除给定索引值的元素。
REMOVE_DUPLICATES 选项将删除列表中的重复元素。
REVERSE 选项就地反转列表的内容。
SORT 选项按字母顺序对列表进行排序。
下一篇文章继续学习其他的 CMakeLists.txt语法的部分常用命令。
这篇关于CMakeLists.txt语法规则:部分常用命令说明三的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!