From 35566b48b4b417a7be4f510b081c1c11ef73f4af Mon Sep 17 00:00:00 2001 From: Alex Neundorf Date: Mon, 1 May 2023 16:12:28 +0200 Subject: VS: Add variables to initialize debugger-related properties Add variables to initialize target properties `VS_DEBUGGER_COMMAND`, `VS_DEBUGGER_COMMAND_ARGUMENTS`, `VS_DEBUGGER_ENVIRONMENT`, and `VS_DEBUGGER_WORKING_DIRECTORY`. --- Help/manual/cmake-variables.7.rst | 4 ++++ Help/prop_tgt/VS_DEBUGGER_COMMAND.rst | 4 +++- Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst | 4 +++- Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst | 4 +++- Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst | 4 +++- Help/release/dev/vs-debugger-init.rst | 8 ++++++++ Help/variable/CMAKE_VS_DEBUGGER_COMMAND.rst | 8 ++++++++ Help/variable/CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS.rst | 8 ++++++++ Help/variable/CMAKE_VS_DEBUGGER_ENVIRONMENT.rst | 8 ++++++++ Help/variable/CMAKE_VS_DEBUGGER_WORKING_DIRECTORY.rst | 8 ++++++++ Source/cmTarget.cxx | 4 ++++ 11 files changed, 60 insertions(+), 4 deletions(-) create mode 100644 Help/release/dev/vs-debugger-init.rst create mode 100644 Help/variable/CMAKE_VS_DEBUGGER_COMMAND.rst create mode 100644 Help/variable/CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS.rst create mode 100644 Help/variable/CMAKE_VS_DEBUGGER_ENVIRONMENT.rst create mode 100644 Help/variable/CMAKE_VS_DEBUGGER_WORKING_DIRECTORY.rst diff --git a/Help/manual/cmake-variables.7.rst b/Help/manual/cmake-variables.7.rst index f3212de..34d2c50 100644 --- a/Help/manual/cmake-variables.7.rst +++ b/Help/manual/cmake-variables.7.rst @@ -535,6 +535,10 @@ Variables that Control the Build /variable/CMAKE_USE_RELATIVE_PATHS /variable/CMAKE_VERIFY_INTERFACE_HEADER_SETS /variable/CMAKE_VISIBILITY_INLINES_HIDDEN + /variable/CMAKE_VS_DEBUGGER_COMMAND + /variable/CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS + /variable/CMAKE_VS_DEBUGGER_ENVIRONMENT + /variable/CMAKE_VS_DEBUGGER_WORKING_DIRECTORY /variable/CMAKE_VS_GLOBALS /variable/CMAKE_VS_INCLUDE_INSTALL_TO_DEFAULT_BUILD /variable/CMAKE_VS_INCLUDE_PACKAGE_TO_DEFAULT_BUILD diff --git a/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst b/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst index 1e84c00..5bf47a3 100644 --- a/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst +++ b/Help/prop_tgt/VS_DEBUGGER_COMMAND.rst @@ -7,7 +7,9 @@ Sets the local debugger command for Visual Studio C++ targets. The property value may use :manual:`generator expressions `. This is defined in ```` in the Visual Studio -project file. +project file. This property is initialized by the value of the variable +:variable:`CMAKE_VS_DEBUGGER_COMMAND` if it is set when a target is +created. This property only works for Visual Studio 11 2012 and above; it is ignored on other generators. diff --git a/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst b/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst index e54e140..4b9dff7 100644 --- a/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst +++ b/Help/prop_tgt/VS_DEBUGGER_COMMAND_ARGUMENTS.rst @@ -7,7 +7,9 @@ Sets the local debugger command line arguments for Visual Studio C++ targets. The property value may use :manual:`generator expressions `. This is defined in ```` in the Visual Studio -project file. +project file. This property is initialized by the value of the variable +:variable:`CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS` if it is set when a target is +created. This property only works for Visual Studio 11 2012 and above; it is ignored on other generators. diff --git a/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst b/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst index 60bc2f0..8373dbb 100644 --- a/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst +++ b/Help/prop_tgt/VS_DEBUGGER_ENVIRONMENT.rst @@ -7,7 +7,9 @@ Sets the local debugger environment for Visual Studio C++ targets. The property value may use :manual:`generator expressions `. This is defined in ```` in the Visual Studio -project file. +project file. This property is initialized by the value of the variable +:variable:`CMAKE_VS_DEBUGGER_ENVIRONMENT` if it is set when a target is +created. This property only works for Visual Studio 11 2012 and above; it is ignored on other generators. diff --git a/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst b/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst index f9ce7aa..3942047 100644 --- a/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst +++ b/Help/prop_tgt/VS_DEBUGGER_WORKING_DIRECTORY.rst @@ -7,7 +7,9 @@ Sets the local debugger working directory for Visual Studio C++ targets. The property value may use :manual:`generator expressions `. This is defined in ```` in the Visual Studio -project file. +project file. This property is initialized by the value of the variable +:variable:`CMAKE_VS_DEBUGGER_WORKING_DIRECTORY` if it is set when a target is +created. This property only works for Visual Studio 11 2012 and above; it is ignored on other generators. diff --git a/Help/release/dev/vs-debugger-init.rst b/Help/release/dev/vs-debugger-init.rst new file mode 100644 index 0000000..aa86839 --- /dev/null +++ b/Help/release/dev/vs-debugger-init.rst @@ -0,0 +1,8 @@ +vs-debugger-init +---------------- + +* Variables :variable:`CMAKE_VS_DEBUGGER_COMMAND`, + :variable:`CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS`, + :variable:`CMAKE_VS_DEBUGGER_ENVIRONMENT`, and + :variable:`CMAKE_VS_DEBUGGER_WORKING_DIRECTORY` were added to initialize + corresponding target properties. diff --git a/Help/variable/CMAKE_VS_DEBUGGER_COMMAND.rst b/Help/variable/CMAKE_VS_DEBUGGER_COMMAND.rst new file mode 100644 index 0000000..b2c03a1 --- /dev/null +++ b/Help/variable/CMAKE_VS_DEBUGGER_COMMAND.rst @@ -0,0 +1,8 @@ +CMAKE_VS_DEBUGGER_COMMAND +------------------------- + +.. versionadded:: 3.27 + +This variable is used to initialize the :prop_tgt:`VS_DEBUGGER_COMMAND` +property on each target as it is created. See that target property +for additional information. diff --git a/Help/variable/CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS.rst b/Help/variable/CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS.rst new file mode 100644 index 0000000..482aa67 --- /dev/null +++ b/Help/variable/CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS.rst @@ -0,0 +1,8 @@ +CMAKE_VS_DEBUGGER_COMMAND_ARGUMENTS +----------------------------------- + +.. versionadded:: 3.27 + +This variable is used to initialize the :prop_tgt:`VS_DEBUGGER_COMMAND_ARGUMENTS` +property on each target as it is created. See that target property +for additional information. diff --git a/Help/variable/CMAKE_VS_DEBUGGER_ENVIRONMENT.rst b/Help/variable/CMAKE_VS_DEBUGGER_ENVIRONMENT.rst new file mode 100644 index 0000000..245ac5d --- /dev/null +++ b/Help/variable/CMAKE_VS_DEBUGGER_ENVIRONMENT.rst @@ -0,0 +1,8 @@ +CMAKE_VS_DEBUGGER_ENVIRONMENT +----------------------------- + +.. versionadded:: 3.27 + +This variable is used to initialize the :prop_tgt:`VS_DEBUGGER_ENVIRONMENT` +property on each target as it is created. See that target property +for additional information. diff --git a/Help/variable/CMAKE_VS_DEBUGGER_WORKING_DIRECTORY.rst b/Help/variable/CMAKE_VS_DEBUGGER_WORKING_DIRECTORY.rst new file mode 100644 index 0000000..9100adb --- /dev/null +++ b/Help/variable/CMAKE_VS_DEBUGGER_WORKING_DIRECTORY.rst @@ -0,0 +1,8 @@ +CMAKE_VS_DEBUGGER_WORKING_DIRECTORY +----------------------------------- + +.. versionadded:: 3.27 + +This variable is used to initialize the :prop_tgt:`VS_DEBUGGER_WORKING_DIRECTORY` +property on each target as it is created. See that target property +for additional information. diff --git a/Source/cmTarget.cxx b/Source/cmTarget.cxx index 4f14648..c8bf5b5 100644 --- a/Source/cmTarget.cxx +++ b/Source/cmTarget.cxx @@ -397,6 +397,10 @@ TargetProperty const StaticTargetProperties[] = { { "MSVC_DEBUG_INFORMATION_FORMAT"_s, IC::CanCompileSources }, { "MSVC_RUNTIME_LIBRARY"_s, IC::CanCompileSources }, { "VS_JUST_MY_CODE_DEBUGGING"_s, IC::CanCompileSources }, + { "VS_DEBUGGER_COMMAND"_s, IC::ExecutableTarget }, + { "VS_DEBUGGER_COMMAND_ARGUMENTS"_s, IC::ExecutableTarget }, + { "VS_DEBUGGER_ENVIRONMENT"_s, IC::ExecutableTarget }, + { "VS_DEBUGGER_WORKING_DIRECTORY"_s, IC::ExecutableTarget }, // ---- OpenWatcom { "WATCOM_RUNTIME_LIBRARY"_s, IC::CanCompileSources }, // -- Language -- cgit v0.12