Giter Club home page Giter Club logo

cegui-dependencies's Introduction

CEGUI Windows and Mac OS X dependencies package for 'default' branch (CEGUI 1.0)

This package contains source code and a custom cmake build environment for the majority of the optional dependency libraries that can be utilised by various parts of the 'Crazy Eddie's GUI System' (CEGUI) project.

Available branches and versions

  • The CEGUI-dependencies repository consists of multiple branches:
    • v0-8 is meant to be used with CEGUI releases 0.x, as well as with CEGUI development branches v0-8 and v0. As this branch is ABI compatible, it is possible to replace CEGUI-dependencies dynamic libraries from a specific revision in this branch with another revision in this branch, without having to rebuild the project.

    • default is meant to be used with the CEGUI development branch default. This branch may break ABI and API compatibility between any 2 revisions in this branch, or between any revision in this branch and a revision in the v0-8 branch. That means if you switch between revisions you'll have to rebuild your project. Normally you'll only want to use this branch if you're using CEGUI branch default.


Note that none of the included source packages are in totally pristine and unmodified form - for example, each package will contain a CEGUI-BUILD directory that contains - at least - the custom CMakeLists.txt file.

Certain source files are also modified:

  • DevIL (IL lib) files were patched to compile with the included libpng 1.4.7.
  • Freetype was modified to be able to build as a DLL.
  • jpeg library was modified to be able to build as a DLL.
  • libtiff was modified to be able to build as a DLL.
  • Some packages contain additional config header files which we copy into place for OS X, this is done to specify pre-configured settings and replaces an invocation of some ./configure script (or similar).

There may be other modifications not explicitly mentioned here, most are identified in the original files by way of a comment containing "CEGUI" somewhere, though it is possible - or even likely - that some modifications are missing such identification, and this notification should suffice to say that these libs are not the original code - to guarantee you're using the original, umodified, code you should download your own copies of the original source and perform your own build.

Cross-compiling

CEGUI dependencies can be cross-compiled from Linux to Windows. In order to do that, you need to configure a cross-compile file and invoke that using CMake. An example of such file is the following:

# the name of the target operating system
SET(CMAKE_SYSTEM_NAME Windows)

# which compilers to use for C and C++
SET(CMAKE_C_COMPILER i686-w64-mingw32-gcc)
SET(CMAKE_CXX_COMPILER i686-w64-mingw32-g++)
SET(CMAKE_RC_COMPILER i686-w64-mingw32-windres)

# here is the target environment located
SET(CMAKE_FIND_ROOT_PATH /usr/i686-w64-mingw32 ${CMAKE_SOURCE_DIR}/install)

# adjust the default behaviour of the FIND_XXX() commands:
# search headers and libraries in the target environment, search
# programs in the host environment
set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

To invoke it you need to execute:

cmake -DCMAKE_TOOLCHAIN_FILE=cross-compile.cmake ..

For more details on cross-compiling with CMake visit http://www.cmake.org/Wiki/CMake_Cross_Compiling .

cegui-dependencies's People

Contributors

ident avatar kentf avatar miaodadao avatar odedsh avatar pauldtuk avatar timotei avatar yaronct avatar

Stargazers

 avatar

Watchers

 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.