57 lines
1.9 KiB
CMake
57 lines
1.9 KiB
CMake
if(NOT CMAKE_CROSSCOMPILING)
|
|
set(PROTOC_PRG protobuf::protoc)
|
|
return()
|
|
endif()
|
|
|
|
message(STATUS "Subproject: HostTools...")
|
|
|
|
#configure_file(
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/host.CMakeLists.txt
|
|
# ${CMAKE_CURRENT_BINARY_DIR}/host_tools/CMakeLists.txt)
|
|
#
|
|
#execute_process(
|
|
# COMMAND ${CMAKE_COMMAND} -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -G "${CMAKE_GENERATOR}" .
|
|
# RESULT_VARIABLE result
|
|
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/host_tools)
|
|
#if(result)
|
|
# message(FATAL_ERROR "CMake step for host tools failed: ${result}")
|
|
#endif()
|
|
#execute_process(
|
|
# COMMAND ${CMAKE_COMMAND} --build .
|
|
# RESULT_VARIABLE result
|
|
# WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/host_tools)
|
|
#if(result)
|
|
# message(FATAL_ERROR "Build step for host tools failed: ${result}")
|
|
#endif()
|
|
|
|
#file(COPY
|
|
# ${CMAKE_CURRENT_SOURCE_DIR}/cmake/host.CMakeLists.txt
|
|
# DESTINATION ${CMAKE_CURRENT_BINARY_DIR}/host_tools)
|
|
|
|
configure_file(
|
|
${CMAKE_CURRENT_SOURCE_DIR}/cmake/host.CMakeLists.txt
|
|
${CMAKE_CURRENT_BINARY_DIR}/host_tools/CMakeLists.txt
|
|
COPYONLY)
|
|
|
|
add_custom_command(
|
|
OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/host_tools
|
|
#COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/host.CMakeLists.txt CMakeLists.txt
|
|
COMMAND ${CMAKE_COMMAND} -E remove_directory build
|
|
COMMAND ${CMAKE_COMMAND} -S. -Bbuild -DCMAKE_BUILD_TYPE=Release -DCMAKE_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_CURRENT_BINARY_DIR}/host_tools/bin
|
|
COMMAND ${CMAKE_COMMAND} --build build --config Release -v
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/host_tools
|
|
)
|
|
|
|
add_custom_target(host_tools
|
|
DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/host_tools
|
|
WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
|
|
|
|
add_executable(host_protoc IMPORTED GLOBAL)
|
|
set_target_properties(host_protoc PROPERTIES
|
|
IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/host_tools/bin/protoc)
|
|
|
|
add_dependencies(host_protoc host_tools)
|
|
set(PROTOC_PRG host_protoc)
|
|
|
|
message(STATUS "Subproject: HostTools...DONE")
|