# execute\_process only run once

**URL:** https://discourse.cmake.org/t/execute-process-only-run-once/2273
**Category:** Usage
**Created:** [December 1, 2020, 9:02am UTC](https://discourse.cmake.org/t/execute-process-only-run-once/2273 "2020-12-01T09:02:55Z")
**Posts on this page:** 6
**Page:** 1

<div class="post-metadata">

### Author: ![dalianduzhi](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/d/eb8c5e/32.png) [@dalianduzhi](https://discourse.cmake.org/u/dalianduzhi)
#### Post date: [December 1, 2020, 9:02am UTC](https://discourse.cmake.org/t/execute-process-only-run-once/2273/1 "2020-12-01T09:02:55Z")

</div>

In CMakeLists.txt, execute\_process only run once while run the CMakeLists.txt at first time?  
If config is done and run the CMakeLists.txt, the execute\_process command will not be run?

---

<div class="post-metadata">

### Author: ![fenrir](https://discourse.cmake.org/user_avatar/discourse.cmake.org/fenrir/32/734_2.png) [@fenrir](https://discourse.cmake.org/u/fenrir)
#### Post date: [December 1, 2020, 9:15am UTC](https://discourse.cmake.org/t/execute-process-only-run-once/2273/2 "2020-12-01T09:15:38Z")

</div>

Unless you somehow guard against it, it’ll run each time a re-configure is triggered.

---

<div class="post-metadata">

### Author: ![dalianduzhi](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/d/eb8c5e/32.png) [@dalianduzhi](https://discourse.cmake.org/u/dalianduzhi)
#### Post date: [December 1, 2020, 9:45am UTC](https://discourse.cmake.org/t/execute-process-only-run-once/2273/3 "2020-12-01T09:45:36Z")

</div>

If no re-configure,it will be run?  
I just want to do a job during configure process every time.

---

<div class="post-metadata">

### Author: ![fenrir](https://discourse.cmake.org/user_avatar/discourse.cmake.org/fenrir/32/734_2.png) [@fenrir](https://discourse.cmake.org/u/fenrir)
#### Post date: [December 1, 2020, 10:22am UTC](https://discourse.cmake.org/t/execute-process-only-run-once/2273/4 "2020-12-01T10:22:35Z")

</div>

It runs each time CMake processes the CMakeLists.txt, so each time you (or your IDE) issue a `cmake` command or if the generated rules trigger a re-configure. It does not run by itself.

---

<div class="post-metadata">

### Author: ![dalianduzhi](https://discourse.cmake.org/letter_avatar_proxy/v4/letter/d/eb8c5e/32.png) [@dalianduzhi](https://discourse.cmake.org/u/dalianduzhi)
#### Post date: [December 1, 2020, 10:30am UTC](https://discourse.cmake.org/t/execute-process-only-run-once/2273/5 "2020-12-01T10:30:04Z")

</div>

But in my ENV(windows+MSYS2),the command will not be run after config.

the command is like the below  
execute\_process(COMMAND perl.exe a.pl a.h INPUT\_FILE a.txt)  
it run the window command perl.exe a.pl a.h \< a.txt.

And what does “issue a cmake command” mean?How to do this?

---

<div class="post-metadata">

### Author: ![fenrir](https://discourse.cmake.org/user_avatar/discourse.cmake.org/fenrir/32/734_2.png) [@fenrir](https://discourse.cmake.org/u/fenrir)
#### Post date: [December 1, 2020, 11:16am UTC](https://discourse.cmake.org/t/execute-process-only-run-once/2273/6 "2020-12-01T11:16:22Z")

</div>

> [@dalianduzhi](#):
>
> And what does “issue a cmake command” mean?How to do this?

It’s when you actually run cmake. Like for the initial configuration.

At best show us an actual minimal example of what you’re doing, what you expect to happen, and what happens instead.
