@@ -32,6 +32,7 @@ if(ENABLE_DEV_USB_HID OR ENABLE_DEV_FTDI)
32
32
endif ()
33
33
34
34
if (NOT USE_SYSTEM_LIBUSB_LIBS)
35
+ include (ExternalProject)
35
36
ExternalProject_Add(libusb
36
37
PREFIX ${CMAKE_CURRENT_BINARY_DIR} /external/libusb-cmake
37
38
BUILD_ALWAYS ON
@@ -43,6 +44,9 @@ if(ENABLE_DEV_USB_HID OR ENABLE_DEV_FTDI)
43
44
-DLIBUSB_BUILD_EXAMPLES:BOOL =OFF # Disable build of libusb examples
44
45
-DLIBUSB_INSTALL_TARGETS:BOOL =ON # Install libusb targets
45
46
-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}
46
50
-DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
47
51
-DCMAKE_STATIC_LIBRARY_PREFIX:STRING =lib
48
52
-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)
105
109
set (LIBUSB_LIBRARIES ${LIBUSB_LIBRARIES} CACHE INTERNAL "" )
106
110
107
111
find_package (Git REQUIRED)
112
+ include (ExternalProject)
108
113
ExternalProject_Add(libftdi1
109
114
DEPENDS usb-1.0
110
115
PREFIX ${CMAKE_CURRENT_BINARY_DIR} /external/libftdi1
@@ -118,6 +123,8 @@ if(ENABLE_DEV_FTDI)
118
123
-DLIBUSB_INCLUDE_DIR:PATH =${LIBUSB_INCLUDE_DIR} # LibUSB include directory
119
124
-DLIBUSB_LIBRARIES:PATH =${LIBUSB_LIBRARIES} # LibUSB library location
120
125
-DCMAKE_INSTALL_PREFIX:PATH =${CMAKE_INSTALL_PREFIX}
126
+ -DCMAKE_C_COMPILER:FILEPATH =${CMAKE_C_COMPILER}
127
+ -DCMAKE_C_FLAGS:STRING =${CMAKE_C_FLAGS}
121
128
-DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
122
129
-DCMAKE_STATIC_LIBRARY_PREFIX_C:STRING =lib
123
130
-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)
289
296
# Define the flatc import option
290
297
set (IMPORT_FLATC "" CACHE STRING "Import the Flatbuffers compiler (flatc_export.cmake) from a native build" )
291
298
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
+
292
304
# Add Flatbuffers directory to the build
293
305
add_subdirectory ("${CMAKE_CURRENT_SOURCE_DIR} /external/flatbuffers" )
294
306
295
307
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
-
299
308
if (IMPORT_FLATC)
300
309
# Import the Flatbuffers Compiler from a native build ...
301
310
include (${IMPORT_FLATC} )
@@ -312,14 +321,12 @@ if(ENABLE_FLATBUF_SERVER OR ENABLE_FLATBUF_CONNECT)
312
321
-DFLATBUFFERS_INSTALL:BOOL =OFF
313
322
-DBUILD_SHARED_LIBS:BOOL =${BUILD_SHARED_LIBS}
314
323
-DFLATBUFFERS_BUILD_TESTS:BOOL =${FLATBUFFERS_BUILD_TESTS}
315
- -DCMAKE_CXX_COMPILER:FILEPATH =${CMAKE_CXX_COMPILER}
316
- -DCMAKE_CXX_FLAGS:STRING =${CMAKE_CXX_FLAGS}
317
324
-DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
318
325
-Wno-dev # We don't want to be warned over unused variables
319
326
BUILD_BYPRODUCTS <BINARY_DIR>/flatc${CMAKE_EXECUTABLE_SUFFIX}
320
327
)
321
328
322
- add_executable (flatc IMPORTED GOBAL )
329
+ add_executable (flatc IMPORTED GLOBAL )
323
330
ExternalProject_Get_Property(flatc-host BINARY_DIR)
324
331
set_target_properties (flatc PROPERTIES
325
332
IMPORTED_LOCATION ${BINARY_DIR} /flatc${CMAKE_EXECUTABLE_SUFFIX}
@@ -446,13 +453,15 @@ if(ENABLE_PROTOBUF_SERVER)
446
453
# Define the protoc import option
447
454
set (IMPORT_PROTOC "" CACHE STRING "Import the Protobuf compiler (protoc_export.cmake) from a native build" )
448
455
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
+
449
461
# Add Protobuf directory to the build
450
462
add_subdirectory ("${CMAKE_CURRENT_SOURCE_DIR} /external/protobuf" )
451
463
452
464
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
-
456
465
if (IMPORT_PROTOC)
457
466
# Import the Protobuf Compiler from a native build ...
458
467
include (${IMPORT_FLATC} )
@@ -471,8 +480,6 @@ if(ENABLE_PROTOBUF_SERVER)
471
480
-Dprotobuf_BUILD_SHARED_LIBS:BOOL =${protobuf_BUILD_SHARED_LIBS}
472
481
-Dprotobuf_WITH_ZLIB:BOOL =${protobuf_WITH_ZLIB}
473
482
-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}
476
483
-DCMAKE_BUILD_TYPE:STRING =${CMAKE_BUILD_TYPE}
477
484
-Wno-dev # We don't want to be warned over unused variables
478
485
BUILD_BYPRODUCTS <BINARY_DIR>/protoc${CMAKE_EXECUTABLE_SUFFIX}
0 commit comments