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

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

我们的项目管理使用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就可以了。
posted @ 2009-05-19 09:54  浩@子  阅读(266)  评论(0编辑  收藏  举报