]> git.mxchange.org Git - simgear.git/commitdiff
Fix windows and headless build
authorThomas Geymayer <tomgey@gmail.com>
Mon, 5 Nov 2012 11:58:21 +0000 (12:58 +0100)
committerThomas Geymayer <tomgey@gmail.com>
Mon, 5 Nov 2012 11:59:15 +0000 (12:59 +0100)
simgear/canvas/ShivaVG/include/vg/openvg.h
simgear/canvas/ShivaVG/src/CMakeLists.txt
simgear/math/SGVec2.hxx
simgear/math/SGVec3.hxx
simgear/math/SGVec4.hxx
simgear/misc/parse_color.cxx
simgear/misc/parse_color.hxx
simgear/misc/parse_color_test.cxx
simgear/simgear_config_cmake.h.in

index 795d66e8fe67b6322703112e3dab816b6df1c9b1..186f2f5b5db54fce211b6c5bda646e76f62002d6 100644 (file)
@@ -406,6 +406,8 @@ typedef enum {
 
 /* Function Prototypes */
 
+#if 0 // We are including ShivaVG directly into libSimGearScene and only using
+      // inside the library so there is no need for any dll import/export stuff
 #if defined(_WIN32) || defined(__VC32__)
 #      if defined(VG_API_EXPORT)
 #              define VG_API_CALL __declspec(dllexport)
@@ -415,6 +417,9 @@ typedef enum {
 #else
 #      define VG_API_CALL extern
 #endif
+#else
+#   define VG_API_CALL
+#endif
 
 #if defined (__cplusplus)
 extern "C" {
index 1e36635c4114688cc39393b6757115ed34416d40..98f9cabc94a26c772b640361b36ada0ad573dee9 100644 (file)
@@ -1,27 +1,30 @@
 include(SimGearComponent)
 
-#add_definitions(-DVG_API_EXPORT)
+set(HEADERS
+  ../include/vg/openvg.h
+  ../include/vg/vgu.h
+)
 
-set(ShivaVG_Src
-    ${SRCROOT}/shArrays.c
-    ${SRCROOT}/shArrays.h
-    ${SRCROOT}/shContext.c
-    ${SRCROOT}/shContext.h
-    ${SRCROOT}/shExtensions.c
-    ${SRCROOT}/shExtensions.h
-    ${SRCROOT}/shGeometry.c
-    ${SRCROOT}/shGeometry.h
-    ${SRCROOT}/shImage.c
-    ${SRCROOT}/shImage.h
-    ${SRCROOT}/shPaint.c
-    ${SRCROOT}/shPaint.h
-    ${SRCROOT}/shParams.c
-    ${SRCROOT}/shPath.c
-    ${SRCROOT}/shPath.h
-    ${SRCROOT}/shPipeline.c
-    ${SRCROOT}/shVectors.c
-    ${SRCROOT}/shVectors.h
-    ${SRCROOT}/shVgu.c
+set(SOURCES
+  shArrays.c
+  shArrays.h
+  shContext.c
+  shContext.h
+  shExtensions.c
+  shExtensions.h
+  shGeometry.c
+  shGeometry.h
+  shImage.c
+  shImage.h
+  shPaint.c
+  shPaint.h
+  shParams.c
+  shPath.c
+  shPath.h
+  shPipeline.c
+  shVectors.c
+  shVectors.h
+  shVgu.c
 )
 
-simgear_scene_component(ShivaVG canvas/ShivaVG "${ShivaVG_Src}" "")
\ No newline at end of file
+simgear_scene_component(ShivaVG canvas/ShivaVG "${SOURCES}" "${HEADERS}")
\ No newline at end of file
index 68e74c1736a874fb6b06549c49057d993b3e9bd1..0695cded19f232e7cc14b698e2f1c6892be2e0fe 100644 (file)
@@ -18,6 +18,8 @@
 #ifndef SGVec2_H
 #define SGVec2_H
 
+#include <iosfwd>
+
 /// 2D Vector Class
 template<typename T>
 class SGVec2 {
index 56775d3ede34ba6affc15d8fa37076c684311875..dbc8af543bf9a5d39a933be30d55e32b9dfc9c43 100644 (file)
@@ -18,6 +18,8 @@
 #ifndef SGVec3_H
 #define SGVec3_H
 
+#include <iosfwd>
+
 /// 3D Vector Class
 template<typename T>
 class SGVec3 {
index 6e42d957d8710f9a3a56c85cfa9d0b3ddf41f0bd..301aaca3ccb4ff8df41259100a409d2b50858838 100644 (file)
@@ -18,6 +18,8 @@
 #ifndef SGVec4_H
 #define SGVec4_H
 
+#include <iosfwd>
+
 /// 4D Vector Class
 template<typename T>
 class SGVec4 {
index 722ccfa266a155b3b7935c5dc6598a8e8cdc927f..4bcc20b62d3addd2868ee783ff45e4247d804f27 100644 (file)
@@ -27,10 +27,10 @@ namespace simgear
 {
 
   //----------------------------------------------------------------------------
-  bool parseColor(std::string str, osg::Vec4& result)
+  bool parseColor(std::string str, SGVec4f& result)
   {
     boost::trim(str);
-    osg::Vec4 color(0,0,0,1);
+    SGVec4f color(0,0,0,1);
 
     if( str.empty() )
       return false;
@@ -49,7 +49,7 @@ namespace simgear
            tok != tokens.end() && comp < 4;
            ++tok, ++comp )
       {
-        color._v[comp] = strtol(std::string(*tok).c_str(), 0, 16) / 255.f;
+        color[comp] = strtol(std::string(*tok).c_str(), 0, 16) / 255.f;
       }
     }
     // rgb(r,g,b)
@@ -75,9 +75,9 @@ namespace simgear
            tok != tokens.end() && comp < 4;
            ++tok, ++comp )
       {
-        color._v[comp] = boost::lexical_cast<float>(*tok)
-                       // rgb = [0,255], a = [0,1]
-                       / (comp < 3 ? 255 : 1);
+        color[comp] = boost::lexical_cast<float>(*tok)
+                    // rgb = [0,255], a = [0,1]
+                    / (comp < 3 ? 255 : 1);
       }
     }
     else
@@ -87,4 +87,16 @@ namespace simgear
     return true;
   }
 
+#ifndef SIMGEAR_HEADLESS
+  bool parseColor(std::string str, osg::Vec4& result)
+  {
+    SGVec4f color;
+    if( !parseColor(str, color) )
+      return false;
+
+    result.set(color[0], color[1], color[2], color[3]);
+    return true;
+  }
+#endif
+
 } // namespace simgear
index d4ecad3c585c042850145c8b3b7ed4a1afbd4863..d74bffca5bd9b50a64f4c1ed48a4bf362d02c82f 100644 (file)
 #ifndef PARSE_COLOR_HXX_
 #define PARSE_COLOR_HXX_
 
-#include <osg/Vec4>
+#include <simgear/math/SGLimits.hxx>
+#include <simgear/math/SGMathFwd.hxx>
+#include <simgear/math/SGVec4.hxx>
+
+#ifndef SIMGEAR_HEADLESS
+# include <osg/Vec4>
+#endif
+
 #include <string>
 
 namespace simgear
@@ -33,7 +40,19 @@ namespace simgear
    *
    * @return Whether str contained a valid color (and result has been modified)
    */
+  bool parseColor(std::string str, SGVec4f& result);
+
+#ifndef SIMGEAR_HEADLESS
+  /**
+   * Parse a (CSS) color into an osg::Vec4
+   *
+   * @param str     Text to parse
+   * @param result  Output for parse color
+   *
+   * @return Whether str contained a valid color (and result has been modified)
+   */
   bool parseColor(std::string str, osg::Vec4& result);
+#endif
 
 } // namespace simgear
 
index c41b264503cbe2153a4a293a8036fffcea97b0ec..c3795e65d76c80e56f74b3539e5ae9351643d674 100644 (file)
 
 #define VERIFY_COLOR(str, r, g, b, a) \
   VERIFY(simgear::parseColor(str, color)) \
-  COMPARE(color, osg::Vec4(r, g, b, a))
+  COMPARE(color, SGVec4f(r, g, b, a))
     
 int main (int ac, char ** av)
 {
-  osg::Vec4 color;
+  SGVec4f color;
   VERIFY_COLOR("#ff0000", 1,0,0,1);
   VERIFY_COLOR("#00ff00", 0,1,0,1);
   VERIFY_COLOR("#0000ff", 0,0,1,1);
index bb6d092b982c1dd37a3e3743ea7e83a5e4b9c41d..34af5094dbaf4854f70486a9d52dfe7566739463 100644 (file)
@@ -21,3 +21,4 @@
 
 #cmakedefine SYSTEM_EXPAT
 #cmakedefine ENABLE_SOUND
+#cmakedefine SIMGEAR_HEADLESS