[CMake] Using C++ compilers for C source files?

Robert Blake rblake at jhu.edu
Fri Apr 3 10:45:36 EDT 2009


I'm converting a large mixed C++/C cmake application to C++.  The  
project has many ".c" files that I would like to compile with the C++  
compiler instead of the C compiler.  Does anyone know the proper way  
to do this in CMake?

Things I've tried:
1.) Changing CMAKE_C_COMPILER myself: Usually CMake doesn't let you  
change CMAKE_C_COMPILER, but there are ways around that.  This way  
feels like a hack.  The output while compiling still says "Compiling  
C".  In addition, forcing CMAKE_*_COMPILER to change makes it very  
difficult to run plane cmake on Unix machines where curses is not  
installed.

2.) Tell CMake that ".c" files are in the CXX language:  I've tried
PROJECT(Blah CXX)
list(APPEND CMAKE_CXX_SOURCE_FILE_EXTENSIONS c)

When I run CMake on my project with these changes, I get errors like:

CMake Error: Cannot determine link language for target "foobar"

...for all my targets that depend only on .c files.

Help!
Rob


More information about the CMake mailing list