Login
Username:

Password:

Remember me



Lost Password?

Register now!
Main Menu
H3D.org Feeds


Browsing this Thread:   1 Anonymous Users






Packaging H3DAPI application
#1
Quite a regular
Quite a regular


See User information
Hi,

We are now approaching "version 1" of our application that uses H3DAPI, and we are now looking for a
smooth solution that allows us to create an "installer" file for our application. I've searched the
forum and the manual without successfully finding any information about this. So I starts to wonder if it is
possible to make an installer file for an application using H3DAPI?

So I do start to wonder how you package your H3DAPI applications? What tools/frameworks do you use?
And are these open for public or is it your own and not attributable? How can you make "patch-files" for
updates to an application?

The reason that I ask is that we are looking for a commercial solution to "hide away" our source code
for the application (Python and X3D) to not be as easily accessible as it is today. My impression is that
it is only possible to compile the python code into .pyc files and leave the x3d-files as is. Is that true
or is there more powerful ways to "hide away" the source code?

Please return if something is unclear or need more explanation of what I mean. Have a nice day!

//Emil




Posted on: 3/6 16:33
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#2
Webmaster
Webmaster


See User information
We use a combination of CPack and NSIS for packing up the GPL releases of H3D.

You can use whatever you want to pack up a distribution. Just make sure all the dlls that are needed are packed with it as well as running the required python/msvc redist and openal installers.
Alternatively you use some packing system which installs H3D (i.e uses the H3D installer) and then just places your files somewhere, but I would not recommend that.

Regarding "hiding away" source code. H3D is released open source unde the GPL license. This means that you need to check the GPL license and comply with it. A short abbreviation of it is basically that if you use GPL libraries to develop your application, your application itself also have to be released under GPL, i.e. not closed source.

For commercial releases that are closed source one have to contact SenseGraphics to get a license.

Posted on: 4/20 7:54
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#3
Quite a regular
Quite a regular


See User information
Yes, we have a commercial license, does that affect which packaging program we can use?

Are there special releases of H3D for commercial use?

Is it possible to hide away the python/x3d code to greater extent than compiled python files (.pyc)? Since our application only uses these to 99%

Posted on: 4/20 13:35
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#4
Webmaster
Webmaster


See User information
No it does not affect which packaging program you can use, you can do whatever you like.

And yes you can just use .pyc-files. However the main file started from H3DLoad/H3DViewer probably have to be a .py file.

Apart from that you can modify H3DLoad to your hearts content to add encryption of x3d files and such.
Note also, that if you use stock H3DLoad/H3DViewer to start your application then the H3D_ROOT that is set on the system will decide the settings for your program, if that is what you want it is fine, but otherwise you might get conflicts that you do not want.

There are no special versions of H3D compiled for commercial use. Note that the GPL release of H3D is exactly that, a GPL release. You can not link against the prebuilt (PREBUILT) binaries that come with that one and be GPL free because it links against libraries not included in a commercial license from SenseGraphics (i.e Chai3d).
You have to build your own version of H3DAPI for use with your application.
If this is something you need help with then contact SenseGraphics directly.

Posted on: 4/20 14:41
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#5
Quite a regular
Quite a regular


See User information
Thank you for the information!

Posted on: 4/20 15:18
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#6
Quite a regular
Quite a regular


See User information
Hi again!

I have read your latest message some times now again, and correct me if I'm wrong now.

I have to build H3D myself from source because the binaries the you provide links against some GPL-libraries.
If I build H3D myself is there any GPL-libs that will be included in the build by default, not changing anything in the CMake config?

Are all the libs in External/ fine to use in a commercial release?


Posted on: 4/27 14:30
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#7
Webmaster
Webmaster


See User information
chai3d is gpl license. There is a cmake flag named H3D_INCLUDE_GPL_EXTERNALS in our builds which you should disable. And also make sure that it does its job, which currently is to disable chai3d.

The rest of the externals are lgpl or more permissive. It is up to you and your company to make sure that the program your distribute does not break any licenses.
I would recommend to disable any external features that you do not use in your application. Disabling can be done by either manually removing paths in the cmake setup, removing things from External that you do not want (so it is not found by default) or, the best solution, modify the top CMakeLists.txt so that it contains entries like:
SETDHD_INCLUDE_DIR "" CACHE PATH "" FORCE )

Posted on: 4/28 9:58

Edited by Markus on 2017/4/28 15:43:46
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#8
Quite a regular
Quite a regular


See User information
Should I not Disable the H3D_INCLUDE_GPL_EXTERNALS flag? (Currectly enabled)

CMake does not find the Chai3D paths anyway in our build so I guess it is not included.

Is there some easy way to determine which libs we use?
Is there a list (or something) telling what the different libs do and in which part of H3D they are used?
Or is it just to go through them all?

Thanks for the informative replies!

Posted on: 4/28 11:07
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#9
Webmaster
Webmaster


See User information
Sorry, yes disable it, I corrected my answer above for future reference.

Right, cha3d is probably not built for vs2015 since you were using that external.

H3DUtil.h, HAPI.h, H3DAPI.h and H3DPhysics.h all have "HAVE_XYZ" style defines which features are enabled.

Posted on: 4/28 15:45

Edited by Markus on 2017/5/5 14:22:04
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top


Re: Packaging H3DAPI application
#10
Quite a regular
Quite a regular


See User information
Thank you, will check through that!

Posted on: 5/1 11:30
Twitter Facebook Google Plus Linkedin Del.icio.us Digg Reddit Mr. Wong Top







You can view topic.
You cannot start a new topic.
You cannot reply to posts.
You cannot edit your posts.
You cannot delete your posts.
You cannot add new polls.
You cannot vote in polls.
You cannot attach files to posts.
You cannot post without approval.
You cannot use topic type.
You cannot use HTML syntax.
You cannot use signature.
You cannot create pdf.
You cannot get print page.

[Advanced Search]





(C) 2012 SenseGraphics AB    ---    Powered by XOOPS