# CMake: clean \`CMAKE\_\{SOURCE,BUILD\}\_DIR\` · gitcafe/zig

[View on GitCafe](https://git.cafe/gitcafe/zig/commit/b59c722a3fed1b873d4f82f38d248775bfe23ae4)

Repository: [gitcafe/zig](https://git.cafe/gitcafe/zig)

Visibility: public

Requested revision: b59c722a3fed1b873d4f82f38d248775bfe23ae4

Requested commit: b59c722a3fed1b873d4f82f38d248775bfe23ae4

Commit: b59c722a3fed1b873d4f82f38d248775bfe23ae4

Tree: c1eb6f35951ba92531085cc8ebbdfe6df7c001c0

Author: Eric Joldasov

Committer: Eric Joldasov

## Message

```
CMake: clean `CMAKE_{SOURCE,BUILD}_DIR`

Replace `CMAKE_SOURCE_DIR` and `CMAKE_BUILD_DIR` with different variables,
or in some cases just remove them.

For some function arguments, prepended `CMAKE_SOURCE_DIR` was removed without
replacement. This includes:
 * Sources for `add_library` and `add_executable` (`ZIG_CPP_SOURCES` and `ZIG_WASM2C_SOURCES`)
 * Inputs for `configure_file` and `target_include_directory`
 * For arguments above, CMake already prepends
   `CMAKE_CURRENT_SOURCE_DIR` to them by default, if they are relative paths.
   Additionaly, it was removed from arguments of commands that have `WORKING_DIRECTORY` set to
   `PROJECT_SOURCE_DIR`, they will be similarly converted by CMake for us.

Also:
 * Move project declaration to the top so that these variables are
available earlier.
 * Avoid calling "git" executable if ".git" directory does not exist.
 * Swap "--prefix" and `ZIG_BUILD_ARGS` arguments in cmake/install.cmake
   to match same "zig2 build" command in CMakeLists.txt and allow
   overriding "--prefix" argument

Signed-off-by: Eric Joldasov <bratishkaerik@landless-city.net>

```

## Parents

- [c2ad0220e0653ba0c481eb65fb468b0dcaba4bac](https://git.cafe/gitcafe/zig/commit/c2ad0220e0653ba0c481eb65fb468b0dcaba4bac?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zig/tree/b59c722a3fed1b873d4f82f38d248775bfe23ae4?format=markdown)
