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

cigi-cl: new recipe #24810

Merged
merged 12 commits into from
Aug 23, 2024
Merged

Conversation

luizfeldmann
Copy link
Contributor

@luizfeldmann luizfeldmann commented Aug 4, 2024

Summary

Specify library name and version: cigi-cl/4.0.6a

Motivation

From Wikipedia:

The Common Image Generator Interface (CIGI) (pronounced sig-ee), is an on-the-wire data protocol that allows communication between an Image Generator and its host simulation. The interface is designed to promote a standard way for a host device to communicate with an image generator (IG) within the industry.

In the past most image generators provided their own proprietary interface; every host had to implement that interface making changing image generators a costly ordeal. CIGI was created to standardize the interface between the host and the image generator so that little modification would be needed to switch image generators. The CIGI initiative was largely spearheaded by The Boeing Company during the early 21st century.

The latest version of CIGI (CIGI 4.0) was developed by the Simulation Interoperability Standards Organization (SISO) in the form of SISO-STD-013-2014

CIGI Class Library: The CCL is an object-oriented software interface that automatically handles message composition and decomposition (i.e. packing, unpacking and byte swapping to the ICD specification) on both the Host and Image Generator sides of the interface. The CCL interprets Host or Image Generator messages based on compile time parameters. It also performs error handling and translation between different versions of CIGI.

Details

This is a recipe for the reference implementation of the CIGI protocol.
The library is hosted on SourceForge, and unfortunately is a bad case of migration to CMake, having some issues like: using Windows' path separators, not properly declaring cmake_minimum_required and also declaring two separate targets for the shared and static libraries instead of relying on BUILD_SHARED_LIBS.
This demanded some use of the replace_in_file to patch the CMakeLists.txt and leave it in a usable state (it might have worked as-is in CMake 2.x but not anymore...).

Despite being somewhat old (latest standard from 2014), CIGI is highly relevant in the niche of flight simulators.
Having this in conancenter would greatly help the use case of conan in the training & simulation industry.


@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

@luizfeldmann
Copy link
Contributor Author

Apparently the _NP in PTHREAD_RECURSIVE_MUTEX_NP means a non-portable extension, which is not supported by Apple as stated here. An inspection of the code shows it's indeed not provided. Therefore, updated recipe so that validate() will report Apple is not supported.

@conan-center-bot

This comment has been minimized.

Copy link
Contributor

github-actions bot commented Aug 4, 2024

Hooks produced the following warnings for commit f417bc5
cigi-cl/4.0.6a@#478f89e59f250de7ba182572c1a102ca
post_package(): WARN: [MISSING SYSTEM LIBS (KB-H043)] Library './lib/libccl_dll.so' links to system library 'm' but it is not in cpp_info.system_libs.

Copy link
Member

@uilianries uilianries left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@luizfeldmann Thank you for submitting this new recipe. Please, take a look in my review.

recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
recipes/cigi-cl/all/conanfile.py Outdated Show resolved Hide resolved
@conan-center-bot

This comment has been minimized.

@conan-center-bot

This comment has been minimized.

Copy link
Member

@uilianries uilianries left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM. Ótimo, muito obrigado!

@conan-center-bot
Copy link
Collaborator

Conan v1 pipeline ✔️

All green in build 7 (357e5beaec3f677c49bb9d4b2816aac6beb0d6b9):

  • cigi-ccl/4.0.6a:
    All packages built successfully! (All logs)

Conan v2 pipeline ✔️

Note: Conan v2 builds are now mandatory. Please read our discussion about it.

All green in build 7 (357e5beaec3f677c49bb9d4b2816aac6beb0d6b9):

  • cigi-ccl/4.0.6a:
    All packages built successfully! (All logs)

Copy link
Member

@AbrilRBS AbrilRBS left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks!

@conan-center-bot conan-center-bot merged commit cf1fb2e into conan-io:master Aug 23, 2024
12 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants