On Wed, 04 Dec 2013 18:11:01 GMT, Bruno Deligny wrote:

Hi,

I have an executable projet that depend on a static library project. They are all in the same github repo:
https://github.com/bdeligny/DQuick.git on branch "dub"

My two package.json are:

(...)

But i get this error:
Error: conflicting Ddoc and obj generation options

If i check the dmd command line called by dub with -v option i get:
dmd -of.dub\build\application-debug-x86-dmd-DA39A3EE5E6B4B0D3255BFEF95601890AFD80709\image.exe -c -of.dub\build\application-debug-x86-dmd-DA39A3EE5E6B4B0D3255BFEF95601890AFD80709\image.obj -debug -g -wi -version=Haveimage -version=Havelibdquick -I.\ -I....\dquick -J....\dquick\renderer2D\openGL main.d ....\dquick\algorithms\atlas.d ....\dquick\algorithms\scheduler.d and then all the d files

Thanks in advance.

I've adjusted the files from the repository so that it works properly when registered in the registry - the library should always be in the root package.json file. It also cleans up a few other things. The problem that remains is that the API of the current "derelict" package (which is supposed to be replaced by separate "derelect-xxx" packages, but "derelict-il" is missing so far) seems to be a different version than the library expected (there are some compiler errors). But apart from that, everything seems to work nicely:

/package.json:

{
	"name": "dquick",
	"description": "A GUI library written in D.",
	"authors": ["Bruno Deligny", "Xavier Bigand"],
	"homepage": "https://github.com/D-Quick/DQuick",
	"license": "BSL-1.0",
	"sourcePaths": ["src/dquick"],
	"stringImportPaths": ["src/dquick/renderer2D/openGL"],
	"buildRequirements": ["allowWarnings"],
	
	"dependencies": {
		"gl3n": "~master",
		"derelict": "~master"
	},

	"configurations": [
		{
			"name": "library",
			"targetType": "library",
			"excludedSourceFiles": ["src/dquick/main.d"]
		},
		{
			"name": "unittest",
			"targetType": "executable",
			"mainSourceFile": "src/dquick/main.d"
		}
	]
}

/src/samples/image/package.json:

{
	"name": "image",
	"targetType": "executable",
	"dependencies": {
		"dquick": {"version": "~master", "path": "../../../"}
	},
	"mainSourceFile": "main.d",
	"sourcePaths": ["./"],
	"importPaths": ["./"]
}

One thing that I've removed is the explicit "version" field. It shouldn't normally be there, as the version is inferred from the branch/tag name.