Files
cariflex/tools/EVerest-main/applications/pionix_chargebridge/CMakeLists.txt
Eric F d398a6ced2 Add extracted tools: CitrineOS, OpenOCPP, ShapeShifter
- CitrineOS core extracted (CSMS OCPP 2.0.1)
- OpenOCPP extracted (firmware OCPP 1.6J/2.0.1)
- ShapeShifter library installed (pip install -e)
- ShapeShifter specification extracted
- EVerest extracted

TODO updated with progress
2026-06-08 00:38:27 -04:00

74 lines
2.4 KiB
CMake

cmake_minimum_required(VERSION 3.16)
if(DEFINED EVEREST_IO_WITH_MQTT AND NOT EVEREST_IO_WITH_MQTT)
message(FATAL_ERROR "pionix_chargebridge requires MQTT support in everest::io. "
"Set EVEREST_IO_WITH_MQTT=ON or disable EVEREST_BUILD_APPLICATIONS.")
endif()
find_package(ryml QUIET)
set(CMAKE_CXX_STANDARD 17)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
add_executable(pionix_chargebridge
src/everest_api/api_connector.cpp
src/everest_api/evse_bsp_api.cpp
src/everest_api/ovm_api.cpp
src/everest_api/ev_bsp_api.cpp
src/firmware_update/sync_fw_updater.cpp
src/utilities/filesystem.cpp
src/utilities/logging.cpp
src/utilities/parse_config.cpp
src/utilities/print_config.cpp
src/utilities/string.cpp
src/utilities/symlink.cpp
src/utilities/sync_udp_client.cpp
src/utilities/type_converters.cpp
src/can_bridge.cpp
src/charge_bridge.cpp
src/bsp_bridge.cpp
src/gpio_bridge.cpp
src/heartbeat_service.cpp
src/plc_bridge.cpp
src/serial_bridge.cpp
src/discovery.cpp
main.cpp
)
target_link_libraries(pionix_chargebridge
everest::io
everest::everest_api_types
nlohmann_json::nlohmann_json
ryml::ryml
)
target_include_directories(pionix_chargebridge
PRIVATE include
PRIVATE shared
)
set(cb_firmware_binary config/firmware/charge-bridge-fw_complete.cbfw)
add_custom_command(
TARGET pionix_chargebridge
POST_BUILD
COMMAND ${CMAKE_COMMAND} -E copy
"${CMAKE_CURRENT_SOURCE_DIR}/${cb_firmware_binary}"
"$<TARGET_FILE_DIR:pionix_chargebridge>/"
COMMENT "Copying Pionix ChargeBridge firmware binary..."
)
install (TARGETS pionix_chargebridge)
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/${cb_firmware_binary}" DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/chargebridge/firmware)
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/config/config-CB-EVAL.yaml" DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/chargebridge RENAME "config-CB-EVAL.yaml-example")
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/config/config-CB-SAT-AC.yaml" DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/chargebridge RENAME "config-CB-SAT-AC.yaml-example")
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/config/config-CB-EVAL-EV.yaml" DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/chargebridge RENAME "config-CB-EVAL-EV.yaml-example")
install (FILES "${CMAKE_CURRENT_SOURCE_DIR}/config/config-CB-EVAL-SIM.yaml" DESTINATION ${CMAKE_INSTALL_SYSCONFDIR}/chargebridge RENAME "config-CB-EVAL-SIM.yaml-example")