32 lines
1.2 KiB
CMake
32 lines
1.2 KiB
CMake
if(NOT TARGET flatbuffers::flatc)
|
|
if(CMAKE_CROSSCOMPILING)
|
|
find_program(FLATBUFFERS_FLATC_EXECUTABLE
|
|
NAMES flatc
|
|
PATHS ENV PATH
|
|
NO_DEFAULT_PATH
|
|
)
|
|
else()
|
|
find_program(FLATBUFFERS_FLATC_EXECUTABLE
|
|
NAMES flatc
|
|
PATHS "${CMAKE_CURRENT_LIST_DIR}/../../bin/"
|
|
NO_DEFAULT_PATH
|
|
)
|
|
endif()
|
|
# TODO: In conan v2 with CMakeToolchain, can be replaced by:
|
|
# find_program(FLATBUFFERS_FLATC_EXECUTABLE NAMES flatc)
|
|
# # Nice enough to handle flatbuffers not in build_requires for native build
|
|
# if(NOT FLATBUFFERS_FLATC_EXECUTABLE AND NOT CMAKE_CROSSCOMPILING)
|
|
# find_program(FLATBUFFERS_FLATC_EXECUTABLE
|
|
# NAMES flatc
|
|
# PATHS "${CMAKE_CURRENT_LIST_DIR}/../../bin/"
|
|
# NO_DEFAULT_PATH
|
|
# )
|
|
# endif()
|
|
|
|
if(FLATBUFFERS_FLATC_EXECUTABLE)
|
|
get_filename_component(FLATBUFFERS_FLATC_EXECUTABLE "${FLATBUFFERS_FLATC_EXECUTABLE}" ABSOLUTE)
|
|
add_executable(flatbuffers::flatc IMPORTED)
|
|
set_property(TARGET flatbuffers::flatc PROPERTY IMPORTED_LOCATION ${FLATBUFFERS_FLATC_EXECUTABLE})
|
|
endif()
|
|
endif()
|