- 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
74 lines
2.4 KiB
CMake
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")
|