DO NOT REPLY TO THIS MESSAGE.  INSTEAD, POST ANY RESPONSES TO THE LINK BELOW.

[STR New]

Link: http://www.fltk.org/str.php?L2317
Version: 1.3-current





Link: http://www.fltk.org/str.php?L2317
Version: 1.3-current
Using CMake to build FLTK.

PREREQUISITES

The prerequisites for building FLTK with CMake are staightforward:
CMake 2.6 or later and a recent FLTK 1.3 snapshot.  Installation of
CMake is covered on its web site.

This howto will cover building FLTK with the default options using cmake
under Linux with both the default Unix Makefiles and a MinGW cross compiling
toolchain.  Other platforms are just as easy to use.

OPTIONS

All options have sensible defaults so you won't usually need to touch these.
There are only two CMake options that you may want to specify.

CMAKE_BUILD_TYPE
   This specifies what kind of build this is i.e. Release, Debug...
Platform specific compile/link flags/options are automatically selected
by CMake depending on this value.

CMAKE_INSTALL_PREFIX
   Where everything will go on install.  Defaults are /usr/local for unix
and C:\Program Files\FLTK for Windows.

These are the FLTK specific options.  Platform specific options are ignored
on other platforms.

OPTION_OPTIM
   Extra optimization flags.
OPTION_ARCHFLAGS
   Extra architecture flags.

   The OPTION_PREFIX_* flags are for fine-tuning where everything goes
on the install.
OPTION_PREFIX_BIN
OPTION_PREFIX_LIB
OPTION_PREFIX_INCLUDE
OPTION_PREFIX_DATA
OPTION_PREFIX_DOC
OPTION_PREFIX_CONFIG
OPTION_PREFIX_MAN

OPTION_APPLE_X11 - default OFF
   In case you want to use X11 on OSX.  Not currently supported.
OPTION_USE_POLL - default OFF
   Don't use this one either.

OPTION_BUILD_SHARED_LIBS - default OFF
   Normally FLTK is built as static libraries which makes more portable
binaries.  If you want to use shared libraries, this will build them too.
OPTION_BUILD_EXAMPLES - default ON
   Builds the many fine example programs.

OPTION_CAIRO - default OFF
   Enables libcairo support
OPTION_CAIROEXT - default OFF
   Enables extended libcairo support

OPTION_USE_GL - default ON
   Enables OpenGL support

OPTION_USE_THREADS - default ON
   Enables multithreaded support

OPTION_LARGE_FILE - default ON
   Enables large file (>2G) support

   FLTK has built in jpeg zlib and png libraries.  These let you use
system libraries instead, unless CMake can't find them.
OPTION_USE_SYSTEM_LIBJPEG - default ON
OPTION_USE_SYSTEM_ZLIB - default ON
OPTION_USE_SYSTEM_LIBPNG - default ON

   X11 extended libraries.
OPTION_USE_XINERAMA - default ON
OPTION_USE_XFT - default ON
OPTION_USE_XDBE - default ON

BUILDING UNDER LINUX WITH UNIX MAKEFILES

After untaring the FLTK source, go to the root of the FLTK tree and type
the following.

mkdir build
cd build
cmake ..
make
sudo make install

This will build and install a default configuration FLTK.

CROSSCOMPILING

Once you have a crosscompiler going, to use CMAke to build FLTK you need
two more things.  You need a toolchain file which tells CMake where your
build tools are.  The CMake website is a good source of information on
this file.  Here's mine for MinGW under Linux.
----

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

# which tools to use
set(CMAKE_C_COMPILER   /usr/bin/i486-mingw32-gcc)
set(CMAKE_CXX_COMPILER /usr/bin/i486-mingw32-g++)

# here is where the target environment located
set(CMAKE_FIND_ROOT_PATH  /usr/i486-mingw32)

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

set(CMAKE_INSTALL_PREFIX ${CMAKE_FIND_ROOT_PATH}/usr CACHE FILEPATH
   "install path prefix")

----

Not too tough.  The other thing you need is a native installation of FLTK
on your build platform.  This is to supply the fluid executable which will
compile the *.fl into C++ source and header files.

So, again from the FLTK tree root.

mkdir mingw
cd mingw
cmake -DCMAKE_TOOLCHAIN_FILE=~/projects/toolchain/Toolchain-mingw32.cmake ..
make
sudo make install

This will create a default configuration FLTK suitable for mingw/msys and
install it in the /usr/i486-mingw32/usr tree.
_______________________________________________
fltk-bugs mailing list
[email protected]
http://lists.easysw.com/mailman/listinfo/fltk-bugs

Reply via email to