Code Monkey home page Code Monkey logo

como's Introduction

COMO Build Status

COMO is a C++ Component Model. It can:

  1. support interface-oriented programming;
  2. support C++ runtime reflection;

cdlc is the .cdl compiler.

comort is the como component runtime.

libcore is the core library.

Install build-essential

openEuler
sudo yum groupinstall 'Development Tools'
Ubuntu
1. sudo apt install build-essential

Install cmake

openEuler
sudo yum install cmake
Ubuntu
1. sudo apt-get install software-properties-common
2. sudo add-apt-repository ppa:george-edison55/cmake-3.x
3. sudo apt-get update
4. sudo apt-get install cmake

Install DBus

openEuler
安装dbus
sudo yum install dbus-devel
查找dbus.h位置
$ sudo locate dbus.h
如果提示错误,执行 $ sudo updatedb
/usr/local/include/dbus-1.0/dbus/dbus.h
/usr/include/dbus-1.0/dbus/dbus.h
dbus默认安装到了dbus-1.0位置,需要调整dbus头文件位置,调整方法如下:
$cd /usr/include
$ ln -sf dbus-1.0/dbus

出现错误dbus/dbus-arch-deps.h:No such file or directory
查找该文件
$ locate dbus-arch-deps.h
/usr/local/lib/dbus-1.0/include/dbus/dbus-arch-deps.h
/usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h
将/usr/lib/dbus-1.0/include/dbus/dbus-arch-deps.h文件复制到/usr/include/dbus目录下
Ubuntu
1. sudo apt-get update
2. sudo apt-get install libdbus-1-dev

Install Unwind

openEuler
wget http://mirror.yongbok.net/nongnu/libunwind/libunwind-1.5.0.tar.gz
tar zxvf libunwind-1.5.0.tar.gz
cd libunwind-1.5.0/
CFLAGS=-fPIC ./configure
make CFLAGS=-fPIC
make CFLAGS=-fPIC install
Ubuntu
sudo apt-get install libunwind8-dev

Install ICU

openEuler
sudo yum install libicu-devel

安装 icu4c 最新版
wget https://github.com/unicode-org/icu/releases/download/release-68-2/icu4c-68_2-src.tgz
tar -xf icu4c-68_2-src.tgz
cd icu/source
./configure --prefix=/usr
gmake
gmake install
Ubuntu
sudo apt-get install libicu-dev

Install autoreconf libtool

Ubuntu
sudo apt-get install autoreconf
sudo apt-get install libtool

How to build

  1. cd como

  2. source build/envsetup.sh

    You will get these commands:

    $ help
    - comotools:            Switch to build como tools.
    - como_linux_x64:       Switch to build como for linux x64.
    - como_android_aarch64: Switch to build como for android aarch64.
    - debug:                Switch to build debug version.
    - release:              Switch to build release version.
    - build:                Build source codes.
    - build install:        Build source codes and install the building results.
    - rebuild:              Rebuild source codes.
    - rebuild install:      Rebuild source codes and install the building results.
    - clobber:              Clean the building results and generated files of the current project.
    - clobber all:          Clean all of the building results and generated files.
  3. choose build target:

    • comotools to build tools
    • como_linux_x64 to build como for linux x64
    • como_android_aarch64 to build como for android aarch64
  4. build or build -jn for release build

Change build type

  1. in any build target:
    • debug for debug build
    • release for release build

Rebuild

  1. rebuild or rebuild -jn

Clobber

  1. clobber

Copy building results

if the build target is android aarch64, you need copy building results to the device.

  • drop or drop all to copy all modules
  • drop core to copy core modules
  • drop test to copy testcase modules

Other commands

  • root to change to como root directory
  • out to change to out directory
  • bin to change to bin directory

como's People

Contributors

xilongpei avatar qt-lam avatar

Stargazers

 avatar

Watchers

James Cloos avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.