Catalog · How the catalog works
fpccmd
- ★ 6 on GitHub
Anyone may press Interesting, signed in or not. It helps others find this project.
README
fpccmd
一个简单管理 CodeTyphon 项目的工具。
最近更新
Version 3.0.0
- 支持 CodeTyphon 6.7.0
- 支持 Android Arm64 编译(使用 A64 为编译指令)
编译
使用 CodeTyphon (6.70 或以上版本) 来编译本项目。
请注意,如果你需要编译跨平台的版本,则需要在各个平台上均安装 CodeTyphon,而不是使用其本身的 Cross Element 来纺编译,以避免出现一些奇怪的问题。在本项目的 Release 页面内,已包含编译好的跨平台版本,可获取并使用之。
安装
Windows:
??? fpccmd.exe ????????????????????????????????????????????? PATH ?????????????????????Mac 和 Linux:
?????????????????????
$ sudo cp fpccmd /usr/local/bin/不论在哪个平台进行安装,都必须保证 git 的安装完好,并且 git 命令已被配置入 PATH 环境变量内。
使用(1) 编译项目
要使用 fpccmd 来编译项目,必须先进行初始化,执行以下命令:
$ fpccmd init执行完毕后,项目内会出现 fpccmd.cfg,fpccmd.before,fpccmd.after 三个文件。
fpccmd.cfg 用于进行额外的 fpc 参数配置,并且已包含了基础的配置选项,这些选项按每一行一个进行设置。
注意,对于搜索目录的配置,若被搜索的目录在项目内,则不需要进行配置,fpccmd 会自动进行管理。若搜索目录在项目外,则需要进行配置,例如 -Fu../../myct/util。
fpccmd.before 和 fpccmd.after 用于在编译前后执行特定命令,命令的写法如下:
${平台}${UI类型} ??????
?????????
${ALL}${UALL} cp ${PATH}/a.png ${PATH}/${PROJ}/image/a.png # ???????????????????????? UI ?????????????????? cp ?????????????????????
${M}${UNA} cp ${PATH}/libsample.dylib ${PATH}/${PROJ}.app/Contents/MacOS/libsample.dylib # ??? Mac ?????????????????? UI ??????????????????????????? cp ????????????????????????在 before 和 after 文件内,可用的命令有以下几种(全部遵循 linux 的命令风格,但是对于目录之类的不需要加参数,程序会自动处理):
cp: ?????????????????????
mv: ?????????????????????
rm: ?????????????????????
mkdir: ??????????????????????????????????????????在配置完成后,可以执行以下命令来编译一个项目:
$ fpccmd <????????????> <???????????????> <UI ??????>
?????????
$ fpccmd M sample.ppr C # ?????? Mac ????????????????????? Cocoa UI ??????
$ fpccmd L sample.ppr G # ?????? Linux ????????????????????? GTK2 UI ??????
$ fpccmd AA sample.ppr # ?????? Android(arm) ???????????????????????? UI ??????使用(2) 依赖模块管理
fpccmd 可以帮助管理 CodeTyphon 项目所使用的模块。
要使用 fpccmd 来管理模块,必须先编写一个 fpcdep.spec 文件,该文件描述了要依赖的模块。
可以通过以下命令来新建一个 fpcdep.spec:
$ fpccmd module initdep然后编写 fpcdep.spec 的内容:
source=https://github.com/rarnu/
myct,1.0第一行标出了要使用的源,第二行标出了要使用的具体模块名称和 git tag。
如果有多个源或多个依赖项,可以把 spec 文件写成以下形式:
source=https://github.com/rarnu/
myct,1.0
samplemodule,0.2.0
source=https://rarnu.xyz:8080/
crossorca,0.5.1配置完成后,可以执行以下命令,来自动获取所依赖的模块,并自动修改工程(.ctpr)文件:
$ fpccmd module get根据依赖模块的大小和网络情况,需要不同的下载时间,耐心等待即可。
若是觉得全模块的下载过于费时,也可以只下载指定的模块,在命令后加入模块名称即可,如:
$ fpccmd module get myct # ???????????????????????? myct ????????????你也可以把自己的 FPC 模块做成共享的,以便他人使用,fpccmd 不要求有一个中央模块仓库,仅使用 github(或其他的 git 平台) 即可。
要共享一个 FPC 模块,你需要拥有一个 fpcmodule.spec 文件,使用以下命令可以创建一个:
$ fpccmd module initspec此时将得到一个 fpcmodule.spec 文件,按文件内的注释进行填写,最终 push tag 到自己的 git 仓库即可完成模块共享。
一个合法的 fpcmodule.spec 应当是如下所示的:
url=https://github.com/rarnu/myct.git
version_code=1
version_tag=1.0
author=rarnu
module_name=myct
unit_dirs=orca;util;thread
include_dirs=
library_dirs=
required_package=adLCL;pl_orca使用(3) 配置 Mac 端 iOS 开发环境
对于需要进行 iOS 跨平台开发的人员来说,必须事先配置 iOS 端的环境。
fpccmd 提供了在 Mac 上直接进行配置的能力,只需要执行以下命令:
$ sudo fpccmd install-ios这将为你下载将近 600M 的文件,若是觉得远程服务器太慢,也可以自行更换下载源,使用以下代码即可:
$ fpccmd set-source <???URL>若要查看当前的下载源,可以使用以下命令:
$ fpccmd source对于被制作成下载源的服务器,要求在其路径下,包含名为 fpc_ios.tar.gz 的文件,即一个完整的 iOS 跨平台工具链。
例如设置的源是 http://120.27.9.223/repo/,则文件的路径必须为 http://120.27.9.223/repo/fpc_ios.tar.gz,此时 fpccmd 可以正确的进行 iOS 环境的配置。

