diff options
Diffstat (limited to 'src/plugins/docker/dockerdevice.cpp')
-rw-r--r-- | src/plugins/docker/dockerdevice.cpp | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/plugins/docker/dockerdevice.cpp b/src/plugins/docker/dockerdevice.cpp index e2646dcaf30..af00987c7d5 100644 --- a/src/plugins/docker/dockerdevice.cpp +++ b/src/plugins/docker/dockerdevice.cpp @@ -98,6 +98,7 @@ const char DockerDeviceMappedPaths[] = "DockerDeviceMappedPaths"; const char DockerDeviceKeepEntryPoint[] = "DockerDeviceKeepEntryPoint"; const char DockerDeviceEnableLldbFlags[] = "DockerDeviceEnableLldbFlags"; const char DockerDeviceClangDExecutable[] = "DockerDeviceClangDExecutable"; +const char DockerDeviceExtraArgs[] = "DockerDeviceExtraCreateArguments"; class ContainerShell : public Utils::DeviceShell { @@ -187,6 +188,11 @@ DockerDeviceSettings::DockerDeviceSettings() mounts.setToolTip(Tr::tr("Maps paths in this list one-to-one to the docker container.")); mounts.setPlaceHolderText(Tr::tr("Host directories to mount into the container")); + extraArgs.setSettingsKey(DockerDeviceExtraArgs); + extraArgs.setLabelText(Tr::tr("Extra arguments:")); + extraArgs.setDefaultValue({}); + extraArgs.setToolTip(Tr::tr("Extra arguments to pass to docker create.")); + clangdExecutable.setSettingsKey(DockerDeviceClangDExecutable); clangdExecutable.setLabelText(Tr::tr("Clangd Executable:")); clangdExecutable.setAllowPathFromDevice(true); @@ -812,6 +818,8 @@ expected_str<QString> DockerDevicePrivate::createContainer() if (deviceSettings->enableLldbFlags()) dockerCreate.addArgs({"--cap-add=SYS_PTRACE", "--security-opt", "seccomp=unconfined"}); + dockerCreate.addArgs(deviceSettings->extraArgs(), CommandLine::Raw); + dockerCreate.addArg(deviceSettings->repoAndTag()); qCDebug(dockerDeviceLog).noquote() << "RUNNING: " << dockerCreate.toUserOutput(); |