FG Build Using CMake

external: index
internal: preamble quick start steps [1] [2] [3] [4] [5] [6]
folders downloads dependencies
images: osg zlib libpng simgear flightgear
end

Preamble:

2011/11/19-2011/10/19: This has been a LONG task, with LOTS of learning along the way. As an experiment, this is a SG/FG build using CMake where possible. It is also a build using 'static' libraries where possible, and using the MS 'static' runtime, /MT and /MTd!

Remember, if you do NOT want to get into building SG/FG yourself, then flightgear has release binaries, WIN32 and WIN64, and even very up-to-date binaries, thanks to the nightly builds on Jenkins (formerly Hudson) - See RELEASES

But if building something from source is your thing, then obviously a pre-prerequisite is to download and install CMake. Here I used the Windows (Win32 Installer) cmake-2.8.6-win32-x86.exe, and added an Icon on my desktop. During this install I allowed it to add its path to my PATH environment variable, so can also run command line cmake, or load up the GUI through cmake-gui...

Most of this type of build is well documented on wiki pages like - http://wiki.flightgear.org/Building_FlightGear_-_Windows - and others... But I really think the CMake processing is still evolving, especially for Windows ;=(( And in some ways is like a BACKWARD step in that it builds both SimGear and FlightGear as a BIG bunch of (static) libraries before the final link with FG/main...

BUT it has its conveniences! Perhaps the most evident one is that CMake is cross-platform, and allows the creation of a quite long list of different build options in multiple platforms. And now has wide support in a wide range of projects.

This was ALL done using the CMake GUI, which seems to involve quite an amount of SETUP for each project, despite trying very hard to 'simplify' header and library paths by using a '3rdparty' folder. It seems sometimes it automatically adds the LONG list of (static) libraries, separating Debug and Release, but sometimes NOT. Still to work out how to make this 'consistent' ;=((

The early attempts were using the Debug configuration, but later switched to Release, to get something running...

top


Quick Start

This is a quick start guide, step by step, outlining the minimum you need to do to build the most recent version of SG/FG, using ALL the 3rdparty components supplied here.

Choose a 'base' folder, in my case C:\FG\30, and add all to that folder. It can be anywhere, but is always less 'pain' if you choose something 'short', and without spaces... And here I will use BASE to denote that folder.

Step 1: Clone simgear.
BASE> git clone git://gitorious.org/fg/simgear.git simgear

Since I have already included simgear in the 3rdparty zips, this step is not strictly required, but over time the simgear I have supplied will become out-of-date, and no longer be compatible with the cloned flightgear. It is always BETTER to keep simgear exactly in sync with flightgear! 

Until these patches make it into the simgear git repository, to be able to use the '3rdparty' headers and libraries supplied here, you will have to apply sg-cmake-01.patch.txt yourself.

Step 2: Clone flightgear
BASE> git clone git://gitorious.org/fg/flightgear.git flightgear

Until these patches make it into the flightgear git repository,  to be able to use the '3rdparty' headers and libraries supplied here, you will have to apply fg-cmake-01.patch.txt yourself.

Step 3: Clone flightgear data
BASE> git clone git://gitorious.org/fg/fgdata.git fgdata

Step 4: Download 3rdparty-all-01.zip, 3rdparty-osg-01.zip and boost-1.4.4-src-01.zip, and unzip each, with folders, creating a BASE\3rdparty folder, with sub-folder, to join the above folders, like -

BASE\simgear
    \flightgear
    \fgdata
    \3rdparty\include
                     \boost
                     \simgear
                     \osg
              \lib

Note, while the 2 zips named '3rdparty' already have this full 3rdparty path included, thus can be extracted, with paths, while in the BASE folder, the boost zip has to be extracted, with paths, while in the BASE\3rparty\include folder.

There is another called 3rdparty-sg-01.zip, but its contents are already contained in 3rdparty-all-01.zip. If you are building simgear yourself, and this is the recommended choice, then this provides a list of headers and libraries that can be deleted from the '3rdparty' folder.

Step 5: Change into simgear, and start the CMake GUI > cmake-gui ., or open the GUI and add your BASE\simgear to 'Where is the source code:'. Then choose 'Where to build the binaries:'. This can be virtually anywhere, and some choose a place completely outside the source tree, but I usually choose just adding 'build' to the source directory. At this stage a considerable set of options should appear, usually in RED.

Now the order in which you do things can vary, but essentially the process is the modify the shown options, and click [Configure], and repeat this process until the [Generate] button is enabled, and there are no RED option entries. See image of the GUI below.

On clicking [Configure] the first time you will be asked what set of build files do you want to create. The supported list is quite impressive. Naturally if you are using a version of MS Visual C/C++, then select the version you have installed.

If you are going to build ALL your own components, then you may make your own choice concerning all the options, but if you want to use the '3rdparty' zip(s) from here, then you MUST conform, fixing the correct runtime, and choose to enable OSG_STATIC_LIBRARY, and FREEGLUT_STATIC options. And make sure you set the CMAKE_INSTALL_PREFIX to the '3rparty' folder, and MSVC_3RDPARTY_ROOT to your BASE folder. Again make reference to the image below.

After using [Configure] a number of times, and there are no remaining RED items, then it is time to do a [Generate].

This will generate the desired build files in the chosen 'Where to build the binaries:' folder. Prior to doing a build with MSVC it is preferable that the BASE\3rdparty\include\simgear folder is renamed or deleted, but this is only absolutely necessary if there have been incompatible changes in the simgear headers. You do NOT want your new build to use these old headers, but to use the headers of the fresh clone.

The build of the many simgear static libraries should proceed without problems. You should probably choose to do the 'Release' configuration first. When the build is completed, you can install these headers and libraries by selecting the INSTALL project, and choosing to 'Build Only this'. It will then copy all the headers and libraries to the CMAKE_INSTALL_PREFIX folder, putting the headers in BASE\3rdparty\include\simgear, and the libraries in BASE\3rdparty\lib.

Now would be the time to also build the Debug configuration, and also installing it, if you intend to get into any IDE debug sessions with flightgear.

Step 6: Change into flightgear, and start the CMake GUI > cmake-gui ., or open the GUI and add your BASE\flightgear to 'Where is the source code:'. Then choose 'Where to build the binaries:'. This can be virtually anywhere, and some choose a place completely outside the source tree, but I usually choose just adding 'build' to the source directory. At this stage a considerable set of options should appear, usually in RED.

Now the order in which you do things can vary, but essentially the process is the modify the shown options, and click [Configure], and repeat this process until the [Generate] button is enabled, and there are no RED option entries. See image of the GUI below.

On clicking [Configure] the first time you will be asked what set of build files do you want to create. The supported list is quite impressive. Naturally if you are using a version of MS Visual C/C++, then select the version you have installed.

If you are going to build ALL your own components, then you may make your own choice concerning all the options, but if you want to use the '3rdparty' zip(s) from here, then you MUST conform, fixing the correct runtime, and choose to enable OSG_STATIC_LIBRARY, and FREEGLUT_STATIC options. Make sure you set the MSVC_3RPARTY_ROOT to your BASE folder. Again make reference to the image below.

After using [Configure] a number of times, and there are no remaining RED items, then it is time to do a [Generate].

This will generate the desired build files in the chosen 'Where to build the binaries:' folder.

You should probably choose to do the 'Release' configuration first. The build of the several flightgear static libraries should proceed without problems, as well as some flightgear tools. You will have to manually intervene for the final fgfs.exe link. At this time the cmake build files do NOT include the OSG built-in libraries. Here is a list of libs that have to be added.

When the build is completed, you can install these headers and libraries by selecting the INSTALL project, and choosing to 'Build Only this'. It will then copy the binaries to the CMAKE_INSTALL_PREFIX folder of your choice...

Now would be the time to also build the Debug configuration, and also installing it, if you intend to get into any debug sessions with flightgear.

If you have chosen an all 'static' build, as provided here, then actually there does not have to be any install of fgfs, since fgfs.exe does not need any OSG DLL available to run. You can just copy the EXE to the place of your choice.

It can be run with > fgfs --fg-root=BASE\fgdata - AND YOU SHOULD SHOULD BE FLYING ;=))

top


Full Folder Structure:

This is ONLY if you want to also build each of the dependent components yourself. Choose a 'base' folder, in my case C:\FG\30, and add all components to that folder.

C:\FG\30\3rdparty - Destination for all the 3rd party headers and libraries
        \zlib-1.2.5 - CMake - Done in 'build' sub-directory
        \lpng155 - CMake - Done in 'build' sub-directory
        \plib - Done in root, beginning with plib.dsw
        \freeglut - svn update 2011-10-28 to revision 942.
        \simgear - CMake - git pull (next) as of 2011-10-25. Done in 'build'
        \flightgear - CMake - git pull (next) as of 2011-10-25. Done in 'build' 
        \fgdata...

Additional directories, but in my case these were done separately...

C:\FG\30 - my root folder, but anywhere is ok
        \OpenSceneGraph - CMake - Path C:\Projects\OSG\OSG-3.0.1 - built in root
        \boost (1.4.4 or later) - Path C:\Project\boost - no build required
        \subversion-1.7.0 - Optional - to be explored
        \pthreads - Done in 'msvc'. Later discovered NOT REQUIRED!

   

top


Downloads

Some downloads: TAKE CARE running EXECUTABLES from the web.
flightgear-bin-01.zip: fgfs, terrasync, etc binaries, version 2.5. The FINAL product.
flightgear-lib-01.zip: The intermediate FG static libraries, used in the LINK
flightgear-src-01.zip: Full source in the flightgear folder. But a fresh git clone is preferred.
simgear-lib-01.zip: The set of simgear static libraries, already in the 3rdparty folder
simgear-src-01.zip: Full source of simgear folder. But a fresh git clone is preferred.
3rdparty-all-01.zip: This is the 3rdparty folder used in this build. Does NOT include OSG nor BOOST
3rdparty-osg-01.zip: Add this to the 3rdparty folder it include all OSG
boost-1.4.4-src-01.zip: Add this to 3rdparty\include folder to include all BOOST
3rdparty-sg-01.zip: These are already in 3rdparty-all-01.zip, so does not need to be added.
freeglut-bin-01.zip: Some freeglut sample programs.
freeglut-lib-01.zip: The freeglut static libraries, already in the 3rdparty folder.
freeglut-src-01.zip: Full source of the freeglut folder
lpng155-bin-01.zip: Some library png sample programs.
lpng155-src-01.zip: Full source of the lpng155 folder.
plib-lib-01.zip: The set of plib static libraries, already in the 3rdparty folder.
plib-src-01.zip: The full source of PLIB
zlib-1.2.5-bin-01.zip: Some ZLIB sample programs
zlib-1.2.5-src-01.zip: Full source of ZLIB. The static libraries already in the 3rdparty folder.

Date Link Size MD5
2011/11/15 flightgear-bin-01.zip 7,224,324 c33649fb040351343882696342aa3359
2011/11/15 flightgear-lib-01.zip 18,604,670 d76063a98c31a06352772b2457625818
2011/11/18 flightgear-src-01.zip 3,874,323 6b6e7a6b447580e641aa7f4897c7bca6
2011/11/14 simgear-lib-01.zip 29,278,667 f7af36b611d879aad37bd8b77d06e26f
2011/11/16 simgear-src-01.zip 1,650,811 ee9f70da93cc44a9397f131258ce3f58
2011/11/14 3rdparty-all-01.zip 36,579,094 deeca75cc43f35c1d7b0efb29b936501
2011/11/15 3rdparty-osg-01.zip 225,298,823 3e4332d16a9cc931f42a01b3cd781cc6
2010/07/02 boost-1.4.4-src-01.zip 10,935,551 99ba8b928d9c55996c09116b846bdb3b
2011/11/14 3rdparty-sg-01.zip 29,650,182 ca5d5b07d06238a132bb868de9de88be
2011/11/17 freeglut-bin-01.zip 812,719 b9c3945b8d178bcaace37e7dae537bd2
2011/11/17 freeglut-lib-01.zip 435,328 cc196ec8e173e28276df2db9ed876cab
2011/10/28 freeglut-src-01.zip 522,337 f933f1cc7e82db75ab73e8954ec572f6
2011/11/17 lpng155-bin-01.zip 409,662 1480559f0d06e34ce0c79abfd68da5ba
2011/10/19 lpng155-src-01.zip 898,001 2030ae20b262de74770d56390002a7d5
2011/10/21 plib-lib-01.zip 5,140,056 41ba57d077721e7a22f72c4438a01bfa
2011/10/21 plib-src-01.zip 4,207,298 0b6cdb93264d2d875b8e2eb5345ecd2e
2011/11/17 zlib-1.2.5-bin-01.zip 258,430 86d051fd939a25b14fba1142fd0770cd
2011/10/24 zlib-1.2.5-src-01.zip 719,733 810f5c11899548df834d0818bfd5f3b4

top


3rdParty Dependencies

You may also find further details of these dependencies on my perquisite page.

OpenAL - http://connect.creativelabs.com/openal/Downloads/Forms/AllItems.aspx - Version 1.1.0 (circa 2005/6) Here it is normal to download the OpenAL11CoreSDK.zip, unpack and run the OpenAL11CoreSDK.exe 'installer'. By default it will install in 'C:/Program Files/OpenAL 1.1 SDK', and the library, 'C:/Program Files/OpenAL 1.1 SDK/libs/Win32/OpenAL32.lib' needs to be added to the CMake-gui for simgear and flightgear. And you need to download the olainst.zip, which again contains an 'installer', oalinst.exe, which when run will install OpenAL32.dll and wrap_oal.dll into C:\WINDOWS\system32, ready for use.

freealut - http://connect.creativelabs.com/openal/Downloads/ - Version 1.1.0 (circa 2005/6) This is a DLL, and can be downloaded in binary form freealut-1.1.0-bin.zip, which contains AL/alut.h, alut.lib and alut.dll. The first two can be put in 3rdparty/include and 3rdparty/lib resp., and the DLL should be placed in a path in your PATH environment variable. This could be C:\WINDOWS\system32, or others in the PATH. Or you could download the source freealut-1.1.0-src.zip, configure with CMake, and build with MSVC.

freeglut - http://sourceforge.net/scm/?type=svn&group_id=1032 -Version 2.6.0+ SVN update 2011-10-28. Does NOT use CMake. Began with VisualStudio2008static\freeglut.sln, and in a new 'build' folder created freeglut.dsw to load, and build freeglut_static libraries.

zlib - http://www.zlib.net/ - version 1.2.3 2005-07-20 (or later) - here use 1.2.5 2010-07-28. CMake then MSVC produced the desired libraries in minutes ;=))

png - http://libpng.org/ - version 1.5.5 September 22, 2011. CMake then MSVC produced the desired libraries in minutes ;=))

jpeg - http://gnuwin32.sourceforge.net/packages/jpeg.htm - venerable version 6b. Does NOT use CMake... At present this is optional!

pthreads - http://sourceware.org/pthreads-win32/ - release 2.8.0 (2006-12-22). Does NOT use CMake! But the source basically consists of ONE file, pthread.c, BUT you have to hand craft a 'config.h' file, and make sure you define PTW32_STATIC_LIB to build a static library. I have a 'createdsp.pl' script to aid in this. With a few input command, from a 'response' file, it creates pthreads.dsw/dsp, which I can load in any version of MSVC, convert, and build. BUT later discovered this library is no longer required ;=))

libsvn - http://subversion.apache.org/source-code.html - Does NOT use CMake... Optional - only if terrasync is to be built. Apache Subversion is 1.7.0. Building this library requires Python to be installed, and several other 'essential' prerequisites... like Apache Portable Runtime - http://apr.apache.org/compiling_win32.html - wow, leaving this for now.

plib - http://plib.sourceforge.net/download.html - Release version 1.8.5, or SVN trunk (rev 2166) - Does NOT use CMake - The source contains a plib.dsw, already set to static runtime, /MT /MTd, so easy to load and build. The MSVC build outputs a lot of warning C4996: '...': This function or variable may be unsafe, but builds ok. Add a disable of this particular warning to ul.h suppressed most warnings. It copies all header, and static libraries to it root, adding _d for the debug libraries.

boost - http://www.boost.org/users/download/#repository - SVN Updated to circa 2010/07/02. BOOST_VERSION 104400 and BOOST_LIB_VERSION "1_44". Note some later version, notably 'trunk' can not be used since some headers used by simgear have been deleted.

OpenSceneGraph - http://www.openscenegraph.org/projects/osg/wiki/Downloads - Stable Release 3.0.1, released 31st July 2011. Configured with CMake, compiled with MSVC8 Express (2005).

SimGear - https://gitorious.org/fg - Version 2.5. Configured with CMake, compiled with MSVC8 Express (2005)

FlightGear - https://gitorious.org/fg - Version 2.5. Configured with CMake, compiled with MSVC8 Express (2005).

Initially had to really STRUGGLE to get CMake to generate the build files. Many warnings were output during the compile, and 9 projects FAILED. In most cases it seems the EXE link was missing big list of dependent libraries ;=(( Thankfully I could refer to the appropriate Makefile.am file to provide the information.

But in a later try the 'configuration' step correctly FOUND all the 'simgear' libraries, but leave the list here should this happen to others, since the Makefile.am files have now been REMOVED from the source.

metar - Add libs - sgenvironmentd.lib sgiod.lib sgtimingd.lib sgthreadsd.lib sgbucketd.lib sgmiscd.lib sgstructured.lib sgdebugd.lib WS2_32.lib.
fgfs - (a) bootstrap.cxx needed a small code fix  #ifdef _MSC_VER #include <pthread.h> #endif, BUT later found a link with pthreads is NOT required, so removed this, and another few lines related to pthreads (b) ADD a massive list of libs - sgrouted.lib sgskyd.lib sgsoundd.lib sgephemd.lib sgtgdbd.lib sgmodeld.lib sgbvhd.lib sgmateriald.lib sgutild.lib sgtimingd.lib sgiod.lib sgscreend.lib sgmathd.lib sgbucketd.lib sgpropsd.lib sgdebugd.lib sgmagvard.lib sgmiscd.lib sgnasald.lib sgxmld.lib sgsoundd.lib sgseriald.lib sgstructured.lib sgenvironmentd.lib sgtsyncd.lib sgthreadsd.lib osg80-osgd.lib osg80-osgAnimationd.lib osg80-osgDBd.lib osg80-osgFXd.lib osg80-osgGAd.lib osg80-osgManipulatord.lib osg80-osgParticled.lib osg80-osgPresentationd.lib osg80-osgShadowd.lib osg80-osgSimd.lib osg80-osgTerraind.lib osg80-osgTextd.lib osg80-osgUtild.lib osg80-osgViewerd.lib osg80-osgVolumed.lib osg80-osgWidgetd.lib ot12-OpenThreadsd.lib osgdb_bmpd.lib osgdb_ddsd.lib osgdb_hdrd.lib osgdb_picd.lib osgdb_pnmd.lib osgdb_rgbd.lib osgdb_tgad.lib osgdb_3dsd.lib osgdb_acd.lib osgdb_ived.lib osgdb_osgd.lib osgdb_txfd.lib and zlibd.lib, and it linked ;=)) It took nearly 10 minutes to just do the linking
fgjs - Add libs - sgpropsd.lib sgmiscd.lib sgiod.lib sgdebugd.lib sgstructured.lib sgxmld.lib zlibd.lib WS2_32.lib
fgviewer - Add libs - sgtgdbd.lib sgmateriald.lib sgmodeld.lib sgbvhd.lib sgutild.lib sgiod.lib sgbucketd.lib sgmathd.lib sgpropsd.lib sgdebugd.lib sgmiscd.lib sgxmld.lib sgstructured.lib sgthreadsd.lib zlibd.lib
MIDGsmooth - Add libs - sgiod.lib sgseriald.lib sgtimingd.lib sgmathd.lib sgbucketd.lib sgmiscd.lib sgdebugd.lib sgstructured.lib sgthreadsd.lib zlibd.lib
terrasync - Add libs - sgiod.lib sgstructured.lib sgmiscd.lib sgdebugd.lib sgthreadsd.lib WS2_32.lib
GPSsmooth - Add libs - sgiod.lib sgtimingd.lib sgmiscd.lib sgdebugd.lib sgstructured.lib sgthreadsd.lib WS2_32.lib zlibd.lib
yasim - Add libs - sgxmld.lib sgpropsd.lib sgdebugd.lib sgmiscd.lib sgstructured.lib sgtimingd.lib
UGsmooth - Add libs - sgiod.lib sgseriald.lib sgtimingd.lib sgmathd.lib sgbucketd.lib sgmiscd.lib sgdebugd.lib sgstructured.lib sgthreadsd.lib WS2_32.lib zlibd.lib

And that was just for the Debug configuration. Began to REPEAT this mess for the Release ;=(( But managed to do something right, and CMake began to find MOST of the libraries automatically ;=)) as it should...

However, because I am using 'static' OSG libraries, found I still had to manually add the OSG plug-in list, since this has NOT been built into cmake yet!

fgfs - Added libs - osgdb_bmp.lib osgdb_png.lib osgdb_dds.lib osgdb_hdr.lib osgdb_pic.lib osgdb_pnm.lib osgdb_rgb.lib osgdb_tga.lib osgdb_3ds.lib osgdb_ac.lib osgdb_ive.lib osgdb_osg.lib osgdb_txf.lib osg80-osgVolume.lib osg80-osgTerrain.lib - each with their respective paths. And C:/FG/30/3rdparty/lib/libpng15_static.lib.

top


Some Images

OSG CMake images

View of CMake, after configure, and generate steps. Particularly note the PNG_LIBRARY, PNG_PNG_INCLUDE, ZLIB_LIBRARY and ZLIB_INCLUDE lines, since support for PNG graphics is needed in SG/FG...

image a
image a
image a
image a
image a
image a
image a
image a
image a
image a

While this shows many, MANY items NOT FOUND, and some WARNING in the output, there are NO red error entries, and the generation of the MSVC build files completed without problems, although on loading openscenegraph.sln in MSVC8 some warnings of unloadable projects were given! No sure why.

It is IMPORTANT that cmake does find libraries PNG and ZLIB libraries as this controls whether the osgdb-png.lib plug-in is built, and this plug-in is very necessary for the SG/FG building. The full list of required plug-ins is listed elsewhere in this document.

And NOTE I have set the CMAKE_INSTALL_PREFIX to where I was currently building SG/FG and other dependent libraries, but chose to NOT use the MSVC 'INSTALL' project at this time, although have seen that this works very well. Instead, when building SG/FG chose to point back to this particular OSG build directory.

And more than that, this 'INSTALL' can be run MANUALLY, if cmake.exe is in your PATH, giving a new, different install base directory with the command shown below, where the 'Config' is 'Release' or 'Debug', if you have built both, and the 'Target' set to the base directory where you want the project to be installed - the install process will create sub-folders like 'include', 'lib', etc, as required -
> cmake -DBUILD_TYPE=%Config% -D CMAKE_INSTALL_PREFIX=%Target% -P cmake_install.cmake

OR alternatively, you can manually modify the 'prefix' in the cmake_install.cmake file, do your desired base destination, like -
SET(CMAKE_INSTALL_PREFIX "C:/GTools/ConApps/GL/fbo/3rdparty")

Note the use of a 'forward' slash, '/', rather than the 'normal' Windows backslash, '\'. Thankfully in this case the forward slash works fine. As in some other cases, the back slash, '\', is reserved as an 'escape' character, and will cause a 'warning' in the running of cmake... An example where a little bit of linux/unix is used in ALL ports, including windows ;=))

top


 

View of CMake on zlib-1.2.5. Note specifically that BUILD_SHARED_LIBS is unchecked; the configurations reduced to just two, DEBUG and RELEASE, using the 'Remove Entry', but this is not so important; each instance of  /MD changed to /MT, and /MDd to /MTd; the CMAKE_INSTALL_PREFIX changed to point at a '3rdparty' folder, but I did NOT use the MSVC INSTALL project item, although found later this works very well, but provide a upd3rdparty.bat file to copy the headers and libraries appropriately; EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH adjusted to ...\build\bin and ...\build\lib respectively.

view of CMake on zlib-1.2.5

top


View of CMake on libpng-1.5.5. Note specifically that BUILD_SHARED_LIBS is unchecked; the configurations reduced to just two, DEBUG and RELEASE, using the 'Remove Entry', but this is not so important; the /MD changed to /MT, and /MDd to /MTd; the CMAKE_INSTALL_PREFIX changed to point at a '3rdparty' folder, but I did NOT use the MSVC INSTALL project item, but found later this works very well, but in this case provide a upd3rdparty.bat file to copy the headers and libraries appropriately; EXECUTABLE_OUTPUT_PATH and LIBRARY_OUTPUT_PATH adjusted to ...\build\bin and ...\build\lib respectively; AND be sure to note the zlib entries at the bottom.

view of CMake on libpng-1.5.5 a
view of CMake on libpng-1.5.5 b

top


  View of CMake for simgear configure and generate.

view of CMake on simgear a
view of CMake on simgear b
view of CMake on simgear c
view of CMake on simgear d

top


View of CMake for flightgear configure and generate.

view of CMake on FG a
view of CMake on FG b
view of CMake on FG c
view of CMake on FG d
view of CMake on FG e
view of CMake on FG f
view of CMake on FG d

Generation was fine, except for these cmake warnings... Note the full error line is of the form "WARNING: Target "fgfs" requests linking to directory "C:/FG/30/3rdparty/lib". Targets may link only to libraries. CMake is dropping the item.". Seems somewhere I need to add a library NAME, rather than a PATH...

Not sure exactly what did it, but later these warning were not present. And the MSVC build file worked well. Of course, because I had chosen using an build with OSG static libraries, I had to add the plug-in libraries MANUALLY to the IDE build.

top index


EOP - fgfs-055.htm

checked by tidy  Valid HTML 4.01 Transitional