cmake_build安装
时间: 2023-11-26 12:03:13 浏览: 38
cmake_build_action是一个用于构建CMake项目的操作。它可以更新子模块,添加CMake参数,并支持运行测试和构建单元测试。你可以使用以下代码来设置CMake构建动作:
```yaml
name: Build project
uses: nicledomaS/cmake_build_action@v1.4
with:
submodule_update: ON
run_tests: ON
unit_test_build: ON
```
关于CMake的代码,你可以使用以下代码来生成产物:
```cmake
set(BUILD_SHARED_LIBS ON) # 默认值是OFF
add_library(${PROJECT_NAME} ${SRCS_MAIN})
```
根据引用,CMake中的两个关键变量是CMAKE_BUILD_TYPE和BUILD_SHARED_LIBS。CMAKE_BUILD_TYPE用于指定构建类型(例如Debug、Release),而BUILD_SHARED_LIBS用于指定是否构建共享库。
相关问题
ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS)
`ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS)` 是一个OpenCV的CMake钩子函数,用于在构建过程中应用附加的构建选项。
具体解释如下:
- `ocv_cmake_hook`:这是OpenCV中的一个CMake钩子函数,用于在构建过程中应用额外的构建选项。
- `POST_CMAKE_BUILD_OPTIONS`:这是钩子函数的参数,指定它在构建选项生成后执行。在这个特定的钩子函数中,它允许开发人员添加额外的构建选项。
通过使用`ocv_cmake_hook(POST_CMAKE_BUILD_OPTIONS)`,开发人员可以在OpenCV的构建过程中动态添加其他的构建选项。这对于特定的构建需求或特定平台上的优化设置非常有用。通过添加额外的构建选项,开发人员可以自定义构建过程以满足项目的特定要求,例如启用或禁用特定的功能、优化编译选项或设置目标平台的特定参数。
CMAKE_BUILD_TYPE
CMAKE_BUILD_TYPE是一个CMake的变量,用于配置构建类型,例如Debug、Release等。\[2\]它的默认值是一个空字符串,如果开发人员没有显式地设置它,对于单个和多个配置生成器都会导致致命错误。\[1\]为了处理这种情况,可以通过让项目提供一个默认值来处理,或者使用多组态和单组态生成器的技术来提供健壮的行为。\[1\]另外,如果我们想要将设置的编译类型应用于所有用户的各个子项目,可以直接在项目顶层的CMakeLists.txt文件中设置默认的编译类型。\[3\]
#### 引用[.reference_title]
- *1* [CMake(十二):构建类型](https://blog.csdn.net/jjjstephen/article/details/122496126)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *2* [【CMake】构建类型详细解读](https://blog.csdn.net/Darlingqiang/article/details/131571974)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [从零开始 CMake 学习笔记 (F)Build Type](https://blog.csdn.net/qq_43232373/article/details/124306964)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]