FRUT icon indicating copy to clipboard operation
FRUT copied to clipboard

Add Conan Support

Open PioBeat opened this issue 6 years ago • 5 comments

I want to use Conan as package manager for JUCE projects. Using FRUT to build my JUCE projects with CMake is very handy and useful when automating build processes.

Is it possible to integrate it in FRUT when converting a JUCE project with Jucer2Reprojucer or something alike? Then we could solely rely on conan as package manager, build and deploy tool alone.

PioBeat avatar Apr 15 '18 18:04 PioBeat

Hi @PioBeat,

Sorry for the week-long delay. I hope you are not blocked because of this.

What exactly do you expect from Conan support in FRUT? Do you want to use Conan to get the latest release of FRUT? Then I guess I should start working on making actual releases :smile: Do you want to use Conan to get the JUCE source files? That wouldn't really belong to FRUT, but I would be happy to drive an effort to get that contributed to JUCE.

Overall, I think supporting Conan is a very good idea and I'm thankful you brought it up. I'm just a bit unclear about what's the next meaningful step.

McMartin avatar Apr 22 '18 11:04 McMartin

Methinks PioBeat was meaning that the generated CMake files would be able to have the conan integration lines pre-included. However there's more than one way to do so: https://docs.conan.io/en/latest/integrations/build_system/cmake.html

kf6kjg avatar Nov 11 '19 08:11 kf6kjg

@kf6kjg thanks for joining the conversation!

I don't mind adding an option to Jucer2Reprojucer so it writes

include("${CMAKE_BINARY_DIR}/conanbuildinfo.cmake")
conan_basic_setup(TARGETS)

at the top of the generated CMakeLists.txt file. However, I'm still unclear about what would be written in the conanfile.txt and what targets would be provided by Conan.

McMartin avatar Nov 14 '19 09:11 McMartin

The conanfile stores the dependency information. See https://github.com/HalcyonGrid/aperture/blob/master/conanfile.txt for one I created. It’s typically managed using the Conan CLI tooling and does not have to be auto generated. However I’d probably make the inclusion of the Conan integration dependent on the existence of the conanfile.

From the perspective of CMake integration the Conan stuff is a black box. What that black box does is project specific.

kf6kjg avatar Nov 15 '19 17:11 kf6kjg

I'm also looking for Conan support. I would like to be able to resolve Conan packages with FRUT, such that library and header paths in a VS/Xcode/Makefile project point to ~/.conan/data/<some_package_name>/....

izzyreal avatar Apr 19 '20 05:04 izzyreal