internals:cmake

This is an old revision of the document!


CMake Migration

Cmake Migration projects is a GSoC project mentored by Pierre A. Joye and developed by Alejandro Leiva. More info.

Introduction

In PHP context CMake should do the PHP developer's life easier and more productive.

  • Uniform language in many platforms.
  • The ability to automatically search for programs, libraries and header files.
  • Macro support.
  • The ability to generate native projects formats.
  • Cross-compiling support.

Supported Platforms

  • Linux
  • Solaris / SunOS
  • IRIX
  • HPUX
  • AIX
  • Mac OS X > 10.2
  • FreeBSD
  • OSF
  • Windows 98/ME/NT/2K/XP
  • Windows Cygwin
  • Windows Mingw

Development

How to track it

You can get acces to web interfaces for the project accesing to: http://dev.litio.org/

How to get it

You can get the current development code (trunk) with anonymous access from svn using this command:

svn co http://dev.litio.org/svn/php-cmake/trunk <directory>

Note: If you want to add some patches you can send it or request an account to gloob@php.net

How to test it

I provided some scripts to checkout a php source code (http://dev.litio.org/svn/php-cmake/trunk/scripts/).

You need to copy all the dirs and files at (http://dev.litio.org/svn/php-cmake/trunk/cmake/) to your php checkouted copy.

I suggest you that use an out-the-source compiling strategy. Move to another directory and execute cmake <php_source_dir> after that you'll have a Makefile file (in make platforms), execute make (or load the project file generated)

You can use too the build_src.sh (http://dev.litio.org/svn/php-cmake/trunk/build_src.sh) script (i.e. ./build_src <php_source_dir>)

Linux and MacOS X

  • Get php5 source code
dendrita:php-cmake/trunk $ ./scripts/co_php5.sh       
  • Copy ./cmake dir to src/php5 and cmake'it to ./build directory and make'it
dendrita:php-cmake/trunk $ ./build_src.sh src/php5/     

Windows

  • TbD

Other Platforms

  • TbD
internals/cmake.1213437850.txt.gz · Last modified: 2017/09/22 13:28 (external edit)