]> git.mxchange.org Git - simgear.git/commitdiff
MSVC improvements from Olaf Flebbe.
authorJames Turner <zakalawe@mac.com>
Tue, 28 Dec 2010 13:32:54 +0000 (13:32 +0000)
committerJames Turner <zakalawe@mac.com>
Tue, 28 Dec 2010 13:32:54 +0000 (13:32 +0000)
CMakeLists.txt
simgear/simgear_config_cmake.h.in
simgear/threads/CMakeLists.txt

index 20c254e39116af1cd1b05572d5307af938172d61..6db321af1cb68af5282d45a9dc196dc48ff71adf 100644 (file)
@@ -17,8 +17,18 @@ set(CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/CMakeModules;${CMAKE_MODULE_PATH}")
 option(SIMGEAR_SHARED "Set to ON to build SimGear as a shared library/framework" OFF)
 option(SIMGEAR_HEADLESS "Set to ON to build SimGear with GUI/graphics support" OFF)
 option(JPEG_FACTORY "Enable JPEG-factory support" OFF)
+option(MSVC_3RDPARTY_DIR "Location where the third-party dependencies are extracted" NOT_FOUND)
+
+if (MSVC_3RDPARTY_DIR)
+  message(STATUS "3rdparty files located in ${MSVC_3RDPARTY_DIR}")
+  set (CMAKE_LIBRARY_PATH ${MSVC_3RDPARTY_DIR}/3rdParty/lib)
+  set (CMAKE_INCLUDE_PATH ${MSVC_3RDPARTY_DIR}/3rdParty/include)
+  set (BOOST_ROOT ${MSVC_3RDPARTY_DIR}/boost_1_44_0)
+  set (OPENAL_INCLUDE_DIR ${MSVC_3RDPARTY_DIR}/3rdParty/include)
+  set (OPENAL_LIBRARY_DIR ${MSVC_3RDPARTY_DIR}/3rdParty/lib) 
+  set (OSGDIR ${MSVC_3RDPARTY_DIR}/install/msvc90/OpenScenegraph)
+endif (MSVC_3RDPARTY_DIR)
 
-# check required dependencies
 find_package(Boost REQUIRED)
 find_package(ZLIB REQUIRED)
 find_package(Threads REQUIRED)
@@ -42,6 +52,7 @@ endif()
 find_path (HAVE_SYS_TIME_H sys/time.h )
 find_path (HAVE_SYS_TIMEB_H sys/timeb.h )
 find_path (HAVE_UNISTD_H unistd.h )
+find_path (HAVE_WINDOWS_H windows.h)
 
 check_function_exists(gettimeofday HAVE_GETTIMEOFDAY)
 check_function_exists(ftime HAVE_FTIME)
@@ -50,7 +61,8 @@ check_function_exists(rint HAVE_RINT)
 
 # isnan might not be real symbol, so can't check using function_exists
 check_cxx_source_compiles(
-    "#include <cmath> void f() { isnan(0.0);} "
+    "#include <cmath> 
+    void f() { isnan(0.0);} "
     HAVE_ISNAN)
 
 if(CMAKE_COMPILER_IS_GNUCXX)
@@ -65,7 +77,7 @@ if(WIN32)
         #     SET(WARNING_FLAGS "${WARNING_FLAGS} /wd${warning}")
         # endforeach(warning)
         
-        set(MSVC_FLAGS "-DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS")
+        set(MSVC_FLAGS "-DWIN32 -DNOMINMAX -D_USE_MATH_DEFINES -D_CRT_SECURE_NO_WARNINGS -D__CRT_NONSTDC_NO_WARNINGS")
     endif(MSVC)
     
     # assumed on Windows
index 1e46d1e93c09a73d693312b5fe767ab5c90798e5..2bc95fb39575dde959aa2cc94692225e9d859bbb 100644 (file)
@@ -10,6 +10,7 @@
 #cmakedefine HAVE_RINT
 #cmakedefine HAVE_TIMEGM
 #cmakedefine HAVE_ISNAN
+#cmakedefine HAVE_WINDOWS_H
 
 // set if building headless (no OSG or OpenGL libs)
 #cmakedefine NO_OPENSCENEGRAPH_INTERFACE
index 91fcdf248cc1071388ca30f4efcb8a9a3d710d99..9eb4d5407b3e2fe594ba8b362e5264e655502f2f 100644 (file)
@@ -5,6 +5,10 @@ set(HEADERS
     SGQueue.hxx
     SGThread.hxx)
 
-set(SOURCES SGThread.cxx)
 
-simgear_component(threads threads "${SOURCES}" "${HEADERS}")
\ No newline at end of file
+if (MSVC)
+  install (FILES ${HEADERS}  DESTINATION include/simgear/threads)
+else (MSVC)
+  set(SOURCES SGThread.cxx)
+  simgear_component(threads threads "${SOURCES}" "${HEADERS}")
+endif(MSVC)