smanders / externpro

build external projects with cmake
MIT License
13 stars 12 forks source link

xpFlatBuffersBuildTS enhancements #345

Closed smanders closed 2 years ago

smanders commented 2 years ago

the cmake function xpFlatBuffersBuildTS https://github.com/smanders/externpro/blob/22.02/projects/use/usexp-flatbuffers-config.cmake#L50-L65 is part of the flatbuffers use script and was introduced with the update to flatbuffers 2.0.06 https://github.com/smanders/externpro/issues/336

it appears that the Windows flatc binary doesn't support glob notation for its list of input files (see discussion https://isrhub.usurf.usu.edu/dlanier/SensorManager/pull/19#discussion_r102681) and therefore before calling xpFlatBuffersBuildTS() there is a need to file(GLOB

it would be a nice enhancement if this file(GLOB were just part of the xpFlatBuffersBuildTS() function

smanders commented 2 years ago

completed with commit to dev branch referenced above

smanders commented 2 years ago

when this update is available in an externpro release, SensorManager can change to the following

diff --git a/WebServer/CMakeLists.txt b/WebServer/CMakeLists.txt
index 072a8b8..db5fd9c 100644
--- a/WebServer/CMakeLists.txt
+++ b/WebServer/CMakeLists.txt
@@ -67,9 +67,8 @@ set(src_messages_srcs
 source_group(src\\messages FILES ${src_messages_srcs})
 list(APPEND ${PROJECT_NAME}_prjsrcs ${src_messages_srcs})
 #######################################
-file(GLOB fbs_srcs ${SensorManager_SOURCE_DIR}/MessageLib/src/FbSchemas/*.fbs)
 xpFlatBuffersBuildTS(TARGET ${PROJECT_NAME}
-  SCHEMAS ${fbs_srcs}
+  SCHEMAS ${SensorManager_SOURCE_DIR}/MessageLib/src/FbSchemas/*.fbs
   OUTPUT_DIR ${CMAKE_CURRENT_SOURCE_DIR}/src/messages/fb-schemas # .gitignore
   )
 #######################################