Я хотел бы передать некоторые параметры компилятору. Опция должна быть рассчитана во время компиляции - каждый раз, когда вызывается "make", а не когда "cmake", поэтому команда execute_process не режет. (это?)
Например, передача даты компилятору g++ следующим образом:
g++ prog.cpp -o prog -DDATETIME="17:09:2009,14:25"
Но с DATETIME, вычисленным во время компиляции.
Любая идея, как это сделать в CMake?
Редактирование Bounty:
Будет принято наименее хакерское решение.
Обратите внимание, что я хочу иметь возможность вызывать произвольную команду во время компиляции, а не только "date".
Изменить 2:
Он должен работать на Linux, Windows (VS), Mingw, Cygwin и OS X. Вы не можете предполагать Ruby, Perl или Python, поскольку они не являются стандартными для Windows. Вы можете предположить BOOST, но я думаю, что это бесполезно.
Цель состоит в том, чтобы заставить cmake генерировать Makefile (в случае Linux), что при выполнении make выполнит задание.
Создание пользовательского *.h файла в порядке, но оно должно быть инициировано Makefile (или эквивалентом в другой ОС) make. Создание *.h не обязательно (и не должно) использовать cmake.