I've been searching a portable way to force CMake to enable the compiler's C99 features in order to avoid the following `gcc` error for instance:

```
error: ‘for’ loop initial declarations are only allowed in C99 mode
for (int s = 1; s <= in_para->StepNumber; s++){
^

```

I also wouldn't like to check for which compiler and append something like:

```
set(CMAKE_C_FLAGS "-std=c99") # that would be bad

```

So I found this post: [Enabling C99 in CMake](http://cmake.3232098.n2.nabble.com/Enabling-C99-in-CMake-td6505762.html) and the associated feature request: [0012300: CMake has no cross-platform way to ask for C99](http://www.cmake.org/Bug/view.php?id=12300). In this Mantis bug I learned about [`target_compiler_features`](http://www.steveire.com/cmake-future/manual/cmake-compile-features.7.html#manual:cmake-compile-features%287%29) and after that I found these SOF answers on it: [How to activate C++11 in CMake?](https://stackoverflow.com/a/20165519/1254880) and [How to detect C++11 support of a compiler with CMake](https://stackoverflow.com/a/20165220/1254880).

So my questions are: this `target_compiler_features` will provide a way to require a C feature as well as a C++ one? What is the most portable way to achive this by now - I'm currently using CMake 2.8.12.2. The `target_compiler_features` isn't in CMake's most recent release version (3.0.0). Do you know when it is being released?