conan-io / wishlist

This repo is to propose libraries, frameworks, and code in general that users would like to have in conan
MIT License
49 stars 5 forks source link

reproc and reproc++ - Cross-platform control of external processes #181

Open solvingj opened 5 years ago

solvingj commented 5 years ago

https://github.com/DaanDeMeyer/reproc

CMake No dependencies supports static and dynamic

DaanDeMeyer commented 5 years ago

I was wondering how Conan prefers EXPORT macro's (declspec) to be handled when both static and dynamic are supported (since the EXPORT macro's differ depending on whether the library is shared or static). Previously reproc required the user to define REPROC_SHARED if he was using reproc as a shared library but I've recently changed to generating a file with the EXPORT macro's using CMake depending that generates the EXPORT macro's file based on the value of CMake's BUILD_SHARED_LIBS.

The advantage of this approach is that REPROC_SHARED doesn't have to be defined anymore when using reproc as a shared library. The disadvantage is that different EXPORT macro header files are required for the static and shared library of reproc (the export header generated when building reproc as a static library can't be used with reproc as a shared library and vice versa).

Does Conan prefer one of these solutions or does Conan use a completely different approach?

zamazan4ik commented 4 years ago

@DaanDeMeyer are you still interested in packaging your library to Conan? Seems like Conan devs just lost this thread.

DaanDeMeyer commented 4 years ago

I'm certainly willing to help someone looking to package reproc for conan but I've never used conan myself so I'm expecting someone whose more experienced with conan and who will actually benefit from this to get this effort started.

If anything is unclear, just make an issue in the reproc repository and I'll happily answer questions or fix things in reproc's CMake scripts to make packaging for conan simpler.

danimtb commented 4 years ago

The best thing would be to start with a simple recipe for https://github.com/conan-io/conan-center-index even if it only supports few configurations, it should be something :)