else()
set(_flag "-A")
endif()
- foreach(_in_FILE ${ARGN})
- get_filename_component(FILE ${_in_FILE} NAME_WE)
- macro_mc(${_flag} ${FILE})
+ foreach(_file ${ARGN})
+ get_filename_component(_file_name ${_file} NAME_WE)
+ set(_converted_file ${CMAKE_CURRENT_BINARY_DIR}/${_file}) ## ${_file_name}.mc
+ set(_source_file ${CMAKE_CURRENT_SOURCE_DIR}/${_file}) ## ${_file_name}.mc
add_custom_command(
- OUTPUT ${REACTOS_BINARY_DIR}/sdk/include/reactos/${FILE}.rc ${REACTOS_BINARY_DIR}/sdk/include/reactos/${FILE}.h
- COMMAND ${COMMAND_MC} ${MC_FLAGS}
- DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${FILE}.mc)
+ OUTPUT "${_converted_file}"
+ COMMAND native-utf16le "${_source_file}" "${_converted_file}" nobom
+ DEPENDS native-utf16le "${_source_file}")
+ macro_mc(${_flag} ${_converted_file})
+ add_custom_command(
+ OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${_file_name}.h ${CMAKE_CURRENT_BINARY_DIR}/${_file_name}.rc
+ COMMAND ${COMMAND_MC}
+ DEPENDS "${_converted_file}")
set_source_files_properties(
- ${REACTOS_BINARY_DIR}/sdk/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/sdk/include/reactos/${FILE}.rc
+ ${CMAKE_CURRENT_BINARY_DIR}/${_file_name}.h ${CMAKE_CURRENT_BINARY_DIR}/${_file_name}.rc
PROPERTIES GENERATED TRUE)
- add_custom_target(${FILE} ALL DEPENDS ${REACTOS_BINARY_DIR}/sdk/include/reactos/${FILE}.h ${REACTOS_BINARY_DIR}/sdk/include/reactos/${FILE}.rc)
+ add_custom_target(${_file_name} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${_file_name}.h ${CMAKE_CURRENT_BINARY_DIR}/${_file_name}.rc)
endforeach()
endfunction()
set(${var} 51)
elseif(${dir} STREQUAL reactos/system32/CatRoot2)
set(${var} 52)
+ elseif(${dir} STREQUAL reactos/AppPatch)
+ set(${var} 53)
else()
message(FATAL_ERROR "Wrong destination: ${dir}")
endif()
${CMAKE_BINARY_DIR}/boot/bootdata/security
${CMAKE_BINARY_DIR}/boot/bootdata/software
${CMAKE_BINARY_DIR}/boot/bootdata/system
- COMMAND native-mkhive ${CMAKE_BINARY_DIR}/boot/bootdata/ ${_livecd_inf_files}
+ COMMAND native-mkhive ${CMAKE_BINARY_DIR}/boot/bootdata ${_livecd_inf_files}
DEPENDS native-mkhive ${_livecd_inf_files})
add_custom_target(livecd_hives
# BCD Hive
add_custom_command(
OUTPUT ${CMAKE_BINARY_DIR}/boot/bootdata/BCD
- COMMAND native-mkhive ${CMAKE_BINARY_DIR}/boot/bootdata/ ${CMAKE_BINARY_DIR}/boot/bootdata/hivebcd_utf16.inf
+ COMMAND native-mkhive ${CMAKE_BINARY_DIR}/boot/bootdata ${CMAKE_BINARY_DIR}/boot/bootdata/hivebcd_utf16.inf
DEPENDS native-mkhive ${CMAKE_SOURCE_DIR}/boot/bootdata/hivebcd.inf)
add_custom_target(bcd_hive
function(add_rc_deps _target_rc)
set_source_files_properties(${_target_rc} PROPERTIES OBJECT_DEPENDS "${ARGN}")
endfunction()
+
+add_custom_target(rostests_install COMMAND ${CMAKE_COMMAND} -DCOMPONENT=rostests -P ${CMAKE_BINARY_DIR}/cmake_install.cmake)
+function(add_rostests_file)
+ cmake_parse_arguments(_ROSTESTS "" "RENAME;SUBDIR;TARGET" "FILE" ${ARGN})
+ if(NOT (_ROSTESTS_TARGET OR _ROSTESTS_FILE))
+ message(FATAL_ERROR "You must provide a target or a file to install!")
+ endif()
+
+ if(NOT _ROSTESTS_FILE)
+ get_target_property(_ROSTESTS_FILE ${_ROSTESTS_TARGET} LOCATION_${CMAKE_BUILD_TYPE})
+ endif()
+
+ if(NOT _ROSTESTS_RENAME)
+ get_filename_component(_ROSTESTS_RENAME ${_ROSTESTS_FILE} NAME)
+ endif()
+
+ if(_ROSTESTS_SUBDIR)
+ set(_ROSTESTS_SUBDIR "/${_ROSTESTS_SUBDIR}")
+ endif()
+
+ add_cd_file(FILE ${_ROSTESTS_FILE} DESTINATION "reactos/bin${_ROSTESTS_SUBDIR}" NAME_ON_CD ${_ROSTESTS_RENAME} FOR all)
+
+ if(DEFINED ENV{ROSTESTS_INSTALL})
+ install(FILES ${_ROSTESTS_FILE} DESTINATION "$ENV{ROSTESTS_INSTALL}${_ROSTESTS_SUBDIR}" COMPONENT rostests RENAME ${_ROSTESTS_RENAME})
+ endif()
+endfunction()