Răsfoiți Sursa

Merge topic 'variable-CMAKE_FOLDER'

df535ad846 Add CMAKE_FOLDER variable to initialize FOLDER target property

Acked-by: Kitware Robot <[email protected]>
Merge-request: !1896
Brad King 7 ani în urmă
părinte
comite
a76e23eabb

+ 1 - 0
Help/manual/cmake-variables.7.rst

@@ -305,6 +305,7 @@ Variables that Control the Build
    /variable/CMAKE_EXE_LINKER_FLAGS_CONFIG
    /variable/CMAKE_EXE_LINKER_FLAGS_CONFIG_INIT
    /variable/CMAKE_EXE_LINKER_FLAGS_INIT
+   /variable/CMAKE_FOLDER
    /variable/CMAKE_Fortran_FORMAT
    /variable/CMAKE_Fortran_MODULE_DIRECTORY
    /variable/CMAKE_GNUtoMS

+ 3 - 0
Help/prop_tgt/FOLDER.rst

@@ -8,3 +8,6 @@ IDEs like Visual Studio.  Targets with the same FOLDER property value
 will appear next to each other in a folder of that name.  To nest
 folders, use FOLDER values such as 'GUI/Dialogs' with '/' characters
 separating folder levels.
+
+This property is initialized by the value of the variable
+:variable:`CMAKE_FOLDER` if it is set when a target is created.

+ 5 - 0
Help/release/dev/variable-CMAKE_FOLDER.rst

@@ -0,0 +1,5 @@
+variable-CMAKE_FOLDER
+---------------------
+
+* The :variable:`CMAKE_FOLDER` variable was added to initialize the
+  :prop_tgt:`FOLDER` property on all targets.

+ 7 - 0
Help/variable/CMAKE_FOLDER.rst

@@ -0,0 +1,7 @@
+CMAKE_FOLDER
+------------
+
+Set the folder name. Use to organize targets in an IDE.
+
+This variable is used to initialize the :prop_tgt:`FOLDER` property on all the
+targets.  See that target property for additional information.

+ 1 - 0
Source/cmTarget.cxx

@@ -275,6 +275,7 @@ cmTarget::cmTarget(std::string const& name, cmStateEnums::TargetType type,
     this->SetPropertyDefault("CUDA_SEPARABLE_COMPILATION", nullptr);
     this->SetPropertyDefault("LINK_SEARCH_START_STATIC", nullptr);
     this->SetPropertyDefault("LINK_SEARCH_END_STATIC", nullptr);
+    this->SetPropertyDefault("FOLDER", nullptr);
   }
 
   // Collect the set of configuration types.