COMMAND native-cabman -C ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff -L ${CMAKE_CURRENT_BINARY_DIR} -I -P ${REACTOS_SOURCE_DIR}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff native-cabman)
-# Then we create the actual cab file
-add_custom_command(
- OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab
+# Then we create the actual cab file using a custom target
+# Please do not change this into custom command + custom target. This breaks reactos.cab dependencies on modules
+# and you can't do something like "make gdi32/fast reactos_cab/fast bootcd/fast"
+add_custom_target(reactos_cab
COMMAND native-cabman -C ${CMAKE_CURRENT_BINARY_DIR}/reactos.dff -RC ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf -L ${CMAKE_CURRENT_BINARY_DIR} -N -P ${REACTOS_SOURCE_DIR}
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf native-cabman)
-# Finally, we create the reactos_cab target
-add_custom_target(reactos_cab DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab)
add_cd_file(TARGET reactos_cab FILE ${CMAKE_CURRENT_BINARY_DIR}/reactos.cab ${CMAKE_CURRENT_BINARY_DIR}/reactos.inf DESTINATION reactos NO_CAB FOR bootcd regtest)