comms icon indicating copy to clipboard operation
comms copied to clipboard

FYI: vcpkg

Open mathisloge opened this issue 5 years ago • 20 comments

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.

https://github.com/microsoft/vcpkg/pull/14521

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

https://github.com/microsoft/vcpkg/pull/14523

It should be merged soon.

mathisloge avatar Nov 11 '20 14:11 mathisloge

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).

arobenko avatar Nov 11 '20 22:11 arobenko

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 avatar Nov 11 '20 22:11 mathisloge

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.

mathisloge avatar Nov 11 '20 23:11 mathisloge

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 avatar Nov 11 '20 23:11 arobenko

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.

arobenko avatar Nov 11 '20 23:11 arobenko

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 avatar Nov 11 '20 23:11 mathisloge

Merged the new versions.

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

mathisloge avatar Nov 14 '20 15:11 mathisloge

Good job, thanks

arobenko avatar Nov 14 '20 23:11 arobenko

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.

arobenko avatar Nov 20 '20 08:11 arobenko

Hi Alex, thanks for letting me know. Will update today in the evening.


From: Alex Robenko [email protected] Sent: Friday, November 20, 2020 9:21:05 AM To: commschamp/comms_champion [email protected] Cc: Mathis Logemann [email protected]; Author [email protected] Subject: Re: [commschamp/comms_champion] FYI: vcpkg (#13)

Hi Mathis, Just want to let you known that I introduced some urgent hotfix (was required at my workplace) which allows to build commsdslhttps://github.com/commschamp/commsdsl without having comms_championhttps://github.com/commschamp/comms_champion as a dependency (see v3.5.4https://github.com/commschamp/commsdsl/releases/tag/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 and warnings enabled), but keeping this option ON won't make much of a difference.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub<commschamp/comms#1>, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ADHNTFGDORU42TWJ4JZ4HMDSQYRHDANCNFSM4TSBHU3Q.

mathisloge avatar Nov 20 '20 10:11 mathisloge

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.

arobenko avatar Dec 15 '20 07:12 arobenko

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 avatar Dec 15 '20 19:12 mathisloge

updated comms_champion to 3.1.4 updated commsdsl to 3.6.1

mathisloge avatar Apr 29 '21 20:04 mathisloge

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

mathisloge avatar Apr 29 '21 21:04 mathisloge

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.

arobenko avatar May 09 '22 22:05 arobenko

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

mathisloge avatar May 10 '22 04:05 mathisloge

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".

arobenko avatar Aug 23 '22 22:08 arobenko

Will update next week 👍

mathisloge avatar Aug 24 '22 18:08 mathisloge

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.

arobenko avatar Nov 15 '22 22:11 arobenko

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.

mathisloge avatar Nov 28 '22 14:11 mathisloge