Bill Hoffman wrote:
Jeremy Cowgar wrote:



INCLUDE( "${CMAKE_BINARY_DIR}/interpreter/int.cmake" )

So, you are saying that "${CMAKE_BINARY_DIR}/interpreter/int.cmake" changes and cmake does not re-run? Can you look in CMakeFiles/Makefile.cmake? Should be in your binary tree, and it should have int.cmake as a CMAKE_MAKEFILE_DEPENDS.

If you do a make VERBOSE=1 it should say something like:
Re-run cmake file: CMakeFiles/cmake.check_cache older than: ${CMAKE_BINARY_DIR}/interpreter/int.cmake.

No, "${CMAKE_BINARY_DIR}/interpreter/int.cmake" does not change.

SET( EU_CORE_UPDATE 0 )
FOREACH( file ${EU_CORE_FILES} )
 MESSAGE( "Checking file: ${file}" )
 IF( ${file} IS_NEWER_THAN "${CMAKE_SOURCE_DIR}/interpreter/int.cmake" )
   SET( EU_CORE_UPDATE 1 )
 ENDIF()
ENDFOREACH()

That should compare ${file} to determine if it's newer than the int.cmake file right? The int.cmake file is generated by the translator. EU_CORE_FILES contains a list of files that make up the translator source code (.e files). If any of those .e files (EU_CORE_FILES) are newer than int.cmake, then it should trigger a new translation run via: (which will generate a new int.cmake file as a result of the new translation):

IF( EU_CORE_UPDATE )
 MESSAGE( "Translating interpreter..." )
 EXECUTE_PROCESS(
   COMMAND ${TRANSLATOR} -cmakefile "${CMAKE_SOURCE_DIR}/int.ex"
   WORKING_DIRECTORY "${CMAKE_BINARY_DIR}/interpreter" )
ENDIF()

At least that's what I was hoping for. Do I have something wrong?

Jeremy

_______________________________________________
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