Excellent! This gives me some confidence that this will work for me. Since it has been done before, hopefully won't have to fight too hard to get this working.
Do you have any sample ivy files you could share that would nudge me in the right direction? Last time I checked I couldn't find any examples on the Ivy site or via google that did this sort of thing. Just the first couple steps would be helpful. I have very little experience with Ivy.. basically only for simple Java projects and Ivy + Ant (+the IvyBeans NetBeans plugin) magically do what I want. Things end up on my classpath and I don't know exactly how that happens. Something as as simple as the right way to do the post-processing Ant task to unzip header files and how you set your <module>_INCLUDE_DIR would be helpful. I've already got Ant calling out to Visual Studio - it a matter of getting the build environment configured with all the dependencies that I'm working out at this point. Thanks, Scott On 2011-04-11, at 3:00 PM, Shawn Castrianni wrote: > I have posted several messages to this user group concerning this topic. > Here is a short summary of what I have done: > > 1. Use IVY configurations to separate out the different artifacts for the > different platforms > 2. I zip up the header files and run a post-processing ant task to unzip them > after the IVY resolve and retrieve are complete > 3. I leave the dll's and so's as separate artifacts specifying their correct > configuration so that when downloading artifacts on win32, only win32 > artifacts are retrieved > 4. I set ant properties called <module>_INCLUDE_DIR and <module>_BINARY_DIR > that point to the include and "bin/<platform>" subdirectories so that include > paths and library paths can be set more easily > 5. I build everything in ANT which either call visual studio devenv command > line utility to build from the vcproj files on windows OR do one of three > things on unix platforms. > a. use exec to call the compiler commands directly > b. use exec to call legacy build scripts like make > c. use cpptasks > > It all works very well. > > --- > Shawn Castrianni > > > -----Original Message----- > From: Scott Palmer [mailto:[email protected]] > Sent: Monday, April 11, 2011 1:44 PM > To: [email protected] > Subject: Ivy for C/C++ libraries > > I want to use Ivy to manage some projects that use both Java and C+_+. For > the C++ side we have several 3rd-party SDKs that we need to use. These > basically contain header files (.h) and lilbraries for linking (.lib) and DLL > files needed to deploy. > > I was thinking of storing the 3rd-party SDKs as ZIPs and have some automated > process to un-zip them to a known location e.g. %SDKS%\module_name\* so the > C++ code could find them. But if it is easier to deal with the individual > files as assets then I could do that as well. > > Is there any sort of sample or tutorial that would help cover this case? > It seems the examples are very java-centric, I am likely not going to be > using Ant when building the native parts of the project, so I would like to > call Ivy directly.. but I'm not against making an Ant wrapper that invokes > the native build process as well. > > Regards, > > Scott > > ---------------------------------------------------------------------- > This e-mail, including any attached files, may contain confidential and > privileged information for the sole use of the intended recipient. Any > review, use, distribution, or disclosure by others is strictly prohibited. > If you are not the intended recipient (or authorized to receive information > for the intended recipient), please contact the sender by reply e-mail and > delete all copies of this message.
