Hello all,

attached is a patch to fix building the osgScaleViewer example using CMake.

There is a second problem with CMake builds which affects all of
Equalizer: libraries are named libEqualizer.so, libEqualizerServer.so
and libEqualizerAdmin.so on Linux. According to
src/lib/client/client.cpp line 108, the server library should be called
libeqserver.so. I had to add a symbolic link to make this work.

I can see two ways to solve this problem:

1. Name the libraries differently on different systems. This requires
changing the CMakeLists files: if(WIN32) ... EqualizerServer ...
else(WIN32) ... eqserver ... endif(WIN32). And every application that
links against Equalizer may have to add such checks, too, depending on
the target system.

2. Name the libraries the same on all systems including MSVC. This would
require changing the CMakeLists to use eqserver, eqadmin, eq for library
names, and it would require to change the custom make files to produce
libeqserver.dll, libeqadmin.dll, and libeq.dll. But this would be
consistent, and applications would not need additional checks. The check
in client.cpp could be simplified to only add a system-specific
extension to "libeqserver".

I would prefer solution 2, but this would break backward compatibility
on MSVC...

Martin
-- 
Computer Graphics and Multimedia Systems Group
University of Siegen, Germany
http://www.cg.informatik.uni-siegen.de/
From 553d7190b850317972cea9764ba124be10510e99 Mon Sep 17 00:00:00 2001
From: Martin Lambers <[email protected]>
Date: Thu, 26 Aug 2010 12:57:17 +0200
Subject: [PATCH] Fix CMakeLists.txt for osgScaleViewer.

Require OpenSceneGraph >= 2.9.8. The example does not work with the 2.8.x
series. It may work with previous 2.9.x versions (I did not check); in this
case, the requirement can be relaxed.

Remove the Ubuntu-specific check for 2.8.1.

Require the modules osgDB and osgUtil to avoid linking errors due to missing
dependencies.
---
 src/examples/osgScaleViewer/CMakeLists.txt |    9 +--------
 1 files changed, 1 insertions(+), 8 deletions(-)

diff --git a/src/examples/osgScaleViewer/CMakeLists.txt b/src/examples/osgScaleViewer/CMakeLists.txt
index 7232bc6..b09b38a 100644
--- a/src/examples/osgScaleViewer/CMakeLists.txt
+++ b/src/examples/osgScaleViewer/CMakeLists.txt
@@ -1,19 +1,12 @@
 # Copyright (c) 2010 Daniel Pfeifer <[email protected]>
 
-find_package(OpenSceneGraph)
+find_package(OpenSceneGraph 2.9.8 REQUIRED osgDB osgUtil)
 
 if(NOT OPENSCENEGRAPH_FOUND)
   message(WARNING "OSG not found: Example 'osgScaleViewer' will be skipped!")
   return()
 endif(NOT OPENSCENEGRAPH_FOUND)
 
-# Ubuntu 10.04 comes with OSG version 2.8.1
-# this version does not compile
-if(${OPENSCENEGRAPH_VERSION} MATCHES "2.8.1")
-  message(WARNING "OSG v2.8.1 found: Example 'osgScaleViewer' will be skipped!")
-  return()
-endif(${OPENSCENEGRAPH_VERSION} MATCHES "2.8.1")
-
 include_directories(${OPENSCENEGRAPH_INCLUDE_DIRS})
 
 add_executable(osgScaleViewer
-- 
1.7.0.4

Attachment: smime.p7s
Description: S/MIME Cryptographic Signature

_______________________________________________
eq-dev mailing list
[email protected]
http://www.equalizergraphics.com/cgi-bin/mailman/listinfo/eq-dev
http://www.equalizergraphics.com

Reply via email to