]> git.mxchange.org Git - simgear.git/commitdiff
Merge branch 'next' of git.gitorious.org:fg/simgear into next
authorMartin Spott <Martin.Spott@mgras.net>
Mon, 12 Sep 2011 14:02:00 +0000 (16:02 +0200)
committerMartin Spott <Martin.Spott@mgras.net>
Mon, 12 Sep 2011 14:02:00 +0000 (16:02 +0200)
CMakeLists.txt
CMakeModules/FindSvnClient.cmake

index 77431bd381eb11159858d5e507fe76d36045fb99..fbf5185c0b6ec8749cd6a4f73d23cdd133b565ac 100644 (file)
@@ -42,7 +42,21 @@ option(JPEG_FACTORY "Enable JPEG-factory support" OFF)
 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)
 
-set(MSVC_3RDPARTY_ROOT NOT_FOUND CACHE PATH "Location where the third-party dependencies are extracted")
+if (MSVC)
+  GET_FILENAME_COMPONENT(PARENT_DIR ${PROJECT_SOURCE_DIR} PATH)
+  if (CMAKE_CL_64)
+    SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdparty.x64")
+  else (CMAKE_CL_64)
+    SET(TEST_3RDPARTY_DIR "${PARENT_DIR}/3rdparty")
+  endif (CMAKE_CL_64)
+  if (EXISTS ${TEST_3RDPARTY_DIR})
+    set(MSVC_3RDPARTY_ROOT ${PARENT_DIR} CACHE PATH "Location where the third-party dependencies are extracted")
+  else (EXISTS ${TEST_3RDPARTY_DIR})
+    set(MSVC_3RDPARTY_ROOT NOT_FOUND CACHE PATH "Location where the third-party dependencies are extracted")
+  endif (EXISTS ${TEST_3RDPARTY_DIR})
+else (MSVC)
+  set(MSVC_3RDPARTY_ROOT NOT_FOUND CACHE PATH "Location where the third-party dependencies are extracted")
+endif (MSVC)
 
 if (MSVC AND MSVC_3RDPARTY_ROOT)
   message(STATUS "3rdparty files located in ${MSVC_3RDPARTY_ROOT}")
@@ -62,6 +76,7 @@ if (MSVC AND MSVC_3RDPARTY_ROOT)
   set (CMAKE_LIBRARY_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/lib )
   set (CMAKE_INCLUDE_PATH ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include ${MSVC_3RDPARTY_ROOT}/install/${OSG_MSVC}/OpenScenegraph/include)
   set (BOOST_ROOT ${MSVC_3RDPARTY_ROOT}/boost_1_44_0)
+  message(STATUS "BOOST_ROOT is ${BOOST_ROOT}")
   set (OPENAL_INCLUDE_DIR ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include)
   set (ALUT_INCLUDE_DIR ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/include)
   set (OPENAL_LIBRARY_DIR ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib) 
index f7d145ea80d107fbabd8a68b11c99ba19f4d73ad..22ae0999c258ada1fd717e4248dcfb4602dd2f9a 100644 (file)
@@ -3,6 +3,31 @@
 
 include (CheckFunctionExists)
 include (CheckIncludeFile)
+include (CheckLibraryExists)
+
+macro(find_static_component comp libs)
+    # account for alternative Windows svn distribution naming
+    if(MSVC)
+      set(compLib "lib${comp}")
+    else(MSVC)
+      set(compLib "${comp}")
+    endif(MSVC)
+    
+    string(TOUPPER "${comp}" compLibBase)
+    set( compLibName ${compLibBase}_LIBRARY )
+
+    FIND_LIBRARY(${compLibName}
+      NAMES ${compLib}
+      HINTS $ENV{PLIBDIR}
+      PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64
+      PATHS
+      /usr/local
+      /usr
+      /opt
+    )
+
+       list(APPEND ${libs} ${${compLibName}})
+endmacro()
 
 find_program(HAVE_APR_CONFIG apr-1-config)
 if(HAVE_APR_CONFIG) 
@@ -22,7 +47,7 @@ else(HAVE_APR_CONFIG)
     message(STATUS "apr-1-config not found, implement manual search for APR")
 endif(HAVE_APR_CONFIG)
 
-if(HAVE_APR_CONFIG
+if(HAVE_APR_CONFIG OR MSVC)
        find_path(LIBSVN_INCLUDE_DIR svn_client.h
          HINTS
          $ENV{LIBSVN_DIR}
@@ -32,20 +57,17 @@ if(HAVE_APR_CONFIG)
          /usr
          /opt
        )
-
-       check_library_exists(svn_client-1 svn_client_checkout "" HAVE_LIB_SVNCLIENT)
-       check_library_exists(svn_subr-1 svn_cmdline_init "" HAVE_LIB_SVNSUBR)
-       check_library_exists(svn_ra-1 svn_ra_initialize "" HAVE_LIB_SVNRA)
+       
+       set(LIBSVN_LIBRARIES "")
+       if (MSVC)
+               find_static_component("apr-1" LIBSVN_LIBRARIES)
+       else (MSVC)
+               list(APPEND LIBSVN_LIBRARIES ${APR_LIBS})
+       endif (MSVC)
+       find_static_component("svn_client-1" LIBSVN_LIBRARIES)
+       find_static_component("svn_subr-1" LIBSVN_LIBRARIES)
+       find_static_component("svn_ra-1" LIBSVN_LIBRARIES)
 
        include(FindPackageHandleStandardArgs)
-       FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSVN DEFAULT_MSG 
-               HAVE_LIB_SVNSUBR 
-               HAVE_LIB_SVNCLIENT
-               HAVE_LIB_SVNRA 
-               LIBSVN_INCLUDE_DIR)
-
-       if(LIBSVN_FOUND)
-               set(LIBSVN_LIBRARIES "svn_client-1" "svn_subr-1" "svn_ra-1" ${APR_LIBS})
-       endif(LIBSVN_FOUND)
-endif(HAVE_APR_CONFIG)
-
+       FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSVN DEFAULT_MSG LIBSVN_LIBRARIES LIBSVN_INCLUDE_DIR)
+endif(HAVE_APR_CONFIG OR MSVC)