Skip to content

Commit 4e91bb8

Browse files
Cross-compilation fixed
1 parent b043d37 commit 4e91bb8

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

dependencies/CMakeLists.txt

+18-11
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)