# 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.")