zstd/build/cmake
2019-07-15 17:39:18 -07:00
..
CMakeModules Provide forward compatible cmake paradigms 2018-12-28 13:47:35 -06:00
contrib STYLE: Convert CMake-language commands to lower case 2018-12-22 19:32:39 -06:00
lib Restructure the source files 2019-07-15 17:39:18 -07:00
programs fixed Windows header 2019-04-10 14:54:13 -07:00
tests fixed cmake build script for test programs 2019-04-10 17:47:01 -07:00
.gitignore fixed VS2017Community build script 2018-10-03 18:42:44 -07:00
CMakeLists.txt ENH: Simplify conditional logic 2019-01-08 14:25:56 -06:00
README.md Spelling (#1582) 2019-04-12 11:18:11 -07:00

Cmake contributions

Contributions to the cmake build configurations are welcome. Please use case sensitivity that matches modern (ie. cmake version 2.6 and above) conventions of using lower-case for commands, and upper-case for variables.

CMake Style Recommendations

Indent all code correctly, i.e. the body of

  • if/else/endif
  • foreach/endforeach
  • while/endwhile
  • macro/endmacro
  • function/endfunction

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.

Upper/lower casing

Most important: use consistent upper- or lowercasing within one file !

In general, the all-lowercase style is preferred.

So, this is recommended:

add_executable(foo foo.c)

These forms are discouraged

ADD_EXECUTABLE(bar bar.c)
Add_Executable(hello hello.c)
aDd_ExEcUtAbLe(blub blub.c)

End commands

To make the code easier to read, use empty commands for endforeach(), endif(), endfunction(), endmacro() and endwhile(). Also, use empty else() commands.

For example, do this:

if(FOOVAR)
   some_command(...)
else()
   another_command(...)
endif()

and not this:

if(BARVAR)
   some_other_command(...)
endif(BARVAR)

Other resources for best practices

https://cmake.org/cmake/help/latest/manual/cmake-developer.7.html#modules