Setting the GtkD Include Path in dexed?
Basile B.
b2.temp at gmx.com
Wed Mar 13 11:59:11 UTC 2019
On Tuesday, 12 March 2019 at 15:48:14 UTC, Ron Tarrant wrote:
> I managed to get dexed to compile a single-file dub project,
> but for completeness sake, I'm also trying to configure it to
> use dmd (non-dub) to compile GtkD projects using Compilation
> (menu) > Compile File and Run.
>
> To that end, I have two questions...
>
> Should I be supplying dexed with the include (read: import)
> path: /usr/include/dmd/gtkd3/
>
> Or the runtime: /usr/lib/x86_64-linux-gnu/libgtkd-3.so
>
> And where in dexed does one set the path so it can find a
> library such as gtkd?
There's two different things here.
1. "Compile File and Run"
It's for the scripts-like program, i.e single module. For this,
the dependencies must be registered in the "library manager". An
entry defines the import path (the dmd -I option), and the static
library file (*.a, *.lib depending on the platform), and a few
others fields.
When you execute the action "Compile File and Run", the source is
analyzed and the rights imports are automatically passed to DMD,
if the matching lib is registered in the libman.
2. Dexed projects.
The "native" project format was created before I understood that
DUB was the official way to make a D project so it's somewhat not
recommended to use it, although it works (for example at some
points I had translated non trivial projects, such as dlangUI, to
this format, and I still have a few stuff working using them).
In this case as you've been said you have the dmdOtherOpts, which
can be used to pass whatever you want and will be passed to DMD
as is, after (however) the IDE variables expansion.
see
https://basile-z.github.io/dexed/widgets_dexed_project_editor#other-options for more details.
But the dexed project format can also use the library manager. In
this case, just like for the "runnable modules" the libraries
must be registered in the library manager. Then you specify the
alias of the dependencies in the project, see
https://basile-z.github.io/dexed/widgets_dexed_project_editor#general-options (libraryAliases).
example:
https://github.com/Basile-z/kheops/blob/master/kheops.dprj#L58
___
Finally: the most important thing is to register the library in
the libman.
https://basile-z.github.io/dexed/widgets_library_manager#library-manager
More information about the Digitalmars-d-learn
mailing list