在执行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)
答案 0 :(得分:0)
您可以更改FIND_PATH()
中的参数。而不是使用PATH_SUFFIXES
,你可以使用这样的东西
FIND_PATH(_FREETYPE2_INCLUDE_DIR ft2build.h HINTS ENV FREETYPE2_INCLUDE_DIR PATHS /usr/local/include)
这是我在编写cmake文件时经常使用的东西。