Add/include 一个Cmake,找到一个包到CMake
Add/include a Cmake that finds a package into CMake
我发现这个 CMake 可以找到 OpenBLAS,但我找不到将其作为外部文件包含在内的方法。
我的想法就像C/C++中的#include。我尝试了谷歌搜索,我得到了关于如何将项目包含到 CMake 中的答案。
这样做的主要原因是我希望我的 CMake 尽可能干净和尽可能小,因为这是我第一次深入 CMake 世界。
but I can't find a way how to include that as an external file.
你需要:
将模块 (FindOpenBLAS.cmake
) 保存在您的项目中,例如:
Project
└── cmake
└── Modules
└── FindOpenBLAS.cmake
将路径添加到CMake变量里面 CMakeLists.txt
:
set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
在CMakeLists.txt
中添加find_package
指令:
find_package (OpenBLAS REQUIRED)
使用填充变量,例如 CMakeLists.txt
:
include_directories (${OpenBLAS_INCLUDE_DIR})
...
target_link_libraries (${OpenBLAS_LIB})
我发现这个 CMake 可以找到 OpenBLAS,但我找不到将其作为外部文件包含在内的方法。
我的想法就像C/C++中的#include。我尝试了谷歌搜索,我得到了关于如何将项目包含到 CMake 中的答案。
这样做的主要原因是我希望我的 CMake 尽可能干净和尽可能小,因为这是我第一次深入 CMake 世界。
but I can't find a way how to include that as an external file.
你需要:
将模块 (
FindOpenBLAS.cmake
) 保存在您的项目中,例如:Project └── cmake └── Modules └── FindOpenBLAS.cmake
将路径添加到CMake变量里面
CMakeLists.txt
:set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
在
CMakeLists.txt
中添加find_package
指令:find_package (OpenBLAS REQUIRED)
使用填充变量,例如
CMakeLists.txt
:include_directories (${OpenBLAS_INCLUDE_DIR}) ... target_link_libraries (${OpenBLAS_LIB})