diff options
author | José Fonseca <jfonseca@vmware.com> | 2011-07-15 14:27:49 +0100 |
---|---|---|
committer | José Fonseca <jfonseca@vmware.com> | 2011-07-15 14:27:49 +0100 |
commit | d4263e22f1a405652b80c7bd6ebf0be380b30c4d (patch) | |
tree | 61d0b6f892c50d987ad83ed04bbb620519abbc3e /doc | |
parent | cf022fe9dce1406803fea72b8a4b011a1d41303d (diff) |
Support building with CMake.
Tested with Linux GCC, MSVC, and MinGW crosscompilers.
Diffstat (limited to 'doc')
-rw-r--r-- | doc/html/build.html | 1 | ||||
-rw-r--r-- | doc/html/buildcmake.html | 116 |
2 files changed, 117 insertions, 0 deletions
diff --git a/doc/html/build.html b/doc/html/build.html index 369df4c..28b3a81 100644 --- a/doc/html/build.html +++ b/doc/html/build.html @@ -58,6 +58,7 @@ Once you've completed those tasks, choose one of the following: <UL> <LI><A HREF="buildgnu.html">Building <I>glean</I> for GNU/Linux</A></LI> <LI><A HREF="buildwin.html">Building <I>glean</I> for Windows</A></LI> + <LI><A HREF="buildcmake.html">Building <I>glean</I> for GNU/Linux or Windows using cmake</A></LI> <LI><A HREF="buildscons.html">Building <I>glean</I> for GNU/Linux or Windows using scons</A></LI> </UL> diff --git a/doc/html/buildcmake.html b/doc/html/buildcmake.html new file mode 100644 index 0000000..d315a86 --- /dev/null +++ b/doc/html/buildcmake.html @@ -0,0 +1,116 @@ +<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"> +<HTML> + +<HEAD> + <TITLE>Building glean using cmake</TITLE> + <META NAME="description" CONTENT="building glean using cmake"> + <META NAME="author" CONTENT="Jose Fonseca"> + <LINK REV="made" HREF="mailto:jfonseca@vmware.com"> +</HEAD> + +<BODY bgcolor=#FFFFFF topmargin="10" bottommargin="10" leftmargin="10" + rightmargin="10" marginheight="0" marginwidth="0"> + +<H1>Building <I>glean</I> with cmake</H1> + +<P> +Now you can build glean on GNU/Linux or Windows using +<A HREF="http://www.cmake.org/">cmake</A>. The advantages over GNU make are: +<UL TYPE=DISC> + <LI> no need to set build options — everything is autodetected; + <LI> automatically uses an included tiff library if none can be found; + <LI> support to cross build from GNU/Linux to Windows using MinGW cross + compilers. +</UL> + +<H2>Build <I>glean</I> on GNU/Linux</H2> + +<P> +Simply type +<PRE> + cmake -Hsrc -Bbuild + make -C build +</PRE> + +<P> +Everything should be autodetected for you. + +<H2>Build <I>glean</I> on Windows</H2> + +<P> +Simply type +<PRE> + cmake -G "Visual Studio 9 2008" -Hsrc -Bbuild + cmake --build build --config Debug %* +</PRE> + +<P> +Everything should be autodetected for you. + +<H2>Build <I>glean</I> for Windows on GNU/Linux</H2> + +<p> +Create a <b>Toolchain.cmake</b> file containing: +</p> +<pre> +# the name of the target operating system +SET(CMAKE_SYSTEM_NAME Windows) + +# which compilers to use for C and C++ +SET(CMAKE_C_COMPILER i586-mingw32msvc-gcc) +SET(CMAKE_CXX_COMPILER i586-mingw32msvc-g++) + +# here is the target environment located +SET(CMAKE_FIND_ROOT_PATH /usr/i586-mingw32msvc) + +# 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) +</pre> + +<p> +Create a <b>Cache.cmake</b> file containing: +</p> +<pre> +set(GLUT_INCLUDE_DIR "/path/to/glut/include" CACHE PATH "" FORCE) +set(GLUT_glut_LIBRARY "/path/to/glut/lib/libglut32.a" CACHE FILEPATH "" FORCE) +</pre> + +<p> +Then do: +</p> +<pre> +cmake -G "Unix Makefiles" -DCMAKE_INSTALL_PREFIX=/path/to/install -DCMAKE_BUILD_TYPE=MinSizeRel -DCMAKE_TOOLCHAIN_FILE=/path/to/Toolchain.cmake -C /path/to/Cache.cmake -Hsrc -Bbuild +make -C build +</pre> + +<p> +Read <a href="http://www.vtk.org/Wiki/CmakeMingw">this</a> for more information about CMake and MinGW cross compilation. +</p> + + +<HR> +<SMALL> + <UL TYPE=DISC> + <LI> <A HREF="index.html"><I>glean</I> home</A> + <LI> <A HREF="whatis.html">What is <I>glean</I>?</A> + <LI> <A HREF="build.html">How do I build <I>glean</I>?</A> + <LI> <A HREF="run.html">How do I run <I>glean</I>?</A> + <LI> <A HREF="next.html">Where do we go from here?</A> + <UL TYPE=CIRCLE> + <LI> <A HREF="newtest.html">Adding new tests</A> + <LI> <A HREF="newfeat.html">Adding new infrastructure features</A> + <LI> <A HREF="overview.html">Overview of <I>glean</I> internals</A> + <LI> <A HREF="repo.html">Creating a repository of results</A> + <LI> <A HREF="port.html">Porting <I>glean</I></A> + <LI> <A HREF="cleanup.html">Cleaning up loose ends</A> + </UL> + <LI> <A HREF="changes.html">What has changed recently?</A> + </UL> +</SMALL> + +</BODY> +</HTML> |