Giter VIP home page Giter VIP logo

twistedmove / generalde Goto Github PK

View Code? Open in Web Editor NEW

This project forked from calendar617/generalde

0.0 1.0 0.0 69.07 MB

GeneralDE是为个人开发打造的开发环境,其设计目标是在做新项目时不需要从头写Makefile,只需要在GeneralDE的基础上增加项目需要的模块就好。 GeneralDE不是设计为一个工具,可以在其他地方使用,而是设计为一个环境,可以方便的接入其他工具。为开发人员的开发过程提供支持。

generalde's Introduction

GeneralDE

GeneralDE是为个人开发打造的开发环境,其设计目标是在做新项目时不需要从头写Makefile,只需要在GeneralDE的基础上增加项目需要的模块就好。 GeneralDE不是设计为一个工具,可以在其他地方使用,而是设计为一个环境,可以方便的接入其他工具。为开发人员的开发过程提供支持。

支持环境

开发环境

  • Linux32
  • Linux64
  • mac
  • iphone-simulate

开发语言

  • c
  • cpp
  • m (objective-c)
  • mm (objective-c++)

使用说明

目录结构说明

  • buildtools 存放编译系统支持Makefile
  • include 存放个人开发的支持库的头文件
  • src 存放个人开发的支持库的实现文件
  • 3rdTools 存放在环境中跟踪的知名第三方库,每一个库都以一个子目录的形式存在,目录名为库名

背景

我一直使用Makefile进行开发,而且对Makefile非常满意,没有任何意愿迁移到任何其他的编译系统。 而且个人总是对编译系统有诸多的需求,一直在通过Makefile扩展。 但是在不同项目中重复开发Makefile,并且Make系统设计细节不太相同,所以在多个项目之间切换就比较麻烦了。
在设计GeneralDE之前,也多次尝试统一Makefile的设计,但是由于后期项目只间Makefile修改同步成本太高,最后都不了了之。 最近接触到了Git,Git帮助解决了Makefile在多个项目之间同步问题,所以GeneralDE的设计就水到渠成的开始了。

接触Git以后又发现了Topgit,他帮我解决了第二个大问题: 第三方库管理。 一直以来如何管理第三方库一直是一个麻烦的问题。

  • 如果每次在开发环境之外安装,那么在迁移开发环境时会非常麻烦,一旦库和开发环境版本不一致就真的问题多多了。
  • 如果每次将库打包在开发环境之内,那么不同的项目会使用不同的第三方库,将不需要的库引入项目总让人不舒服。

有了Topogit就可以解决这个库管理的问题了: 每一个第三方库单独创建一个特性分支,在项目需要使用这个第三方库的时候可以使用tg depend add增加对这个特性分支的依赖就解决问题了。 所以,目前GeneralDE中还包括了一些我常用的第三方工具的特性分支。

GeneralDE中跟踪的第三方库,其源代码是没有任何一行修改的,这是底线,但是Makefile被我替换成GeneralDE中的makefile,这样可以更好的管理依赖关系。

除了第三方库,我也将一些我写的,和具体的项目无关的代码象第三方库一样,用特性分支跟踪在GeneralDE环境中,方便在多个项目**享。

个人开发的支持库的详细信息请查看

[[include/README]]

知名第三方库列表

generalde's People

Contributors

kaikai2 avatar wangjian1009 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.