build/cmake/README.md: improve

This commit is contained in:
Sergey Ponomarev 2019-09-14 20:15:35 +03:00
parent f2941db4a9
commit a4ca246eca

View File

@ -5,9 +5,9 @@ use case sensitivity that matches modern (ie. cmake version 2.6 and above)
conventions of using lower-case for commands, and upper-case for conventions of using lower-case for commands, and upper-case for
variables. variables.
# How to build ## How to build
As cmake doesn't support command like `cmake clean`, it's recommanded to perform a "out of source build". As cmake doesn't support command like `cmake clean`, it's recommended to perform a "out of source build".
To do this, you can create a new directory and build in it: To do this, you can create a new directory and build in it:
```sh ```sh
cd build/cmake cd build/cmake
@ -16,7 +16,7 @@ cd builddir
cmake .. cmake ..
make make
``` ```
Then you can clean all cmake caches by simpily delete the new directory: Then you can clean all cmake caches by simply delete the new directory:
```sh ```sh
rm -rf build/cmake/builddir rm -rf build/cmake/builddir
``` ```
@ -34,19 +34,19 @@ cd build/cmake/builddir
cmake -LH .. cmake -LH ..
``` ```
Bool options can be set to ON/OFF with -D\[option\]=\[ON/OFF\]. You can configure cmake options like this: Bool options can be set to `ON/OFF` with `-D[option]=[ON/OFF]`. You can configure cmake options like this:
```sh ```sh
cd build/cmake/builddir cd build/cmake/builddir
cmake -DZSTD_BUILD_TESTS=ON -DZSTD_LEGACY_SUPPORT=ON .. cmake -DZSTD_BUILD_TESTS=ON -DZSTD_LEGACY_SUPPORT=ON ..
make make
``` ```
## referring ### referring
[Looking for a 'cmake clean' command to clear up CMake output](https://stackoverflow.com/questions/9680420/looking-for-a-cmake-clean-command-to-clear-up-cmake-output) [Looking for a 'cmake clean' command to clear up CMake output](https://stackoverflow.com/questions/9680420/looking-for-a-cmake-clean-command-to-clear-up-cmake-output)
# CMake Style Recommendations ## CMake Style Recommendations
## Indent all code correctly, i.e. the body of ### Indent all code correctly, i.e. the body of
* if/else/endif * if/else/endif
* foreach/endforeach * foreach/endforeach
@ -57,7 +57,7 @@ make
Use spaces for indenting, 2, 3 or 4 spaces preferably. Use the same amount of Use spaces for indenting, 2, 3 or 4 spaces preferably. Use the same amount of
spaces for indenting as is used in the rest of the file. Do not use tabs. spaces for indenting as is used in the rest of the file. Do not use tabs.
## Upper/lower casing ### Upper/lower casing
Most important: use consistent upper- or lowercasing within one file ! Most important: use consistent upper- or lowercasing within one file !
@ -77,7 +77,7 @@ Add_Executable(hello hello.c)
aDd_ExEcUtAbLe(blub blub.c) aDd_ExEcUtAbLe(blub blub.c)
``` ```
## End commands ### End commands
To make the code easier to read, use empty commands for endforeach(), endif(), To make the code easier to read, use empty commands for endforeach(), endif(),
endfunction(), endmacro() and endwhile(). Also, use empty else() commands. endfunction(), endmacro() and endwhile(). Also, use empty else() commands.
@ -99,6 +99,6 @@ if(BARVAR)
endif(BARVAR) endif(BARVAR)
``` ```
## Other resources for best practices ### Other resources for best practices
`https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#modules` https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#modules