diff --git a/codegen/cmake/AddService.cmake b/codegen/cmake/AddService.cmake index 2265359..a8c2a29 100644 --- a/codegen/cmake/AddService.cmake +++ b/codegen/cmake/AddService.cmake @@ -1,4 +1,6 @@ function(add_service SERVICE_NAME JSON_FILE) + # generate the output directory, otherwise python will complain when multiple instances are run + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/include) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_NAME}Base.hpp ${CMAKE_CURRENT_BINARY_DIR}/generated/${SERVICE_NAME}Base.cpp COMMAND ${Python3_EXECUTABLE} -m cogapp -d -I ${XBOT_CODEGEN_PATH}/xbot_codegen -D service_file=${JSON_FILE} -o ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_NAME}Base.hpp ${XBOT_CODEGEN_PATH}/templates/ServiceTemplate.hpp @@ -19,6 +21,8 @@ function(add_service SERVICE_NAME JSON_FILE) endfunction() function(target_add_service TARGET_NAME SERVICE_NAME JSON_FILE) + # generate the output directory, otherwise python will complain when multiple instances are run + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/include) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_NAME}Base.hpp ${CMAKE_CURRENT_BINARY_DIR}/generated/${SERVICE_NAME}Base.cpp COMMAND ${Python3_EXECUTABLE} -m cogapp -d -I ${XBOT_CODEGEN_PATH}/xbot_codegen -D service_file=${JSON_FILE} -o ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_NAME}Base.hpp ${XBOT_CODEGEN_PATH}/templates/ServiceTemplate.hpp diff --git a/codegen/cmake/AddServiceInterface.cmake b/codegen/cmake/AddServiceInterface.cmake index b2fd699..1def3de 100644 --- a/codegen/cmake/AddServiceInterface.cmake +++ b/codegen/cmake/AddServiceInterface.cmake @@ -1,4 +1,6 @@ function(add_service_interface SERVICE_INTERFACE_NAME JSON_FILE) + # generate the output directory, otherwise python will complain when multiple instances are run + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/include) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_INTERFACE_NAME}Base.hpp ${CMAKE_CURRENT_BINARY_DIR}/generated/${SERVICE_INTERFACE_NAME}Base.cpp COMMAND ${Python3_EXECUTABLE} -m cogapp -d -I ${XBOT_CODEGEN_PATH}/xbot_codegen -D service_file=${JSON_FILE} -o ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_INTERFACE_NAME}Base.hpp ${XBOT_CODEGEN_PATH}/templates/ServiceInterfaceTemplate.hpp @@ -19,7 +21,8 @@ function(add_service_interface SERVICE_INTERFACE_NAME JSON_FILE) endfunction() function(target_add_service_interface TARGET_NAME SERVICE_INTERFACE_NAME JSON_FILE) - + # generate the output directory, otherwise python will complain when multiple instances are run + file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/generated/include) add_custom_command( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_INTERFACE_NAME}Base.hpp ${CMAKE_CURRENT_BINARY_DIR}/generated/${SERVICE_INTERFACE_NAME}Base.cpp COMMAND ${Python3_EXECUTABLE} -m cogapp -d -I ${XBOT_CODEGEN_PATH}/xbot_codegen -D service_file=${JSON_FILE} -o ${CMAKE_CURRENT_BINARY_DIR}/generated/include/${SERVICE_INTERFACE_NAME}Base.hpp ${XBOT_CODEGEN_PATH}/templates/ServiceInterfaceTemplate.hpp diff --git a/libxbot-service/CMakeLists.txt b/libxbot-service/CMakeLists.txt index 25d45a3..d8ded7e 100644 --- a/libxbot-service/CMakeLists.txt +++ b/libxbot-service/CMakeLists.txt @@ -4,8 +4,6 @@ project(xbot-service C CXX) set(CMAKE_CXX_STANDARD 20) set(CMAKE_CXX_STANDARD_REQUIRED ON) -add_compile_options(-Wall -Wextra -Werror) - # Allow logging using ulog #add_compile_definitions(ULOG_ENABLED) @@ -16,6 +14,7 @@ add_library(xbot-service STATIC src/RemoteLogging.cpp src/ServiceIo.cpp ) +target_compile_options(xbot-service PRIVATE -Wall -Wextra -Werror -Wno-volatile) if (NOT DEFINED XBOT_CUSTOM_PORT_PATH) SET(XBOT_CUSTOM_PORT_PATH ${CMAKE_CURRENT_SOURCE_DIR}/src/portable/linux)