DUB, Platform specifications and dependencies

Zardoz via Digitalmars-d-learn digitalmars-d-learn at puremagic.com
Mon Nov 30 12:27:50 PST 2015


On Monday, 30 November 2015 at 16:54:43 UTC, Sönke Ludwig wrote:
> Am 24.11.2015 um 19:51 schrieb Zardoz:
>> Actually I'm trying to setup dub to not grab a dependency on 
>> Windows (
>> https://github.com/Zardoz89/DEDCPU-16/blob/master/dub.sdl ) :
>>
>> name "dedcpu"
>> authors "Luis Panadero Guardeño"
>> targetType "none"
>> license "BSD 3-clause"
>> description "DCPU-16 tools"
>>
>> subPackage {
>>    name "lem1802"
>>    description "Visual LEM1802 font editor"
>>    targetType "executable"
>>    targetName "lem1802"
>>    excludedSourceFiles "src/bconv.d"
>>    excludedSourceFiles "src/ddis.d"
>>    dependency "gtk-d:gtkd" version="~>3.2.0" platform="posix"
>>    libs "gtkd" platform="windows"
>> }
>>
>> ...
>>
>> How ever, running dub on Windows (tested on two different 
>> machines),
>> ignores platform specification for gtk-d dependency . What I'm 
>> doing
>> wrong ?
>
> Platform specifications are currently not supported for 
> dependencies due to the way the dependency resolver works. 
> However, it is possible to use platform specific configurations 
> for this purpose:
>
> name "dedcpu"
> authors "Luis Panadero Guardeño"
> targetType "none"
> license "BSD 3-clause"
> description "DCPU-16 tools"
>
> subPackage {
>    name "lem1802"
>    description "Visual LEM1802 font editor"
>    targetType "executable"
>    targetName "lem1802"
>    excludedSourceFiles "src/bconv.d"
>    excludedSourceFiles "src/ddis.d"
>    libs "gtkd" platform="windows"
>
>    configuration "nogtk" {
>       platforms "windows"
>    }
>
>    configuration "gtk" {
>       platforms "posix"
>       dependency "gtk-d:gtkd" version="~>3.2.0"
>    }
> }

Thanks!! I ended doing some minor change to get it working :

subPackage {
   name "lem1802"
   description "Visual LEM1802 font editor"
   excludedSourceFiles "src/bconv.d"
   excludedSourceFiles "src/ddis.d"

   configuration "nogtk" {
     targetType "executable"
     targetName "lem1802"
     platform "windows"
     libs "gtkd"
   }

   configuration "gtk" {
     targetType "executable"
     targetName "lem1802"
     platform "posix"
     dependency "gtk-d:gtkd" version="~>3.2.0"
   }
}



More information about the Digitalmars-d-learn mailing list