141 lines
4.2 KiB
Diff
141 lines
4.2 KiB
Diff
diff -ruN simgear-2.8.0/CMakeLists.txt my/CMakeLists.txt
|
|
--- simgear-2.8.0/CMakeLists.txt 2012-08-16 16:20:28.000000000 +0200
|
|
+++ my/CMakeLists.txt 2012-09-22 00:25:49.814097209 +0200
|
|
@@ -66,6 +66,7 @@
|
|
option(ENABLE_LIBSVN "Set to ON to build SimGear with libsvnclient support" ON)
|
|
option(ENABLE_RTI "Set to ON to build SimGear with RTI support" OFF)
|
|
option(ENABLE_TESTS "Set to OFF to disable building SimGear's test applications" ON)
|
|
+option(SYSTEM_EXPAT "Set to ON to build SimGear using the system libExpat" OFF)
|
|
|
|
if (MSVC)
|
|
GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} PATH)
|
|
@@ -148,6 +149,16 @@
|
|
find_package(ZLIB REQUIRED)
|
|
find_package(Threads REQUIRED)
|
|
|
|
+if (SYSTEM_EXPAT)
|
|
+ message(STATUS "Requested to use system Expat library, forcing SIMGEAR_SHARED to true")
|
|
+ set(SIMGEAR_SHARED ON)
|
|
+ find_package(EXPAT REQUIRED)
|
|
+ include_directories(${EXPAT_INCLUDE_DIRS})
|
|
+else()
|
|
+ message(STATUS "Using built-in expat code")
|
|
+ add_definitions(-DHAVE_EXPAT_CONFIG_H)
|
|
+endif(SYSTEM_EXPAT)
|
|
+
|
|
check_include_file(sys/time.h HAVE_SYS_TIME_H)
|
|
check_include_file(sys/timeb.h HAVE_SYS_TIMEB_H)
|
|
check_include_file(unistd.h HAVE_UNISTD_H)
|
|
@@ -252,7 +263,6 @@
|
|
${ALUT_INCLUDE_DIR} ${OPENAL_INCLUDE_DIR} )
|
|
|
|
add_definitions(-DHAVE_CONFIG_H)
|
|
-add_definitions(-DHAVE_EXPAT_CONFIG_H)
|
|
|
|
# configure a header file to pass some of the CMake settings
|
|
# to the source code
|
|
diff -ruN simgear-2.8.0/simgear/CMakeLists.txt my/simgear/CMakeLists.txt
|
|
--- simgear-2.8.0/simgear/CMakeLists.txt 2012-08-16 16:20:29.000000000 +0200
|
|
+++ my/simgear/CMakeLists.txt 2012-09-22 00:29:52.244101431 +0200
|
|
@@ -54,7 +54,9 @@
|
|
set_property(TARGET SimGearCore PROPERTY VERSION ${SIMGEAR_VERSION})
|
|
set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
|
|
|
|
- target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY})
|
|
+ target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY}
|
|
+ ${EXPAT_LIBRARIES}
|
|
+ ${CMAKE_THREAD_LIBS_INIT})
|
|
install(TARGETS SimGearCore LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})
|
|
|
|
if(LIBSVN_FOUND)
|
|
diff -ruN simgear-2.8.0/simgear/simgear_config_cmake.h.in my/simgear/simgear_config_cmake.h.in
|
|
--- simgear-2.8.0/simgear/simgear_config_cmake.h.in 2012-08-16 16:20:29.000000000 +0200
|
|
+++ my/simgear/simgear_config_cmake.h.in 2012-09-22 00:25:49.822097209 +0200
|
|
@@ -17,3 +17,5 @@
|
|
#cmakedefine HAVE_LIBSVN_CLIENT_1
|
|
|
|
#cmakedefine GCC_ATOMIC_BUILTINS_FOUND
|
|
+
|
|
+#cmakedefine SYSTEM_EXPAT
|
|
diff -ruN simgear-2.8.0/simgear/xml/CMakeLists.txt my/simgear/xml/CMakeLists.txt
|
|
--- simgear-2.8.0/simgear/xml/CMakeLists.txt 2012-08-16 16:20:29.000000000 +0200
|
|
+++ my/simgear/xml/CMakeLists.txt 2012-09-22 00:25:49.872097210 +0200
|
|
@@ -7,26 +7,31 @@
|
|
)
|
|
|
|
set(SOURCES
|
|
- asciitab.h
|
|
- hashtable.h
|
|
- iasciitab.h
|
|
- latin1tab.h
|
|
- nametab.h
|
|
- utf8tab.h
|
|
- xmldef.h
|
|
- xmlparse.h
|
|
- xmlrole.h
|
|
- xmltok.h
|
|
- xmltok_impl.h
|
|
- hashtable.c
|
|
- xmlparse.c
|
|
- xmlrole.c
|
|
- xmltok.c
|
|
easyxml.cxx
|
|
- internal.h
|
|
- ascii.h
|
|
- expat.h
|
|
- expat_external.h
|
|
)
|
|
|
|
+if (NOT SYSTEM_EXPAT)
|
|
+ list(APPEND SOURCES
|
|
+ asciitab.h
|
|
+ hashtable.h
|
|
+ iasciitab.h
|
|
+ latin1tab.h
|
|
+ nametab.h
|
|
+ utf8tab.h
|
|
+ xmldef.h
|
|
+ xmlparse.h
|
|
+ xmlrole.h
|
|
+ xmltok.h
|
|
+ xmltok_impl.h
|
|
+ hashtable.c
|
|
+ xmlparse.c
|
|
+ xmlrole.c
|
|
+ xmltok.c
|
|
+ internal.h
|
|
+ ascii.h
|
|
+ expat.h
|
|
+ expat_external.h
|
|
+ )
|
|
+endif()
|
|
+
|
|
simgear_component(xml xml "${SOURCES}" "${HEADERS}")
|
|
diff -ruN simgear-2.8.0/simgear/xml/easyxml.cxx my/simgear/xml/easyxml.cxx
|
|
--- simgear-2.8.0/simgear/xml/easyxml.cxx 2012-08-16 16:20:29.000000000 +0200
|
|
+++ my/simgear/xml/easyxml.cxx 2012-09-22 00:25:49.889097210 +0200
|
|
@@ -4,13 +4,22 @@
|
|
* This file is in the Public Domain, and comes with NO WARRANTY of any kind.
|
|
*/
|
|
|
|
+#ifdef HAVE_CONFIG_H
|
|
+# include <simgear_config.h>
|
|
+#endif
|
|
+
|
|
#include <simgear/compiler.h>
|
|
|
|
#include <string.h> // strcmp()
|
|
|
|
#include "easyxml.hxx"
|
|
-#include "xmlparse.h"
|
|
-
|
|
+
|
|
+#ifdef SYSTEM_EXPAT
|
|
+# include <expat.h>
|
|
+#else
|
|
+# include "xmlparse.h"
|
|
+#endif
|
|
+
|
|
#include <fstream>
|
|
#include <iostream>
|
|
|