cmake - 找到忽略目录的路径

时间:2015-06-29 17:28:21

标签: cmake

在执行find_path时如何让cmake忽略目录?我试图找到系统的freetype2库,而是找到我项目中的那个库。如何让它忽略它呢?

这是我的FindFreeTypeTwo.cmake的样子

FIND_PATH(_FREETYPE2_INCLUDE_DIR ft2build.h PATH_SUFFIXES freetype2)
FIND_LIBRARY(_FREETYPE2_LIBRARIES NAMES freetype)

INCLUDE(FindPackageHandleStandardArgs)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(Freetype2 DEFAULT_MSG _FREETYPE2_LIBRARIES _FREETYPE2_INCLUDE_DIR)

if (FREETYPE2_FOUND)
   set (FREETYPE2_INCLUDE_DIR ${_FREETYPE2_INCLUDE_DIR})
   set (FREETYPE2_LIBRARIES ${_FREETYPE2_LIBRARIES})
endif (FREETYPE2_FOUND)

这就是我的文件结构。

  \ 
   \ src
    | CMakeLists.tst
     \ build
      \ cmake_config
       \ find_packages
        | FindFreeTypeTwo.cmake
   \ (folder to exclude)
   \ (other folders)

1 个答案:

答案 0 :(得分:0)

您可以更改FIND_PATH()中的参数。而不是使用PATH_SUFFIXES,你可以使用这样的东西 FIND_PATH(_FREETYPE2_INCLUDE_DIR ft2build.h HINTS ENV FREETYPE2_INCLUDE_DIR PATHS /usr/local/include) 这是我在编写cmake文件时经常使用的东西。