- 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
62 lines
2.0 KiB
CMake
62 lines
2.0 KiB
CMake
set(EVEREST_CONFIG_ASSET_DIR "${CMAKE_CURRENT_LIST_DIR}/assets" CACHE INTERNAL "")
|
|
|
|
function(generate_config_run_script)
|
|
|
|
if (NOT EVEREST_ENABLE_RUN_SCRIPT_GENERATION)
|
|
return ()
|
|
endif ()
|
|
|
|
set(options "")
|
|
set(one_value_args
|
|
CONFIG
|
|
LOGGING_CONFIG
|
|
OUTPUT
|
|
)
|
|
set(multi_value_args
|
|
ADDITIONAL_ARGUMENTS
|
|
)
|
|
|
|
cmake_parse_arguments(OPTNS "${options}" "${one_value_args}" "${multi_value_args}" ${ARGN})
|
|
|
|
if (OPTNS_UNPARSED_ARGUMENTS)
|
|
message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} got unknown argument(s): ${OPTNS_UNPARSED_ARGUMENTS}")
|
|
endif()
|
|
|
|
if (NOT OPTNS_CONFIG)
|
|
message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION} requires CONFIG parameter for the config name")
|
|
endif()
|
|
|
|
set(CONFIG_FILE "${CMAKE_CURRENT_SOURCE_DIR}/config-${OPTNS_CONFIG}.yaml")
|
|
if (NOT EXISTS ${CONFIG_FILE})
|
|
message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION}: config file '${CONFIG_FILE}' does not exist")
|
|
endif()
|
|
|
|
set(LOGGING_CONFIG_FILE "${EVEREST_CONFIG_ASSET_DIR}/logging.ini")
|
|
if (OPTNS_LOGGING_CONFIG)
|
|
set(LOGGING_CONFIG_FILE "${CMAKE_CURRENT_SOURCE_DIR}/${OPTNS_LOGGING_CONFIG}.ini")
|
|
endif()
|
|
|
|
if (NOT EXISTS ${LOGGING_CONFIG_FILE})
|
|
message(FATAL_ERROR "${CMAKE_CURRENT_FUNCTION}: logging config file '${LOGGING_CONFIG_FILE}' does not exist")
|
|
endif()
|
|
|
|
foreach (ARG ${OPTNS_ADDITIONAL_ARGUMENTS})
|
|
string(APPEND ADDITIONAL_ARGUMENTS "${ARG} ")
|
|
endforeach()
|
|
|
|
string(APPEND ADDITIONAL_ARGUMENTS "\\")
|
|
|
|
set(SCRIPT_OUTPUT_PATH "${CMAKE_BINARY_DIR}/run-scripts")
|
|
set(SCRIPT_OUTPUT_FILE "${SCRIPT_OUTPUT_PATH}/run-${OPTNS_CONFIG}.sh")
|
|
if (OPTNS_OUTPUT)
|
|
set(SCRIPT_OUTPUT_FILE "${SCRIPT_OUTPUT_PATH}/run-${OPTNS_OUTPUT}.sh")
|
|
endif()
|
|
|
|
# other necessary variables
|
|
set(LD_LIBRARY_VAR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR}")
|
|
set(PATH_VAR "${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_BINDIR}")
|
|
|
|
configure_file("${EVEREST_CONFIG_ASSET_DIR}/run_template.sh.in" ${SCRIPT_OUTPUT_FILE})
|
|
|
|
endfunction()
|