Hi,

On 5 Jun 2009, at 15:52, Prasad H. L. wrote:

I tried as you have suggested. I have one more problem. I tried the
following CMakeLists.txt

--------
project(cmake_test)
cmake_minimum_required(VERSION 2.6)

add_executable(testcmake testcmake.m4.cpp)

add_custom_command(OUTPUT testcmake.m4.cpp
                                        m4 -P -s testcmake.cpp > 
testcmake.m4.cpp
                                        VERBATIM)
                                        
set_source_files_properties(testcmake.m4.cpp PROPERTIES GENERATED true
SYMBOLIC true)
------------------

In the above testcmake.cpp is the actual file and I wish to create
the processed file as testcmake.m4.cpp. But, I get the following error
when I run cmake

-------------------------
CMake Error at CMakeLists.txt:6 (add_custom_command):
 add_custom_command called with OUTPUT containing a ">".  This
character is
 not allowed.


-- Configuring incomplete, errors occurred!
-------------------------

'm4' outputs only on stdout and does not have an option to specify the
output file. Please
suggest me a solution for this...

You haven't quite used add_custom_command correctly. You have missed out the COMMAND and ARGS parts for a start. Try:

add_custom_command(
  OUTPUT testcmake.m4.cpp
  COMMAND m4
  ARGS -P -s testcmake.cpp > testcmake.m4.cpp
  VERBATIM
)

Also, if I wish to do this for all CPP files, how do I specify it?

You could put all the files to be processed in a list and then do the above in a foreach() block.

Cheers,
Rob


2009/6/5 Denis Scherbakov <[email protected]>:


I wanted to do some looping in macros which are not
possible in GNU
CPP. So, I wrote
macros in m4. I wish to pre-process all my C/C++ code with
m4 before
handing it over to
gcc. I did not find any direct way out for doing this in
cmake. Any
ideas how to do it with
cmake?

Use ADD_CUSTOM_COMMAND to call m4 preprocessor and OUTPUT file.cpp
Then use SET_SOURCE_FILES_PROPERTIES set GENERATED TRUE
and then include file.cpp into a list of sources for compilation.

Denis




_______________________________________________
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

--
Robert Haines

Research Associate, RealityGrid          Tel. : +44 (0)161 275 6067
Research Computing Services              Fax. : +44 (0)161 275 0637
University of Manchester                 Email: [email protected]
Oxford Road                              Web  : www.realitygrid.org
Manchester, M13 9PL                           : www.rcs.manchester.ac.uk

_______________________________________________
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

Reply via email to