| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283 |
- #[[
- Custom find module for lunasvg, will use existing target if available.
- Input variables:
- LUNASVG_INCLUDE_DIR
- LUNASVG_LIBRARY_DEBUG
- LUNASVG_LIBRARY_RELEASE
- Output variables:
- lunasvg_FOUND
- lunasvg_VERSION
- Resulting targets:
- lunasvg::lunasvg
- ]]
- include(FindPackageHandleStandardArgs)
- if(NOT TARGET lunasvg::lunasvg)
- # Look for lunasvg 3.0+ official config
- find_package("lunasvg" CONFIG QUIET)
- endif()
- if(NOT TARGET lunasvg::lunasvg)
- # Look for vcpkg port
- find_package("unofficial-lunasvg" CONFIG QUIET)
- if(TARGET unofficial::lunasvg::lunasvg)
- add_library(lunasvg::lunasvg ALIAS unofficial::lunasvg::lunasvg)
- endif()
- endif()
- if(TARGET lunasvg::lunasvg)
- # Since the target already exists, we declare it as found
- set(lunasvg_FOUND TRUE)
- if(NOT DEFINED lunasvg_VERSION)
- set(lunasvg_VERSION "UNKNOWN")
- endif()
- elseif(TARGET lunasvg)
- # This is for when lunasvg is added via add_subdirectory
- add_library(lunasvg::lunasvg ALIAS lunasvg)
- set(lunasvg_FOUND TRUE)
- if(NOT DEFINED lunasvg_VERSION)
- set(lunasvg_VERSION "UNKNOWN")
- endif()
- else()
- # Search for the library using input variables
- find_path(LUNASVG_INCLUDE_DIR lunasvg.h
- HINTS $ENV{LUNASVG_DIR}
- PATH_SUFFIXES lunasvg lunasvg/include include)
- find_library(LUNASVG_LIBRARY_DEBUG NAMES lunasvg liblunasvg
- HINTS $ENV{LUNASVG_DIR} $ENV{LUNASVG_DIR}/build
- PATH_SUFFIXES debug Debug)
- find_library(LUNASVG_LIBRARY_RELEASE NAMES lunasvg liblunasvg
- HINTS $ENV{LUNASVG_DIR} $ENV{LUNASVG_DIR}/build
- PATH_SUFFIXES release Release)
- set(LUNASVG_LIBRARY
- debug ${LUNASVG_LIBRARY_DEBUG}
- optimized ${LUNASVG_LIBRARY_RELEASE}
- )
- find_package_handle_standard_args(lunasvg DEFAULT_MSG
- LUNASVG_LIBRARY LUNASVG_INCLUDE_DIR)
- mark_as_advanced(LUNASVG_INCLUDE_DIR LUNASVG_LIBRARY_DEBUG LUNASVG_LIBRARY_RELEASE)
- set(LUNASVG_LIBRARIES ${LUNASVG_LIBRARY})
- set(LUNASVG_INCLUDE_DIRS ${LUNASVG_INCLUDE_DIR})
- if(lunasvg_FOUND)
- add_library(lunasvg::lunasvg INTERFACE IMPORTED)
- set(lunasvg_VERSION "UNKNOWN")
- target_include_directories(lunasvg::lunasvg INTERFACE ${LUNASVG_INCLUDE_DIRS})
- target_link_libraries(lunasvg::lunasvg INTERFACE ${LUNASVG_LIBRARIES})
- endif()
- if(NOT DEFINED lunasvg_VERSION)
- set(lunasvg_VERSION "UNKNOWN")
- endif()
- endif()
|