aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/qtcreator/templates/wizards/qtcreatorplugin/CMakeLists.txt32
-rw-r--r--share/qtcreator/templates/wizards/qtcreatorplugin/README.md35
-rw-r--r--share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_README.md2
-rw-r--r--share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_build_cmake.yml (renamed from share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_build_qmake.yml)242
-rw-r--r--share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.pro53
-rw-r--r--share/qtcreator/templates/wizards/qtcreatorplugin/wizard.json51
6 files changed, 199 insertions, 216 deletions
diff --git a/share/qtcreator/templates/wizards/qtcreatorplugin/CMakeLists.txt b/share/qtcreator/templates/wizards/qtcreatorplugin/CMakeLists.txt
new file mode 100644
index 0000000000..214dcfc221
--- /dev/null
+++ b/share/qtcreator/templates/wizards/qtcreatorplugin/CMakeLists.txt
@@ -0,0 +1,32 @@
+cmake_minimum_required(VERSION 3.9)
+
+# Remove when sharing with others.
+list(APPEND CMAKE_PREFIX_PATH "%{QtCreatorBuild}")
+
+project(%{PluginName})
+
+set(CMAKE_AUTOMOC ON)
+set(CMAKE_AUTORCC ON)
+set(CMAKE_AUTOUIC ON)
+set(CMAKE_CXX_STANDARD 17)
+
+find_package(QtCreator COMPONENTS Core REQUIRED)
+find_package(QT NAMES Qt6 Qt5 COMPONENTS Widgets REQUIRED)
+set(QtX Qt${QT_VERSION_MAJOR})
+
+add_qtc_plugin(%{PluginName}
+ PLUGIN_DEPENDS
+ QtCreator::Core
+ DEPENDS
+ ${QtX}::Widgets
+ QtCreator::ExtensionSystem
+ QtCreator::Utils
+ SOURCES
+ .github/workflows/build_cmake.yml
+ .github/workflows/README.md
+ README.md
+ %{SrcFileName}
+ %{HdrFileName}
+ %{GlobalHdrFileName}
+ %{ConstantsHdrFileName}
+)
diff --git a/share/qtcreator/templates/wizards/qtcreatorplugin/README.md b/share/qtcreator/templates/wizards/qtcreatorplugin/README.md
new file mode 100644
index 0000000000..bdd9b8a67d
--- /dev/null
+++ b/share/qtcreator/templates/wizards/qtcreatorplugin/README.md
@@ -0,0 +1,35 @@
+# %{PluginName}
+
+## How to Build
+
+Create a build directory and run
+
+ cmake -DCMAKE_PREFIX_PATH=<path_to_qtcreator> -DCMAKE_BUILD_TYPE=RelWithDebInfo <path_to_plugin_source>
+ cmake --build .
+
+where `<path_to_qtcreator>` is the relative or absolute path to a Qt Creator build directory, or to
+a combined binary and development package, and `<path_to_plugin_source>` is the relative or absolute
+path to this plugin directory.
+
+## How to Run
+
+Run a compatible Qt Creator with the additional command line argument
+
+ -pluginpath <path_to_plugin>
+
+where `<path_to_plugin>` is the path to the resulting plugin library in the build directory
+(`<plugin_build>/lib/qtcreator/plugins` on Windows and Linux,
+`<plugin_build>/Qt Creator.app/Contents/PlugIns` on macOS).
+
+You might want to add `-temporarycleansettings` (or `-tcs`) to ensure that the opened Qt Creator
+instance cannot mess with your user-global Qt Creator settings.
+
+When building and running the plugin from Qt Creator, you can use
+
+ -pluginpath "%{buildDir}/lib/qtcreator/plugins" -tcs
+
+on Windows and Linux, or
+
+ -pluginpath "%{buildDir}/Qt Creator.app/Contents/PlugIns" -tcs
+
+for the `Command line arguments` field in the run settings.
diff --git a/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_README.md b/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_README.md
index 8481ed15ae..107410c6ec 100644
--- a/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_README.md
+++ b/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_README.md
@@ -1,6 +1,6 @@
# GitHub Actions & Workflows
-The `build_qmake.yml` in this directory adds a [GitHub action][1] and workflow that builds
+The `build_cmake.yml` in this directory adds a [GitHub action][1] and workflow that builds
your plugin anytime you push commits to GitHub on Windows, Linux and macOS.
The build artifacts can be downloaded from GitHub and be installed into an existing Qt Creator
diff --git a/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_build_qmake.yml b/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_build_cmake.yml
index 5326dfeb9d..bd5571b1d0 100644
--- a/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_build_qmake.yml
+++ b/share/qtcreator/templates/wizards/qtcreatorplugin/github_workflows_build_cmake.yml
@@ -3,11 +3,12 @@ name: Build plugin
on: [push]
env:
+ PLUGIN_NAME: %{PluginName}
QT_VERSION: %{JS: Util.qtVersion()}
QT_CREATOR_VERSION: %{JS: Util.qtCreatorVersion()}
QT_CREATOR_SNAPSHOT: NO
- PLUGIN_PRO: %{ProFile}
- PLUGIN_NAME: %{PluginName}
+ CMAKE_VERSION: 3.18.3
+ NINJA_VERSION: 1.10.1
jobs:
build:
@@ -17,82 +18,114 @@ jobs:
matrix:
config:
- {
- name: "Windows Latest x64", artifact: "Windows-x64.zip",
- os: windows-latest,
- environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat"
- }
- - {
- name: "Windows Latest x86", artifact: "Windows-x86.zip",
+ name: "Windows Latest MSVC", artifact: "Windows-x64",
os: windows-latest,
- environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars32.bat"
+ cc: "cl", cxx: "cl",
+ environment_script: "C:/Program Files (x86)/Microsoft Visual Studio/2019/Enterprise/VC/Auxiliary/Build/vcvars64.bat",
}
- {
- name: "Linux Latest x64", artifact: "Linux-x64.zip",
- os: ubuntu-latest
+ name: "Ubuntu Latest GCC", artifact: "Linux-x64",
+ os: ubuntu-latest,
+ cc: "gcc", cxx: "g++"
}
- {
- name: "macOS Latest x64", artifact: "macOS-x64.zip",
- os: macos-latest
+ name: "macOS Latest Clang", artifact: "macOS-x64",
+ os: macos-latest,
+ cc: "clang", cxx: "clang++"
}
steps:
- uses: actions/checkout@v1
- - name: Installing system libs
+ - name: Download Ninja and CMake
+ shell: cmake -P {0}
+ run: |
+ set(cmake_version "$ENV{CMAKE_VERSION}")
+ set(ninja_version "$ENV{NINJA_VERSION}")
+
+ if ("${{ runner.os }}" STREQUAL "Windows")
+ set(ninja_suffix "win.zip")
+ set(cmake_suffix "win64-x64.zip")
+ set(cmake_dir "cmake-${cmake_version}-win64-x64/bin")
+ elseif ("${{ runner.os }}" STREQUAL "Linux")
+ set(ninja_suffix "linux.zip")
+ set(cmake_suffix "Linux-x86_64.tar.gz")
+ set(cmake_dir "cmake-${cmake_version}-Linux-x86_64/bin")
+ elseif ("${{ runner.os }}" STREQUAL "macOS")
+ set(ninja_suffix "mac.zip")
+ set(cmake_suffix "Darwin-x86_64.tar.gz")
+ set(cmake_dir "cmake-${cmake_version}-Darwin-x86_64/CMake.app/Contents/bin")
+ endif()
+
+ set(ninja_url "https://github.com/ninja-build/ninja/releases/download/v${ninja_version}/ninja-${ninja_suffix}")
+ file(DOWNLOAD "${ninja_url}" ./ninja.zip SHOW_PROGRESS)
+ execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ./ninja.zip)
+
+ set(cmake_url "https://github.com/Kitware/CMake/releases/download/v${cmake_version}/cmake-${cmake_version}-${cmake_suffix}")
+ file(DOWNLOAD "${cmake_url}" ./cmake.zip SHOW_PROGRESS)
+ execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ./cmake.zip)
+
+ # Add to PATH environment variable
+ file(TO_CMAKE_PATH "$ENV{GITHUB_WORKSPACE}/${cmake_dir}" cmake_dir)
+ set(path_separator ":")
+ if ("${{ runner.os }}" STREQUAL "Windows")
+ set(path_separator ";")
+ endif()
+ file(APPEND "$ENV{GITHUB_PATH}" "$ENV{GITHUB_WORKSPACE}${path_separator}${cmake_dir}")
+
+ if (NOT "${{ runner.os }}" STREQUAL "Windows")
+ execute_process(
+ COMMAND chmod +x ninja
+ COMMAND chmod +x ${cmake_dir}/cmake
+ )
+ endif()
+
+ - name: Install system libs
shell: cmake -P {0}
run: |
if ("${{ runner.os }}" STREQUAL "Linux")
execute_process(
+ COMMAND sudo apt update
+ )
+ execute_process(
COMMAND sudo apt install libgl1-mesa-dev
+ RESULT_VARIABLE result
)
- elseif ("${{ runner.os }}" STREQUAL "Windows")
- # get JOM
- file(DOWNLOAD "https://download.qt.io/official_releases/jom/jom.zip" ./jom.zip SHOW_PROGRESS)
- file(MAKE_DIRECTORY ./jom)
- execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ../jom.zip WORKING_DIRECTORY ./jom)
+ if (NOT result EQUAL 0)
+ message(FATAL_ERROR "Failed to install dependencies")
+ endif()
endif()
- name: Download Qt
id: qt
shell: cmake -P {0}
run: |
- set(qt_version $ENV{QT_VERSION})
+ set(qt_version "$ENV{QT_VERSION}")
string(REPLACE "." "" qt_version_dotless "${qt_version}")
if ("${{ runner.os }}" STREQUAL "Windows")
set(url_os "windows_x86")
- if ("${{ matrix.config.environment_script }}" MATCHES "vcvars64.bat")
- set(qt_package_name "qt.qt5.${qt_version_dotless}.win64_msvc2019_64")
- set(qt_dir_prefix "${qt_version}/msvc2019_64")
- elseif ("${{ matrix.config.environment_script }}" MATCHES "vcvars32.bat")
- set(qt_package_name "qt.qt5.${qt_version_dotless}.win32_msvc2019")
- set(qt_dir_prefix "${qt_version}/msvc2019")
- else()
- endif()
+ set(qt_package_arch_suffix "win64_msvc2019_64")
+ set(qt_dir_prefix "${qt_version}/msvc2019_64")
+ set(qt_package_suffix "-Windows-Windows_10-MSVC2019-Windows-Windows_10-X86_64")
elseif ("${{ runner.os }}" STREQUAL "Linux")
set(url_os "linux_x64")
- set(qt_package_name "qt.qt5.${qt_version_dotless}.gcc_64")
+ set(qt_package_arch_suffix "gcc_64")
set(qt_dir_prefix "${qt_version}/gcc_64")
+ set(qt_package_suffix "-Linux-RHEL_7_6-GCC-Linux-RHEL_7_6-X86_64")
elseif ("${{ runner.os }}" STREQUAL "macOS")
set(url_os "mac_x64")
- set(qt_package_name "qt.qt5.${qt_version_dotless}.clang_64")
+ set(qt_package_arch_suffix "clang_64")
set(qt_dir_prefix "${qt_version}/clang_64")
+ set(qt_package_suffix "-MacOS-MacOS_10_13-Clang-MacOS-MacOS_10_13-X86_64")
endif()
set(qt_base_url "https://download.qt.io/online/qtsdkrepository/${url_os}/desktop/qt5_${qt_version_dotless}")
file(DOWNLOAD "${qt_base_url}/Updates.xml" ./Updates.xml SHOW_PROGRESS)
file(READ ./Updates.xml updates_xml)
- string(REGEX MATCH "<Name>${qt_package_name}.*<Version>([0-9+-.]+)</Version>.*<DownloadableArchives>qtbase([a-zA-Z0-9_-]+).7z"
- updates_xml_output "${updates_xml}")
- set(package_version ${CMAKE_MATCH_1})
- set(package_suffix ${CMAKE_MATCH_2})
- string(REPLACE "-debug-symbols" "" package_suffix "${package_suffix}")
-
- # Workaround for CMake's greedy regex
- if ("${{ matrix.config.environment_script }}" MATCHES "vcvars32.bat")
- string(REPLACE "X86_64" "X86" package_suffix "${package_suffix}")
- endif()
+ string(REGEX MATCH "<Name>qt.qt5.*<Version>([0-9+-.]+)</Version>" updates_xml_output "${updates_xml}")
+ set(qt_package_version ${CMAKE_MATCH_1})
file(MAKE_DIRECTORY qt5)
@@ -100,20 +133,27 @@ jobs:
file(TO_CMAKE_PATH "$ENV{GITHUB_WORKSPACE}/qt5/${qt_dir_prefix}" qt_dir)
message("::set-output name=qt_dir::${qt_dir}")
- foreach(package qtbase qtdeclarative qttools qtsvg)
- file(DOWNLOAD
- "${qt_base_url}/${qt_package_name}/${package_version}${package}${package_suffix}.7z" ./${package}.7z
- SHOW_PROGRESS
+ message("Downloading Qt to ${qt_dir}")
+ function(downloadAndExtract url archive)
+ message("Downloading ${url}")
+ file(DOWNLOAD "${url}" ./${archive} SHOW_PROGRESS)
+ execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ../${archive} WORKING_DIRECTORY qt5)
+ endfunction()
+
+ foreach(package qtbase qtdeclarative)
+ downloadAndExtract(
+ "${qt_base_url}/qt.qt5.${qt_version_dotless}.${qt_package_arch_suffix}/${qt_package_version}${package}${qt_package_suffix}.7z"
+ ${package}.7z
)
- execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ../${package}.7z WORKING_DIRECTORY qt5)
endforeach()
- file(READ "qt5/${qt_dir_prefix}/mkspecs/qconfig.pri" qtconfig)
- string(REPLACE "Enterprise" "OpenSource" qtconfig "${qtconfig}")
- string(REPLACE "licheck.exe" "" qtconfig "${qtconfig}")
- string(REPLACE "licheck64" "" qtconfig "${qtconfig}")
- string(REPLACE "licheck_mac" "" qtconfig "${qtconfig}")
- file(WRITE "qt5/${qt_dir_prefix}/mkspecs/qconfig.pri" "${qtconfig}")
+ # uic depends on libicu56.so
+ if ("${{ runner.os }}" STREQUAL "Linux")
+ downloadAndExtract(
+ "${qt_base_url}/qt.qt5.${qt_version_dotless}.${qt_package_arch_suffix}/${qt_package_version}icu-linux-Rhel7.2-x64.7z"
+ icu.7z
+ )
+ endif()
- name: Download Qt Creator
id: qt_creator
@@ -128,29 +168,21 @@ jobs:
endif()
if ("${{ runner.os }}" STREQUAL "Windows")
- set(qtc_output_directory "qtcreator/lib/qtcreator/plugins")
- set(qtc_binary_name "$ENV{PLUGIN_NAME}4.dll")
- if ("${{ matrix.config.environment_script }}" MATCHES "vcvars64.bat")
- set(qtc_platform "windows_x64")
- elseif ("${{ matrix.config.environment_script }}" MATCHES "vcvars32.bat")
- set(qtc_platform "windows_x86")
- endif()
+ set(qtc_platform "windows_x64")
elseif ("${{ runner.os }}" STREQUAL "Linux")
- set(qtc_output_directory "qtcreator/lib/qtcreator/plugins")
- set(qtc_binary_name "lib$ENV{PLUGIN_NAME}.so")
set(qtc_platform "linux_x64")
elseif ("${{ runner.os }}" STREQUAL "macOS")
- set(qtc_output_directory "qtcreator/bin/Qt Creator.app/Contents/PlugIns")
- set(qtc_binary_name "lib$ENV{PLUGIN_NAME}.dylib")
set(qtc_platform "mac_x64")
endif()
+ file(TO_CMAKE_PATH "$ENV{GITHUB_WORKSPACE}/qtcreator" qtc_dir)
# Save the path for other steps
- message("::set-output name=qtc_binary_name::${qtc_binary_name}")
- message("::set-output name=qtc_output_directory::${qtc_output_directory}")
+ message("::set-output name=qtc_dir::${qtc_dir}")
file(MAKE_DIRECTORY qtcreator)
+ message("Downloading Qt Creator from ${qtc_base_url}/${qtc_platform}")
+
foreach(package qtcreator qtcreator_dev)
file(DOWNLOAD
"${qtc_base_url}/${qtc_platform}/${package}.7z" ./${package}.7z SHOW_PROGRESS)
@@ -158,18 +190,13 @@ jobs:
${CMAKE_COMMAND} -E tar xvf ../${package}.7z WORKING_DIRECTORY qtcreator)
endforeach()
- if ("${{ runner.os }}" STREQUAL "macOS")
- execute_process(
- COMMAND ${CMAKE_COMMAND} -E make_directory qtcreator/bin
- COMMAND ${CMAKE_COMMAND} -E create_symlink
- "$ENV{GITHUB_WORKSPACE}/qtcreator/Qt Creator.app"
- "$ENV{GITHUB_WORKSPACE}/qtcreator/bin/Qt Creator.app"
- )
- endif()
-
- name: Build
shell: cmake -P {0}
run: |
+ set(ENV{CC} ${{ matrix.config.cc }})
+ set(ENV{CXX} ${{ matrix.config.cxx }})
+ set(ENV{MACOSX_DEPLOYMENT_TARGET} "10.13")
+
if ("${{ runner.os }}" STREQUAL "Windows" AND NOT "x${{ matrix.config.environment_script }}" STREQUAL "x")
execute_process(
COMMAND "${{ matrix.config.environment_script }}" && set
@@ -183,55 +210,32 @@ jobs:
endforeach()
endif()
- file(TO_CMAKE_PATH "$ENV{GITHUB_WORKSPACE}/qtcreator" qtcreator_dir)
-
- execute_process(
- COMMAND ${{ steps.qt.outputs.qt_dir }}/bin/qmake
- $ENV{PLUGIN_PRO}
- CONFIG+=release
- IDE_SOURCE_TREE="${qtcreator_dir}"
- IDE_BUILD_TREE="${qtcreator_dir}"
- RESULT_VARIABLE result
- )
- if (NOT result EQUAL 0)
- message(FATAL_ERROR "Bad exit status")
- endif()
-
- if ("${{ runner.os }}" STREQUAL "Windows")
- set(ENV{PATH} "${{ steps.qt.outputs.qt_dir }}/bin/;$ENV{PATH}")
- else()
- set(ENV{PATH} "${{ steps.qt.outputs.qt_dir }}/bin/:$ENV{PATH}")
- set(ENV{LD_LIBRARY_PATH} "qtcreator/lib/Qt/lib:$ENV{LD_LIBRARY_PATH}")
- endif()
-
- include(ProcessorCount)
- ProcessorCount(N)
-
- set(make_program make -j ${N})
- if ("${{ runner.os }}" STREQUAL "Windows")
- set(make_program "jom/jom")
- endif()
+ set(ENV{NINJA_STATUS} "[%f/%t %o/sec] ")
execute_process(
- COMMAND ${make_program}
+ COMMAND python
+ -u
+ ${{ steps.qt_creator.outputs.qtc_dir }}/scripts/build_plugin.py
+ --name "$ENV{PLUGIN_NAME}-$ENV{QT_CREATOR_VERSION}-${{ matrix.config.artifact }}"
+ --src .
+ --build build
+ --qt-path "${{ steps.qt.outputs.qt_dir }}"
+ --qtc-path "${{ steps.qt_creator.outputs.qtc_dir }}"
+ --output-path "$ENV{GITHUB_WORKSPACE}"
RESULT_VARIABLE result
)
if (NOT result EQUAL 0)
- message(FATAL_ERROR "Bad exit status")
+ string(REGEX MATCH "FAILED:.*$" error_message "${output}")
+ string(REPLACE "\\n" "%0A" error_message "${error_message}")
+ message("::error::${error_message}")
+ message(FATAL_ERROR "Build failed")
endif()
- file(TO_CMAKE_PATH "$ENV{GITHUB_WORKSPACE}/$ENV{PLUGIN_NAME}-$ENV{QT_CREATOR_VERSION}-${{ matrix.config.artifact }}" artifact)
-
- execute_process(COMMAND
- ${CMAKE_COMMAND} -E tar cvf ${artifact} --format=zip "${{ steps.qt_creator.outputs.qtc_binary_name }}"
- WORKING_DIRECTORY "${{ steps.qt_creator.outputs.qtc_output_directory }}"
- )
-
- - uses: actions/upload-artifact@v1
+ - uses: actions/upload-artifact@v2
id: upload_artifact
with:
- path: ./${{ env.PLUGIN_NAME }}-${{ env.QT_CREATOR_VERSION }}-${{ matrix.config.artifact }}
- name: ${{ env.PLUGIN_NAME}}-${{ env.QT_CREATOR_VERSION }}-${{ matrix.config.artifact }}
+ path: ./${{ env.PLUGIN_NAME }}-${{ env.QT_CREATOR_VERSION }}-${{ matrix.config.artifact }}.7z
+ name: ${{ env.PLUGIN_NAME}}-${{ env.QT_CREATOR_VERSION }}-${{ matrix.config.artifact }}.7z
release:
if: contains(github.ref, 'tags/v')
@@ -268,19 +272,15 @@ jobs:
matrix:
config:
- {
- name: "Windows Latest x64", artifact: "Windows-x64.zip",
- os: ubuntu-latest
- }
- - {
- name: "Windows Latest x86", artifact: "Windows-x86.zip",
+ name: "Windows Latest x64", artifact: "Windows-x64.7z",
os: ubuntu-latest
}
- {
- name: "Linux Latest x64", artifact: "Linux-x64.zip",
+ name: "Linux Latest x64", artifact: "Linux-x64.7z",
os: ubuntu-latest
}
- {
- name: "macOS Latest x64", artifact: "macOS-x64.zip",
+ name: "macOS Latest x64", artifact: "macOS-x64.7z",
os: macos-latest
}
needs: release
@@ -311,4 +311,4 @@ jobs:
upload_url: ${{ steps.set_upload_url.outputs.upload_url }}
asset_path: ./${{ env.PLUGIN_NAME }}-${{ env.QT_CREATOR_VERSION }}-${{ matrix.config.artifact }}
asset_name: ${{ env.PLUGIN_NAME }}-${{ env.QT_CREATOR_VERSION }}-${{ matrix.config.artifact }}
- asset_content_type: application/zip
+ asset_content_type: application/x-7z-compressed
diff --git a/share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.pro b/share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.pro
deleted file mode 100644
index 34eed0aeea..0000000000
--- a/share/qtcreator/templates/wizards/qtcreatorplugin/myplugin.pro
+++ /dev/null
@@ -1,53 +0,0 @@
-DEFINES += %{LibraryDefine}
-
-# %{PluginName} files
-
-SOURCES += \\
- %{SrcFileName}
-
-HEADERS += \\
- %{HdrFileName} \\
- %{GlobalHdrFileName} \\
- %{ConstantsHdrFileName}
-
-DISTFILES += \\
- .github/workflows/build_qmake.yml \\
- .github/workflows/README.md
-
-# Qt Creator linking
-
-## Either set the IDE_SOURCE_TREE when running qmake,
-## or set the QTC_SOURCE environment variable, to override the default setting
-isEmpty(IDE_SOURCE_TREE): IDE_SOURCE_TREE = $$(QTC_SOURCE)
-isEmpty(IDE_SOURCE_TREE): IDE_SOURCE_TREE = "%{QtCreatorSources}"
-
-## Either set the IDE_BUILD_TREE when running qmake,
-## or set the QTC_BUILD environment variable, to override the default setting
-isEmpty(IDE_BUILD_TREE): IDE_BUILD_TREE = $$(QTC_BUILD)
-isEmpty(IDE_BUILD_TREE): IDE_BUILD_TREE = "%{QtCreatorBuild}"
-
-## uncomment to build plugin into user config directory
-## <localappdata>/plugins/<ideversion>
-## where <localappdata> is e.g.
-## "%LOCALAPPDATA%\QtProject\qtcreator" on Windows Vista and later
-## "$XDG_DATA_HOME/data/QtProject/qtcreator" or "~/.local/share/data/QtProject/qtcreator" on Linux
-## "~/Library/Application Support/QtProject/Qt Creator" on OS X
-%{DestDir}USE_USER_DESTDIR = yes
-
-###### If the plugin can be depended upon by other plugins, this code needs to be outsourced to
-###### <dirname>_dependencies.pri, where <dirname> is the name of the directory containing the
-###### plugin's sources.
-
-QTC_PLUGIN_NAME = %{PluginName}
-QTC_LIB_DEPENDS += \\
- # nothing here at this time
-
-QTC_PLUGIN_DEPENDS += \\
- coreplugin
-
-QTC_PLUGIN_RECOMMENDS += \\
- # optional plugin dependencies. nothing here at this time
-
-###### End _dependencies.pri contents ######
-
-include($$IDE_SOURCE_TREE/src/qtcreatorplugin.pri)
diff --git a/share/qtcreator/templates/wizards/qtcreatorplugin/wizard.json b/share/qtcreator/templates/wizards/qtcreatorplugin/wizard.json
index 443fa25c25..6a629f0d05 100644
--- a/share/qtcreator/templates/wizards/qtcreatorplugin/wizard.json
+++ b/share/qtcreator/templates/wizards/qtcreatorplugin/wizard.json
@@ -8,13 +8,12 @@
"trDisplayCategory": "Library",
"icon": "qtcreatorplugin.png",
"featuresRequired": [ "QtSupport.Wizards.FeatureQt", "QtSupport.Wizards.FeatureDesktop" ],
- "enabled": "%{JS: value('Plugins').indexOf('QmakeProjectManager') >= 0}",
+ "enabled": "%{JS: value('Plugins').indexOf('CMakeProjectManager') >= 0}",
"options":
[
- { "key": "ProjectFile", "value": "%{ProFile}" },
+ { "key": "ProjectFile", "value": "%{ProjectDirectory}/CMakeLists.txt" },
{ "key": "PluginNameLower", "value": "%{JS: value('PluginName').toLowerCase()}"},
- { "key": "ProFile", "value": "%{JS: Util.fileName(value('PluginNameLower'), 'pro')}" },
{ "key": "PluginJsonFile", "value": "%{JS: Util.fileName(value('PluginName'), 'json.in')}" },
{ "key": "LibraryDefine", "value": "%{JS: Cpp.headerGuard(value('PluginName')) + '_LIBRARY'}" },
{ "key": "LibraryExport", "value": "%{JS: Cpp.headerGuard(value('PluginName')) + '_EXPORT'}" },
@@ -116,17 +115,6 @@
}
},
{
- "name": "QtCreatorSources",
- "persistenceKey": "QtCreatorSources",
- "trDisplayName": "Qt Creator sources:",
- "mandatory": true,
- "type": "PathChooser",
- "data":
- {
- "kind": "existingDirectory"
- }
- },
- {
"name": "QtCreatorBuild",
"persistenceKey": "QtCreatorBuild",
"trDisplayName": "Qt Creator build:",
@@ -136,27 +124,6 @@
{
"kind": "existingDirectory"
}
- },
- {
- "name": "DestDir",
- "persistenceKey": "QtCreatorPluginDestDir",
- "trDisplayName": "Deploy into:",
- "type": "ComboBox",
- "data":
- {
- "index": 0,
- "items":
- [
- {
- "trKey": "Qt Creator Build",
- "value": "# "
- },
- {
- "trKey": "Local User Settings",
- "value": ""
- }
- ]
- }
}
]
},
@@ -185,13 +152,16 @@
"data":
[
{
- "source": "myplugin.pro",
- "target": "%{ProFile}",
+ "source": "CMakeLists.txt",
"openAsProject": true
},
{
- "source": "github_workflows_build_qmake.yml",
- "target": ".github/workflows/build_qmake.yml"
+ "source": "README.md",
+ "openInEditor": true
+ },
+ {
+ "source": "github_workflows_build_cmake.yml",
+ "target": ".github/workflows/build_cmake.yml"
},
{
"source": "github_workflows_README.md",
@@ -199,8 +169,7 @@
},
{
"source": "myplugin.cpp",
- "target": "%{SrcFileName}",
- "openInEditor": true
+ "target": "%{SrcFileName}"
},
{
"source": "myplugin.h",