添加/包含一个Cmake,可以在CMake中找到一个包

时间:2016-06-01 02:45:10

标签: c++ cmake clion openblas

我发现这个CMake找到OpenBLAS,但我找不到如何将其作为外部文件包含的方法。

我想到的就像C / C ++中的#include。我尝试使用谷歌搜索,我得到了如何将项目纳入CMake的答案。

这个的主要原因是我希望我的CMake尽可能干净,尽可能小,因为这是我第一次深入CMake世界。

1 个答案:

答案 0 :(得分:3)

  

但我找不到如何将其作为外部文件包含的方法。

你需要:

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

    Project
    └── cmake
        └── Modules
            └── FindOpenBLAS.cmake
    
  2. 将路径添加到CMakeLists.txt

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

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

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