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)
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)
${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
set_property(TARGET SimGearCore PROPERTY VERSION ${SIMGEAR_VERSION})
set_property(TARGET SimGearCore PROPERTY SOVERSION ${SIMGEAR_SOVERSION})
- target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY} ${CMAKE_THREAD_LIBS_INIT})
+ target_link_libraries(SimGearCore ${ZLIB_LIBRARY} ${RT_LIBRARY}
+ ${EXPAT_LIBRARIES}
+ ${CMAKE_THREAD_LIBS_INIT})
if(LIBSVN_FOUND)
target_link_libraries(SimGearCore ${LIBSVN_LIBRARIES})
* 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>