- 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
58 lines
2.1 KiB
CMake
58 lines
2.1 KiB
CMake
# download everest-core (source of util and libcbv2g)
|
|
include(ExternalProject)
|
|
ExternalProject_Add(
|
|
everest-core-src
|
|
DOWNLOAD_DIR "everest-core/src"
|
|
GIT_REPOSITORY "https://github.com/EVerest/everest-core.git"
|
|
GIT_TAG "61e97863fd2fc9f429f9cd2e4b689139e7d46981"
|
|
TIMEOUT 30
|
|
LOG_DOWNLOAD ON
|
|
CONFIGURE_COMMAND ""
|
|
BUILD_COMMAND ""
|
|
INSTALL_COMMAND ""
|
|
)
|
|
|
|
# util is header-only
|
|
ExternalProject_Get_Property(everest-core-src SOURCE_DIR)
|
|
set(UTIL_INCLUDE_DIR "${SOURCE_DIR}/lib/everest/util/include")
|
|
|
|
# workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/15052
|
|
file(MAKE_DIRECTORY ${UTIL_INCLUDE_DIR})
|
|
|
|
add_library(everest_util INTERFACE IMPORTED GLOBAL)
|
|
add_library(everest::util ALIAS everest_util)
|
|
set_property(TARGET everest_util PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${UTIL_INCLUDE_DIR})
|
|
add_dependencies(everest_util everest-core-src)
|
|
|
|
# build everest-core/lib/everest/cbv2g
|
|
ExternalProject_Add(
|
|
cbv2g-src
|
|
DOWNLOAD_COMMAND ""
|
|
SOURCE_DIR "everest-core-src-prefix/src/everest-core-src/lib/everest/cbv2g"
|
|
PREFIX "everest-core"
|
|
INSTALL_COMMAND ""
|
|
LOG_CONFIGURE ON
|
|
LOG_BUILD ON
|
|
DEPENDS everest-core-src
|
|
)
|
|
ExternalProject_Get_Property(cbv2g-src SOURCE_DIR)
|
|
ExternalProject_Get_Property(cbv2g-src BINARY_DIR)
|
|
set(CBV2G_INCLUDE_DIR "${SOURCE_DIR}/include")
|
|
set(CBV2G_LIB_DIR "${BINARY_DIR}/lib/cbv2g")
|
|
|
|
# workaround for https://gitlab.kitware.com/cmake/cmake/-/issues/15052
|
|
# create CBV2G_INCLUDE_DIR since it will not exist in configure step
|
|
file(MAKE_DIRECTORY ${CBV2G_INCLUDE_DIR})
|
|
|
|
add_library(cbv2g_tp STATIC IMPORTED)
|
|
add_library(cbv2g::tp ALIAS cbv2g_tp)
|
|
set_property(TARGET cbv2g_tp PROPERTY IMPORTED_LOCATION ${CBV2G_LIB_DIR}/libcbv2g_tp.a)
|
|
set_property(TARGET cbv2g_tp PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CBV2G_INCLUDE_DIR})
|
|
add_dependencies(cbv2g_tp cbv2g-src)
|
|
|
|
add_library(cbv2g_iso20 STATIC IMPORTED)
|
|
add_library(cbv2g::iso20 ALIAS cbv2g_iso20)
|
|
set_property(TARGET cbv2g_iso20 PROPERTY IMPORTED_LOCATION ${CBV2G_LIB_DIR}/libcbv2g_iso20.a)
|
|
set_property(TARGET cbv2g_iso20 PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${CBV2G_INCLUDE_DIR})
|
|
add_dependencies(cbv2g_iso20 cbv2g-src)
|