summaryrefslogtreecommitdiffstats
path: root/cmake/FindGn.cmake
diff options
context:
space:
mode:
Diffstat (limited to 'cmake/FindGn.cmake')
-rw-r--r--cmake/FindGn.cmake25
1 files changed, 22 insertions, 3 deletions
diff --git a/cmake/FindGn.cmake b/cmake/FindGn.cmake
index dfbe5b363..12a90778c 100644
--- a/cmake/FindGn.cmake
+++ b/cmake/FindGn.cmake
@@ -3,13 +3,32 @@ if (NOT DEFINED WEBENGINE_ROOT_BUILD_DIR)
endif()
set(CMAKE_PROGRAM_PATH ${WEBENGINE_ROOT_BUILD_DIR}/install/bin)
+
find_program(Gn_EXECUTABLE NAMES gn)
+if(Gn_EXECUTABLE)
+ execute_process(
+ COMMAND ${Gn_EXECUTABLE} --version
+ OUTPUT_VARIABLE Gn_VERSION
+ ERROR_QUIET
+ OUTPUT_STRIP_TRAILING_WHITESPACE)
+endif()
+
+string(REGEX MATCHALL "([1-9]\.[0-9]\.[0-9])\.qtwebengine\.qt\.io.*" Gn_QT_VERSION "${Gn_VERSION}")
+if("${Gn_QT_VERSION}")
+ set(Gn_VERSION "${Gn_QT_VERSION}")
+endif()
+
include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(
- Gn
- REQUIRED_VARS Gn_EXECUTABLE)
+find_package_handle_standard_args(Gn
+ FOUND_VAR
+ Gn_FOUND
+ VERSION_VAR
+ Gn_VERSION
+ REQUIRED_VARS
+ Gn_EXECUTABLE
+)
if(Gn_FOUND AND NOT TARGET Gn::gn)
add_executable(Gn::gn IMPORTED)