Comments (4)
Thanks for the report, but Fruit is currently not supported on Windows due to compiler bugs. See #9.
Once those are resolved I'll fix any remaining issues (including the build error you mentioned) but for now there's no chance Fruit would work anyway.
Closing this bug as duplicate.
from fruit.
Ok, thanks!
It will be excellent to have Windows support at some point. I've been looking for a good DI container for some time now.
As an aside, what is the preferred way to pull Fruit into another CMake project? Currently, I've got:
set(FRUIT_LIBRARY /usr/local/lib/libfruit.so)
INCLUDE_DIRECTORIES(/usr/local/include/fruit/)
Is it possible to use find_package
? I'm unsure if make install
can be configured as such?
from fruit.
As an aside, what is the preferred way to pull Fruit into another CMake project?
If you use the binary packages (or if you compile from source and install in the same locations), target_link_libraries(<target> fruit)
does the trick.
If you want to install Fruit in /usr/local
instead for some reason, I'm not sure. If you want to use find_package, you'll have to write a FindFruit.cmake file (shouldn't be too hard, but Fruit doesn't ship with one).
from fruit.
I wrote a little cmake code to find fruit. Hope it helps.
First set hint dir and find_package
commands:
...
set(FRUIT_INSTALLED_DIR "path to /usr"
...
find_package(fruit REQUIRED)
...
Then write a FindFriut.cmake
module (only tested on Linux for now).
find_path(FRUIT_INCLUDE_DIR fruit.h
HINTS FRUIT_INSTALLED_DIR
PATH_SUFFIXES include/fruit include fruit
)
find_library(FRUIT_LIBRARY
NAMES fruit
HINTS FRUIT_INSTALLED_DIR
PATH_SUFFIXES lib ${FRUIT_INSTALLED_DIR}
)
include(${CMAKE_MODULE_PATH}/FindPackageHandleStandardArgs.cmake)
FIND_PACKAGE_HANDLE_STANDARD_ARGS(fruit DEFAULT_MSG FRUIT_LIBRARY FRUIT_INCLUDE_DIR)
from fruit.
Related Issues (20)
- what should I do to use a string as an annotion of some bind? HOT 3
- VS2022 Just My Code for Fruit Library fails using CMAKE HOT 6
- Create a fruit::Component by iterating over a list of fruit::Components HOT 7
- Can fruit be used with C language? HOT 2
- Handling lifetimes HOT 6
- Providing non-injected arguments to DI Objects HOT 14
- Build fails with Visual Studio 2022 with C++20 HOT 8
- Fruit with QT HOT 4
- Factories with reference types broken in fruit 3.7.0
- Generic binding? HOT 2
- Defining Factory Functions for Objects with Multiple Constructors HOT 11
- Replace boost HOT 1
- Creating Collections of DI Objects HOT 3
- [Suggestion] ExtractFirstError meta function SHOULD be non-error safe HOT 2
- Can no longer build examples in VS2022 Preview built by Visual Studio, VS CMake builds OK HOT 7
- Examples miss virtual dtor
- bindInstance with copy HOT 13
- Understanding Compiler error messages in Fruit HOT 6
- Adding a special constructor to one implementation of an interface HOT 13
- Unable to build with Bazel on Linux HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fruit.