如何在kdevelop中添加appwizard

kdevelop 是linux的一個program-IDE,類似WINDOWS下的VC,當然我認爲沒有VC好用,畢盡是個開源代碼,不過在LINUX下他也是一個不錯的IDE了。而且只要你有興趣,你可以訂製修改KDEVELOP的源代碼。

由於項目需要,最近研究了一下kdevelop的APPWIZARD。並且自己做了一個WIZARD,這個WIZARD是生成高通公司(BREW)手機上的一個HELLOWORD,並且編譯生成.SO庫。

下面介紹一下如何通過在kdevelop源代碼中編寫這樣一個WIZARD:

?? 1.你可以看到所有的KDEVELOP的wizard都在目錄??? $(kdevelop_src)/language/cpp/app_templates

2.先了解一下在每個wizard目錄下面都有幾個關鍵的文件(比如cpphello):

??app.kdevelop --這裏記錄了生成wizard時的一些信息,比如author,email,以及創建wizard後的一些編譯選項,如cppflags等

?cpphello? --- 這是一個配置文件,描述wizard的一些信息,比如

? src-Makefile.am -- 創建wizard時生成的makefile.am

?script -- 創建wizard時執行的perl腳本

configure.in -- 創建wizard時生成的configure.in

3. 編寫自己的wizard:

?幾個關鍵文件如下

?app.kdevelop --- 和cpphello中的一樣

?mywizard -- 配置文件

# KDE Config File
[General]
Name=mywiard
Name[fr]=Un simple programme de test ?Hello world ?
Icon=chello.png
Category=C++
Comment=Generates a simple Hello world program in brew-handset FrameWorld
Comment[fr]=G閚鑢e un simple programme de test du type ?Hello world ?dans le language C.
FileTemplates=h,CStyle,cpp,CStyle
ShowFilesAfterGeneration=src/APPNAMELC.cpp

src-Makefile.am -- 這個makefile可以使源代碼生成.so

lib_LTLIBRARIES = lib$APPNAMELC$.la
#$APPNAMELC$_SOURCES = $APPNAMELC$.c AEEModGen.c AEEAppGen.c
lib$APPNAMELC$_la_SOURCES = $APPNAMELC$.cpp AEEModGen.c AEEAppGen.c

# set the include path found by configure
INCLUDES= $(all_includes)

script -- 創建wizard時執行的腳本,用來拷貝一些文件

#!/usr/bin/perl

use kdevelop;

initKDevelop();
installFileTemplate();
installLicense();
installIncAdmin();
installGNU();

print "Installing project file/n";
install( "${src}/template-cppapplecore/app.project",???? "${dest}/${APPNAMELC}.project" );

print "Installing application framework/n";
mkdir( "${dest}/src", 0777 );
install( "${src}/template-cppapplecore/cpp-Makefile.am",? "${dest}/Makefile.am" );
install( "${src}/template-cppapplecore/cpp-Makefile.cvs", "${dest}/Makefile.cvs" );
install( "${src}/template-cppapplecore/configure.in",???? "${dest}/configure.in" );


print "Installing application sources/n";
install( "${src}/template-cppapplecore/src-Makefile.am",? "${dest}/src/Makefile.am" );
${APPNAMELC}.cpp" );
install( "${src}/template-cppapplecore/helloworld.c",????????? "${dest}/src/${APPNAMELC}.c" );
install( "${src}/template-cppapplecore/aeemodgen.c",????????? "${dest}/src/AEEModGen.c" );
install( "${src}/template-cppapplecore/aeeappgen.c",????????? "${dest}/src/AEEAppGen.c" );
install( "${src}/template-cppapplecore/helloworld.bid",????????? "${dest}/src/helloworld.bid" );

?

print "Finished/n";

configure.in -- 可以和cpphello下個一樣

4. 除此之外,你要保證執行script 拷貝的文件都在目錄下,比如我的wizard就要有aeemodgen.c,aeeappgen.c,helloworld.c等

?編寫一個wizard就這麼容易,如果要在kdeveop 啓動時看到自己的wiard, 在

$(kdevelop_src)/language/cpp/app_templates下的Makefile.am下加入自己的mywizard目錄名字,重新編譯kdevelop,並安裝就可以了。你也可以到kdevelop站點察看相關資料,上面會告訴你如何寫appwiard.

因爲第一次寫文章,自己也覺得寫得不夠清楚。不過我想以後會越寫越好的。:)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章