diff options
author | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-08-31 10:38:53 +0200 |
---|---|---|
committer | Joerg Bornemann <joerg.bornemann@qt.io> | 2020-09-11 00:41:10 +0200 |
commit | 457cf10f7e0d91dd23dd499f6b70f0224e35e8be (patch) | |
tree | 2adc117d96b73d2dc103dc669e9a8eda6ad59ea0 /bin | |
parent | c30ea1f4124420f7d9e961f51898cedbe4c5d4ee (diff) |
CMake: Introduce qt-configure-module
Add a convenience script to configure a Qt module separately.
This script reads and interprets the qt_cmdline.cmake files of the
Qt module to be configured and eventually calls qt-cmake-private.
Example usage:
<install-prefix>/bin/qt-configure-module <source-root>/qtdeclarative
-qml-network -- --trace-expand --trace-redirect=cmake.trace
Change-Id: I026f1a050cd3f4df740611c32ba8c03161bba7a3
Reviewed-by: Cristian Adam <cristian.adam@qt.io>
Diffstat (limited to 'bin')
-rw-r--r-- | bin/qt-configure-module.bat.in | 38 | ||||
-rwxr-xr-x | bin/qt-configure-module.in | 30 |
2 files changed, 68 insertions, 0 deletions
diff --git a/bin/qt-configure-module.bat.in b/bin/qt-configure-module.bat.in new file mode 100644 index 0000000000..fa49723741 --- /dev/null +++ b/bin/qt-configure-module.bat.in @@ -0,0 +1,38 @@ +@echo off +setlocal ENABLEDELAYEDEXPANSION ENABLEEXTENSIONS +set script_dir_path=%~dp0 +set script_dir_path=%script_dir_path:~0,-1% + +if "%1" == "" ( + call :print_usage + exit /b 1 +) + +set module_root=%1 +shift +if not exist "%module_root%\CMakeLists.txt" ( + echo Error: %module_root% is not a valid Qt module source directory. >&2 + call :print_usage + exit /b 1 +) + +if exist "config.opt" del "config.opt" +set first_iteration=indeed +for %%a in (%*) do ( + if defined first_iteration ( + :: Drop the first argument, which is the module root. + set first_iteration= + ) else ( + echo %%a >> "config.opt" + ) +) + +set cmake_script_path=%script_dir_path%\@__relative_path_to_processconfigureargs_script@ +call "%script_dir_path%"\qt-cmake-private.bat -DOPTFILE=config.opt -DMODULE_ROOT="%module_root%" ^ + -DCMAKE_COMMAND="%script_dir_path%\qt-cmake-private.bat" ^ + -P "%cmake_script_path%" +goto :eof + +:print_usage +echo Usage: qt-configure-module ^<module-source-dir^> [options] +goto :eof diff --git a/bin/qt-configure-module.in b/bin/qt-configure-module.in new file mode 100755 index 0000000000..71151fc3a0 --- /dev/null +++ b/bin/qt-configure-module.in @@ -0,0 +1,30 @@ +#!/bin/sh +script_dir_path=`dirname $0` +script_dir_path=`(cd "$script_dir_path"; /bin/pwd)` + +printUsage() +{ + echo 'Usage: qt-configure-module <module-source-dir> [options]' +} + +if [ "$#" -lt 1 ]; then + printUsage + exit 1 +fi +module_root=$1 +shift + +if [ ! -f "$module_root/CMakeLists.txt" ]; then + echo >&2 "Error: $module_root is not a valid Qt module source directory." + printUsage + exit 1 +fi + +optfile=config.opt +if [ -f "$optfile" ]; then rm "$optfile"; fi +for arg in "$@"; do +echo $arg >> "$optfile" +done + +cmake_script_path="$script_dir_path/@__relative_path_to_processconfigureargs_script@" +"$script_dir_path/qt-cmake-private" -DOPTFILE=$optfile -DMODULE_ROOT="$module_root" -DCMAKE_COMMAND="$script_dir_path/qt-cmake-private" -P "$cmake_script_path" |