Skip to content

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

Notifications You must be signed in to change notification settings

Calendar617/GeneralDE

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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]]

知名第三方库列表

About

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

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published