Bill Hoffman wrote:
Jeremy Cowgar wrote:
Bill Hoffman wrote:
The file that is produced by the execute_process needs to be the one that is included by cmake. The idea was:

if( file.cmake does not exist or it is older than eu core files)
   generate file.cmake

include(file.cmake)

Bill, the problem is this section:

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


I added in a MESSAGE call. When I run cmake . then I get the message output and it does the right thing, if ${file} is newer than the int.cmake file, then everything is regenerated. However, now I move into my development cycle, I edit some code and then in my build directory type:

C:\Develop\Euphoria\build > wmake

When I issue that command, the MESSAGE( "Checking ..." ) is never displayed, and the code is never regenerated. I have to manually call cmake . and then things are regenerated as expected.


If the included file is newer than the last run of cmake, cmake will re-run during make. In your code, it looks like you write two different files:

"${CMAKE_SOURCE_DIR}/int.ex"
and
"${CMAKE_SOURCE_DIR}/interpreter/int.cmake"

I don't get it...

Did you get a chance to try this:


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.

From my previous post?

-Bill
_______________________________________________
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