Generic name for built plugin library
I have an internal game plugin library that contains code as well as blueprint assets. With perforce I'm able to insert this plugin (through a single perforce folder) into a bunch of different projects. The problem is that when I make changes to the code and blueprints, I will need to update the binaries and distribute them (again through a single perforce folder) along with my blueprints to my artists and designers. When I build the plugin (for both editor and package building) while in any specific project (for example, my Showroom project), I get the following list of files to provide to my artists/designers...
The issue is the Showroom-NurulizeComponents-Static.lib. Because of the Showroom prefix, other projects won't be able to find the static library. Additionally, I don't want to have to build (and distribute) the project named static library for every project that we have.
Is there a way to make the lib name generic so it can be used across a multitude of projects? How are 3rd party libraries doing this? Is there an option to make a generic named library or dll within the Unreal Build System?
asked May 05 '15 at 07:43 PM in Packaging & Deployment
ShouldUseSharedBuildEnvironment (https://answers.unrealengine.com/questions/274542/distributing-plugin-without-source.html) appears to be what I was looking for in this specific issue. My initial tests indicate that ShouldUseSharedBuildEnvironment does create non-project specific named libraries. But I've not had time to fully test out the ability to swap those libraries among projects.
answered Oct 12 '15 at 04:54 PM
Were you able to find an answer you were looking for?
If you haven't taken a read through it already, we have updated our Packaging documentation a bit. Let me know if you still need help.
answered Oct 11 '15 at 07:12 PM
Guys, if anyone is looking for at this post UE 4.16, there has been a change. According to the changelog in UE 4.20 source code:
The TargetRules.ShouldUseSharedBuildEnvironment() function has been deprecated. Targets can now specify the build environment they wish to use by setting BuildEnvironment to TargetBuildEnvironment.Default/Shared/Unique in their constructor instead.
I've manage to succeed with this line in my .Target.cs file right after:
Good luck because this is severely under-documented everywhere.
Follow this question
Once you sign in you will be able to subscribe for any updates here