@@ -32,6 +32,7 @@ if(ENABLE_DEV_USB_HID OR ENABLE_DEV_FTDI)
3232 endif ()
3333
3434 if (NOT USE_SYSTEM_LIBUSB_LIBS)
35+ include (ExternalProject)
3536 ExternalProject_Add(libusb
3637 PREFIX ${CMAKE_CURRENT_BINARY_DIR} /external/libusb-cmake
3738 BUILD_ALWAYS ON
@@ -43,6 +44,9 @@ if(ENABLE_DEV_USB_HID OR ENABLE_DEV_FTDI)
4344 -DLIBUSB_BUILD_EXAMPLES:BOOL =OFF # Disable build of libusb examples
4445 -DLIBUSB_INSTALL_TARGETS:BOOL =ON # Install libusb targets
4546 -DCMAKE_INSTALL_PREFIX:PATH =${CMAKE_INSTALL_PREFIX}
47+ -DCMAKE_INSTALL_PREFIX:PATH =${CMAKE_INSTALL_PREFIX}
48+ -DCMAKE_C_COMPILER:FILEPATH =${CMAKE_C_COMPILER}
49+ -DCMAKE_C_FLAGS:STRING =${CMAKE_C_FLAGS}
4650 -DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
4751 -DCMAKE_STATIC_LIBRARY_PREFIX:STRING =lib
4852 -DCMAKE_WARN_DEPRECATED:BOOL =OFF # Suppress warnings about "Compatibility with CMake < 3.5 will be removed from a future version of CMake"
@@ -105,6 +109,7 @@ if(ENABLE_DEV_FTDI)
105109 set (LIBUSB_LIBRARIES ${LIBUSB_LIBRARIES} CACHE INTERNAL "" )
106110
107111 find_package (Git REQUIRED)
112+ include (ExternalProject)
108113 ExternalProject_Add(libftdi1
109114 DEPENDS usb-1.0
110115 PREFIX ${CMAKE_CURRENT_BINARY_DIR} /external/libftdi1
@@ -118,6 +123,8 @@ if(ENABLE_DEV_FTDI)
118123 -DLIBUSB_INCLUDE_DIR:PATH =${LIBUSB_INCLUDE_DIR} # LibUSB include directory
119124 -DLIBUSB_LIBRARIES:PATH =${LIBUSB_LIBRARIES} # LibUSB library location
120125 -DCMAKE_INSTALL_PREFIX:PATH =${CMAKE_INSTALL_PREFIX}
126+ -DCMAKE_C_COMPILER:FILEPATH =${CMAKE_C_COMPILER}
127+ -DCMAKE_C_FLAGS:STRING =${CMAKE_C_FLAGS}
121128 -DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
122129 -DCMAKE_STATIC_LIBRARY_PREFIX_C:STRING =lib
123130 -DCMAKE_WARN_DEPRECATED:BOOL =OFF # Suppress warnings about "Compatibility with CMake < 3.5 will be removed from a future version of CMake"
@@ -289,13 +296,15 @@ if(ENABLE_FLATBUF_SERVER OR ENABLE_FLATBUF_CONNECT)
289296 # Define the flatc import option
290297 set (IMPORT_FLATC "" CACHE STRING "Import the Flatbuffers compiler (flatc_export.cmake) from a native build" )
291298
299+ if (CMAKE_CROSSCOMPILING )
300+ # Disable Flatbuffers Compiler
301+ set (FLATBUFFERS_BUILD_FLATC OFF CACHE BOOL "Enable the build of the flatbuffers compiler" )
302+ endif ()
303+
292304 # Add Flatbuffers directory to the build
293305 add_subdirectory ("${CMAKE_CURRENT_SOURCE_DIR} /external/flatbuffers" )
294306
295307 if (CMAKE_CROSSCOMPILING )
296- # Disable Flatbuffers Compiler (import or build nativly)
297- set (FLATBUFFERS_BUILD_FLATC OFF CACHE BOOL "Enable the build of the flatbuffers compiler" )
298-
299308 if (IMPORT_FLATC)
300309 # Import the Flatbuffers Compiler from a native build ...
301310 include (${IMPORT_FLATC} )
@@ -312,14 +321,12 @@ if(ENABLE_FLATBUF_SERVER OR ENABLE_FLATBUF_CONNECT)
312321 -DFLATBUFFERS_INSTALL:BOOL =OFF
313322 -DBUILD_SHARED_LIBS:BOOL =${BUILD_SHARED_LIBS}
314323 -DFLATBUFFERS_BUILD_TESTS:BOOL =${FLATBUFFERS_BUILD_TESTS}
315- -DCMAKE_CXX_COMPILER:FILEPATH =${CMAKE_CXX_COMPILER}
316- -DCMAKE_CXX_FLAGS:STRING =${CMAKE_CXX_FLAGS}
317324 -DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
318325 -Wno-dev # We don't want to be warned over unused variables
319326 BUILD_BYPRODUCTS <BINARY_DIR>/flatc${CMAKE_EXECUTABLE_SUFFIX}
320327 )
321328
322- add_executable (flatc IMPORTED GOBAL )
329+ add_executable (flatc IMPORTED GLOBAL )
323330 ExternalProject_Get_Property(flatc-host BINARY_DIR)
324331 set_target_properties (flatc PROPERTIES
325332 IMPORTED_LOCATION ${BINARY_DIR} /flatc${CMAKE_EXECUTABLE_SUFFIX}
@@ -446,13 +453,15 @@ if(ENABLE_PROTOBUF_SERVER)
446453 # Define the protoc import option
447454 set (IMPORT_PROTOC "" CACHE STRING "Import the Protobuf compiler (protoc_export.cmake) from a native build" )
448455
456+ if (CMAKE_CROSSCOMPILING )
457+ # Disable Protobuf Compiler
458+ set (protobuf_BUILD_PROTOC_BINARIES OFF CACHE BOOL "Build protobuf libraries and protoc compiler" )
459+ endif ()
460+
449461 # Add Protobuf directory to the build
450462 add_subdirectory ("${CMAKE_CURRENT_SOURCE_DIR} /external/protobuf" )
451463
452464 if (CMAKE_CROSSCOMPILING )
453- # Disable Protobuf Compiler (import or build nativly)
454- set (protobuf_BUILD_PROTOC_BINARIES OFF CACHE BOOL "Build protobuf libraries and protoc compiler" )
455-
456465 if (IMPORT_PROTOC)
457466 # Import the Protobuf Compiler from a native build ...
458467 include (${IMPORT_FLATC} )
@@ -471,8 +480,6 @@ if(ENABLE_PROTOBUF_SERVER)
471480 -Dprotobuf_BUILD_SHARED_LIBS:BOOL =${protobuf_BUILD_SHARED_LIBS}
472481 -Dprotobuf_WITH_ZLIB:BOOL =${protobuf_WITH_ZLIB}
473482 -DABSL_PROPAGATE_CXX_STD:BOOL =${ABSL_PROPAGATE_CXX_STD}
474- -DCMAKE_CXX_COMPILER:FILEPATH =${CMAKE_CXX_COMPILER}
475- -DCMAKE_CXX_FLAGS:STRING =${CMAKE_CXX_FLAGS}
476483 -DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
477484 -Wno-dev # We don't want to be warned over unused variables
478485 BUILD_BYPRODUCTS <BINARY_DIR>/protoc${CMAKE_EXECUTABLE_SUFFIX}
0 commit comments