-
Notifications
You must be signed in to change notification settings - Fork 32
PPM-300: Add Bus agnostic API as optional dependency to the builds #1545
base: master
Are you sure you want to change the base?
PPM-300: Add Bus agnostic API as optional dependency to the builds #1545
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since draft, not approving yet.
I gave comments to the first Findxxx.cmake but obviously they apply to all.
cmake/Findamxc.cmake
Outdated
find_path(AMXC_INCLUDE_DIRS | ||
NAMES amxc_llist.h amxc_string_join.h amxc_common.h amxc_rbuffer.h amxc_variant_type.h amxc_variant.h amxc_aqueue.h amxc_timestamp.h amxc_astack.h amxc_hash.h amxc_array.h amxc.h amxc_lstack.h amxc_string.h amxc_htable.h amxc_lqueue.h amxc_string_split.h | ||
PATH_SUFFIXES amxc | ||
) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
You don't need to list all of them, typically amxc.h
should be enough.
Also, typically you'd include it with #include <amxc/amxc.h>
so you should search directly for that file.
find_path(AMXC_INCLUDE_DIRS | |
NAMES amxc_llist.h amxc_string_join.h amxc_common.h amxc_rbuffer.h amxc_variant_type.h amxc_variant.h amxc_aqueue.h amxc_timestamp.h amxc_astack.h amxc_hash.h amxc_array.h amxc.h amxc_lstack.h amxc_string.h amxc_htable.h amxc_lqueue.h amxc_string_split.h | |
PATH_SUFFIXES amxc | |
) | |
find_path(AMXC_INCLUDE_DIRS NAMES amxc/amxc.h) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Applied. Only thing, that PATH_SUFFIXES
already point to the subdirectory which should be checked, so i am not sure that is worth to implicitly add amxc/amxc.h
.
CMakeLists.txt
Outdated
@@ -14,6 +14,7 @@ option (BUILD_AGENT "Build EasyMesh agent" ON) | |||
option (BUILD_CONTROLLER "Build EasyMesh controller" ON) | |||
|
|||
option(BUILD_SHARED_LIBS "Build shared libraries (.so) instead of static ones (.a)" ON) | |||
option (ENABLE_AMBIORIX "Include Bus agnostic API in the build" OFF) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
As I mentioned orally:
option (ENABLE_AMBIORIX "Include Bus agnostic API in the build" OFF) | |
option (ENABLE_HLAPI "Build the northbound (high-level) API" OFF) |
Also please turn it on in at least one build in CI.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Applied. Will resolve as commit to alter CI to check build with flag is added.
0ca22ec
to
81d14b9
Compare
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Maybe it is too early in the process, but I guess we don't want just hlapi.h
file that represents the entire high-level interface of prplmesh.
The HLAPI should be designed and it would probably end up with
namespace prplmesh::hlapi { /*...*/ }
and few classes and/or free functions within this namespace.
@@ -0,0 +1,43 @@ | |||
project(hlapi VERSION ${prplmesh_VERSION}) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe preceding with prplmesh_
?
project(hlapi VERSION ${prplmesh_VERSION}) | |
project(prplmesh_hlapi VERSION ${prplmesh_VERSION}) |
c6f7f8d
to
9f1c0d2
Compare
9f1c0d2
to
35f9570
Compare
81d14b9
to
43562cb
Compare
198f070
to
113da93
Compare
113da93
to
9a1ff0b
Compare
@Mergifyio rebase |
Add Findamxc.cmake file to locate AMXC library of BAAPI and relevant header files. Jira link: https://jira.prplfoundation.org/browse/PPM-300 Signed-off-by: Anton Bilohai <[email protected]>
Add Findamxb.cmake file to locate AMXB library of BAAPI and relevant header files. Jira link: https://jira.prplfoundation.org/browse/PPM-300 Signed-off-by: Anton Bilohai <[email protected]>
Add Findamxd.cmake file to locate AMXD library of BAAPI and relevant header files. Jira link: https://jira.prplfoundation.org/browse/PPM-300 Signed-off-by: Anton Bilohai <[email protected]>
Add Findamxj.cmake file to locate AMXJ library of BAAPI and relevant header files. Jira link: https://jira.prplfoundation.org/browse/PPM-300 Signed-off-by: Anton Bilohai <[email protected]>
Add Findamxo.cmake file to locate AMXO library of BAAPI and relevant header files. Jira link: https://jira.prplfoundation.org/browse/PPM-300 Signed-off-by: Anton Bilohai <[email protected]>
Add Findamxp.cmake file to locate AMXP library of BAAPI and relevant header files. Jira link: https://jira.prplfoundation.org/browse/PPM-300 Signed-off-by: Anton Bilohai <[email protected]>
Create new Hight Level API library, which should handle interactions with different system buses. Jira link: https://jira.prplfoundation.org/browse/PPM-300 Signed-off-by: Anton Bilohai <[email protected]>
Command
|
9a1ff0b
to
84eceea
Compare
Description
This PR intention is to introduce new HLAPI lib (High Level API) which should which links all BAAPI (Bus Agnostic API) libs.
hlapi
is yet optional for build, as we don't use it right now.Tested for Dummy build on CI. Flag was added by 113da93 commit. Job and pipeline.
Changes
Findamx?.cmake
files to locate each `amx(c/d/j...) lib.hlapi
lib and new flagENABLE_HLAPI
to build it.Note
As we don't need to build
hlapi
right now -ENABLE_HLAPI
flag isn't required yet, so no changes to regular build procedure used by CI and developers is required. Build in CI was done just for verification.Jira link: https://jira.prplfoundation.org/browse/PPM-300