bakefile建立统一的开发环境,用SVN进行代码管理

来源:互联网 发布:wdcp 查看mysql版本 编辑:程序博客网 时间:2024/04/29 21:57

在一个项目中,往往需要很多的子系统甚至子平台,项目团队成员也不一而论,有几人,几十人,甚至几百几千人,那么开发环境搭建的好坏,就会影响团队协作、团队新手上手等。

  我们的项目管理使用bakefile和SVN进行团队协作,至于SVN的服务端安装配置,在这就不多说了。

  首先安装最新版的bakefile和svn client,分别在http://www.bakefile.org/index.html,http: //www.subversion.org.cn/,安装结束后,将以上二个软件的程序路径加入到windows的系统环境变量中,linux中则相安装 完后,会自动添加。

  现在假设我们在WINDOWS中要建一项目test

  为了开发及协作方便,大家存放代码的位置也应一致,现假设为c:"works,在svn server中已添加了一个新的代码仓库test,启一命令行,路径切换至c:"works

  1. 导出代码库test

  svn co http://server/svn/test/trunk test

  输入帐户信息后,即可将初始版本导出

  2. 将代码添加到SVN中,假设新加了一个程序文件为main.cpp

  cd test

  svn add main.cpp

  svn ci -m "added main.cpp file"

  3. 获取SVN中最新版本

  svn up

  4. 查看svn版本与本地版本差异

  svn st

  5. 提交svn版本

  svn ci -m "message"

  以上即为SVN在代码中使用时简介,由于SVN开源、支持合并,差异,版本管理等特性,本人推荐SVN 。

  代码受控后,应该做一个统一的编译调试环境,那么为了省事,应建一个bakefile的运行脚本,一个bakefile的编译配置脚本.

  运行脚本,在WINDOWS上存为bake.cmd

@echo off
if "%1"=="" goto ERROR
if not "%2"=="" goto ERROR
set WX_WIDGETS=wxWidgets-2.8.7
set WX_DEFINES=-IC:"works"%WX_WIDGETS%"build"bakefiles"wxpresets -DWX_DIR=C:"works"%WX_WIDGETS% -DWX_UNICODE=1
if "%1"=="release" goto RELEASE
:DEBUG
bakefile build.bkl -f msvc -o Makefile -DWX_DEBUG=1 -DWX_SHARED=1 -DBUILD=debug -DBUILDDIR=Debug %WX_DEFINES%
goto END
:RELEASE
bakefile build.bkl -f msvc -o Makefile -DWX_DEBUG=0 -DWX_SHARED=0 -DBUILD=release -DBUILDDIR=Release %WX_DEFINES%
goto END
:ERROR
echo Usage: bake [debug / release]

:END

  以上脚本则包含了DEBUG和release二个选项的编译支持。按bakefile需求则还得实现一个build.bkl存放编译环境配置

<?xml version="1.0" ?>
<makefile>
   
    <exe id="test">
      <app-type>console</app-type>
      <win32-res>test.rc</win32-res>
      <sources>$(fileList('*.cpp'))</sources>
    </exe>

</makefile>

  当然build.bkl还可加如模板,命令等其它内容,这就要按项目需求来实现。

  既然各项工作都已做完,那么试试bake.cmd debug或bake.cmd release生成的Makefile吧,如果配置了VC的编译器,nmake一下即可生成你的应用了,如果是GCC的编译器,你也只需make就可以了。

 

文章来源 : http://tech.ddvip.com/2009-02/1234417532108423.html

 

原创粉丝点击