214c3a033a
Introduce the qt-cmake-create script. The script generates the simple CMakeLists.txt based on the source files located in the current or specified directory. The initial version can generate a CMake code for the following file types: - .c .cc .cpp .cxx .h .hh .hxx .hpp - generates the qt_add_executable call with prerequisites. - .qml .js .mjs - generates the qt_add_qml_module call with prerequisites. - .ui - adds the found ui files to the existing executable. Requires C++ files be present in the directory too. - .qrc - generates the qt_add_resources call and adds the resources to the existing executable. Requires C++ files be present in the directory too. - .proto - generates qt_add_protobuf call with prerequisites. The QtInitProject.cmake script contains the 'handle_type' function that allows extending the script capabilities and establish simple relation chains between the file types. Note: The initial implementation doesn't deal with sub-directories, so all files from sub-directories will be added to and handled in the top-level CMakeLists.txt file. This can be extended by user request. Task-number: QTBUG-104388 Change-Id: I5abd9e07da109e867ff95986572ed2bf02ef9d3d Reviewed-by: Qt CI Bot <qt_ci_bot@qt-project.org> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
19 lines
660 B
Batchfile
19 lines
660 B
Batchfile
@echo off
|
|
:: The directory of this script is the expanded absolute path of the "$qt_prefix/bin" directory.
|
|
set script_dir_path=%~dp0
|
|
|
|
:: Try to use original cmake, otherwise to make it relocatable, use any cmake found in PATH.
|
|
set cmake_path=@CMAKE_COMMAND@
|
|
if not exist "%cmake_path%" set cmake_path=cmake
|
|
|
|
if NOT "%~2" == "" goto :showhelp
|
|
if NOT "%~1" == "" (set PROJECT_DIR=%~1) else (set PROJECT_DIR=%cd%)
|
|
|
|
"%cmake_path%" -DPROJECT_DIR="%PROJECT_DIR%" -P "%script_dir_path%\@__GlobalConfig_relative_path_from_bin_dir_to_cmake_config_dir@\QtInitProject.cmake"
|
|
exit /b %errorlevel%
|
|
|
|
:showhelp
|
|
echo Usage
|
|
echo. qt-cmake-create <path/to/project>
|
|
exit /b 1
|