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.

你需要:

  1. 将模块 (FindOpenBLAS.cmake) 保存在您的项目中,例如:

    Project
    └── cmake
        └── Modules
            └── FindOpenBLAS.cmake
    
  2. 将路径添加到CMake变量里面 CMakeLists.txt:

    set (CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${PROJECT_SOURCE_DIR}/cmake/Modules/")
    
  3. CMakeLists.txt中添加find_package指令:

    find_package (OpenBLAS REQUIRED)  
    
  4. 使用填充变量,例如 CMakeLists.txt:

    include_directories (${OpenBLAS_INCLUDE_DIR})
    ...
    target_link_libraries (${OpenBLAS_LIB})