mirror of
https://github.com/reactos/reactos.git
synced 2024-11-18 21:13:52 +00:00
42 lines
1.5 KiB
CMake
42 lines
1.5 KiB
CMake
|
|
if(CMAKE_HOST_WIN32)
|
|
set(native_suffix ".exe")
|
|
endif()
|
|
|
|
string(TOUPPER ${CMAKE_BUILD_TYPE} _build_type)
|
|
|
|
# List of host tools
|
|
list(APPEND host_tools_list bin2c hpp widl gendib cabman fatten isohybrid mkhive mkisofs obj2bin spec2def geninc mkshelllink utf16le xml2sdb)
|
|
if(NOT MSVC)
|
|
list(APPEND host_tools_list rsym)
|
|
endif()
|
|
|
|
foreach(_host_tool ${host_tools_list})
|
|
if(MSVC_IDE)
|
|
get_filename_component(_tool_location "${CMAKE_CURRENT_BINARY_DIR}/host-tools/${CMAKE_BUILD_TYPE}/${_host_tool}${native_suffix}" ABSOLUTE)
|
|
else()
|
|
get_filename_component(_tool_location "${CMAKE_CURRENT_BINARY_DIR}/host-tools/${_host_tool}${native_suffix}" ABSOLUTE)
|
|
endif()
|
|
list(APPEND tools_binaries ${_tool_location})
|
|
add_executable(native-${_host_tool} IMPORTED)
|
|
set_property(TARGET native-${_host_tool} PROPERTY IMPORTED_LOCATION_${_build_type} ${_tool_location})
|
|
add_dependencies(native-${_host_tool} host-tools)
|
|
endforeach()
|
|
|
|
if(USE_CLANG_CL)
|
|
# FIXME: Fix host tools build with clang
|
|
#set(USE_CLANG_CL_ARG "-DCMAKE_C_COMPILER=clang-cl;-DCMAKE_CXX_COMPILER=clang-cl")
|
|
endif()
|
|
|
|
include(ExternalProject)
|
|
|
|
ExternalProject_Add(host-tools
|
|
SOURCE_DIR ${REACTOS_SOURCE_DIR}
|
|
BINARY_DIR ${REACTOS_BINARY_DIR}/host-tools
|
|
STAMP_DIR ${REACTOS_BINARY_DIR}/host-tools/stamps
|
|
BUILD_ALWAYS 1
|
|
PREFIX host-tools
|
|
EXCLUDE_FROM_ALL 1
|
|
CMAKE_ARGS "-DNEW_STYLE_BUILD=1;-DARCH:STRING=${ARCH};${USE_CLANG_CL_ARG}"
|
|
INSTALL_COMMAND ""
|
|
BUILD_BYPRODUCTS ${tools_binaries})
|