The following issue has been SUBMITTED. ====================================================================== http://www.cmake.org/Bug/view.php?id=12300 ====================================================================== Reported By: Todd Gamblin Assigned To: ====================================================================== Project: CMake Issue ID: 12300 Category: CMake Reproducibility: always Severity: feature Priority: high Status: new ====================================================================== Date Submitted: 2011-06-22 16:49 EDT Last Modified: 2011-06-22 16:49 EDT ====================================================================== Summary: CMake has no cross-platform way to ask for C99 Description: There is currently no good cross-platform way in CMake to specify that C files should be built for C99.
If you google for this, there are threads on the CMake list that suggest this: set(CMAKE_C_FLAGS "-std=c99") However, that's the GNU way to enable C99, and other compilers do it differently. It would be nice if there were some flags for this set for you in whatever platform file you're using, e.g.: set(CMAKE_C_FLAGS "${CMAKE_ENABLE_C99}") Or something to that effect. Then you'd pick up -qlanglvl=c99 for xlc, -std=c99 for gcc, etc. Would it be reasonable to add this to platform files? CMAKE_SYSTEM_C99_FLAGS or something similar? Note: for GNU there is std=c99 *and* std=gnu99, and one might need a way to prefer the latter. std=c99 is strict, and doesn't allow things (like inline asm) that other compilers allow in c99 mode. I'm not sure what the best way to get consistent behavior here would be. I would need to look at flags on some of the major compilers to figure this one out. Should this be a variable or something else? A language mode seems like overkill (e.g. enable_language(C99)). Steps to Reproduce: 1. Start a project 2. Try to enable C99 without a giant multi-compiler if/else statement 3. Fail Additional Information: Related email thread citing a need for this in VTK to eliminate warnings: http://www.cmake.org/pipermail/cmake/2011-June/045072.html ====================================================================== Issue History Date Modified Username Field Change ====================================================================== 2011-06-22 16:49 Todd Gamblin New Issue ====================================================================== _______________________________________________ cmake-developers mailing list cmake-developers@cmake.org http://public.kitware.com/cgi-bin/mailman/listinfo/cmake-developers