Author: jgardou Date: Fri Aug 5 20:40:40 2011 New Revision: 53088
URL: http://svn.reactos.org/svn/reactos?rev=53088&view=rev Log: [CMAKE] - make generated files depend on their generator It seems stupid, but I removed this quite some time ago, don't ask me why. Now, you just have to build the tools and do an incremental build each time a tool is updated.
Modified: trunk/reactos/boot/CMakeLists.txt trunk/reactos/cmake/gcc.cmake trunk/reactos/cmake/idl-support.cmake trunk/reactos/cmake/msvc.cmake trunk/reactos/include/asm/CMakeLists.txt trunk/reactos/media/vgafonts/CMakeLists.txt trunk/reactos/subsystems/win32/win32k/CMakeLists.txt
Modified: trunk/reactos/boot/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/boot/CMakeLists.txt?rev=530... ============================================================================== --- trunk/reactos/boot/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/boot/CMakeLists.txt [iso-8859-1] Fri Aug 5 20:40:40 2011 @@ -7,6 +7,7 @@ ${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/bootcd -P ${CMAKE_CURRENT_BINARY_DIR}/bootcd.cmake COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${CMAKE_CURRENT_BINARY_DIR}/bootcd REACTOS ${REACTOS_BINARY_DIR}/bootcd.iso + DEPENDS native-cdmake VERBATIM)
##bootcdregtest @@ -18,6 +19,7 @@ ${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest -P ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest.cmake COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isobtrt.bin ${CMAKE_CURRENT_BINARY_DIR}/bootcdregtest REACTOS ${REACTOS_BINARY_DIR}/bootcdregtest.iso + DEPENDS native-cdmake VERBATIM)
@@ -43,6 +45,7 @@ ${CMAKE_COMMAND} -D CD_DIR=${CMAKE_CURRENT_BINARY_DIR}/livecd -P ${CMAKE_CURRENT_BINARY_DIR}/livecd.cmake COMMAND native-cdmake -v -j -m -b ${CMAKE_CURRENT_BINARY_DIR}/freeldr/bootsect/isoboot.bin ${CMAKE_CURRENT_BINARY_DIR}/livecd REACTOS ${REACTOS_BINARY_DIR}/livecd.iso + DEPENDS native-cdmake VERBATIM)
add_subdirectory(freeldr)
Modified: trunk/reactos/cmake/gcc.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/gcc.cmake?rev=53088&a... ============================================================================== --- trunk/reactos/cmake/gcc.cmake [iso-8859-1] (original) +++ trunk/reactos/cmake/gcc.cmake [iso-8859-1] Fri Aug 5 20:40:40 2011 @@ -233,14 +233,14 @@ OUTPUT ${CMAKE_BINARY_DIR}/importlibs/lib${_name}.a COMMAND native-spec2def -n=${_name}${_suffix} -a=${ARCH2} -d=${CMAKE_CURRENT_BINARY_DIR}/${_name}_implib.def ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file} COMMAND ${MINGW_PREFIX}dlltool --def ${CMAKE_CURRENT_BINARY_DIR}/${_name}_implib.def --kill-at --output-lib=${CMAKE_BINARY_DIR}/importlibs/lib${_name}.a - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file} native-spec2def)
# Delayed importlib creation add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_delayed.a COMMAND native-spec2def -n=${_name}${_suffix} -a=${ARCH2} -d=${CMAKE_CURRENT_BINARY_DIR}/${_name}_delayed_implib.def ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file} COMMAND ${MINGW_PREFIX}dlltool --def ${CMAKE_CURRENT_BINARY_DIR}/${_name}_delayed_implib.def --kill-at --output-delaylib ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_delayed.a - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file} native-spec2def)
elseif(${_extension} STREQUAL ".def") message("Use of def files for import libs is deprecated: ${_exports_file}") @@ -272,7 +272,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c COMMAND native-spec2def -n=${_dllname} --kill-at -a=${ARCH2} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} native-spec2def) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_file}.def PROPERTIES GENERATED TRUE EXTERNAL_OBJECT TRUE) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c PROPERTIES GENERATED TRUE) @@ -385,7 +385,7 @@ OUTPUT ${_binary_file} COMMAND native-obj2bin ${_object_file} ${_binary_file} ${_base_address} # COMMAND objcopy --output-target binary --image-base 0x${_base_address} ${_object_file} ${_binary_file} - DEPENDS ${_object_file}) + DEPENDS ${_object_file} native-obj2bin)
set_source_files_properties(${_object_file} ${_binary_file} PROPERTIES GENERATED TRUE)
Modified: trunk/reactos/cmake/idl-support.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/idl-support.cmake?rev... ============================================================================== --- trunk/reactos/cmake/idl-support.cmake [iso-8859-1] (original) +++ trunk/reactos/cmake/idl-support.cmake [iso-8859-1] Fri Aug 5 20:40:40 2011 @@ -16,6 +16,7 @@ else() set(IDL_FLAGS "") endif() + set(IDL_DEPENDS "") else() set(IDL_COMPILER native-widl) set(IDL_HEADER_ARG -h -o) #.h @@ -32,6 +33,7 @@ else() set(IDL_FLAGS "") endif() + set(IDL_DEPENDS native-widl) endif()
@@ -59,7 +61,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tlb COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_TYPELIB_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tlb ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${IDL_DEPENDS}) list(APPEND OBJECTS ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.tlb) endforeach() add_custom_target(${TARGET} ALL DEPENDS ${OBJECTS}) @@ -74,7 +76,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${IDL_DEPENDS}) list(APPEND HEADERS ${HEADER}) endforeach() add_custom_target(${TARGET} ALL DEPENDS ${HEADERS}) @@ -98,7 +100,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.h COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_PROXY_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_p.c ${IDL_HEADER_ARG2} ${NAME}_p.h ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${DLLDATA_ARG} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${IDL_DEPENDS}) endforeach()
# Extra pass to generate dlldata @@ -113,7 +115,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} --dlldata-only -o ${CMAKE_CURRENT_BINARY_DIR}/proxy.dlldata.c ${IDLS} - DEPENDS ${IDLS}) + DEPENDS ${IDLS} ${IDL_DEPENDS}) endif() endmacro()
@@ -125,13 +127,13 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.c ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.h COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG2} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.h ${IDL_SERVER_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${IDL_DEPENDS}) list(APPEND server_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_s.c)
add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.c ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.h COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_HEADER_ARG2} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.h ${IDL_CLIENT_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.c ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE} ${IDL_DEPENDS}) list(APPEND client_SOURCES ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_c.c) endforeach() add_library(${TARGET} ${client_SOURCES} ${server_SOURCES}) @@ -151,7 +153,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_i.c COMMAND ${IDL_COMPILER} ${INCLUDES} ${DEFINES} ${IDL_FLAGS} ${IDL_INTERFACE_ARG} ${CMAKE_CURRENT_BINARY_DIR}/${NAME}_i.c ${IDL_FILE_FULL} - DEPENDS ${IDL_FILE_FULL}) + DEPENDS ${IDL_FILE_FULL} ${IDL_DEPENDS}) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${NAME}_i.c PROPERTIES GENERATED TRUE) endmacro()
Modified: trunk/reactos/cmake/msvc.cmake URL: http://svn.reactos.org/svn/reactos/trunk/reactos/cmake/msvc.cmake?rev=53088&... ============================================================================== --- trunk/reactos/cmake/msvc.cmake [iso-8859-1] (original) +++ trunk/reactos/cmake/msvc.cmake [iso-8859-1] Fri Aug 5 20:40:40 2011 @@ -146,7 +146,7 @@ add_custom_command( OUTPUT ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm ${CMAKE_BINARY_DIR}/importlibs/lib${_name}_exp.def COMMAND native-spec2def --ms --kill-at -a=${SPEC2DEF_ARCH} --implib -n=${_name}${_suffix} -d=${CMAKE_BINARY_DIR}/importlibs/lib${_name}_exp.def -l=${CMAKE_BINARY_DIR}/importlibs/lib${_name}_stubs.asm ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_exports_file} native-spec2def)
# Assemble the stub file add_custom_command( @@ -185,7 +185,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c COMMAND native-spec2def --ms --kill-at -a=${SPEC2DEF_ARCH} -n=${_dllname} -d=${CMAKE_CURRENT_BINARY_DIR}/${_file}.def -s=${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} - DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file}) + DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${_spec_file} native-spec2def) set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/${_file}.def ${CMAKE_CURRENT_BINARY_DIR}/${_file}_stubs.c PROPERTIES GENERATED TRUE) endmacro() @@ -217,7 +217,7 @@ add_custom_command( OUTPUT ${_binary_file} COMMAND native-obj2bin ${_object_file} ${_binary_file} ${_base_address} - DEPENDS ${_object_file}) + DEPENDS ${_object_file} native-obj2bin)
set_source_files_properties(${_object_file} ${_temp_file} ${_binary_file} PROPERTIES GENERATED TRUE)
Modified: trunk/reactos/include/asm/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/asm/CMakeLists.txt?... ============================================================================== --- trunk/reactos/include/asm/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/include/asm/CMakeLists.txt [iso-8859-1] Fri Aug 5 20:40:40 2011 @@ -21,7 +21,7 @@ add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_filename}.inc COMMAND native-geninc ${genincdata_dll} ${CMAKE_CURRENT_BINARY_DIR}/${_filename}.inc ${OPT_MS} - DEPENDS genincdata) + DEPENDS genincdata native-geninc)
add_custom_target(asm DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_filename}.inc)
Modified: trunk/reactos/media/vgafonts/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/media/vgafonts/CMakeLists.t... ============================================================================== --- trunk/reactos/media/vgafonts/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/media/vgafonts/CMakeLists.txt [iso-8859-1] Fri Aug 5 20:40:40 2011 @@ -12,7 +12,7 @@
add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/vgafonts.cab COMMAND native-cabman -M raw -S ${CMAKE_CURRENT_BINARY_DIR}/vgafonts.cab ${SOURCE} - DEPENDS ${SOURCE}) + DEPENDS ${SOURCE} native-cabman)
add_custom_target(vgafonts DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/vgafonts.cab)
Modified: trunk/reactos/subsystems/win32/win32k/CMakeLists.txt URL: http://svn.reactos.org/svn/reactos/trunk/reactos/subsystems/win32/win32k/CMa... ============================================================================== --- trunk/reactos/subsystems/win32/win32k/CMakeLists.txt [iso-8859-1] (original) +++ trunk/reactos/subsystems/win32/win32k/CMakeLists.txt [iso-8859-1] Fri Aug 5 20:40:40 2011 @@ -22,7 +22,8 @@
add_custom_command( OUTPUT ${GENDIB_FILES} - COMMAND native-gendib ${CMAKE_CURRENT_BINARY_DIR}/dib) + COMMAND native-gendib ${CMAKE_CURRENT_BINARY_DIR}/dib + DEPENDS native-gendib)
list(APPEND SOURCE dib/alphablend.c