[Cmake-commits] CMake branch, next, updated. v2.8.2-861-ga364480

Brad King brad.king at kitware.com
Tue Sep 21 08:21:05 EDT 2010


This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "CMake".

The branch, next has been updated
       via  a36448038aab791189a09f9b0a1bdbf002b896f4 (commit)
       via  b8b9a321703eaea1a0c50340dc594d9410c3032b (commit)
       via  90c16d84bee64719d4bf3c4c2ee561a8dec54b3c (commit)
       via  95ff12091dd1bfed6207021c1a64803c9fcc5e44 (commit)
       via  5cce138c91d786197c90b2a108240a6573d72392 (commit)
       via  02390416e101edbf07aa9e0952fc3c0452b97009 (commit)
       via  d4900c2eca0964f8ce719cb4b8502e15114c042e (commit)
       via  6ed7d9937aa8242e14a08c2da33df4d3d9b7f864 (commit)
       via  16b0eb5ac52c51485161429c2c4f9c7d627ce98a (commit)
       via  5e6f0f0d73ca44938bec36db81fd815cb70737a0 (commit)
      from  acee917d8fa06f8d0e64b13c1ca72cc65486777d (commit)

Those revisions listed above that are new to this repository have
not appeared on any other notification email; so we list those
revisions in full, below.

- Log -----------------------------------------------------------------
http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=a36448038aab791189a09f9b0a1bdbf002b896f4
commit a36448038aab791189a09f9b0a1bdbf002b896f4
Merge: acee917 b8b9a32
Author:     Brad King <brad.king at kitware.com>
AuthorDate: Tue Sep 21 08:20:12 2010 -0400
Commit:     Brad King <brad.king at kitware.com>
CommitDate: Tue Sep 21 08:20:12 2010 -0400

    Merge topic 'FindBoost_bugfixes' into next
    
    b8b9a32 FindBoost.cmake: Fix library search path glitch introduced in earlier commit
    90c16d8 FindBoost.cmake: Implements 11160
    95ff120 FindBoost.cmake: Fixes 10436
    5cce138 FindBoost.cmake: Fixes 11121
    0239041 FindBoost.cmake: Fixes 11246
    d4900c2 FindBoost.cmake: Fix compiling against a boost source tree
    6ed7d99 FindBoost.cmake: Add Boost_NO_SYSTEM_PATHS option
    16b0eb5 FindBoost.cmake: Miscellaneous changes and refactoring
    5e6f0f0 FindBoost.cmake fixes for issues 11204 & 8529


http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=b8b9a321703eaea1a0c50340dc594d9410c3032b
commit b8b9a321703eaea1a0c50340dc594d9410c3032b
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sun Sep 19 23:15:07 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sun Sep 19 23:15:07 2010 -0400

    FindBoost.cmake: Fix library search path glitch introduced in earlier commit

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 7acd31a..2377e10 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -499,7 +499,7 @@ ELSE (_boost_IN_CACHE)
       "-DBOOST_LIB_DIAGNOSTIC" CACHE STRING "Boost diagnostic define")
   ENDIF(WIN32)
 
-  SET(_boost_INCLUDE_SEARCH_DIRS
+  set(_boost_INCLUDE_SEARCH_DIRS_SYSTEM
     C:/boost/include
     C:/boost
     "$ENV{ProgramFiles}/boost/include"
@@ -551,19 +551,18 @@ ELSE (_boost_IN_CACHE)
                    "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
   endif()
 
+  if( Boost_NO_SYSTEM_PATHS)
+    set(_boost_FIND_OPTIONS NO_CMAKE_SYSTEM_PATH)
+  else()
+    set(_boost_INCLUDE_SEARCH_DIRS ${_boost_INCLUDE_SEARCH_DIRS_SYSTEM})
+  endif()
+
   if( BOOST_ROOT )
-    if( Boost_NO_SYSTEM_PATHS )
-      set(_boost_INCLUDE_SEARCH_DIRS
-        ${BOOST_ROOT}/include
-        ${BOOST_ROOT})
-      set(_boost_FIND_OPTIONS NO_CMAKE_SYSTEM_PATH)
-    else()
-      set(_boost_INCLUDE_SEARCH_DIRS
-        ${BOOST_ROOT}/include
-        ${BOOST_ROOT}
-        ${_boost_INCLUDE_SEARCH_DIRS})
-    endif()
-  endif( BOOST_ROOT )
+    set(_boost_INCLUDE_SEARCH_DIRS
+      ${BOOST_ROOT}/include
+      ${BOOST_ROOT}
+      ${_boost_INCLUDE_SEARCH_DIRS})
+  endif()
 
   # prepend BOOST_INCLUDEDIR to search path if specified
   if( BOOST_INCLUDEDIR )
@@ -803,9 +802,13 @@ ELSE (_boost_IN_CACHE)
   #  Begin finding boost libraries
   # ------------------------------------------------------------------------
 
+  if(BOOST_ROOT)
+    set(_boost_LIBRARY_SEARCH_DIRS_ALWAYS
+      ${BOOST_ROOT}/lib
+      ${BOOST_ROOT}/stage/lib)
+  endif()
   set(_boost_LIBRARY_SEARCH_DIRS_ALWAYS
-    ${BOOST_ROOT}/lib
-    ${BOOST_ROOT}/stage/lib
+    ${_boost_LIBRARY_SEARCH_DIRS_ALWAYS}
     ${Boost_INCLUDE_DIR}/lib
     ${Boost_INCLUDE_DIR}/../lib
     ${Boost_INCLUDE_DIR}/stage/lib
@@ -819,14 +822,12 @@ ELSE (_boost_IN_CACHE)
     "$ENV{ProgramFiles}/boost"
     /sw/local/lib
   )
-  if( BOOST_ROOT )
-    set(_boost_LIBRARY_SEARCH_DIRS ${_boost_LIBRARY_SEARCH_DIRS_ALWAYS})
-    if( Boost_NO_SYSTEM_PATHS )
-      set(_boost_FIND_OPTIONS NO_CMAKE_SYSTEM_PATH)
-    else()
-      list(APPEND _boost_LIBRARY_SEARCH_DIRS ${_boost_LIBRARY_SEARCH_DIRS_SYSTEM})
-    endif()
-  endif( BOOST_ROOT )
+  set(_boost_LIBRARY_SEARCH_DIRS ${_boost_LIBRARY_SEARCH_DIRS_ALWAYS})
+  if( Boost_NO_SYSTEM_PATHS )
+    set(_boost_FIND_OPTIONS NO_CMAKE_SYSTEM_PATH)
+  else()
+    list(APPEND _boost_LIBRARY_SEARCH_DIRS ${_boost_LIBRARY_SEARCH_DIRS_SYSTEM})
+  endif()
 
   # prepend BOOST_LIBRARYDIR to search path if specified
   if( BOOST_LIBRARYDIR )

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=90c16d84bee64719d4bf3c4c2ee561a8dec54b3c
commit 90c16d84bee64719d4bf3c4c2ee561a8dec54b3c
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 11:57:42 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 11:57:42 2010 -0400

    FindBoost.cmake: Implements 11160
    
    Add Boost_REALPATH option for people packaging Boost with their app:
    
    Boost_REALPATH               Resolves symbolic links for discovered boost libraries
                                 to assist with packaging.  For example, instead of
                                 Boost_SYSTEM_LIBRARY_RELEASE being resolved to
                                 "/usr/lib/libboost_system.so" it would be
                                 "/usr/lib/libboost_system.so.1.42.0" instead.
                                 This does not affect linking and should not be
                                 enabled unless the user needs this information.

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index ff3e17b..7acd31a 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -155,7 +155,16 @@
 #                                might be found if you specified "win32" here before
 #                                falling back on libboost_thread-mgw45-mt-1_43.a.
 #                                  [Since CMake 2.8.3]
-
+#
+#   Boost_REALPATH               Resolves symbolic links for discovered boost libraries
+#                                to assist with packaging.  For example, instead of
+#                                Boost_SYSTEM_LIBRARY_RELEASE being resolved to
+#                                "/usr/lib/libboost_system.so" it would be
+#                                "/usr/lib/libboost_system.so.1.42.0" instead.
+#                                This does not affect linking and should not be
+#                                enabled unless the user needs this information.
+#                                  [Since CMake 2.8.3]
+#
 
 
 #
@@ -342,6 +351,17 @@ function(_Boost_PREPEND_LIST_WITH_THREADAPI _output)
 endfunction()
 
 #
+# If a library is found, replace its cache entry with its REALPATH
+#
+function(_Boost_SWAP_WITH_REALPATH _library _docstring)
+  if(${_library})
+    get_filename_component(_boost_filepathreal ${${_library}} REALPATH)
+    unset(${_library} CACHE)
+    set(${_library} ${_boost_filepathreal} CACHE FILEPATH "${_docstring}")
+  endif()
+endfunction()
+
+#
 # End functions/macros
 #  
 #-------------------------------------------------------------------------------
@@ -863,6 +883,9 @@ ELSE (_boost_IN_CACHE)
     set( Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND" )
     set( Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG "Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG-NOTFOUND")
 
+    set( _boost_docstring_release "Boost ${COMPONENT} library (release)")
+    set( _boost_docstring_debug   "Boost ${COMPONENT} library (debug)")
+
     #
     # Find RELEASE libraries
     #
@@ -891,6 +914,7 @@ ELSE (_boost_IN_CACHE)
         NAMES ${_boost_RELEASE_NAMES}
         HINTS ${_boost_LIBRARY_SEARCH_DIRS}
         ${_boost_FIND_OPTIONS}
+        DOC "${_boost_docstring_release}"
     )
 
     #
@@ -921,9 +945,16 @@ ELSE (_boost_IN_CACHE)
         NAMES ${_boost_DEBUG_NAMES}
         HINTS ${_boost_LIBRARY_SEARCH_DIRS}
         ${_boost_FIND_OPTIONS}
+        DOC "${_boost_docstring_debug}"
     )
 
+    if(Boost_REALPATH)
+      _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "${_boost_docstring_release}")
+      _Boost_SWAP_WITH_REALPATH(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG   "${_boost_docstring_debug}"  )
+    endif()
+
     _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
+
   endforeach(COMPONENT)
 
   # Restore the original find library ordering

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=95ff12091dd1bfed6207021c1a64803c9fcc5e44
commit 95ff12091dd1bfed6207021c1a64803c9fcc5e44
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 11:21:23 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 11:21:23 2010 -0400

    FindBoost.cmake: Fixes 10436
    
    Add an additional library filename permutation which fixes
    library detection for some custom builds of Boost.

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 4cf99af..ff3e17b 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -868,6 +868,7 @@ ELSE (_boost_IN_CACHE)
     #
     set(_boost_RELEASE_NAMES
       ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
       ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
       ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
       ${Boost_LIB_PREFIX}boost_${COMPONENT} )
@@ -897,6 +898,7 @@ ELSE (_boost_IN_CACHE)
     #
     set(_boost_DEBUG_NAMES
       ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}
       ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
       ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
       ${Boost_LIB_PREFIX}boost_${COMPONENT} )

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5cce138c91d786197c90b2a108240a6573d72392
commit 5cce138c91d786197c90b2a108240a6573d72392
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 11:19:29 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 11:19:29 2010 -0400

    FindBoost.cmake: Fixes 11121
    
    Add support for finding Boost.Thread with special THREADAPI in filename

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 32c0ab6..4cf99af 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -144,6 +144,21 @@
 #                                (e.g. "-gcc43") if FindBoost has problems finding
 #                                the proper Boost installation
 #
+#   Boost_THREADAPI                When building boost.thread, sometimes the name of the
+#                                library contains an additional "pthread" or "win32"
+#                                string known as the threadapi.  This can happen when
+#                                compiling against pthreads on Windows or win32 threads
+#                                on Cygwin.  You may specify this variable and if set
+#                                when FindBoost searches for the Boost threading library
+#                                it will first try to match the threadapi you specify.
+#                                  For Example: libboost_thread_win32-mgw45-mt-1_43.a
+#                                might be found if you specified "win32" here before
+#                                falling back on libboost_thread-mgw45-mt-1_43.a.
+#                                  [Since CMake 2.8.3]
+
+
+
+#
 # These last three variables are available also as environment variables:
 #
 #   BOOST_ROOT or BOOSTROOT      The preferred installation prefix for searching for
@@ -316,6 +331,17 @@ function(_Boost_MARK_COMPONENTS_FOUND _yes_or_no)
 endfunction()
 
 #
+# Take a list of libraries with "thread" in it
+# and prepend duplicates with "thread_${Boost_THREADAPI}"
+# at the front of the list
+#
+function(_Boost_PREPEND_LIST_WITH_THREADAPI _output)
+  set(_orig_libnames ${ARGN})
+  string(REPLACE "thread" "thread_${Boost_THREADAPI}" _threadapi_libnames ${_orig_libnames})
+  set(${_output} ${_threadapi_libnames} ${_orig_libnames} PARENT_SCOPE)
+endfunction()
+
+#
 # End functions/macros
 #  
 #-------------------------------------------------------------------------------
@@ -853,6 +879,9 @@ ELSE (_boost_IN_CACHE)
         ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
         ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
     endif()
+    if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+       _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_RELEASE_NAMES ${_boost_RELEASE_NAMES})
+    endif()
     if(Boost_DEBUG)
       message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
                      "Searching for ${UPPERCOMPONENT}_LIBRARY_RELEASE: ${_boost_RELEASE_NAMES}")
@@ -879,6 +908,9 @@ ELSE (_boost_IN_CACHE)
         ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
         ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
     endif()
+    if(Boost_THREADAPI AND ${COMPONENT} STREQUAL "thread")
+       _Boost_PREPEND_LIST_WITH_THREADAPI(_boost_DEBUG_NAMES ${_boost_DEBUG_NAMES})
+    endif()
     if(Boost_DEBUG)
       message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
                      "Searching for ${UPPERCOMPONENT}_LIBRARY_DEBUG: ${_boost_DEBUG_NAMES}")

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=02390416e101edbf07aa9e0952fc3c0452b97009
commit 02390416e101edbf07aa9e0952fc3c0452b97009
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 11:16:09 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 11:16:09 2010 -0400

    FindBoost.cmake: Fixes 11246
    
    FindBoost can find shared libraries (.so) in rare circumstances
    even when Boost_USE_STATIC_LIBS is set

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index ee77abe..32c0ab6 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -800,7 +800,7 @@ ELSE (_boost_IN_CACHE)
     if(WIN32)
       set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
     else()
-      set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES} )
+      set(CMAKE_FIND_LIBRARY_SUFFIXES .a )
     endif()
   endif()
 

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=d4900c2eca0964f8ce719cb4b8502e15114c042e
commit d4900c2eca0964f8ce719cb4b8502e15114c042e
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 10:59:42 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 10:59:42 2010 -0400

    FindBoost.cmake: Fix compiling against a boost source tree
    
    This fixes issues 11192 & 11187.

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 8fc2dd1..ee77abe 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -550,10 +550,7 @@ ELSE (_boost_IN_CACHE)
       ENDIF()
       
       list(APPEND _boost_PATH_SUFFIXES "boost-${_boost_BOOSTIFIED_VERSION}")
-      if(WIN32)
-        # For BoostPro's underscores (and others?)
-        list(APPEND _boost_PATH_SUFFIXES "boost_${_boost_BOOSTIFIED_VERSION}")
-      endif()
+      list(APPEND _boost_PATH_SUFFIXES "boost_${_boost_BOOSTIFIED_VERSION}")
 
     ENDFOREACH(_boost_VER)
       

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=6ed7d9937aa8242e14a08c2da33df4d3d9b7f864
commit 6ed7d9937aa8242e14a08c2da33df4d3d9b7f864
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 10:56:15 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 10:56:15 2010 -0400

    FindBoost.cmake: Add Boost_NO_SYSTEM_PATHS option
    
    This fixes several duplicate issues in the tracker (7725, 11019, 8412)

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 1dbeaf5..8fc2dd1 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -86,6 +86,11 @@
 #   Boost_USE_STATIC_LIBS        Can be set to ON to force the use of the static
 #                                boost libraries. Defaults to OFF.
 #
+#   Boost_NO_SYSTEM_PATHS        Set to TRUE to suppress searching in system
+#                                paths (or other locations outside of BOOST_ROOT
+#                                or BOOST_INCLUDEDIR).  Useful when specifying
+#                                BOOST_ROOT. Defaults to OFF.
+#                                  [Since CMake 2.8.3]
 #
 #   Boost_USE_STATIC_RUNTIME     If enabled, searches for boost libraries
 #                                linked against a static C++ standard library
@@ -143,7 +148,9 @@
 #
 #   BOOST_ROOT or BOOSTROOT      The preferred installation prefix for searching for
 #                                Boost.  Set this if the module has problems finding
-#                                the proper Boost installation.
+#                                the proper Boost installation.  To prevent falling
+#                                back on the system paths, set Boost_NO_SYSTEM_PATHS
+#                                to true.
 #
 #   BOOST_INCLUDEDIR             Set this to the include directory of Boost, if the
 #                                module has problems finding the proper Boost installation
@@ -420,6 +427,8 @@ ELSE (_boost_IN_CACHE)
                    "Boost_USE_STATIC_RUNTIME = ${Boost_USE_STATIC_RUNTIME}")
     message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
                    "Boost_ADDITIONAL_VERSIONS = ${Boost_ADDITIONAL_VERSIONS}")
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "Boost_NO_SYSTEM_PATHS = ${Boost_NO_SYSTEM_PATHS}")
   endif()
 
   IF(WIN32)
@@ -455,7 +464,8 @@ ELSE (_boost_IN_CACHE)
   # If Boost_ROOT was defined, gently correct the user
   if(Boost_ROOT)
     message("WARNING: Boost_ROOT was set which is incorrect and is being ignored.  "
-            "You need to use BOOST_ROOT instead.  ")
+            "You need to use BOOST_ROOT instead.  "
+            "Also, we suggest setting Boost_NO_SYSTEM_PATHS.")
   endif()
 
   # If BOOST_ROOT was defined in the environment, use it.
@@ -495,18 +505,26 @@ ELSE (_boost_IN_CACHE)
                    "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
   endif()
 
-  IF( BOOST_ROOT )
-    SET(_boost_INCLUDE_SEARCH_DIRS 
-      ${BOOST_ROOT}/include 
-      ${BOOST_ROOT}
-      ${_boost_INCLUDE_SEARCH_DIRS})
-  ENDIF( BOOST_ROOT )
+  if( BOOST_ROOT )
+    if( Boost_NO_SYSTEM_PATHS )
+      set(_boost_INCLUDE_SEARCH_DIRS
+        ${BOOST_ROOT}/include
+        ${BOOST_ROOT})
+      set(_boost_FIND_OPTIONS NO_CMAKE_SYSTEM_PATH)
+    else()
+      set(_boost_INCLUDE_SEARCH_DIRS
+        ${BOOST_ROOT}/include
+        ${BOOST_ROOT}
+        ${_boost_INCLUDE_SEARCH_DIRS})
+    endif()
+  endif( BOOST_ROOT )
 
-  IF( BOOST_INCLUDEDIR )
+  # prepend BOOST_INCLUDEDIR to search path if specified
+  if( BOOST_INCLUDEDIR )
     file(TO_CMAKE_PATH ${BOOST_INCLUDEDIR} BOOST_INCLUDEDIR)
-    SET(_boost_INCLUDE_SEARCH_DIRS 
+    set(_boost_INCLUDE_SEARCH_DIRS
       ${BOOST_INCLUDEDIR} ${_boost_INCLUDE_SEARCH_DIRS})
-  ENDIF( BOOST_INCLUDEDIR )
+  endif( BOOST_INCLUDEDIR )
 
   # ------------------------------------------------------------------------
   #  Search for Boost include DIR 
@@ -553,6 +571,7 @@ ELSE (_boost_IN_CACHE)
       NAMES         boost/config.hpp
       HINTS         ${_boost_INCLUDE_SEARCH_DIRS}
       PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
+      ${_boost_FIND_OPTIONS}
       )
   ENDIF( NOT Boost_INCLUDE_DIR )
   
@@ -741,9 +760,14 @@ ELSE (_boost_IN_CACHE)
   #  Begin finding boost libraries
   # ------------------------------------------------------------------------
 
-  SET(_boost_LIBRARIES_SEARCH_DIRS
+  set(_boost_LIBRARY_SEARCH_DIRS_ALWAYS
+    ${BOOST_ROOT}/lib
+    ${BOOST_ROOT}/stage/lib
     ${Boost_INCLUDE_DIR}/lib
     ${Boost_INCLUDE_DIR}/../lib
+    ${Boost_INCLUDE_DIR}/stage/lib
+  )
+  set(_boost_LIBRARY_SEARCH_DIRS_SYSTEM
     C:/boost/lib
     C:/boost
     "$ENV{ProgramFiles}/boost/boost_${Boost_MAJOR_VERSION}_${Boost_MINOR_VERSION}_${Boost_SUBMINOR_VERSION}/lib"
@@ -752,22 +776,25 @@ ELSE (_boost_IN_CACHE)
     "$ENV{ProgramFiles}/boost"
     /sw/local/lib
   )
-  IF( BOOST_ROOT )
-    SET(_boost_LIBRARIES_SEARCH_DIRS 
-      ${BOOST_ROOT}/lib 
-      ${BOOST_ROOT}/stage/lib 
-      ${_boost_LIBRARIES_SEARCH_DIRS})
-  ENDIF( BOOST_ROOT )
+  if( BOOST_ROOT )
+    set(_boost_LIBRARY_SEARCH_DIRS ${_boost_LIBRARY_SEARCH_DIRS_ALWAYS})
+    if( Boost_NO_SYSTEM_PATHS )
+      set(_boost_FIND_OPTIONS NO_CMAKE_SYSTEM_PATH)
+    else()
+      list(APPEND _boost_LIBRARY_SEARCH_DIRS ${_boost_LIBRARY_SEARCH_DIRS_SYSTEM})
+    endif()
+  endif( BOOST_ROOT )
 
-  IF( BOOST_LIBRARYDIR )
+  # prepend BOOST_LIBRARYDIR to search path if specified
+  if( BOOST_LIBRARYDIR )
     file(TO_CMAKE_PATH ${BOOST_LIBRARYDIR} BOOST_LIBRARYDIR)
-    SET(_boost_LIBRARIES_SEARCH_DIRS 
-      ${BOOST_LIBRARYDIR} ${_boost_LIBRARIES_SEARCH_DIRS})
-  ENDIF( BOOST_LIBRARYDIR )
+    set(_boost_LIBRARY_SEARCH_DIRS
+      ${BOOST_LIBRARYDIR} ${_boost_LIBRARY_SEARCH_DIRS})
+  endif()
 
   if(Boost_DEBUG)
     message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "_boost_LIBRARIES_SEARCH_DIRS = ${_boost_LIBRARIES_SEARCH_DIRS}")
+      "_boost_LIBRARY_SEARCH_DIRS = ${_boost_LIBRARY_SEARCH_DIRS}")
   endif()
 
   # Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
@@ -835,7 +862,8 @@ ELSE (_boost_IN_CACHE)
     endif()
     find_library(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
         NAMES ${_boost_RELEASE_NAMES}
-        HINTS ${_boost_LIBRARIES_SEARCH_DIRS}
+        HINTS ${_boost_LIBRARY_SEARCH_DIRS}
+        ${_boost_FIND_OPTIONS}
     )
 
     #
@@ -860,7 +888,8 @@ ELSE (_boost_IN_CACHE)
     endif()
     find_library(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
         NAMES ${_boost_DEBUG_NAMES}
-        HINTS ${_boost_LIBRARIES_SEARCH_DIRS}
+        HINTS ${_boost_LIBRARY_SEARCH_DIRS}
+        ${_boost_FIND_OPTIONS}
     )
 
     _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=16b0eb5ac52c51485161429c2c4f9c7d627ce98a
commit 16b0eb5ac52c51485161429c2c4f9c7d627ce98a
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 10:41:53 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 10:41:53 2010 -0400

    FindBoost.cmake: Miscellaneous changes and refactoring
    
    * Add a warning if the user sets Boost_ROOT which is not correct
    * Clarify directions to the user for viewing debugging messages
    * Move the CMAKE_FIND_LIBRARY_SUFFIXES tweak outside of a for loop

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 6ed669e..1dbeaf5 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -402,7 +402,7 @@ IF (_boost_IN_CACHE)
   if(Boost_DEBUG)
       message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
                      "boost ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION} "
-                     "is already in the cache.  For debugging messages, please clear the cache.")
+                     "is already in the cache.  To view debugging messages, please clear the cache.")
   endif()
 ELSE (_boost_IN_CACHE)
   # Need to search for boost
@@ -452,6 +452,12 @@ ELSE (_boost_IN_CACHE)
     /sw/local/include
   )
 
+  # If Boost_ROOT was defined, gently correct the user
+  if(Boost_ROOT)
+    message("WARNING: Boost_ROOT was set which is incorrect and is being ignored.  "
+            "You need to use BOOST_ROOT instead.  ")
+  endif()
+
   # If BOOST_ROOT was defined in the environment, use it.
   if (NOT BOOST_ROOT AND NOT $ENV{BOOST_ROOT} STREQUAL "")
     set(BOOST_ROOT $ENV{BOOST_ROOT})
@@ -677,7 +683,7 @@ ELSE (_boost_IN_CACHE)
     endif()
   endif(Boost_COMPILER)
 
-  SET (_boost_MULTITHREADED "-mt")
+  set (_boost_MULTITHREADED "-mt")
   if( NOT Boost_USE_MULTITHREADED )
     set (_boost_MULTITHREADED "")
   endif()
@@ -764,6 +770,16 @@ ELSE (_boost_IN_CACHE)
       "_boost_LIBRARIES_SEARCH_DIRS = ${_boost_LIBRARIES_SEARCH_DIRS}")
   endif()
 
+  # Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
+  if( Boost_USE_STATIC_LIBS )
+    set( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
+    if(WIN32)
+      set(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
+    else()
+      set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES} )
+    endif()
+  endif()
+
   # We want to use the tag inline below without risking double dashes
   if(_boost_RELEASE_ABI_TAG)
     if(${_boost_RELEASE_ABI_TAG} STREQUAL "-")
@@ -796,15 +812,6 @@ ELSE (_boost_IN_CACHE)
     set( Boost_${UPPERCOMPONENT}_LIBRARY "Boost_${UPPERCOMPONENT}_LIBRARY-NOTFOUND" )
     set( Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND" )
     set( Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG "Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG-NOTFOUND")
-    # Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
-    IF( Boost_USE_STATIC_LIBS )
-      SET( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      IF(WIN32)
-        SET(CMAKE_FIND_LIBRARY_SUFFIXES .lib .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      ELSE(WIN32)
-        SET(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
-      ENDIF(WIN32)
-    ENDIF( Boost_USE_STATIC_LIBS )
 
     #
     # Find RELEASE libraries
@@ -857,10 +864,12 @@ ELSE (_boost_IN_CACHE)
     )
 
     _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})
-    IF( Boost_USE_STATIC_LIBS )
-      SET(CMAKE_FIND_LIBRARY_SUFFIXES ${_boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
-    ENDIF( Boost_USE_STATIC_LIBS )
-  ENDFOREACH(COMPONENT)
+  endforeach(COMPONENT)
+
+  # Restore the original find library ordering
+  if( Boost_USE_STATIC_LIBS )
+    set(CMAKE_FIND_LIBRARY_SUFFIXES ${_boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
+  endif()
   # ------------------------------------------------------------------------
   #  End finding boost libraries
   # ------------------------------------------------------------------------

http://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=5e6f0f0d73ca44938bec36db81fd815cb70737a0
commit 5e6f0f0d73ca44938bec36db81fd815cb70737a0
Author:     Philip Lowman <philip at yhbt.com>
AuthorDate: Sat Sep 18 10:24:30 2010 -0400
Commit:     Philip Lowman <philip at yhbt.com>
CommitDate: Sat Sep 18 10:24:30 2010 -0400

    FindBoost.cmake fixes for issues 11204 & 8529
    
    * Fixed issue 11204: FindBoost.cmake had trouble discovering libraries
      when both -sgd and -gd libraries were available by adding a new option
      Boost_USE_STATIC_RUNTIME.
      Backwards compatibility of searching for first -gd and then -sgd on
      WIN32 is maintained unless the user sets Boost_COMPAT_STATIC_RUNTIME to
      false (or they have set Boost_USE_STATIC_RUNTIME).
    * Fixed issue 8529: FindBoost was unable to detect boost libraries compiled against
      STLport, by reworking the way the Boost ABI tag is calculated.  There are additional
      ABI tag options available now as well.
    * Boost_DEBUG now reports the full list of filenames being searched for when
      find_library is called.

diff --git a/Modules/FindBoost.cmake b/Modules/FindBoost.cmake
index 1a1b168..6ed669e 100644
--- a/Modules/FindBoost.cmake
+++ b/Modules/FindBoost.cmake
@@ -17,8 +17,10 @@
 #
 # == Using actual libraries from within Boost: ==
 #
-#   set(Boost_USE_STATIC_LIBS   ON)
-#   set(Boost_USE_MULTITHREADED ON)
+#   set(Boost_USE_STATIC_LIBS        ON)
+#   set(Boost_USE_MULTITHREADED      ON)
+#   set(Boost_USE_STATIC_RUNTIME    OFF)
+#   set(Boost_COMPAT_STATIC_RUNTIME OFF)
 #   find_package( Boost 1.36.0 COMPONENTS date_time filesystem system ... )
 #
 #   if(Boost_FOUND)
@@ -84,6 +86,37 @@
 #   Boost_USE_STATIC_LIBS        Can be set to ON to force the use of the static
 #                                boost libraries. Defaults to OFF.
 #
+#
+#   Boost_USE_STATIC_RUNTIME     If enabled, searches for boost libraries
+#                                linked against a static C++ standard library
+#                                ('s' ABI tag). Defaults to OFF.
+#                                  [Since CMake 2.8.3]
+#
+#   Boost_USE_DEBUG_PYTHON       If enabled, searches for boost libraries
+#                                compiled against a special debug build of
+#                                Python ('y' ABI tag). Defaults to OFF.
+#                                  [Since CMake 2.8.3]
+#
+#   Boost_USE_STLPORT            If enabled, searches for boost libraries
+#                                compiled against the STLPort standard
+#                                library ('p' ABI tag). Defaults to OFF.
+#                                  [Since CMake 2.8.3]
+#
+#   Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
+#                                If enabled, searches for boost libraries
+#                                compiled against the deprecated STLPort
+#                                "native iostreams" feature ('n' ABI tag).
+#                                Defaults to OFF.
+#                                  [Since CMake 2.8.3]
+#
+#   Boost_COMPAT_STATIC_RUNTIME  Set to OFF to disable backwards compatible
+#                                searching for libraries with the 's' ABI
+#                                tag on WIN32 after normal searches.  You
+#                                should set this to OFF and also set
+#                                Boost_USE_STATIC_RUNTIME appropriately.
+#                                If not specified, defaults to ON.
+#                                  [Since CMake 2.8.3]
+#
 # Other Variables used by this module which you may want to set.
 #
 #   Boost_ADDITIONAL_VERSIONS    A list of version numbers to use for searching
@@ -165,7 +198,7 @@
 # Copyright 2007      Wengo
 # Copyright 2007      Mike Jackson
 # Copyright 2008      Andreas Pakulat <apaku at gmx.de>
-# Copyright 2008-2009 Philip Lowman <philip at yhbt.com>
+# Copyright 2008-2010 Philip Lowman <philip at yhbt.com>
 #
 # Distributed under the OSI-approved BSD License (the "License");
 # see accompanying file Copyright.txt for details.
@@ -286,6 +319,9 @@ endfunction()
 IF(NOT DEFINED Boost_USE_MULTITHREADED)
     SET(Boost_USE_MULTITHREADED TRUE)
 ENDIF()
+if(NOT DEFINED Boost_COMPAT_STATIC_RUNTIME)
+  set(Boost_COMPAT_STATIC_RUNTIME TRUE)
+endif()
 
 if(Boost_FIND_VERSION_EXACT)
   # The version may appear in a directory with or without the patch
@@ -380,6 +416,10 @@ ELSE (_boost_IN_CACHE)
                    "Boost_USE_MULTITHREADED = ${Boost_USE_MULTITHREADED}")
     message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
                    "Boost_USE_STATIC_LIBS = ${Boost_USE_STATIC_LIBS}")
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "Boost_USE_STATIC_RUNTIME = ${Boost_USE_STATIC_RUNTIME}")
+    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                   "Boost_ADDITIONAL_VERSIONS = ${Boost_ADDITIONAL_VERSIONS}")
   endif()
 
   IF(WIN32)
@@ -646,23 +686,49 @@ ELSE (_boost_IN_CACHE)
       "_boost_MULTITHREADED = ${_boost_MULTITHREADED}")
   endif()
 
-  SET( _boost_STATIC_TAG "")
-  set( _boost_ABI_TAG "")
-  IF (WIN32)
-    IF(MSVC OR "${CMAKE_CXX_COMPILER}" MATCHES "icl"
+  #======================
+  # Systematically build up the Boost ABI tag
+  # http://boost.org/doc/libs/1_41_0/more/getting_started/windows.html#library-naming
+  set( _boost_RELEASE_ABI_TAG "-")
+  set( _boost_DEBUG_ABI_TAG   "-")
+  # Key       Use this library when:
+  #  s        linking statically to the C++ standard library and
+  #           compiler runtime support libraries.
+  if(Boost_USE_STATIC_RUNTIME)
+    set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}s")
+    set( _boost_DEBUG_ABI_TAG   "${_boost_DEBUG_ABI_TAG}s")
+  endif()
+  #  g        using debug versions of the standard and runtime
+  #           support libraries
+  if(WIN32)
+    if(MSVC OR "${CMAKE_CXX_COMPILER}" MATCHES "icl"
             OR "${CMAKE_CXX_COMPILER}" MATCHES "icpc")
-      SET (_boost_ABI_TAG "g")
-    ENDIF()
-    IF( Boost_USE_STATIC_LIBS )
-      SET( _boost_STATIC_TAG "-s")
-    ENDIF( Boost_USE_STATIC_LIBS )
-  ENDIF(WIN32)
-  SET (_boost_ABI_TAG "${_boost_ABI_TAG}d")
+      set(_boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}g")
+    endif()
+  endif()
+  #  y        using special debug build of python
+  if(Boost_USE_DEBUG_PYTHON)
+    set(_boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}y")
+  endif()
+  #  d        using a debug version of your code
+  set(_boost_DEBUG_ABI_TAG "${_boost_DEBUG_ABI_TAG}d")
+  #  p        using the STLport standard library rather than the
+  #           default one supplied with your compiler
+  if(Boost_USE_STLPORT)
+    set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}p")
+    set( _boost_DEBUG_ABI_TAG   "${_boost_DEBUG_ABI_TAG}p")
+  endif()
+  #  n        using the STLport deprecated "native iostreams" feature
+  if(Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS)
+    set( _boost_RELEASE_ABI_TAG "${_boost_RELEASE_ABI_TAG}n")
+    set( _boost_DEBUG_ABI_TAG   "${_boost_DEBUG_ABI_TAG}n")
+  endif()
+
   if(Boost_DEBUG)
     message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "_boost_STATIC_TAG = ${_boost_STATIC_TAG}")
+      "_boost_RELEASE_ABI_TAG = ${_boost_RELEASE_ABI_TAG}")
     message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "_boost_ABI_TAG = ${_boost_ABI_TAG}")
+      "_boost_DEBUG_ABI_TAG = ${_boost_DEBUG_ABI_TAG}")
   endif()
 
   # ------------------------------------------------------------------------
@@ -698,12 +764,38 @@ ELSE (_boost_IN_CACHE)
       "_boost_LIBRARIES_SEARCH_DIRS = ${_boost_LIBRARIES_SEARCH_DIRS}")
   endif()
 
-  FOREACH(COMPONENT ${Boost_FIND_COMPONENTS})
-    STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-    SET( Boost_${UPPERCOMPONENT}_LIBRARY "Boost_${UPPERCOMPONENT}_LIBRARY-NOTFOUND" )
-    SET( Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND" )
-    SET( Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG "Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG-NOTFOUND")
+  # We want to use the tag inline below without risking double dashes
+  if(_boost_RELEASE_ABI_TAG)
+    if(${_boost_RELEASE_ABI_TAG} STREQUAL "-")
+      set(_boost_RELEASE_ABI_TAG "")
+    endif()
+  endif()
+  if(_boost_DEBUG_ABI_TAG)
+    if(${_boost_DEBUG_ABI_TAG} STREQUAL "-")
+      set(_boost_DEBUG_ABI_TAG "")
+    endif()
+  endif()
+
+  # The previous behavior of FindBoost when Boost_USE_STATIC_LIBS was enabled
+  # on WIN32 was to:
+  #  1. Search for static libs compiled against a SHARED C++ standard runtime library (use if found)
+  #  2. Search for static libs compiled against a STATIC C++ standard runtime library (use if found)
+  # We maintain this behavior since changing it could break people's builds.
+  # To disable the ambiguous behavior, the user can
+  # set Boost_COMPAT_STATIC_RUNTIME to FALSE
+  set(_boost_STATIC_RUNTIME_WORKAROUND false)
+  if(Boost_COMPAT_STATIC_RUNTIME AND WIN32 AND Boost_USE_STATIC_LIBS)
+    if(NOT Boost_USE_STATIC_RUNTIME)
+      set(_boost_STATIC_RUNTIME_WORKAROUND true)
+    endif()
+  endif()
 
+
+  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
+    string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
+    set( Boost_${UPPERCOMPONENT}_LIBRARY "Boost_${UPPERCOMPONENT}_LIBRARY-NOTFOUND" )
+    set( Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE "Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE-NOTFOUND" )
+    set( Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG "Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG-NOTFOUND")
     # Support preference of static libs by adjusting CMAKE_FIND_LIBRARY_SUFFIXES
     IF( Boost_USE_STATIC_LIBS )
       SET( _boost_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
@@ -714,26 +806,54 @@ ELSE (_boost_IN_CACHE)
       ENDIF(WIN32)
     ENDIF( Boost_USE_STATIC_LIBS )
 
-    FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
-        NAMES  ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}
-        HINTS  ${_boost_LIBRARIES_SEARCH_DIRS}
+    #
+    # Find RELEASE libraries
+    #
+    set(_boost_RELEASE_NAMES
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_ABI_TAG}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT} )
+    if(_boost_STATIC_RUNTIME_WORKAROUND)
+      set(_boost_RELEASE_STATIC_ABI_TAG "-s${_boost_RELEASE_ABI_TAG}")
+      list(APPEND _boost_RELEASE_NAMES
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_RELEASE_STATIC_ABI_TAG} )
+    endif()
+    if(Boost_DEBUG)
+      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                     "Searching for ${UPPERCOMPONENT}_LIBRARY_RELEASE: ${_boost_RELEASE_NAMES}")
+    endif()
+    find_library(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
+        NAMES ${_boost_RELEASE_NAMES}
+        HINTS ${_boost_LIBRARIES_SEARCH_DIRS}
     )
 
-    FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
-        NAMES  ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}-${Boost_LIB_VERSION}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}-${_boost_ABI_TAG}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}${_boost_ABI_TAG}
-               ${Boost_LIB_PREFIX}boost_${COMPONENT}-${_boost_ABI_TAG}
-        HINTS  ${_boost_LIBRARIES_SEARCH_DIRS}
+    #
+    # Find DEBUG libraries
+    #
+    set(_boost_DEBUG_NAMES
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_ABI_TAG}-${Boost_LIB_VERSION}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
+      ${Boost_LIB_PREFIX}boost_${COMPONENT} )
+    if(_boost_STATIC_RUNTIME_WORKAROUND)
+      set(_boost_DEBUG_STATIC_ABI_TAG "-s${_boost_DEBUG_ABI_TAG}")
+      list(APPEND _boost_DEBUG_NAMES
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG}-${Boost_LIB_VERSION}
+        ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_DEBUG_STATIC_ABI_TAG} )
+    endif()
+    if(Boost_DEBUG)
+      message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
+                     "Searching for ${UPPERCOMPONENT}_LIBRARY_DEBUG: ${_boost_DEBUG_NAMES}")
+    endif()
+    find_library(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
+        NAMES ${_boost_DEBUG_NAMES}
+        HINTS ${_boost_LIBRARIES_SEARCH_DIRS}
     )
 
     _Boost_ADJUST_LIB_VARS(${UPPERCOMPONENT})

-----------------------------------------------------------------------

Summary of changes:
 Modules/FindBoost.cmake |  381 +++++++++++++++++++++++++++++++++++++----------
 1 files changed, 301 insertions(+), 80 deletions(-)


hooks/post-receive
-- 
CMake


More information about the Cmake-commits mailing list