All Projects → viaduck → icu-cmake

viaduck / icu-cmake

Licence: MIT License
CMake wrapper for ICU supporting cross-compilation

Programming Languages

CMake
9771 projects
shell
77523 projects

Projects that are alternatives of or similar to icu-cmake

Nginx Builder
A tool to build deb or rpm package of required Nginx version from the source code, with the ability to connect third-party modules. Nginx parameters are set in the yaml configuration file.
Stars: ✭ 123 (+392%)
Mutual labels:  build, build-automation
Earthly
Repeatable builds
Stars: ✭ 5,805 (+23120%)
Mutual labels:  build, build-automation
Baumeister
👷 The aim of this project is to help you to build your things. From Bootstrap themes over static websites to single page applications.
Stars: ✭ 171 (+584%)
Mutual labels:  build, build-automation
Hopp
Crazy rapid build system.
Stars: ✭ 24 (-4%)
Mutual labels:  build, build-automation
build-scripts
Utility scripts for building of 3rd-party libraries
Stars: ✭ 33 (+32%)
Mutual labels:  build, icu
Pybuilder
Software build automation tool for Python.
Stars: ✭ 1,290 (+5060%)
Mutual labels:  build, build-automation
Zeus
An Electrifying Build System
Stars: ✭ 176 (+604%)
Mutual labels:  build, build-automation
Invoke Build
Build Automation in PowerShell
Stars: ✭ 453 (+1712%)
Mutual labels:  build, build-automation
vsSolutionBuildEvent
🎛 Event-Catcher with variety of advanced Actions to service projects, libraries, build processes, runtime environment of the Visual Studio, MSBuild Tools, and …
Stars: ✭ 66 (+164%)
Mutual labels:  build, build-automation
aseprite-macos-buildsh
Automated script to create latest release app (either beta, or release whichever is newer) of Aseprite for macOS
Stars: ✭ 143 (+472%)
Mutual labels:  build, build-automation
Cargo Make
Rust task runner and build tool.
Stars: ✭ 895 (+3480%)
Mutual labels:  build, build-automation
Nginx-builder
A tool to build deb or rpm package of required Nginx version from the source code, with the ability to connect third-party modules. Nginx parameters are set in the yaml configuration file.
Stars: ✭ 143 (+472%)
Mutual labels:  build, build-automation
Flubucore
A cross platform build and deployment automation system for building projects and executing deployment scripts using C# code.
Stars: ✭ 695 (+2680%)
Mutual labels:  build, build-automation
Aria2 Build Msys2
aria2 build scripts on msys2 with custom patches.
Stars: ✭ 112 (+348%)
Mutual labels:  build, build-automation
Buildout
Buildout is a deployment automation tool written in and extended with Python
Stars: ✭ 510 (+1940%)
Mutual labels:  build, build-automation
Buildhelpers
Helper functions for PowerShell CI/CD scenarios
Stars: ✭ 174 (+596%)
Mutual labels:  build, build-automation
jagen
A software engineer's workspace manager and build systems wrapper
Stars: ✭ 32 (+28%)
Mutual labels:  build, build-automation
Psdeploy
Simple PowerShell based deployments
Stars: ✭ 302 (+1108%)
Mutual labels:  build, build-automation
Build Harness
🤖Collection of Makefiles to facilitate building Golang projects, Dockerfiles, Helm charts, and more
Stars: ✭ 236 (+844%)
Mutual labels:  build, build-automation
UnityBuildManager
Utility for running builds sequence & pushing them to markets & keeping changelog
Stars: ✭ 53 (+112%)
Mutual labels:  build, build-automation

ICU-CMake

CMake script supplying ICU libraries conveniently, encapsulating the ICU build system on various platforms.

See the CI configuration for examples on (cross) compiling.

Features

  • Allows usage of system ICU
  • Allows trivial and complex building of ICU
  • Allows cross compilation, especially for Android
  • Defaults to prebuilt binaries

System ICU

To use the system ICU, simply set SYSTEM_ICU=ON.

Prebuilt ICU

Default behaviour is the download of a prebuilt binary. This is only intended as a convenience for debugging purposes and NOT for production use. Available prebuilt binaries can be viewed here.

Build ICU

In order to build ICU, set BUILD_ICU=ON along with the version, for example ICU_BUILD_VERSION=61.1. For source package integrity, an optional SHA256 ICU_BUILD_HASH can be supplied.

General Cross Compile

Cross compilation is enabled using ICU_CROSS_ARCH=<architecture triplet> to specify the target.

Android Cross Compile

Android requires the cross compile triplet as well as standard Android CMake toolchain configuration options. These options are not required when using ICU-CMake from Gradle's native build system.

Usage

  1. Add ICU-CMake as a submodule to your Git project using git submodule add <URL> external/icu-cmake
  2. Initialize the submodule using git submodule update --init --recursive
  3. In your CMakeLists.txt include the directory using add_subdirectory(external/icu-cmake)
  4. Link against the icu target, which will also include the headers

Licensing

These scripts, unless otherwise stated, are subject to the MIT license.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].