mirror of
https://github.com/reactos/reactos.git
synced 2025-02-23 00:45:24 +00:00
[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. svn path=/trunk/; revision=53088
This commit is contained in:
parent
ef2548095f
commit
073e87c6d2
7 changed files with 23 additions and 17 deletions
|
@ -7,6 +7,7 @@ add_custom_target(bootcd
|
|||
${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 @@ add_custom_target(bootcdregtest
|
|||
${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 @@ add_custom_target(livecd
|
|||
${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)
|
||||
|
|
|
@ -233,14 +233,14 @@ macro(add_importlib_target _exports_file)
|
|||
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 @@ macro(spec2def _dllname _spec_file)
|
|||
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 @@ macro(CreateBootSectorTarget2 _target_name _asm_file _binary_file _base_address)
|
|||
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)
|
||||
|
||||
|
|
|
@ -16,6 +16,7 @@ if(MSVC)
|
|||
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()
|
|||
else()
|
||||
set(IDL_FLAGS "")
|
||||
endif()
|
||||
set(IDL_DEPENDS native-widl)
|
||||
endif()
|
||||
|
||||
|
||||
|
@ -59,7 +61,7 @@ macro(add_typelib TARGET)
|
|||
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 @@ macro(add_idl_headers TARGET)
|
|||
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 @@ macro(add_rpcproxy_files)
|
|||
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 @@ macro(add_rpcproxy_files)
|
|||
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 @@ macro(add_rpc_library TARGET)
|
|||
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 @@ macro(generate_idl_iids IDL_FILE)
|
|||
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()
|
||||
|
||||
|
|
|
@ -146,7 +146,7 @@ macro(add_importlib_target _exports_file)
|
|||
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 @@ macro(spec2def _dllname _spec_file)
|
|||
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 @@ macro(CreateBootSectorTarget2 _target_name _asm_file _binary_file _base_address)
|
|||
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)
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ get_target_property(genincdata_dll genincdata LOCATION)
|
|||
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)
|
||||
|
|
|
@ -12,7 +12,7 @@ list(APPEND SOURCE
|
|||
|
||||
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)
|
||||
|
||||
|
|
|
@ -22,7 +22,8 @@ list(APPEND GENDIB_FILES
|
|||
|
||||
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
|
||||
|
|
Loading…
Reference in a new issue