D Development Process

What is the recommended development process for D programs that use packages that are cloned from github and separately built?

Typically in relation to how C/C++ projects are built using make, autotools, cmake, etc.

Most other build specifications have an install target. Should there be an install target in the build or should we just link a library directly from where it is placed when built and add register its includes in D_INCLUDE_PATH and then direct to them using DFLAGS=-I<D_INCLUDE_PATH> ?


I realise my comment can actually be an answer to the question, so here it is:

D development process can't be different than similar in C or C++ world. Is that really difficult to see? Almost all C and C++ compilers generate "native" code. D is not an exception. There was the D.NET project that could target .NET, but it is inactive for years...

Furthermore, all tools used in C/C++ based projects can be easily used for anything else. CMake can be used in Java or .NET projects as well. Same goes for Make and/or Autotools. Why are Maven and Ant more popular in Java world is a different story.

Speaking about them, you can use Maven or Ant in the D development process! Hands down, you need to write your own Maven plugins to make it more easy and flexible, but it is doable, and would in fact be a very nice project.

From what I have seen, D programmers stick to the good, old Make, or write BASH script to do the whole thing. However, I've seen people from the Lycus foundation use WAF. If you are Python programmer, you will just LOVE WAF. If not, try similar things - I've seen people use SCons, Remake, Premake, etc...

DSSS+Rebuild is the closest thing to a very useful such tool made with D. Unfortunately they are dead projects. :(

I am working on a maven-style tool, but considering the amount of time I have - it will be usable in 2014. :)


I would go with scons, which has support for D, thanks to Russel Winder:

http://scons.tigris.org/ds/viewMessage.do?dsForumId=1268&dsMessageId=2959039

If not, then POM (plain old make).

链接地址: http://www.djcxy.com/p/68398.html

上一篇: 是否有一个好的C ++库来读取,创建和修改BER编码文件?

下一篇: D开发过程