Hello: If my app requires relinking, then at link time I would like to capture the current date and time and place it in a last-minute source file which is linked with the application. Following is my attempt at this with CMake.
The problems I can see are: 1 - It is not portable as it uses the OS date command. 2 - It is not portable as it calls gcc directly. 3 - It will not work with Debug or Release builds unless I set additional target LINK_FLAGS_<type> properties. 4 - I wish the creation of the link_date.cc file could be done inline of the add_custom_command instead of requiring a separate file. (I got into quoting hell.) 5 - Sneaking link_date.o onto the link line with the LINK_FLAGS property is kind of a hack. Suggestions please. Thanks in advance. Bill -------------------- CMake code -------------- # Note that this is a simplified version of the real thing # and may contain syntax errors. add_executable( myapp myapp.cc ) target_link_libraries( myapp lib1 lib2 ) set_target_properties( myapp PROPERTIES LINK_FLAGS link_date.o ) add_custom_command( TARGET myapp PRE_LINK COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/create_link_date COMMAND gcc -m32 -c -I${UTILDIR} link_date.cc COMMENT "Make the link_date file" VERBATIM ) ------------- Contents of create_link_date ---------- #!/bin/csh echo 'const char *link_date() { return("'`date`'"); }' > link_date.cc _______________________________________________ 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