Files
qt-migration-legatus/qt6-after/qt6-migrated-legatus/cmake/FindGrantlee5.cmake
T
2026-09-01 12:27:57 +02:00

44 lines
1.6 KiB
CMake

# Find module for Grantlee5 (Qt5) / Grantlee (Qt6 compatible)
# Grantlee 5.3.0 provides Qt6-compatible targets
if (TARGET Grantlee5::Templates)
set(Grantlee5_FOUND TRUE)
return()
endif()
# Try config-mode: look for Grantlee5Config.cmake in standard locations
# Grantlee 5.3.0 installs to /usr/local/lib/cmake/Grantlee5/
find_package(Grantlee5 CONFIG QUIET)
if(TARGET Grantlee5::Templates)
set(Grantlee5_FOUND TRUE)
return()
endif()
# Try pkg-config as a best-effort (may fail)
find_package(PkgConfig QUIET)
if (PKG_CONFIG_FOUND)
pkg_check_modules(GRANTLEE5 QUIET grantlee-templates)
if (GRANTLEE5_FOUND)
set(Grantlee5_FOUND TRUE)
# No imported targets provided by this shim
return()
endif()
endif()
# Try config-mode: look for Grantlee5Config.cmake in CMAKE_PREFIX_PATH or installed location
# Try to locate Grantlee5Config.cmake via common locations: CMAKE_PREFIX_PATH, EXTERNAL_DIR, repo/external, and typical install paths
find_file(_Grantlee5Config NAMES Grantlee5Config.cmake
PATHS ${CMAKE_PREFIX_PATH} $ENV{EXTERNAL_DIR} ${CMAKE_SOURCE_DIR}/../external /home/torsten/swy/sandbox/external /repo/external /repo/external/grantlee /usr/local/lib/cmake/Grantlee5
PATH_SUFFIXES grantlee/lib/cmake/Grantlee5 lib/cmake/Grantlee5)
if(_Grantlee5Config)
include(${_Grantlee5Config})
if(TARGET Grantlee5::Templates)
set(Grantlee5_FOUND TRUE)
return()
endif()
endif()
# Not found: provide helpful message and stop. Downstream CMakeLists check TARGET Grantlee5::Templates
set(Grantlee5_FOUND FALSE)
message(STATUS "Grantlee5 not found (shim cmake/FindGrantlee5.cmake); codegen_grantlee will be skipped if present.")