Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FYI: vcpkg #1

Closed
mathisloge opened this issue Nov 11, 2020 · 20 comments
Closed

FYI: vcpkg #1

mathisloge opened this issue Nov 11, 2020 · 20 comments

Comments

@mathisloge
Copy link

Hi Alex,

I've just updated the commschamp and commsdsl libs.
Most patches are gone now. But I needed to patch the CC_CMAKE_DIR of the commsdsl project.

microsoft/vcpkg#14521

In addition to that i've added the comms.ublox project. (the generated one)

microsoft/vcpkg#14523

It should be merged soon.

@arobenko
Copy link
Member

Hi Mathis,
Thanks for letting me know.
I've taken a quick look inside your pull requests and I think you missed "-D" prefix to some of the options:

vcpkg_configure_cmake(
        ...
        -OPT_NO_COMMS=ON
        -OPT_EXTERNALS_UPDATE_DISCONNECTED=ON
)

Also not that I finally started working on ublox-9 platform support, depending on number of required changes I'd say it will take about 2 - 4 weeks to finalize. I'll probably do it as 0.19.2 release (mostly because I want all the example cc.X.commsdsl and cc.X.generated projects to have the same major/minor versions).

@mathisloge
Copy link
Author

Oh yeah, thats an issue. Thanks for taking a view.

I've saw the work on the feature branch. Sorry for not finishing the work on my PR last year. I had to shift my focus on other projects last year.

As soon as you will update the library, I'll make a new PR at vcpkg to update 👍

@mathisloge
Copy link
Author

Should I add the other mqtt libraries aswell?

I've added the ublox because I don't really know any other library for the ubx protocol. Especially the new ubx-9.

@arobenko
Copy link
Member

arobenko commented Nov 11, 2020

Don't think so, people usually want a MQTT client library to work with, not the protocol definition one. These protocol projects are just examples of how to use CommsChampion Ecosystem. There are heaps of other mqtt client libraries out there.

I have mqtt-sn project which uses cc.mqttsn.generated and cc.mqtt311.generated protocol definitions to implement MQTT-SN client and gateway libraries. However, this project is not widely popular and not battle tested in the production environment, so I assume there will be little interest from other people to have it inside the vcpkg (or conan), at least for now.

@arobenko
Copy link
Member

Also if you feel like contributing more, and you have some other open standard binary protocol that you are using in the commercial environment you can try to create the relevant cc.X.commsdsl and cc.X.generated projects yourself. Then we can put them inside the CommsChampion Ecosystem github organization. I'll assign you as owner/maintainer of these projects.

@mathisloge
Copy link
Author

mathisloge commented Nov 11, 2020

Okay. Thanks for the feedback.

I will look at how open we can be in that case. But I plan some private projects. There might be some protocols 👍

I think I will let this issue open to just post future vcpkg port updates. Or would you like to handle it differently?

@mathisloge
Copy link
Author

Merged the new versions.

Added comms-ublox install with
$> vcpkg install comms-ublox

@arobenko
Copy link
Member

Good job, thanks

@arobenko
Copy link
Member

arobenko commented Nov 20, 2020

Hi Mathis,
Just want to let you known that I introduced some urgent hotfix (was required at my workplace) which allows to build commsdsl without having comms_champion as a dependency (see v3.5.4 release notes). Using the same opportunity I also introduced a fix you applied as patch in vcpkg.

If you want to create a pull request for this fix I recommend the following updates:

  • Remove fix-cmake-cmakedir-path.patch
  • Remove comms from the list of dependencies inside the vcpkg.json
  • Update the portfile.cmake to have the following cmake options:
vcpkg_from_github(
    ...
    REF v3.5.4
    ...
)
vcpkg_configure_cmake(
    SOURCE_PATH ${SOURCE_PATH}
    PREFER_NINJA
    OPTIONS
        -DCOMMSDSL_NO_COMMS_CHAMPION=ON
        -DCOMMSDSL_NO_TESTS=ON
        -DCOMMSDSL_NO_WARN_AS_ERR=ON # remove on next version or on next version of boost
)

Probably the "-DCOMMSDSL_NO_WARN_AS_ERR=ON" won't be needed as well (because lack of comms_champion forced the commsdsl to get compiled without any warnings enabled), but keeping this option ON won't make much of a difference.

@mathisloge
Copy link
Author

mathisloge commented Nov 20, 2020 via email

@arobenko
Copy link
Member

Hi @mathisloge,
Just FYI, new releases of COMMS Library (v3.1.3), commsdsl (v3.6), and cc.ublox.generated with ublox-9 support (v0.20) are available.

@mathisloge
Copy link
Author

Hi @arobenko
thanks for the ublox-9 update!
if i have some time during my holiday, i will start a gui for gps / ublox devices so you can play around with rtk a bit. I will post the link to the github repo here. ubx-9 will be in there too. Could be a nice example

@mathisloge
Copy link
Author

updated comms_champion to 3.1.4
updated commsdsl to 3.6.1

@mathisloge
Copy link
Author

oh just saw, that new releases just came out. :D
Will update to the new ones.

@arobenko
Copy link
Member

arobenko commented May 9, 2022

Hi @mathisloge,
Just to let you know that I deprecate the "comms_champion" repository by splitting the contents into two separate ones for
COMMS Library and CommsChampion Tools.

@mathisloge
Copy link
Author

Hi Alex,
that looks good.
I will update the ports at vcpkg 👍

@arobenko
Copy link
Member

Hi @mathisloge,
Just want to let you know that v5.0 of the comms library as well as commsdsl code generators is out. Their main purpose was to support ASN.1 encodings (requested here). The ublox project also was released requiring dslVersion="5".

@mathisloge
Copy link
Author

Will update next week 👍

@arobenko
Copy link
Member

HI @mathisloge,
Just want to let you know that I decided to support the vcpkg by creating a separate repository, which can be used as an overlay to the official vcpkg ports. It gives me a full control over the versions and recipes without a need to constantly submit the pull requests for the upstream updates.

By the way I support not only vcpkg, but also yocto, buildroot, and conan.

@mathisloge
Copy link
Author

Hi @arobenko

sorry for the late response. Currently I've not so much time for my open source activities. Sorry for not working on this reliably.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants