Hi, I have three questions about CMake's use of a C Preprocessor for Fortran Source Files. I have scoured the CMake help documentation and googled extensively but have not found any solutions that worked for my specific situations.
1. What is the default C Preprocessor CMake uses for Fortran files? I have looked through the CMakeCache.txt generated from the top level build directory for the location of the C Preprocessor. Normally I use a C Preprocessor located at /lib/cpp to preprocess Fortran files. I was wondering if CMake has some built in preprocessor or will it search for a preprocessor, in a similar manner to finding gcc on the system if its location is unspecified. These Fortran files in question have no actual C/C++ code in them, just preprocessor and #include statements, so I only specify "Fortran" in my project name. It must be using some C preprocessor though because my Fortran files are being preprocessed mostly correctly. 2. How do I retain C preprocessed Fortran source files while building? I noticed that the easy solution to retaining C preprocessed C source files, as provided in two locations I googled, is to perform a "make foo.i" which is revealed with a "make help" in the build directory to provide potential targets. When I perform a "make help," the only source file specific targets provided are the .o targets. I have also noticed a specific CMake function prototype written in 2009 which would run a specified FPP executable (in my case /lib/gcc) and output preprocessed files to be built, but it did not seem to succeed in my implementation (http://www.cmake.org/pipermail/cmake/2009-November/033359.html). 3. How do I provide arguments to the C preprocessor? Specifically, I need to give it the "-P -traditional" arguments when it preprocesses my Fortran files. Otherwise, comments with line numbers are retained in my source files which my compiler (ABSoft 95 11.1) will fail on. I could not find anything in the CMake documentation on how to do this, and my best guess is that it would be a similar implementation as http://www.cmake.org/pipermail/cmake/2010-July/038312.html, which I did successfully implement to provide flags for my RANLIB and AR library builders. I have also tried a add_custom_command similar to http://www.cmake.org/pipermail/cmake/2009-June/029909.html but with /lib/cpp instead of m4. If it matters, these source files will always be built on Linux, so that allows for some flexibility in solutions.
-- Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the CMake FAQ at: http://www.cmake.org/Wiki/CMake_FAQ Follow this link to subscribe/unsubscribe: http://www.cmake.org/mailman/listinfo/cmake
