# set\_directory\_properties can't set subdirectory property

**URL:** https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474
**Category:** Usage
**Tags:** os:windows
**Created:** [August 17, 2024, 2:27pm UTC](https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474 "2024-08-17T14:27:24Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![qiang\_huang](https://discourse.cmake.org/user_avatar/discourse.cmake.org/qiang_huang/32/4847_2.png) [@qiang\_huang](https://discourse.cmake.org/u/qiang_huang)
#### Post date: [August 17, 2024, 2:27pm UTC](https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474/1 "2024-08-17T14:27:24Z")

</div>

The CMake official documentation says ：

**set\_directory\_properties**

**Set properties of the current directory and subdirectories.**

**set\_directory\_properties(PROPERTIES [] …)**

**Sets properties of the current directory and its subdirectories in key-value pairs.**

so I try it , in my cmake source dir has a sub dir;

```auto
add_subdirectory(sub)
set_directory_properties( PROPERTIES Pro1 Value1 )  
 get_directory_property(VAR DIRECTORY ./sub Pro1)

```

VAR is empty , who can tell me why ?

---

<div class="post-metadata">

### Author: ![marc.chevrier](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/m/ecb155/32.png) [@marc.chevrier](https://discourse.cmake.org/u/marc.chevrier)
#### Post date: [August 17, 2024, 9:01pm UTC](https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474/2 "2024-08-17T21:01:39Z")

</div>

Because you define the property **after** calling `add_subdirectory()` command.  
Propagation of properties is done when `add_subdirectory()` command is executed, so only properties defined at this point are propagated.

---

<div class="post-metadata">

### Author: ![qiang\_huang](https://discourse.cmake.org/user_avatar/discourse.cmake.org/qiang_huang/32/4847_2.png) [@qiang\_huang](https://discourse.cmake.org/u/qiang_huang)
#### Post date: [August 18, 2024, 2:29am UTC](https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474/3 "2024-08-18T02:29:44Z")

</div>

Thank you very much for your answer, I changed my code but it doesn’t work：

```auto
set_directory_properties( PROPERTIES Pro1 Value1 )  
add_subdirectory(sub)
 get_directory_property(VAR DIRECTORY ./sub Pro1)
  

```

Var is Still Empty! Could you help correct me? Thanks a lot

---

<div class="post-metadata">

### Author: ![hsattler](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/h/59ef9b/32.png) [@hsattler](https://discourse.cmake.org/u/hsattler)
#### Post date: [August 18, 2024, 7:27am UTC](https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474/4 "2024-08-18T07:27:15Z")

</div>

Try define\_property() with the INHERITED argument.

---

<div class="post-metadata">

### Author: ![marc.chevrier](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/m/ecb155/32.png) [@marc.chevrier](https://discourse.cmake.org/u/marc.chevrier)
#### Post date: [August 18, 2024, 10:27am UTC](https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474/5 "2024-08-18T10:27:25Z")

</div>

@hsattler you are right, I had forgotten this constraint…

---

<div class="post-metadata">

### Author: ![qiang\_huang](https://discourse.cmake.org/user_avatar/discourse.cmake.org/qiang_huang/32/4847_2.png) [@qiang\_huang](https://discourse.cmake.org/u/qiang_huang)
#### Post date: [August 18, 2024, 2:32pm UTC](https://discourse.cmake.org/t/set-directory-properties-cant-set-subdirectory-property/11474/6 "2024-08-18T14:32:27Z")

</div>

@marc.chevrier @hsattler Thank you very much ，It works ！

```auto
define_property(DIRECTORY PROPERTY Pro1 INHERITED)

```

Respect ！！！
