123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051 |
- include(FindPackageHandleStandardArgs)
- set(_root ${FFlags_ROOT})
- if (_root)
- set(_root_include ${_root}/include)
- set(_root_lib ${_root}/lib)
- endif()
- # FFlags_ROOT 必须是 FFlags的安装目录
- # FFlags
- find_path(fflags_h NAMES fflags.h HINTS ${_root_include} DOC "FFlags include directory" NO_DEFAULT_PATH)
- find_library(fflags_lib NAMES FFlags libFFlags HINTS ${_root_lib} DOC "FFlags library" NO_DEFAULT_PATH)
- unset(_root_include)
- unset(_root_lib)
- set(fflags_INCLUDE_DIRS ${fflags_h})
- set(fflags_LIBRARIES ${fflags_lib})
- if (WIN32 AND NOT CYGWIN)
- find_file(fflags_dll NAMES FFlags.dll libFFlags.dll HINTS ${_root}/bin DOC "FFlags ddl" NO_DEFAULT_PATH)
- if (fflags_dll)
- set(fflags_DLL ${fflags_dll})
- else()
- set(fflags_DLL)
- endif()
- else()
- set(fflags_DLL ${fflags_LIBRARIES})
- endif()
- unset(fflags_h CACHE)
- unset(fflags_lib CACHE)
- unset(_root)
- find_package_handle_standard_args(FFlags
- FOUND_VAR FFlags_FOUND
- REQUIRED_VARS
- fflags_INCLUDE_DIRS
- fflags_LIBRARIES
- fflags_DLL) # 强制搜不到包
- if (FFlags_FOUND)
- add_library(FFlags::fflags STATIC IMPORTED)
- set_target_properties(FFlags::fflags PROPERTIES
- IMPORTED_IMPLIB "${fflags_DLL}"
- IMPORTED_LOCATION "${fflags_LIBRARIES}"
- INTERFACE_INCLUDE_DIRECTORIES "${fflags_INCLUDE_DIRS}"
- INTERFACE_SOURCES "${fflags_INCLUDE_DIRS}/fflags.h"
- PUBLIC_HEADER "${fflags_INCLUDE_DIRS}/fflags.h")
- endif()
|