Removing FindBoost since it's apparently shipped with default cmake.

--- build/cmake_modules/FindBoost.cmake
+++ build/cmake_modules/FindBoost.cmake
@@ -1,1181 +0,0 @@
-# - Find Boost include dirs and libraries
-# Use this module by invoking find_package with the form:
-#  find_package(Boost
-#    [version] [EXACT]      # Minimum or EXACT version e.g. 1.36.0
-#    [REQUIRED]             # Fail with error if Boost is not found
-#    [COMPONENTS <libs>...] # Boost libraries by their canonical name
-#    )                      # e.g. "date_time" for "libboost_date_time"
-# This module finds headers and requested component libraries OR a CMake
-# package configuration file provided by a "Boost CMake" build.  For the
-# latter case skip to the "Boost CMake" section below.  For the former
-# case results are reported in variables:
-#  Boost_FOUND            - True if headers and requested libraries were found
-#  Boost_INCLUDE_DIRS     - Boost include directories
-#  Boost_LIBRARY_DIRS     - Link directories for Boost libraries
-#  Boost_LIBRARIES        - Boost component libraries to be linked
-#  Boost_<C>_FOUND        - True if component <C> was found (<C> is upper-case)
-#  Boost_<C>_LIBRARY      - Libraries to link for component <C> (may include
-#                           target_link_libraries debug/optimized keywords)
-#  Boost_VERSION          - BOOST_VERSION value from boost/version.hpp
-#  Boost_LIB_VERSION      - Version string appended to library filenames
-#  Boost_MAJOR_VERSION    - Boost major version number (X in X.y.z)
-#  Boost_MINOR_VERSION    - Boost minor version number (Y in x.Y.z)
-#  Boost_SUBMINOR_VERSION - Boost subminor version number (Z in x.y.Z)
-#  Boost_LIB_DIAGNOSTIC_DEFINITIONS (Windows)
-#                         - Pass to add_definitions() to have diagnostic
-#                           information about Boost's automatic linking
-#                           displayed during compilation
-#
-# This module reads hints about search locations from variables:
-#  BOOST_ROOT             - Preferred installation prefix
-#   (or BOOSTROOT)
-#  BOOST_INCLUDEDIR       - Preferred include directory e.g. <prefix>/include
-#  BOOST_LIBRARYDIR       - Preferred library directory e.g. <prefix>/lib
-#  Boost_NO_SYSTEM_PATHS  - Set to ON to disable searching in locations not
-#                           specified by these hint variables. Default is OFF.
-#  Boost_ADDITIONAL_VERSIONS
-#                         - List of Boost versions not known to this module
-#                           (Boost install locations may contain the version)
-# and saves search results persistently in CMake cache entries:
-#  Boost_INCLUDE_DIR         - Directory containing Boost headers
-#  Boost_LIBRARY_DIR         - Directory containing Boost libraries
-#  Boost_<C>_LIBRARY_DEBUG   - Component <C> library debug variant
-#  Boost_<C>_LIBRARY_RELEASE - Component <C> library release variant
-# Users may set these hints or results as cache entries.  Projects should
-# not read these entries directly but instead use the above result variables.
-# Note that some hint names start in upper-case "BOOST".  One may specify
-# these as environment variables if they are not specified as CMake variables
-# or cache entries.
-#
-# This module first searches for the Boost header files using the above hint
-# variables (excluding BOOST_LIBRARYDIR) and saves the result in
-# Boost_INCLUDE_DIR.  Then it searches for requested component libraries using
-# the above hints (excluding BOOST_INCLUDEDIR and Boost_ADDITIONAL_VERSIONS),
-# "lib" directories near Boost_INCLUDE_DIR, and the library name configuration
-# settings below.  It saves the library directory in Boost_LIBRARY_DIR and
-# individual library locations in Boost_<C>_LIBRARY_DEBUG and
-# Boost_<C>_LIBRARY_RELEASE.  When one changes settings used by previous
-# searches in the same build tree (excluding environment variables) this
-# module discards previous search results affected by the changes and searches
-# again.
-#
-# Boost libraries come in many variants encoded in their file name.  Users or
-# projects may tell this module which variant to find by setting variables:
-#  Boost_USE_MULTITHREADED  - Set to OFF to use the non-multithreaded
-#                             libraries ('mt' tag).  Default is ON.
-#  Boost_USE_STATIC_LIBS    - Set to ON to force the use of the static
-#                             libraries.  Default is OFF.
-#  Boost_USE_STATIC_RUNTIME - Set to ON or OFF to specify whether to use
-#                             libraries linked statically to the C++ runtime
-#                             ('s' tag).  Default is platform dependent.
-#  Boost_USE_DEBUG_PYTHON   - Set to ON to use libraries compiled with a
-#                             debug Python build ('y' tag). Default is OFF.
-#  Boost_USE_STLPORT        - Set to ON to use libraries compiled with
-#                             STLPort ('p' tag).  Default is OFF.
-#  Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
-#                           - Set to ON to use libraries compiled with
-#                             STLPort deprecated "native iostreams"
-#                             ('n' tag).  Default is OFF.
-#  Boost_COMPILER           - Set to the compiler-specific library suffix
-#                             (e.g. "-gcc43").  Default is auto-computed
-#                             for the C++ compiler in use.
-#  Boost_THREADAPI          - Suffix for "thread" component library name,
-#                             such as "pthread" or "win32".  Names with
-#                             and without this suffix will both be tried.
-# Other variables one may set to control this module are:
-#  Boost_DEBUG              - Set to ON to enable debug output from FindBoost.
-#                             Please enable this before filing any bug report.
-#  Boost_DETAILED_FAILURE_MSG
-#                           - Set to ON to add detailed information to the
-#                             failure message even when the REQUIRED option
-#                             is not given to the find_package call.
-#  Boost_REALPATH           - Set to ON to resolve symlinks for discovered
-#                             libraries to assist with packaging.  For example,
-#                             the "system" component library may be resolved to
-#                             "/usr/lib/libboost_system.so.1.42.0" instead of
-#                             "/usr/lib/libboost_system.so".  This does not
-#                             affect linking and should not be enabled unless
-#                             the user needs this information.
-# On Visual Studio and Borland compilers Boost headers request automatic
-# linking to corresponding libraries.  This requires matching libraries to be
-# linked explicitly or available in the link library search path.  In this
-# case setting Boost_USE_STATIC_LIBS to OFF may not achieve dynamic linking.
-# Boost automatic linking typically requests static libraries with a few
-# exceptions (such as Boost.Python).  Use
-#  add_definitions(${Boost_LIB_DIAGNOSTIC_DEFINITIONS})
-# to ask Boost to report information about automatic linking requests.
-#
-# Example to find Boost headers only:
-#  find_package(Boost 1.36.0)
-#  if(Boost_FOUND)
-#    include_directories(${Boost_INCLUDE_DIRS})
-#    add_executable(foo foo.cc)
-#  endif()
-# Example to find Boost headers and some libraries:
-#  set(Boost_USE_STATIC_LIBS        ON)
-#  set(Boost_USE_MULTITHREADED      ON)
-#  set(Boost_USE_STATIC_RUNTIME    OFF)
-#  find_package(Boost 1.36.0 COMPONENTS date_time filesystem system ...)
-#  if(Boost_FOUND)
-#    include_directories(${Boost_INCLUDE_DIRS})
-#    add_executable(foo foo.cc)
-#    target_link_libraries(foo ${Boost_LIBRARIES})
-#  endif()
-#
-# Boost CMake ----------------------------------------------------------
-#
-# If Boost was built using the boost-cmake project it provides a package
-# configuration file for use with find_package's Config mode.  This module
-# looks for the package configuration file called BoostConfig.cmake or
-# boost-config.cmake and stores the result in cache entry "Boost_DIR".  If
-# found, the package configuration file is loaded and this module returns with
-# no further action.  See documentation of the Boost CMake package
-# configuration for details on what it provides.
-#
-# Set Boost_NO_BOOST_CMAKE to ON to disable the search for boost-cmake.
-
-#=============================================================================
-# Copyright 2006-2012 Kitware, Inc.
-# Copyright 2006-2008 Andreas Schneider <mail@cynapses.org>
-# Copyright 2007      Wengo
-# Copyright 2007      Mike Jackson
-# Copyright 2008      Andreas Pakulat <apaku@gmx.de>
-# Copyright 2008-2012 Philip Lowman <philip@yhbt.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-#-------------------------------------------------------------------------------
-# Before we go searching, check whether boost-cmake is available, unless the
-# user specifically asked NOT to search for boost-cmake.
-#
-# If Boost_DIR is set, this behaves as any find_package call would. If not,
-# it looks at BOOST_ROOT and BOOSTROOT to find Boost.
-#
-if (NOT Boost_NO_BOOST_CMAKE)
-  # If Boost_DIR is not set, look for BOOSTROOT and BOOST_ROOT as alternatives,
-  # since these are more conventional for Boost.
-  if ("$ENV{Boost_DIR}" STREQUAL "")
-    if (NOT "$ENV{BOOST_ROOT}" STREQUAL "")
-      set(ENV{Boost_DIR} $ENV{BOOST_ROOT})
-    elseif (NOT "$ENV{BOOSTROOT}" STREQUAL "")
-      set(ENV{Boost_DIR} $ENV{BOOSTROOT})
-    endif()
-  endif()
-
-  # Do the same find_package call but look specifically for the CMake version.
-  # Note that args are passed in the Boost_FIND_xxxxx variables, so there is no
-  # need to delegate them to this find_package call.
-  find_package(Boost QUIET NO_MODULE)
-  mark_as_advanced(Boost_DIR)
-
-  # If we found boost-cmake, then we're done.  Print out what we found.
-  # Otherwise let the rest of the module try to find it.
-  if (Boost_FOUND)
-    message("Boost ${Boost_FIND_VERSION} found.")
-    if (Boost_FIND_COMPONENTS)
-      message("Found Boost components:")
-      message("   ${Boost_FIND_COMPONENTS}")
-    endif()
-    return()
-  endif()
-endif()
-
-
-#-------------------------------------------------------------------------------
-#  FindBoost functions & macros
-#
-
-############################################
-#
-# Check the existence of the libraries.
-#
-############################################
-# This macro was taken directly from the FindQt4.cmake file that is included
-# with the CMake distribution. This is NOT my work. All work was done by the
-# original authors of the FindQt4.cmake file. Only minor modifications were
-# made to remove references to Qt and make this file more generally applicable
-# And ELSE/ENDIF pairs were removed for readability.
-#########################################################################
-
-macro(_Boost_ADJUST_LIB_VARS basename)
-  if(Boost_INCLUDE_DIR )
-    if(Boost_${basename}_LIBRARY_DEBUG AND Boost_${basename}_LIBRARY_RELEASE)
-      # if the generator supports configuration types then set
-      # optimized and debug libraries, or if the CMAKE_BUILD_TYPE has a value
-      if(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-        set(Boost_${basename}_LIBRARY optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
-      else()
-        # if there are no configuration types and CMAKE_BUILD_TYPE has no value
-        # then just use the release libraries
-        set(Boost_${basename}_LIBRARY ${Boost_${basename}_LIBRARY_RELEASE} )
-      endif()
-      # FIXME: This probably should be set for both cases
-      set(Boost_${basename}_LIBRARIES optimized ${Boost_${basename}_LIBRARY_RELEASE} debug ${Boost_${basename}_LIBRARY_DEBUG})
-    endif()
-
-    # if only the release version was found, set the debug variable also to the release version
-    if(Boost_${basename}_LIBRARY_RELEASE AND NOT Boost_${basename}_LIBRARY_DEBUG)
-      set(Boost_${basename}_LIBRARY_DEBUG ${Boost_${basename}_LIBRARY_RELEASE})
-      set(Boost_${basename}_LIBRARY       ${Boost_${basename}_LIBRARY_RELEASE})
-      set(Boost_${basename}_LIBRARIES     ${Boost_${basename}_LIBRARY_RELEASE})
-    endif()
-
-    # if only the debug version was found, set the release variable also to the debug version
-    if(Boost_${basename}_LIBRARY_DEBUG AND NOT Boost_${basename}_LIBRARY_RELEASE)
-      set(Boost_${basename}_LIBRARY_RELEASE ${Boost_${basename}_LIBRARY_DEBUG})
-      set(Boost_${basename}_LIBRARY         ${Boost_${basename}_LIBRARY_DEBUG})
-      set(Boost_${basename}_LIBRARIES       ${Boost_${basename}_LIBRARY_DEBUG})
-    endif()
-
-    # If the debug & release library ends up being the same, omit the keywords
-    if(${Boost_${basename}_LIBRARY_RELEASE} STREQUAL ${Boost_${basename}_LIBRARY_DEBUG})
-      set(Boost_${basename}_LIBRARY   ${Boost_${basename}_LIBRARY_RELEASE} )
-      set(Boost_${basename}_LIBRARIES ${Boost_${basename}_LIBRARY_RELEASE} )
-    endif()
-
-    if(Boost_${basename}_LIBRARY)
-      set(Boost_${basename}_FOUND ON)
-    endif()
-
-  endif()
-  # Make variables changeable to the advanced user
-  mark_as_advanced(
-      Boost_${basename}_LIBRARY_RELEASE
-      Boost_${basename}_LIBRARY_DEBUG
-  )
-endmacro()
-
-macro(_Boost_CHANGE_DETECT changed_var)
-  set(${changed_var} 0)
-  foreach(v ${ARGN})
-    if(DEFINED _Boost_COMPONENTS_SEARCHED)
-      if(${v})
-        if(_${v}_LAST)
-          string(COMPARE NOTEQUAL "${${v}}" "${_${v}_LAST}" _${v}_CHANGED)
-        else()
-          set(_${v}_CHANGED 1)
-        endif()
-      elseif(_${v}_LAST)
-        set(_${v}_CHANGED 1)
-      endif()
-      if(_${v}_CHANGED)
-        set(${changed_var} 1)
-      endif()
-    else()
-      set(_${v}_CHANGED 0)
-    endif()
-  endforeach()
-endmacro()
-
-macro(_Boost_FIND_LIBRARY var)
-  find_library(${var} ${ARGN})
-
-  # If we found the first library save Boost_LIBRARY_DIR.
-  if(${var} AND NOT Boost_LIBRARY_DIR)
-    get_filename_component(_dir "${${var}}" PATH)
-    set(Boost_LIBRARY_DIR "${_dir}" CACHE PATH "Boost library directory" FORCE)
-  endif()
-
-  # If Boost_LIBRARY_DIR is known then search only there.
-  if(Boost_LIBRARY_DIR)
-    set(_boost_LIBRARY_SEARCH_DIRS ${Boost_LIBRARY_DIR} NO_DEFAULT_PATH)
-  endif()
-endmacro()
-
-#-------------------------------------------------------------------------------
-
-#
-# Runs compiler with "-dumpversion" and parses major/minor
-# version with a regex.
-#
-function(_Boost_COMPILER_DUMPVERSION _OUTPUT_VERSION)
-
-  exec_program(${CMAKE_CXX_COMPILER}
-    ARGS ${CMAKE_CXX_COMPILER_ARG1} -dumpversion
-    OUTPUT_VARIABLE _boost_COMPILER_VERSION
-  )
-  string(REGEX REPLACE "([0-9])\\.([0-9])(\\.[0-9])?" "\\1\\2"
-    _boost_COMPILER_VERSION ${_boost_COMPILER_VERSION})
-
-  set(${_OUTPUT_VERSION} ${_boost_COMPILER_VERSION} PARENT_SCOPE)
-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()
-
-#
-# 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()
-
-function(_Boost_CHECK_SPELLING _var)
-  if(${_var})
-    string(TOUPPER ${_var} _var_UC)
-    message(FATAL_ERROR "ERROR: ${_var} is not the correct spelling.  The proper spelling is ${_var_UC}.")
-  endif()
-endfunction()
-
-# Guesses Boost's compiler prefix used in built library names
-# Returns the guess by setting the variable pointed to by _ret
-function(_Boost_GUESS_COMPILER_PREFIX _ret)
-  if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Intel"
-      OR "${CMAKE_CXX_COMPILER}" MATCHES "icl"
-      OR "${CMAKE_CXX_COMPILER}" MATCHES "icpc")
-    if(WIN32)
-      set (_boost_COMPILER "-iw")
-    else()
-      set (_boost_COMPILER "-il")
-    endif()
-  elseif (MSVC12)
-    set(_boost_COMPILER "-vc120")
-  elseif (MSVC11)
-    set(_boost_COMPILER "-vc110")
-  elseif (MSVC10)
-    set(_boost_COMPILER "-vc100")
-  elseif (MSVC90)
-    set(_boost_COMPILER "-vc90")
-  elseif (MSVC80)
-    set(_boost_COMPILER "-vc80")
-  elseif (MSVC71)
-    set(_boost_COMPILER "-vc71")
-  elseif (MSVC70) # Good luck!
-    set(_boost_COMPILER "-vc7") # yes, this is correct
-  elseif (MSVC60) # Good luck!
-    set(_boost_COMPILER "-vc6") # yes, this is correct
-  elseif (BORLAND)
-    set(_boost_COMPILER "-bcb")
-  elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "SunPro")
-    set(_boost_COMPILER "-sw")
-  elseif (MINGW)
-    if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
-        set(_boost_COMPILER "-mgw") # no GCC version encoding prior to 1.34
-    else()
-      _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
-      set(_boost_COMPILER "-mgw${_boost_COMPILER_VERSION}")
-    endif()
-  elseif (UNIX)
-    if (CMAKE_COMPILER_IS_GNUCXX)
-      if(${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION} VERSION_LESS 1.34)
-        set(_boost_COMPILER "-gcc") # no GCC version encoding prior to 1.34
-      else()
-        _Boost_COMPILER_DUMPVERSION(_boost_COMPILER_VERSION)
-        # Determine which version of GCC we have.
-        if(APPLE)
-          if(Boost_MINOR_VERSION)
-            if(${Boost_MINOR_VERSION} GREATER 35)
-              # In Boost 1.36.0 and newer, the mangled compiler name used
-              # on Mac OS X/Darwin is "xgcc".
-              set(_boost_COMPILER "-xgcc${_boost_COMPILER_VERSION}")
-            else()
-              # In Boost <= 1.35.0, there is no mangled compiler name for
-              # the Mac OS X/Darwin version of GCC.
-              set(_boost_COMPILER "")
-            endif()
-          else()
-            # We don't know the Boost version, so assume it's
-            # pre-1.36.0.
-            set(_boost_COMPILER "")
-          endif()
-        else()
-          set(_boost_COMPILER "-gcc${_boost_COMPILER_VERSION}")
-        endif()
-      endif()
-    endif ()
-  else()
-    # TODO at least Boost_DEBUG here?
-    set(_boost_COMPILER "")
-  endif()
-  set(${_ret} ${_boost_COMPILER} PARENT_SCOPE)
-endfunction()
-
-function(_Boost_consider_adding_pthreads _outvar)
-  # On Unix platforms (excluding cygwin) add pthreads to Boost_LIBRARIES
-  # if the user is searching for the boost-thread component.
-  if(UNIX AND NOT CYGWIN)
-    list(FIND Boost_FIND_COMPONENTS thread _using_boost_thread)
-    if(_using_boost_thread GREATER -1)
-      find_library(BOOST_THREAD_LIBRARY NAMES pthread
-                   DOC "The threading library used by boost-thread"
-      )
-      if(BOOST_THREAD_LIBRARY)
-        set(${_outvar} ${ARGN} ${BOOST_THREAD_LIBRARY} PARENT_SCOPE)
-      endif()
-    endif()
-  endif()
-endfunction()
-
-#
-# End functions/macros
-#
-#-------------------------------------------------------------------------------
-
-#-------------------------------------------------------------------------------
-# main.
-#-------------------------------------------------------------------------------
-
-if(NOT DEFINED Boost_USE_MULTITHREADED)
-    set(Boost_USE_MULTITHREADED TRUE)
-endif()
-
-# Check the version of Boost against the requested version.
-if(Boost_FIND_VERSION AND NOT Boost_FIND_VERSION_MINOR)
-  message(SEND_ERROR "When requesting a specific version of Boost, you must provide at least the major and minor version numbers, e.g., 1.34")
-endif()
-
-if(Boost_FIND_VERSION_EXACT)
-  # The version may appear in a directory with or without the patch
-  # level, even when the patch level is non-zero.
-  set(_boost_TEST_VERSIONS
-    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}.${Boost_FIND_VERSION_PATCH}"
-    "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-else()
-  # The user has not requested an exact version.  Among known
-  # versions, find those that are acceptable to the user request.
-  set(_Boost_KNOWN_VERSIONS ${Boost_ADDITIONAL_VERSIONS}
-    "1.56.0" "1.56" "1.55.0" "1.55" "1.54.0" "1.54"
-    "1.53.0" "1.53" "1.52.0" "1.52" "1.51.0" "1.51"
-    "1.50.0" "1.50" "1.49.0" "1.49" "1.48.0" "1.48" "1.47.0" "1.47" "1.46.1"
-    "1.46.0" "1.46" "1.45.0" "1.45" "1.44.0" "1.44" "1.43.0" "1.43" "1.42.0" "1.42"
-    "1.41.0" "1.41" "1.40.0" "1.40" "1.39.0" "1.39" "1.38.0" "1.38" "1.37.0" "1.37"
-    "1.36.1" "1.36.0" "1.36" "1.35.1" "1.35.0" "1.35" "1.34.1" "1.34.0"
-    "1.34" "1.33.1" "1.33.0" "1.33")
-  set(_boost_TEST_VERSIONS)
-  if(Boost_FIND_VERSION)
-    set(_Boost_FIND_VERSION_SHORT "${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-    # Select acceptable versions.
-    foreach(version ${_Boost_KNOWN_VERSIONS})
-      if(NOT "${version}" VERSION_LESS "${Boost_FIND_VERSION}")
-        # This version is high enough.
-        list(APPEND _boost_TEST_VERSIONS "${version}")
-      elseif("${version}.99" VERSION_EQUAL "${_Boost_FIND_VERSION_SHORT}.99")
-        # This version is a short-form for the requested version with
-        # the patch level dropped.
-        list(APPEND _boost_TEST_VERSIONS "${version}")
-      endif()
-    endforeach()
-  else()
-    # Any version is acceptable.
-    set(_boost_TEST_VERSIONS "${_Boost_KNOWN_VERSIONS}")
-  endif()
-endif()
-
-# The reason that we failed to find Boost. This will be set to a
-# user-friendly message when we fail to find some necessary piece of
-# Boost.
-set(Boost_ERROR_REASON)
-
-if(Boost_DEBUG)
-  # Output some of their choices
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "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}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Boost_NO_SYSTEM_PATHS = ${Boost_NO_SYSTEM_PATHS}")
-endif()
-
-if(WIN32)
-  # In windows, automatic linking is performed, so you do not have
-  # to specify the libraries.  If you are linking to a dynamic
-  # runtime, then you can choose to link to either a static or a
-  # dynamic Boost library, the default is to do a static link.  You
-  # can alter this for a specific library "whatever" by defining
-  # BOOST_WHATEVER_DYN_LINK to force Boost library "whatever" to be
-  # linked dynamically.  Alternatively you can force all Boost
-  # libraries to dynamic link by defining BOOST_ALL_DYN_LINK.
-
-  # This feature can be disabled for Boost library "whatever" by
-  # defining BOOST_WHATEVER_NO_LIB, or for all of Boost by defining
-  # BOOST_ALL_NO_LIB.
-
-  # If you want to observe which libraries are being linked against
-  # then defining BOOST_LIB_DIAGNOSTIC will cause the auto-linking
-  # code to emit a #pragma message each time a library is selected
-  # for linking.
-  set(Boost_LIB_DIAGNOSTIC_DEFINITIONS "-DBOOST_LIB_DIAGNOSTIC")
-endif()
-
-_Boost_CHECK_SPELLING(Boost_ROOT)
-_Boost_CHECK_SPELLING(Boost_LIBRARYDIR)
-_Boost_CHECK_SPELLING(Boost_INCLUDEDIR)
-
-# Collect environment variable inputs as hints.  Do not consider changes.
-foreach(v BOOSTROOT BOOST_ROOT BOOST_INCLUDEDIR BOOST_LIBRARYDIR)
-  set(_env $ENV{${v}})
-  if(_env)
-    file(TO_CMAKE_PATH "${_env}" _ENV_${v})
-  else()
-    set(_ENV_${v} "")
-  endif()
-endforeach()
-if(NOT _ENV_BOOST_ROOT AND _ENV_BOOSTROOT)
-  set(_ENV_BOOST_ROOT "${_ENV_BOOSTROOT}")
-endif()
-
-# Collect inputs and cached results.  Detect changes since the last run.
-if(NOT BOOST_ROOT AND BOOSTROOT)
-  set(BOOST_ROOT "${BOOSTROOT}")
-endif()
-set(_Boost_VARS_DIR
-  BOOST_ROOT
-  Boost_NO_SYSTEM_PATHS
-  )
-
-if(Boost_DEBUG)
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "Declared as CMake or Environmental Variables:")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "  BOOST_ROOT = ${BOOST_ROOT}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "  BOOST_INCLUDEDIR = ${BOOST_INCLUDEDIR}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "  BOOST_LIBRARYDIR = ${BOOST_LIBRARYDIR}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                 "_boost_TEST_VERSIONS = ${_boost_TEST_VERSIONS}")
-endif()
-
-# ------------------------------------------------------------------------
-#  Search for Boost include DIR
-# ------------------------------------------------------------------------
-
-set(_Boost_VARS_INC BOOST_INCLUDEDIR Boost_INCLUDE_DIR Boost_ADDITIONAL_VERSIONS)
-_Boost_CHANGE_DETECT(_Boost_CHANGE_INCDIR ${_Boost_VARS_DIR} ${_Boost_VARS_INC})
-# Clear Boost_INCLUDE_DIR if it did not change but other input affecting the
-# location did.  We will find a new one based on the new inputs.
-if(_Boost_CHANGE_INCDIR AND NOT _Boost_INCLUDE_DIR_CHANGED)
-  unset(Boost_INCLUDE_DIR CACHE)
-endif()
-
-if(NOT Boost_INCLUDE_DIR)
-  set(_boost_INCLUDE_SEARCH_DIRS "")
-  if(BOOST_INCLUDEDIR)
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_INCLUDEDIR})
-  elseif(_ENV_BOOST_INCLUDEDIR)
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_INCLUDEDIR})
-  endif()
-
-  if( BOOST_ROOT )
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT}/include ${BOOST_ROOT})
-  elseif( _ENV_BOOST_ROOT )
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS ${_ENV_BOOST_ROOT}/include ${_ENV_BOOST_ROOT})
-  endif()
-
-  if( Boost_NO_SYSTEM_PATHS)
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS NO_CMAKE_SYSTEM_PATH)
-  else()
-    list(APPEND _boost_INCLUDE_SEARCH_DIRS PATHS
-      C:/boost/include
-      C:/boost
-      /sw/local/include
-      )
-  endif()
-
-  # Try to find Boost by stepping backwards through the Boost versions
-  # we know about.
-  # Build a list of path suffixes for each version.
-  set(_boost_PATH_SUFFIXES)
-  foreach(_boost_VER ${_boost_TEST_VERSIONS})
-    # Add in a path suffix, based on the required version, ideally
-    # we could read this from version.hpp, but for that to work we'd
-    # need to know the include dir already
-    set(_boost_BOOSTIFIED_VERSION)
-
-    # Transform 1.35 => 1_35 and 1.36.0 => 1_36_0
-    if(_boost_VER MATCHES "[0-9]+\\.[0-9]+\\.[0-9]+")
-        string(REGEX REPLACE "([0-9]+)\\.([0-9]+)\\.([0-9]+)" "\\1_\\2_\\3"
-          _boost_BOOSTIFIED_VERSION ${_boost_VER})
-    elseif(_boost_VER MATCHES "[0-9]+\\.[0-9]+")
-        string(REGEX REPLACE "([0-9]+)\\.([0-9]+)" "\\1_\\2"
-          _boost_BOOSTIFIED_VERSION ${_boost_VER})
-    endif()
-
-    list(APPEND _boost_PATH_SUFFIXES
-      "boost-${_boost_BOOSTIFIED_VERSION}"
-      "boost_${_boost_BOOSTIFIED_VERSION}"
-      "boost/boost-${_boost_BOOSTIFIED_VERSION}"
-      "boost/boost_${_boost_BOOSTIFIED_VERSION}"
-      )
-
-  endforeach()
-
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "Include debugging info:")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "  _boost_INCLUDE_SEARCH_DIRS = ${_boost_INCLUDE_SEARCH_DIRS}")
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "  _boost_PATH_SUFFIXES = ${_boost_PATH_SUFFIXES}")
-  endif()
-
-  # Look for a standard boost header file.
-  find_path(Boost_INCLUDE_DIR
-    NAMES         boost/config.hpp
-    HINTS         ${_boost_INCLUDE_SEARCH_DIRS}
-    PATH_SUFFIXES ${_boost_PATH_SUFFIXES}
-    )
-endif()
-
-# ------------------------------------------------------------------------
-#  Extract version information from version.hpp
-# ------------------------------------------------------------------------
-
-# Set Boost_FOUND based only on header location and version.
-# It will be updated below for component libraries.
-if(Boost_INCLUDE_DIR)
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "location of version.hpp: ${Boost_INCLUDE_DIR}/boost/version.hpp")
-  endif()
-
-  # Extract Boost_VERSION and Boost_LIB_VERSION from version.hpp
-  set(Boost_VERSION 0)
-  set(Boost_LIB_VERSION "")
-  file(STRINGS "${Boost_INCLUDE_DIR}/boost/version.hpp" _boost_VERSION_HPP_CONTENTS REGEX "#define BOOST_(LIB_)?VERSION ")
-  set(_Boost_VERSION_REGEX "([0-9]+)")
-  set(_Boost_LIB_VERSION_REGEX "\"([0-9_]+)\"")
-  foreach(v VERSION LIB_VERSION)
-    if("${_boost_VERSION_HPP_CONTENTS}" MATCHES ".*#define BOOST_${v} ${_Boost_${v}_REGEX}.*")
-      set(Boost_${v} "${CMAKE_MATCH_1}")
-    endif()
-  endforeach()
-  unset(_boost_VERSION_HPP_CONTENTS)
-
-  math(EXPR Boost_MAJOR_VERSION "${Boost_VERSION} / 100000")
-  math(EXPR Boost_MINOR_VERSION "${Boost_VERSION} / 100 % 1000")
-  math(EXPR Boost_SUBMINOR_VERSION "${Boost_VERSION} % 100")
-
-  set(Boost_ERROR_REASON
-    "${Boost_ERROR_REASON}Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}\nBoost include path: ${Boost_INCLUDE_DIR}")
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "version.hpp reveals boost "
-                   "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-  endif()
-
-  if(Boost_FIND_VERSION)
-    # Set Boost_FOUND based on requested version.
-    set(_Boost_VERSION "${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-    if("${_Boost_VERSION}" VERSION_LESS "${Boost_FIND_VERSION}")
-      set(Boost_FOUND 0)
-      set(_Boost_VERSION_AGE "old")
-    elseif(Boost_FIND_VERSION_EXACT AND
-        NOT "${_Boost_VERSION}" VERSION_EQUAL "${Boost_FIND_VERSION}")
-      set(Boost_FOUND 0)
-      set(_Boost_VERSION_AGE "new")
-    else()
-      set(Boost_FOUND 1)
-    endif()
-    if(NOT Boost_FOUND)
-      # State that we found a version of Boost that is too new or too old.
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}\nDetected version of Boost is too ${_Boost_VERSION_AGE}. Requested version was ${Boost_FIND_VERSION_MAJOR}.${Boost_FIND_VERSION_MINOR}")
-      if (Boost_FIND_VERSION_PATCH)
-        set(Boost_ERROR_REASON
-          "${Boost_ERROR_REASON}.${Boost_FIND_VERSION_PATCH}")
-      endif ()
-      if (NOT Boost_FIND_VERSION_EXACT)
-        set(Boost_ERROR_REASON "${Boost_ERROR_REASON} (or newer)")
-      endif ()
-      set(Boost_ERROR_REASON "${Boost_ERROR_REASON}.")
-    endif ()
-  else()
-    # Caller will accept any Boost version.
-    set(Boost_FOUND 1)
-  endif()
-else()
-  set(Boost_FOUND 0)
-  set(Boost_ERROR_REASON
-    "${Boost_ERROR_REASON}Unable to find the Boost header files. Please set BOOST_ROOT to the root directory containing Boost or BOOST_INCLUDEDIR to the directory containing Boost's headers.")
-endif()
-
-# ------------------------------------------------------------------------
-#  Suffix initialization and compiler suffix detection.
-# ------------------------------------------------------------------------
-
-set(_Boost_VARS_NAME
-  Boost_COMPILER
-  Boost_THREADAPI
-  Boost_USE_DEBUG_PYTHON
-  Boost_USE_MULTITHREADED
-  Boost_USE_STATIC_LIBS
-  Boost_USE_STATIC_RUNTIME
-  Boost_USE_STLPORT
-  Boost_USE_STLPORT_DEPRECATED_NATIVE_IOSTREAMS
-  )
-_Boost_CHANGE_DETECT(_Boost_CHANGE_LIBNAME ${_Boost_VARS_NAME})
-
-# Setting some more suffixes for the library
-set(Boost_LIB_PREFIX "")
-if ( WIN32 AND Boost_USE_STATIC_LIBS AND NOT CYGWIN)
-  set(Boost_LIB_PREFIX "lib")
-endif()
-
-if (Boost_COMPILER)
-  set(_boost_COMPILER ${Boost_COMPILER})
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-                   "using user-specified Boost_COMPILER = ${_boost_COMPILER}")
-  endif()
-else()
-  # Attempt to guess the compiler suffix
-  # NOTE: this is not perfect yet, if you experience any issues
-  # please report them and use the Boost_COMPILER variable
-  # to work around the problems.
-  _Boost_GUESS_COMPILER_PREFIX(_boost_COMPILER)
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-      "guessed _boost_COMPILER = ${_boost_COMPILER}")
-  endif()
-endif()
-
-set (_boost_MULTITHREADED "-mt")
-if( NOT Boost_USE_MULTITHREADED )
-  set (_boost_MULTITHREADED "")
-endif()
-if(Boost_DEBUG)
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-    "_boost_MULTITHREADED = ${_boost_MULTITHREADED}")
-endif()
-
-#======================
-# 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_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_RELEASE_ABI_TAG = ${_boost_RELEASE_ABI_TAG}")
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-    "_boost_DEBUG_ABI_TAG = ${_boost_DEBUG_ABI_TAG}")
-endif()
-
-# ------------------------------------------------------------------------
-#  Begin finding boost libraries
-# ------------------------------------------------------------------------
-set(_Boost_VARS_LIB BOOST_LIBRARYDIR Boost_LIBRARY_DIR)
-_Boost_CHANGE_DETECT(_Boost_CHANGE_LIBDIR ${_Boost_VARS_DIR} ${_Boost_VARS_LIB} Boost_INCLUDE_DIR)
-# Clear Boost_LIBRARY_DIR if it did not change but other input affecting the
-# location did.  We will find a new one based on the new inputs.
-if(_Boost_CHANGE_LIBDIR AND NOT _Boost_LIBRARY_DIR_CHANGED)
-  unset(Boost_LIBRARY_DIR CACHE)
-endif()
-
-if(Boost_LIBRARY_DIR)
-  set(_boost_LIBRARY_SEARCH_DIRS ${Boost_LIBRARY_DIR} NO_DEFAULT_PATH)
-else()
-  set(_boost_LIBRARY_SEARCH_DIRS "")
-  if(BOOST_LIBRARYDIR)
-    list(APPEND _boost_LIBRARY_SEARCH_DIRS ${BOOST_LIBRARYDIR})
-  elseif(_ENV_BOOST_LIBRARYDIR)
-    list(APPEND _boost_LIBRARY_SEARCH_DIRS ${_ENV_BOOST_LIBRARYDIR})
-  endif()
-
-  if(BOOST_ROOT)
-    list(APPEND _boost_LIBRARY_SEARCH_DIRS ${BOOST_ROOT}/lib ${BOOST_ROOT}/stage/lib)
-  elseif(_ENV_BOOST_ROOT)
-    list(APPEND _boost_LIBRARY_SEARCH_DIRS ${_ENV_BOOST_ROOT}/lib ${_ENV_BOOST_ROOT}/stage/lib)
-  endif()
-
-  list(APPEND _boost_LIBRARY_SEARCH_DIRS
-    ${Boost_INCLUDE_DIR}/lib
-    ${Boost_INCLUDE_DIR}/../lib
-    ${Boost_INCLUDE_DIR}/stage/lib
-    )
-  if( Boost_NO_SYSTEM_PATHS )
-    list(APPEND _boost_LIBRARY_SEARCH_DIRS NO_CMAKE_SYSTEM_PATH)
-  else()
-    list(APPEND _boost_LIBRARY_SEARCH_DIRS PATHS
-      C:/boost/lib
-      C:/boost
-      /sw/local/lib
-      )
-  endif()
-endif()
-
-if(Boost_DEBUG)
-  message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] "
-    "_boost_LIBRARY_SEARCH_DIRS = ${_boost_LIBRARY_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 )
-  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 "-")
-    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 need only
-# set Boost_USE_STATIC_RUNTIME either ON or OFF.
-set(_boost_STATIC_RUNTIME_WORKAROUND false)
-if(WIN32 AND Boost_USE_STATIC_LIBS)
-  if(NOT DEFINED Boost_USE_STATIC_RUNTIME)
-    set(_boost_STATIC_RUNTIME_WORKAROUND true)
-  endif()
-endif()
-
-# On versions < 1.35, remove the System library from the considered list
-# since it wasn't added until 1.35.
-if(Boost_VERSION AND Boost_FIND_COMPONENTS)
-   if(Boost_VERSION LESS 103500)
-     list(REMOVE_ITEM Boost_FIND_COMPONENTS system)
-   endif()
-endif()
-
-# If the user changed any of our control inputs flush previous results.
-if(_Boost_CHANGE_LIBDIR OR _Boost_CHANGE_LIBNAME)
-  foreach(COMPONENT ${_Boost_COMPONENTS_SEARCHED})
-    string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-    foreach(c DEBUG RELEASE)
-      set(_var Boost_${UPPERCOMPONENT}_LIBRARY_${c})
-      unset(${_var} CACHE)
-      set(${_var} "${_var}-NOTFOUND")
-    endforeach()
-  endforeach()
-  set(_Boost_COMPONENTS_SEARCHED "")
-endif()
-
-foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-  string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-
-  set( _boost_docstring_release "Boost ${COMPONENT} library (release)")
-  set( _boost_docstring_debug   "Boost ${COMPONENT} library (debug)")
-
-  #
-  # 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_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} )
-  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_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}")
-  endif()
-
-  # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
-  string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS}")
-
-  _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
-    NAMES ${_boost_RELEASE_NAMES}
-    HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
-    NAMES_PER_DIR
-    DOC "${_boost_docstring_release}"
-    )
-
-  #
-  # 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_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_DEBUG_ABI_TAG}
-    ${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_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}")
-  endif()
-
-  # Avoid passing backslashes to _Boost_FIND_LIBRARY due to macro re-parsing.
-  string(REPLACE "\\" "/" _boost_LIBRARY_SEARCH_DIRS_tmp "${_boost_LIBRARY_SEARCH_DIRS}")
-
-  _Boost_FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_DEBUG
-    NAMES ${_boost_DEBUG_NAMES}
-    HINTS ${_boost_LIBRARY_SEARCH_DIRS_tmp}
-    NAMES_PER_DIR
-    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()
-
-# 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
-# ------------------------------------------------------------------------
-
-set(Boost_INCLUDE_DIRS ${Boost_INCLUDE_DIR})
-set(Boost_LIBRARY_DIRS ${Boost_LIBRARY_DIR})
-
-# The above setting of Boost_FOUND was based only on the header files.
-# Update it for the requested component libraries.
-if(Boost_FOUND)
-  # The headers were found.  Check for requested component libs.
-  set(_boost_CHECKED_COMPONENT FALSE)
-  set(_Boost_MISSING_COMPONENTS "")
-  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-    string(TOUPPER ${COMPONENT} COMPONENT)
-    set(_boost_CHECKED_COMPONENT TRUE)
-    if(NOT Boost_${COMPONENT}_FOUND)
-      string(TOLOWER ${COMPONENT} COMPONENT)
-      list(APPEND _Boost_MISSING_COMPONENTS ${COMPONENT})
-    endif()
-  endforeach()
-
-  if(Boost_DEBUG)
-    message(STATUS "[ ${CMAKE_CURRENT_LIST_FILE}:${CMAKE_CURRENT_LIST_LINE} ] Boost_FOUND = ${Boost_FOUND}")
-  endif()
-
-  if (_Boost_MISSING_COMPONENTS)
-    set(Boost_FOUND 0)
-    # We were unable to find some libraries, so generate a sensible
-    # error message that lists the libraries we were unable to find.
-    set(Boost_ERROR_REASON
-      "${Boost_ERROR_REASON}\nCould not find the following")
-    if(Boost_USE_STATIC_LIBS)
-      set(Boost_ERROR_REASON "${Boost_ERROR_REASON} static")
-    endif()
-    set(Boost_ERROR_REASON
-      "${Boost_ERROR_REASON} Boost libraries:\n")
-    foreach(COMPONENT ${_Boost_MISSING_COMPONENTS})
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}        boost_${COMPONENT}\n")
-    endforeach()
-
-    list(LENGTH Boost_FIND_COMPONENTS Boost_NUM_COMPONENTS_WANTED)
-    list(LENGTH _Boost_MISSING_COMPONENTS Boost_NUM_MISSING_COMPONENTS)
-    if (${Boost_NUM_COMPONENTS_WANTED} EQUAL ${Boost_NUM_MISSING_COMPONENTS})
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}No Boost libraries were found. You may need to set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
-    else ()
-      set(Boost_ERROR_REASON
-        "${Boost_ERROR_REASON}Some (but not all) of the required Boost libraries were found. You may need to install these additional Boost libraries. Alternatively, set BOOST_LIBRARYDIR to the directory containing Boost libraries or BOOST_ROOT to the location of Boost.")
-    endif ()
-  endif ()
-
-  if( NOT Boost_LIBRARY_DIRS AND NOT _boost_CHECKED_COMPONENT )
-    # Compatibility Code for backwards compatibility with CMake
-    # 2.4's FindBoost module.
-
-    # Look for the boost library path.
-    # Note that the user may not have installed any libraries
-    # so it is quite possible the Boost_LIBRARY_DIRS may not exist.
-    set(_boost_LIB_DIR ${Boost_INCLUDE_DIR})
-
-    if("${_boost_LIB_DIR}" MATCHES "boost-[0-9]+")
-      get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
-    endif()
-
-    if("${_boost_LIB_DIR}" MATCHES "/include$")
-      # Strip off the trailing "/include" in the path.
-      get_filename_component(_boost_LIB_DIR ${_boost_LIB_DIR} PATH)
-    endif()
-
-    if(EXISTS "${_boost_LIB_DIR}/lib")
-      set(_boost_LIB_DIR ${_boost_LIB_DIR}/lib)
-    else()
-      if(EXISTS "${_boost_LIB_DIR}/stage/lib")
-        set(_boost_LIB_DIR ${_boost_LIB_DIR}/stage/lib)
-      else()
-        set(_boost_LIB_DIR "")
-      endif()
-    endif()
-
-    if(_boost_LIB_DIR AND EXISTS "${_boost_LIB_DIR}")
-      set(Boost_LIBRARY_DIRS ${_boost_LIB_DIR})
-    endif()
-
-  endif()
-else()
-  # Boost headers were not found so no components were found.
-  foreach(COMPONENT ${Boost_FIND_COMPONENTS})
-    string(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-    set(Boost_${UPPERCOMPONENT}_FOUND 0)
-  endforeach()
-endif()
-
-# ------------------------------------------------------------------------
-#  Notification to end user about what was found
-# ------------------------------------------------------------------------
-
-set(Boost_LIBRARIES "")
-if(Boost_FOUND)
-  if(NOT Boost_FIND_QUIETLY)
-    message(STATUS "Boost version: ${Boost_MAJOR_VERSION}.${Boost_MINOR_VERSION}.${Boost_SUBMINOR_VERSION}")
-    if(Boost_FIND_COMPONENTS)
-      message(STATUS "Found the following Boost libraries:")
-    endif()
-  endif()
-  foreach( COMPONENT  ${Boost_FIND_COMPONENTS} )
-    string( TOUPPER ${COMPONENT} UPPERCOMPONENT )
-    if( Boost_${UPPERCOMPONENT}_FOUND )
-      if(NOT Boost_FIND_QUIETLY)
-        message (STATUS "  ${COMPONENT}")
-      endif()
-      list(APPEND Boost_LIBRARIES ${Boost_${UPPERCOMPONENT}_LIBRARY})
-    endif()
-  endforeach()
-
-  # Add pthread library on UNIX if thread component was found
-  _Boost_consider_adding_pthreads(Boost_LIBRARIES ${Boost_LIBRARIES})
-else()
-  if(Boost_FIND_REQUIRED)
-    message(SEND_ERROR "Unable to find the requested Boost libraries.\n${Boost_ERROR_REASON}")
-  else()
-    if(NOT Boost_FIND_QUIETLY)
-      # we opt not to automatically output Boost_ERROR_REASON here as
-      # it could be quite lengthy and somewhat imposing in its requests
-      # Since Boost is not always a required dependency we'll leave this
-      # up to the end-user.
-      if(Boost_DEBUG OR Boost_DETAILED_FAILURE_MSG)
-        message(STATUS "Could NOT find Boost\n${Boost_ERROR_REASON}")
-      else()
-        message(STATUS "Could NOT find Boost")
-      endif()
-    endif()
-  endif()
-endif()
-
-# Configure display of cache entries in GUI.
-foreach(v BOOSTROOT BOOST_ROOT ${_Boost_VARS_INC} ${_Boost_VARS_LIB})
-  get_property(_type CACHE ${v} PROPERTY TYPE)
-  if(_type)
-    set_property(CACHE ${v} PROPERTY ADVANCED 1)
-    if("x${_type}" STREQUAL "xUNINITIALIZED")
-      if("x${v}" STREQUAL "xBoost_ADDITIONAL_VERSIONS")
-        set_property(CACHE ${v} PROPERTY TYPE STRING)
-      else()
-        set_property(CACHE ${v} PROPERTY TYPE PATH)
-      endif()
-    endif()
-  endif()
-endforeach()
-
-# Record last used values of input variables so we can
-# detect on the next run if the user changed them.
-foreach(v
-    ${_Boost_VARS_INC} ${_Boost_VARS_LIB}
-    ${_Boost_VARS_DIR} ${_Boost_VARS_NAME}
-    )
-  if(DEFINED ${v})
-    set(_${v}_LAST "${${v}}" CACHE INTERNAL "Last used ${v} value.")
-  else()
-    unset(_${v}_LAST CACHE)
-  endif()
-endforeach()
-
-# Maintain a persistent list of components requested anywhere since
-# the last flush.
-set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}")
-list(APPEND _Boost_COMPONENTS_SEARCHED ${Boost_FIND_COMPONENTS})
-list(REMOVE_DUPLICATES _Boost_COMPONENTS_SEARCHED)
-list(SORT _Boost_COMPONENTS_SEARCHED)
-set(_Boost_COMPONENTS_SEARCHED "${_Boost_COMPONENTS_SEARCHED}"
-  CACHE INTERNAL "Components requested for this build tree.")


handle empty CMAKE_BUILD_TYPE

handle empty CMAKE_BUILD_TYPE

--- cmake/cocl_impl.cmake
+++ cmake/cocl_impl.cmake
@@ -26,10 +26,10 @@
                     # "$<$<BOOL:$<TARGET_PROPERTY:${target_name},INCLUDE_DIRECTORIES>>:-I$<TARGET_PROPERTY:${target_name},INCLUDE_DIRECTORIES>>"
                     # "$<$<BOOL:$<TARGET_PROPERTY:${target_name},INCLUDE_DIRECTORIES>>:$<JOIN:-I$<TARGET_PROPERTY:${target_name},INCLUDE_DIRECTORIES>,;-I>>"
             set(G_OPT)
-            if(${CMAKE_BUILD_TYPE} STREQUAL "Debug")
+            if("${CMAKE_BUILD_TYPE}" STREQUAL "Debug")
                 set(G_OPT "-g")
             endif()
-            if(${CMAKE_BUILD_TYPE} STREQUAL "RelWithDebug")
+            if("${CMAKE_BUILD_TYPE}" STREQUAL "RelWithDebug")
                 set(G_OPT "-g")
             endif()
             add_custom_command(


[CMake] Use __libc_start_main rather than fopen when checking for C library

The check_library_exists CMake uses a custom symbol definition. This
is a problem when checking for C library symbols because Clang
recognizes many of them as builtins, and returns the
-Wbuiltin-requires-header (or -Wincompatible-library-redeclaration)
error. When building with -Werror which is the default, this causes
the check_library_exists check fail making the build think that C
library isn't available.

To avoid this issue, we should use a symbol that isn't recognized by
Clang and wouldn't cause the same issue. __libc_start_main seems like
reasonable choice that fits the bill.

Differential Revision: https://reviews.llvm.org/D57142

git-svn-id: 756ef344af921d95d562d9e9f9389127a89a6314@352341 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/config-ix.cmake
+++ cmake/config-ix.cmake
@@ -7,7 +7,7 @@
   # let the default linking take care of that.
   set(LIBCXX_HAS_C_LIB NO)
 else()
-  check_library_exists(c fopen "" LIBCXX_HAS_C_LIB)
+  check_library_exists(c __libc_start_main "" LIBCXX_HAS_C_LIB)
 endif()

 if (NOT LIBCXX_USE_COMPILER_RT)


r10086/sofa : FIX: everything related to Qt : UIC and MOC, works fine on Windows now

Former-commit-id: c35a0701c0fc066dc33b5526989bf3ead5ef8139

--- cmake/functions.cmake
+++ cmake/functions.cmake
@@ -64,26 +64,25 @@
 macro(SOFA_QT4_WRAP_CPP outfiles )
 	# get include dirs
 	QT4_GET_MOC_FLAGS(moc_flags)
-	QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})
+	#QT4_EXTRACT_OPTIONS(moc_files moc_options ${ARGN})

 	set(defines)
 	foreach(it ${GLOBAL_COMPILER_DEFINES})
 		list(APPEND defines "-D${it}")
 	endforeach()

-	foreach(it ${moc_files})
-	get_filename_component(it ${it} ABSOLUTE)
-	QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
-	QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${defines}" "${moc_options}")
-	set(${outfiles} ${${outfiles}} ${outfile})
+	foreach(it ${ARGN})
+		get_filename_component(it ${it} ABSOLUTE)
+		QT4_MAKE_OUTPUT_FILE(${it} moc_ cpp outfile)
+		QT4_CREATE_MOC_COMMAND(${it} ${outfile} "${moc_flags}" "${defines}" "${moc_options}")
+		set(${outfiles} ${${outfiles}} ${outfile})
 	endforeach()
 endmacro()

 # generate .h / .cpp from Qt3 .ui for Qt4
 macro(SOFA_QT4_WRAP_UI outfiles )
-	QT4_EXTRACT_OPTIONS(ui_files ui_options ${ARGN})
-
-	foreach(it ${ui_files})
+
+	foreach(it ${ARGN})
 		get_filename_component(outfile ${it} NAME_WE)
 		get_filename_component(infile ${it} ABSOLUTE)
 		set(outHeaderFile "${CMAKE_CURRENT_BINARY_DIR}/${outfile}.h")


fix the bad include dir for the farm

fix the bad include dir for the farm

--- cmake/rosbuild2.cmake
+++ cmake/rosbuild2.cmake
@@ -26,5 +26,5 @@
     endif()
   endforeach(_cfg)

-  include_directories(${CATKIN_BUILD_PREFIX}/${CATKIN_PACKAGE_INCLUDE_DESTINATION})
+  include_directories(${CATKIN_BUILD_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION})
 endmacro()


switch to hunter-packages repo for libtommath

--- cmake/projects/tommath/hunter.cmake
+++ cmake/projects/tommath/hunter.cmake
@@ -15,9 +15,9 @@
     VERSION
     "1.0-p1"
     URL
-    "https://github.com/wheybags/libtommath/archive/v1.0_hunter.tar.gz"
+    "https://github.com/hunter-packages/libtommath/archive/v1.0-hunter.tar.gz"
     SHA1
-    52d0952cb516a67b9f5b66e260a940273cb76e5c
+    c8d8f850ce0d76ba9b1eb295f4842cc94a566d1c
 )

 # Pick a download scheme


Small change for AlloProject

Small change for AlloProject

--- cmake_modules/CMakeRunTargets.cmake
+++ cmake_modules/CMakeRunTargets.cmake
@@ -17,11 +17,11 @@
   string(REGEX REPLACE "_+$" "" APP_NAME "${APP_NAME}")
   set(SOURCE_DIR "${ALLOSYSTEM_BUILD_APP_DIR}")
 else()
-  set(ALLOSYSTEM_APP_SRC "${BUILD_APP_FILE}")
   string(REPLACE "/" "_" APP_NAME "${BUILD_APP_FILE}")
   get_filename_component(APP_NAME "${APP_NAME}" NAME)
   STRING(REGEX REPLACE "\\.[^.]*\$" "" APP_NAME "${APP_NAME}")
   string(REPLACE "." "_" APP_NAME "${APP_NAME}")
+  set(ALLOSYSTEM_APP_SRC "${CMAKE_SOURCE_DIR}/${BUILD_APP_FILE}")
 #  get_filename_component(APP_NAME ${APP_NAME} NAME_WE) # Get name w/o extension (extension is anything after first dot!)
   get_filename_component(SOURCE_DIR "${BUILD_APP_FILE}" PATH)
 endif(BUILD_DIR)


update install_package to avoid using string CONCAT

--- cmake_modules/install_package.cmake
+++ cmake_modules/install_package.cmake
@@ -70,26 +70,32 @@
   endif()

   # construct Cflags arguments for pkg-config file
-  string( CONCAT PACKAGE_CFLAGS ${PACKAGE_CFLAGS} ${CMAKE_C_FLAGS} )
+#  string( CONCAT PACKAGE_CFLAGS ${PACKAGE_CFLAGS} ${CMAKE_C_FLAGS} )
+  set( PACKAGE_CFLAGS "${PACKAGE_CFLAGS} ${CMAKE_C_FLAGS}" )
   foreach(var IN LISTS PACKAGE_INCLUDE_DIRS )
-    string( CONCAT PACKAGE_CFLAGS ${PACKAGE_CFLAGS} " -I${var}" )
+#    string( CONCAT PACKAGE_CFLAGS ${PACKAGE_CFLAGS} " -I${var}" )
+    set( PACKAGE_CFLAGS "${PACKAGE_CFLAGS} -I${var}" )
   endforeach()

   # now construct Libs.private arguments
   foreach(var IN LISTS PACKAGE_LINK_DIRS )
-    string( CONCAT PACKAGE_LIBS ${PACKAGE_LIBS} " -L${var}" )
+#    string( CONCAT PACKAGE_LIBS ${PACKAGE_LIBS} " -L${var}" )
+    set( PACKAGE_LIBS "${PACKAGE_LIBS} -L${var}" )
   endforeach()
   foreach(var IN LISTS PACKAGE_LINK_LIBS )
     if( EXISTS ${var} OR  ${var} MATCHES "-framework*" )
-      string( CONCAT PACKAGE_LIBS ${PACKAGE_LIBS} " ${var}" )
+#      string( CONCAT PACKAGE_LIBS ${PACKAGE_LIBS} " ${var}" )
+      set( PACKAGE_LIBS "${PACKAGE_LIBS} ${var}" )
     else() # assume it's just a -l call??
-      string( CONCAT PACKAGE_LIBS ${PACKAGE_LIBS} " -l${var}" )
+#      string( CONCAT PACKAGE_LIBS ${PACKAGE_LIBS} " -l${var}" )
+      set( PACKAGE_LIBS "${PACKAGE_LIBS} -l${var}" )
     endif()
   endforeach()

   # add any CXX flags user has passed in
   if( PACKAGE_CXXFLAGS )
-    string( CONCAT PACKAGE_CFLAGS ${PACKAGE_CXXFLAGS} )
+#    string( CONCAT PACKAGE_CFLAGS ${PACKAGE_CXXFLAGS} )
+    set( PACKAGE_CFLAGS ${PACKAGE_CXXFLAGS} )
   endif()

@@ -97,7 +103,9 @@
   if( NOT EXPORT_${PROJECT_NAME} )
         # add "installed" library to list of required libraries to link against
         if( PACKAGE_LIB_NAME )
-            cmake_policy( SET CMP0026 OLD )
+            if(POLICY CMP0026)
+              cmake_policy( SET CMP0026 OLD )
+            endif()
             get_target_property( _target_library ${PACKAGE_LIB_NAME} LOCATION )
             get_filename_component( _lib ${_target_library} NAME )
             list( APPEND PACKAGE_LINK_LIBS ${CMAKE_INSTALL_PREFIX}/lib/${_lib} )
@@ -108,7 +116,7 @@
             foreach(dir IN LISTS PACKAGE_INSTALL_HEADER_DIRS )
             install( DIRECTORY ${dir}
                 DESTINATION ${PACKAGE_DESTINATION}/include
-                FILES_MATCHING PATTERN "*.h"
+                FILES_MATCHING PATTERN "*.h|*.hxx|*.hpp"
                 )
             endforeach()
         endif()
@@ -174,7 +182,9 @@
   elseif( EXPORT_${PROJECT_NAME} )

       if( PACKAGE_LIB_NAME )
-            cmake_policy( SET CMP0026 OLD )
+            if(POLICY CMP0026)
+              cmake_policy( SET CMP0026 OLD )
+            endif()
             get_target_property( _target_library ${PACKAGE_LIB_NAME} LOCATION )
             list( APPEND PACKAGE_LINK_LIBS ${_target_library} )
         endif()


added -Wno-unused-result

added -Wno-unused-result

[git-p4: depot-paths = "//sw/gpgpu/nvbio/main/": change = 18790857]

--- cmake-local/gcc.cmake
+++ cmake-local/gcc.cmake
@@ -4,7 +4,7 @@
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas -Wstrict-aliasing=0")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wstrict-aliasing=0")
     if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.8)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs")
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-local-typedefs -Wno-unused-result")
     endif()

     set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")


Update DeployQt4.

Update DeployQt4.

--- cmake/DeployQt4.cmake
+++ cmake/DeployQt4.cmake
@@ -3,21 +3,27 @@
 # Qt4 applications.
 #
 # The following functions are provided by this module:
-#   write_qt4_conf
-#   fixup_qt4_bundle
-#   install_qt4_app
+#	write_qt4_conf
+#	fixup_qt4_bundle
+#	install_qt4_app
 # Requires CMake 2.6 or greater and depends on BundleUtilities.cmake.
 #
 #  WRITE_QT4_CONF(<qt_conf_dir> <qt_conf_contents>)
 # Writes a qt.conf file with the given contents into the given directory.
 #
-#  FIXUP_QT4_BUNDLE(<app> [<qtplugins> <libs> <dirs> <plugins_dir>])
+# TODO: document variables
+#
+#  FIXUP_QT4_BUNDLE(<app> [<qtplugins> <libs> <dirs> <plugins_dir> <request_qt_conf>])
 # Copies Qt plugins, writes a Qt configuration file (if needed) and fixes up a
 # Qt4 executable using BundleUtilities.
 #
-#  INSTALL_QT4_APP(<executable> <qtplugins> [<libs> <dirs> <plugins_dir> <request_qt_conf])
+# TODO: document variables
+#
+#  INSTALL_QT4_APP(<executable> <qtplugins> [<libs> <dirs> <plugins_dir> <request_qt_conf>])
 # Installs plugins, writes a Qt configuration file (if needed) and fixes up a
 # Qt4 executable using BundleUtilties.
+#
+# TODO: document variables

 #=============================================================================
 # Copyright 2011 Mike McQuaid <mike@mikemcquaid.com>
@@ -35,139 +41,177 @@
 # The functions defined in this file depend on the fixup_bundle function
 # (and possibly others) found in BundleUtilities.cmake
 #
-#get_filename_component(DeployQt4_cmake_dir "${CMAKE_CURRENT_LIST_FILE}" PATH)
-#include("${DeployQt4_cmake_dir}/BundleUtilities.cmake")
 include(BundleUtilities)

-function(write_qt4_conf qt_conf_dir qt_conf_contents)
-	set(qt_conf_path "${qt_conf_dir}/qt.conf")
-	message(STATUS "Writing ${qt_conf_path}")
-	file(WRITE "${qt_conf_path}" "${qt_conf_contents}")
-endfunction(write_qt4_conf)
-
+macro(write_qt4_conf qt_conf_dir qt_conf_contents)
+        set(qt_conf_path "${qt_conf_dir}/qt.conf")
+        message(STATUS "Writing ${qt_conf_path}")
+        file(WRITE "${qt_conf_path}" "${qt_conf_contents}")
+endmacro()
+
+macro(resolve_qt4_paths paths_var)
+        set(app_path ${ARGV1})
+
+        set(paths_resolved)
+        foreach(path ${${paths_var}})
+                if(EXISTS "${path}")
+                        list(APPEND paths_resolved "${path}")
+                else()
+                        if(${app_path})
+                                list(APPEND paths_resolved "${app_path}/${path}")
+                        else()
+                                list(APPEND paths_resolved "\${CMAKE_INSTALL_PREFIX}/${path}")
+                        endif()
+                endif()
+        endforeach()
+        set(${paths_var} ${paths_resolved})
+endmacro()

 function(fixup_qt4_bundle app qtplugins)
-	set(libs ${ARGV2})
-	set(dirs ${ARGV3})
-	set(plugins_dir ${ARGV4})
-	set(request_qt_conf ${ARGV5})
-
-	message(STATUS "fixup_qt4_bundle")
-	message(STATUS "  app='${app}'")
-	message(STATUS "  qtplugins='${qtplugins}'")
-	message(STATUS "  libs='${libs}'")
-	message(STATUS "  dirs='${dirs}'")
-	message(STATUS "  plugins_dir='${plugins_dir}'")
-	message(STATUS "  request_qt_conf='${request_qt_conf}'")
-
-	if(QT_LIBRARY_DIR)
-		list(APPEND dirs "${QT_LIBRARY_DIR}")
-	endif()
-
-	if(APPLE)
-		if(NOT plugins_dir)
-			set(plugins_dir "PlugIns")
-		endif()
-		set(plugins_path "${app}/Contents/${plugins_dir}")
-		set(qt_conf_dir "${app}/Contents/Resources")
-		set(write_qt_conf TRUE)
-	else()
-		if(NOT plugins_dir)
-			set(plugins_dir "plugins")
-		endif()
-		set(plugins_dir ${plugin_inst_dir})
-		get_filename_component(app_path "${app}" PATH)
-		set(plugins_path "${app_path}/${plugins_dir}")
-		set(qt_conf_dir "")
-		set(write_qt_conf ${request_qt_conf})
-	endif()
-
-	foreach(plugin ${qtplugins})
-		if(EXISTS "${plugin}")
-			set(plugin_group "")
-
-			get_filename_component(plugin_path "${plugin}" PATH)
-			get_filename_component(plugin_parent_path "${plugin_path}" PATH)
-			get_filename_component(plugin_parent_dir_name "${plugin_parent_path}" NAME)
-			get_filename_component(plugin_name "${plugin}" NAME)
-			string(TOLOWER "${plugin_parent_dir_name}" plugin_parent_dir_name)
-
-			if("${plugin_parent_dir_name}" STREQUAL "plugins")
-				get_filename_component(plugin_group "${plugin_path}" NAME)
-				message(STATUS "Matched ${plugin_name} to plugin group ${plugin_group}")
-			endif()
-
-			set(plugin_path "${plugins_path}/${plugin_group}")
-			message(STATUS "Copying ${plugin_name} to ${plugin_path}")
-			file(MAKE_DIRECTORY "${plugin_path}")
-			file(COPY "${plugin}" DESTINATION "${plugin_path}")
-
-			list(APPEND libs "${plugin_path}/${plugin_name}")
-		else()
-			message(FATAL_ERROR "Plugin ${plugin} not found")
-		endif()
-	endforeach()
-
-	if(qtplugins AND write_qt_conf)
-		set(qt_conf_contents "[Paths]\nPlugins = ${plugins_dir}")
-		write_qt4_conf("${qt_conf_dir}" "${qt_conf_contents}")
-	endif()
-
-	fixup_bundle("${app}" "${libs}" "${dirs}")
-endfunction(fixup_qt4_bundle)
-
+        set(libs ${ARGV2})
+        set(dirs ${ARGV3})
+        set(plugins_dir ${ARGV4})
+        set(request_qt_conf ${ARGV5})
+
+        message(STATUS "fixup_qt4_bundle")
+        message(STATUS "  app='${app}'")
+        message(STATUS "  qtplugins='${qtplugins}'")
+        message(STATUS "  libs='${libs}'")
+        message(STATUS "  dirs='${dirs}'")
+        message(STATUS "  plugins_dir='${plugins_dir}'")
+        message(STATUS "  request_qt_conf='${request_qt_conf}'")
+
+        if(QT_LIBRARY_DIR)
+                list(APPEND dirs "${QT_LIBRARY_DIR}")
+        endif()
+
+        if(APPLE)
+                set(qt_conf_dir "${app}/Contents/Resources")
+                set(app_path "${app}")
+                set(write_qt_conf TRUE)
+        else()
+                get_filename_component(app_path "${app}" PATH)
+                set(qt_conf_dir "${app_path}")
+                set(write_qt_conf ${request_qt_conf})
+        endif()
+
+        foreach(plugin ${qtplugins})
+                set(installed_plugin_path "")
+                install_qt4_plugin("${plugin}" "${plugins_dir}" "${app}" 1 installed_plugin_path)
+                list(APPEND libs ${installed_plugin_path})
+        endforeach()
+
+        foreach(lib ${libs})
+                if(NOT EXISTS "${lib}")
+                        message(FATAL_ERROR "Library does not exist: ${lib}")
+                endif()
+        endforeach()
+
+        resolve_qt4_paths(libs "${app_path}")
+        resolve_qt4_paths(dirs "${app_path}")
+
+        if(qtplugins AND write_qt_conf)
+                set(qt_conf_contents "[Paths]\nPlugins = ${plugins_dir}")
+                write_qt4_conf("${qt_conf_dir}" "${qt_conf_contents}")
+        endif()
+
+        fixup_bundle("${app}" "${libs}" "${dirs}")
+endfunction()
+
+macro(install_qt4_plugin_path plugin plugins_dir app copy installed_path_var configurations)
+        if(EXISTS "${plugin}")
+                if(plugins_dir)
+                        set(plugins_subdir "${plugins_dir}")
+                else()
+                        if (APPLE)
+                                set(plugins_subdir "PlugIns")
+                        else()
+                                set(plugins_subdir "plugins")
+                        endif()
+                endif()
+                if(APPLE)
+                        set(plugins_path "${app}/Contents/${plugins_subdir}")
+                else()
+                        get_filename_component(app_path "${app}" PATH)
+                        set(plugins_path "${app_path}/${plugins_subdir}")
+                endif()
+
+                set(plugin_group "")
+
+                get_filename_component(plugin_path "${plugin}" PATH)
+                get_filename_component(plugin_parent_path "${plugin_path}" PATH)
+                get_filename_component(plugin_parent_dir_name "${plugin_parent_path}" NAME)
+                get_filename_component(plugin_name "${plugin}" NAME)
+                string(TOLOWER "${plugin_parent_dir_name}" plugin_parent_dir_name)
+
+                if("${plugin_parent_dir_name}" STREQUAL "plugins")
+                        get_filename_component(plugin_group "${plugin_path}" NAME)
+                        set(${plugin_group_var} "${plugin_group}")
+                endif()
+                set(plugins_path "${plugins_path}/${plugin_group}")
+
+                if(${copy})
+                        file(MAKE_DIRECTORY "${plugins_path}")
+                        file(COPY "${plugin}" DESTINATION "${plugins_path}")
+                else()
+                        if(configurations AND (CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE))
+                                install(FILES "${plugin}" DESTINATION "${plugins_path}" CONFIGURATIONS ${configurations})
+                        else()
+                                install(FILES "${plugin}" DESTINATION "${plugins_path}")
+                        endif()
+                endif()
+                set(${installed_path_var} ${${installed_path_var}} "${plugins_path}/${plugin_name}")
+        endif()
+endmacro()
+
+macro(install_qt4_plugin plugin plugins_dir app copy installed_path_var)
+        if(EXISTS "${plugin}")
+                install_qt4_plugin_path("${plugin}" "${plugins_dir}" "${app}" "${copy}" "${installed_path_var}" "")
+        else()
+                string(TOUPPER "QT_${plugin}_PLUGIN" plugin_var)
+                set(plugin_release "${${plugin_var}_RELEASE}")
+                set(plugin_debug "${${plugin_var}_DEBUG}")
+                if(NOT EXISTS "${plugin_release}" AND NOT EXISTS "${plugin_debug}")
+                        message(WARNING "Qt plugin \"${plugin}\" not recognized or found.")
+                endif()
+                install_qt4_plugin_path("${plugin_release}" "${plugins_dir}" "${app}" "${copy}" "${installed_path_var}" "Release|RelWithDebInfo|MinSizeRel")
+                install_qt4_plugin_path("${plugin_debug}" "${plugins_dir}" "${app}" "${copy}" "${installed_path_var}" "Debug")
+        endif()
+endmacro()

 function(install_qt4_app executable)
-	set(qtplugins ${ARGV1})
-	set(libs ${ARGV2})
-	set(dirs ${ARGV3})
-	set(plugins_dir ${ARGV4})
-	if(QT_LIBRARY_DIR)
-		list(APPEND dirs "${QT_LIBRARY_DIR}")
-	endif()
-
-	get_filename_component(executable_absolute "${executable}" ABSOLUTE)
-	gp_file_type("${executable_absolute}" "${QT_QTCORE_LIBRARY}" qtcore_type)
-	if(qtcore_type STREQUAL "system")
-		set(qt_plugins_dir "")
-	endif()
-
-	if(NOT qtplugins AND QT_LIBRARIES_PLUGINS)
-		set(qtplugins_default TRUE)
-		set(qtplugins "${QT_LIBRARIES_PLUGINS}")
-	endif()
-
-	foreach(plugin ${qtplugins})
-		if(NOT EXISTS "${plugin}")
-			string(TOUPPER "QT_${plugin}_PLUGIN" plugin_var)
-			set(release_regex "Release|RelWithDebInfo|MinSizeRel")
-			if(CMAKE_CONFIGURATION_TYPES OR CMAKE_BUILD_TYPE)
-				if(CMAKE_CONFIGURATION_TYPES MATCHES "${release_regex}" OR CMAKE_BUILD_TYPE MATCHES "${release_regex}")
-					set(plugin_var "${plugin_var}_RELEASE")
-				endif()
-				if(CMAKE_CONFIGURATION_TYPES MATCHES "Debug" OR CMAKE_BUILD_TYPE MATCHES "Debug")
-					set(plugin_var "${plugin_var}_DEBUG")
-				endif()
-			else()
-				set(plugin_var "${plugin_var}_RELEASE")
-			endif()
-
-			set(plugin_path "${${plugin_var}}")
-			if(NOT EXISTS "${plugin_path}" AND NOT qtplugins_default)
-				message(FATAL_ERROR "${plugin} plugin requested but ${plugin_var} does not exist")
-			endif()
-		else()
-			set(plugin_path "${plugin}")
-		endif()
-
-		if(EXISTS "${plugin_path}")
-			list(APPEND qtplugins_paths "${plugin_path}")
-		endif()
-	endforeach()
-
-	install(CODE
-		" INCLUDE( \"${CMAKE_ROOT}/Modules/DeployQt4.cmake\" )
-		SET( BU_CHMOD_BUNDLE_ITEMS TRUE )
-		FIXUP_QT4_BUNDLE( \"\${CMAKE_INSTALL_PREFIX}/${executable}\" \"${qtplugins_paths}\" \"${libs}\" \"${dirs}\" \"${plugins_dir}\" ) "
-	)
-endfunction(install_qt4_app)
+        set(qtplugins ${ARGV1})
+        set(libs ${ARGV2})
+        set(dirs ${ARGV3})
+        set(plugins_dir ${ARGV4})
+        set(request_qt_conf ${ARGV5})
+        if(QT_LIBRARY_DIR)
+                list(APPEND dirs "${QT_LIBRARY_DIR}")
+        endif()
+
+        get_filename_component(executable_absolute "${executable}" ABSOLUTE)
+        gp_file_type("${executable_absolute}" "${QT_QTCORE_LIBRARY}" qtcore_type)
+        if(qtcore_type STREQUAL "system")
+                set(qt_plugins_dir "")
+        endif()
+
+        if(NOT qtplugins AND QT_LIBRARIES_PLUGINS)
+                set(qtplugins_default TRUE)
+                set(qtplugins "${QT_LIBRARIES_PLUGINS}")
+        endif()
+
+        foreach(plugin ${qtplugins})
+                set(installed_plugin_paths "")
+                install_qt4_plugin("${plugin}" "${plugins_dir}" "${executable}" 0 installed_plugin_paths)
+                list(APPEND libs ${installed_plugin_paths})
+        endforeach()
+
+        resolve_qt4_paths(libs "")
+        resolve_qt4_paths(dirs "")
+
+        install(CODE
+                " INCLUDE( \"${CMAKE_ROOT}/Modules/DeployQt4.cmake\" )
+                SET( BU_CHMOD_BUNDLE_ITEMS TRUE )
+                FIXUP_QT4_BUNDLE( \"\${CMAKE_INSTALL_PREFIX}/${executable}\" \"\" \"${libs}\" \"${dirs}\" \"${plugins_dir}\" \"${request_qt_conf}\" ) "
+        )
+endfunction()


Prefer Exuberant Ctags over GNU this fixes the problem of FreeBSD's ctags

--- cmake/FindCtags.cmake
+++ cmake/FindCtags.cmake
@@ -9,7 +9,7 @@
 #   endif()

 find_program( CTAGS_EXECUTABLE
-    NAMES ctags exctags
+    NAMES exctags ctags
     DOC "ctags executable"
 )


Update FindMySQL.cmake

Update FindMySQL.cmake

--- cmake/FindMySQL.cmake
+++ cmake/FindMySQL.cmake
@@ -40,7 +40,7 @@
   /usr/local/mysql/include
   /usr/local/mysql/include/mysql
   $ENV{ProgramFiles}/MySQL/*/include
-  "$ENV{PROGRAMFILES(x86)}/MySQL/*/include"
+  $ENV{PROGRAMFILES(x86)}/MySQL/*/include
   $ENV{SystemDrive}/MySQL/*/include)

 #----------------- FIND MYSQL_LIB_DIR -------------------
@@ -65,7 +65,7 @@
     $ENV{MYSQL_DIR}/client/${libsuffixBuild}
     $ENV{MYSQL_DIR}/libmysql/${libsuffixBuild}
     $ENV{ProgramFiles}/MySQL/*/lib/${libsuffixDist}
-    "$ENV{PROGRAMFILES(x86)}/MySQL/*/lib/${libsuffixDist}"
+    $ENV{PROGRAMFILES(x86)}/MySQL/*/lib/${libsuffixDist}
     $ENV{SystemDrive}/MySQL/*/lib/${libsuffixDist})
 ELSE (WIN32)
   FIND_LIBRARY(MYSQL_LIB NAMES mysqlclient_r


Enable PROFILE, TSAN and UBSAN for Android

Summary:
These sanitizers are enabled and used in Android but got built with
Android's build system.  This change enables them in the CMake build
system.

Reviewers: eugenis

Subscribers: llvm-commits, danalbert, srhines, mgorny

Differential Revision: https://reviews.llvm.org/D30127

git-svn-id: c199f293c43da69278bea8e88f92242bf3aa95f7@295523 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/config-ix.cmake
+++ cmake/config-ix.cmake
@@ -500,21 +500,21 @@
 endif()

 if (PROFILE_SUPPORTED_ARCH AND NOT LLVM_USE_SANITIZER AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows")
+    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows|Android")
   set(COMPILER_RT_HAS_PROFILE TRUE)
 else()
   set(COMPILER_RT_HAS_PROFILE FALSE)
 endif()

 if (COMPILER_RT_HAS_SANITIZER_COMMON AND TSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD")
+    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Android")
   set(COMPILER_RT_HAS_TSAN TRUE)
 else()
   set(COMPILER_RT_HAS_TSAN FALSE)
 endif()

 if (COMPILER_RT_HAS_SANITIZER_COMMON AND UBSAN_SUPPORTED_ARCH AND
-    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows")
+    OS_NAME MATCHES "Darwin|Linux|FreeBSD|Windows|Android")
   set(COMPILER_RT_HAS_UBSAN TRUE)
 else()
   set(COMPILER_RT_HAS_UBSAN FALSE)


Update libprotoc.cmake

Update libprotoc.cmake

--- cmake/libprotoc.cmake
+++ cmake/libprotoc.cmake
@@ -93,6 +93,7 @@
   ${protobuf_source_dir}/src/google/protobuf/compiler/cpp/cpp_message.h
   ${protobuf_source_dir}/src/google/protobuf/compiler/cpp/cpp_message_field.h
   ${protobuf_source_dir}/src/google/protobuf/compiler/cpp/cpp_message_layout_helper.h
+  ${protobuf_source_dir}/src/google/protobuf/compiler/cpp/cpp_names.h
   ${protobuf_source_dir}/src/google/protobuf/compiler/cpp/cpp_options.h
   ${protobuf_source_dir}/src/google/protobuf/compiler/cpp/cpp_padding_optimizer.h
   ${protobuf_source_dir}/src/google/protobuf/compiler/cpp/cpp_primitive_field.h


CMakeCompatibility.cmake: add policy CMP0063

--- cmake/CMakeCompatibility.cmake
+++ cmake/CMakeCompatibility.cmake
@@ -3,6 +3,10 @@
 endif()
 if (POLICY CMP0054)
 	cmake_policy(SET CMP0054 OLD)
+endif()
+if (POLICY CMP0063)
+	# Honor visibility properties for all target types.
+	cmake_policy(SET CMP0063 NEW)
 endif()

 if (NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)


fix download status checker

fix download status checker

--- cmake/DownloadAndExtract.cmake
+++ cmake/DownloadAndExtract.cmake
@@ -12,7 +12,8 @@
       message(STATUS "Downloading ${_url} -> ${_base}")
       file(DOWNLOAD "${_url}" "${CMAKE_CURRENT_SOURCE_DIR}/${_base}"
            SHOW_PROGRESS STATUS _rtn TLS_VERIFY OFF)
-      if(NOT "0" IN_LIST _rtn)
+      list(GET _rtn 0 _rtncode)
+      if(NOT 0 EQUAL _rtncode)
         message(FATAL_ERROR ${_rtn})
       endif()
     endif()


Add PATH_SUFFIXES to FindLuaJIT

Add PATH_SUFFIXES to FindLuaJIT

On some system like Arch Linux the header files for luajit are installed in a
subdirectory luajit-2.0. Help CMake to find lua.h.

--- cmake/Modules/FindLuaJIT.cmake
+++ cmake/Modules/FindLuaJIT.cmake
@@ -4,7 +4,7 @@
 #  LUAJIT_LIBRARIES
 #  LUAJIT_INCLUDE_DIR, where to find lua.h

-FIND_PATH(LUAJIT_INCLUDE_DIR NAMES lua.h)
+FIND_PATH(LUAJIT_INCLUDE_DIR NAMES lua.h PATH_SUFFIXES luajit-2.0)
 FIND_LIBRARY(LUAJIT_LIBRARIES NAMES luajit-5.1)

 INCLUDE(FindPackageHandleStandardArgs)


cmake/FindWaffle: Reformat long function call

Reformat it so that each argument occurs on a separate line.
Improves readability.

Signed-off-by: Chad Versace <a557f7f75bf28dc19ac99107f5cc7cd6b3fbdb1a@linux.intel.com>

--- cmake/Modules/FindWaffle.cmake
+++ cmake/Modules/FindWaffle.cmake
@@ -60,7 +60,10 @@
 # handle the 'QUIETLY' and 'REQUIRED' arguments and
 # set 'WAFFLE_FOUND' to TRUE if all listed variables are TRUE
 include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(Waffle REQUIRED_VARS WAFFLE_LIBRARY WAFFLE_INCLUDE_DIR VERSION_VAR WAFFLE_VERSION_STRING)
+find_package_handle_standard_args(Waffle
+    REQUIRED_VARS WAFFLE_LIBRARY WAFFLE_INCLUDE_DIR
+    VERSION_VAR WAFFLE_VERSION_STRING
+    )

 mark_as_advanced(WAFFLE_LIBRARY WAFFLE_INCLUDE_DIR)


CMake: Google Test: properly unset IWYU/clang-format

that is an external code, no point in checking it

--- cmake/Modules/GoogleTest.cmake
+++ cmake/Modules/GoogleTest.cmake
@@ -42,6 +42,9 @@
 set(CMAKE_CXX_CLANG_TIDY_SAVE "${CMAKE_CXX_CLANG_TIDY}")
 set(CMAKE_CXX_INCLUDE_WHAT_YOU_USE_SAVE "${CMAKE_CXX_INCLUDE_WHAT_YOU_USE}")

+unset(CMAKE_CXX_CLANG_TIDY)
+unset(CMAKE_CXX_INCLUDE_WHAT_YOU_USE)
+
 # Add googletest directly to our build. This defines
 # the gtest and gtest_main targets.
 add_subdirectory(${CMAKE_BINARY_DIR}/googletest/googletest-src


Fix for ROOT-6836 (make build fails on Yosemite)

--- cmake/modules/SetUpMacOS.cmake
+++ cmake/modules/SetUpMacOS.cmake
@@ -132,7 +132,7 @@
   endif()

   #---Set Linker flags----------------------------------------------------------------------
-  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-rpath,@loader_path/../lib")
+  set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS}  -mmacosx-version-min=${MACOSX_VERSION} -Wl,-rpath,@loader_path/../lib")

 else (CMAKE_SYSTEM_NAME MATCHES Darwin)


fixing travis testing

fixing travis testing

Former-commit-id: 677f5c5f2d0de671b604c636ea06a69250d63d00

--- cmake_modules/Fetch_HDF5.cmake
+++ cmake_modules/Fetch_HDF5.cmake
@@ -2,9 +2,15 @@
 # Try finding in system. While avoiding Python anaconda's version.
 # Usually there is an executable present in system, "h5c++"

-find_file(HDF5_CXX_COMPILER_EXECUTABLE NAMES h5c++ h5cc h5fc h5pfc PATHS /usr/bin /usr/local/bin)
+find_file(HDF5_C_COMPILER_EXECUTABLE NAMES h5cc PATHS /usr/bin /usr/local/bin NO_DEFAULT_PATH)
+find_file(HDF5_CXX_COMPILER_EXECUTABLE NAMES h5c++ h5cc h5fc h5pfc PATHS /usr/bin /usr/local/bin NO_DEFAULT_PATH)
+find_file(HDF5_Fortran_COMPILER_EXECUTABLE NAMES h5fc h5pfc PATHS /usr/bin /usr/local/bin NO_DEFAULT_PATH)
+
+message("HDF5 C compiler wrapper             : ${HDF5_C_COMPILER_EXECUTABLE}")
+message("HDF5 CXX compiler wrapper           : ${HDF5_CXX_COMPILER_EXECUTABLE}")
+message("HDF5 Fortran compiler wrapper       : ${HDF5_Fortran_COMPILER_EXECUTABLE}")
 set(HDF5_USE_STATIC_LIBRARIES ON)
-set(HDF5_FIND_DEBUG OFF)
+set(HDF5_FIND_DEBUG ON)
 find_package(HDF5 COMPONENTS C CXX HL)
 if(HDF5_LIBRARIES MATCHES "anaconda")
     message("Found anaconda version. Ignoring...")
@@ -21,21 +27,27 @@
     message(STATUS "HDF5 FOUND IN SYSTEM: ${HDF5_LIBRARIES}")
     message(STATUS "FOUND HDF5")
     message(STATUS "   In path: ${HDF5_INCLUDE_DIR}")
-    message(STATUS "   HDF5 DEFINITIONS: ${HDF5_DEFINITIONS}")
-    message(STATUS "   HDF5 LIBRARIES  : ${HDF5_LIBRARIES}")
-    message(STATUS "   HDF5 LDFLAGS    : ${HDF5_LDFLAGS}")
+    message(STATUS "   HDF5 DEFINITIONS         : ${HDF5_DEFINITIONS}")
+    message(STATUS "   HDF5 LIBRARIES           : ${HDF5_LIBRARIES}")
+    message(STATUS "   HDF5_C_LIBRARIES         : ${HDF5_C_LIBRARY_NAMES}")
+    message(STATUS "   HDF5_C_HL_LIBRARIES      : ${HDF5_C_HL_LIBRARY_NAMES}")
+    message(STATUS "   HDF5_CXX_LIBRARIES       : ${HDF5_CXX_LIBRARY_NAMES}")
+    message(STATUS "   HDF5_CXX_HL_LIBRARIES    : ${HDF5_CXX_HL_LIBRARY_NAMES}")
+    message(STATUS "   HDF5 LDFLAGS             : ${HDF5_LDFLAGS}")

     # To print all variables, use the code below:
     #
-    get_cmake_property(_variableNames VARIABLES)
-    foreach (_variableName ${_variableNames})
-        message(STATUS "${_variableName}=${${_variableName}}")
-    endforeach()
+#    get_cmake_property(_variableNames VARIABLES)
+#    foreach (_variableName ${_variableNames})
+#        message(STATUS "${_variableName}=${${_variableName}}")
+#    endforeach()
+#    exit(1)

     target_include_directories(${PROJECT_NAME} PRIVATE ${HDF5_INCLUDE_DIR})
-    target_link_libraries(${PROJECT_NAME} ${HDF5_C_LIBRARIES} ${HDF5_C_HL_LIBRARIES} ${HDF5_CXX_LIBRARIES} ${HDF5_HL_LIBRARIES} ${HDF5_CXX_HL_LIBRARIES} -ldl)
+    target_link_libraries(${PROJECT_NAME} ${HDF5_C_LIBRARIES} ${HDF5_C_HL_LIBRARIES} ${HDF5_CXX_LIBRARIES} ${HDF5_CXX_HL_LIBRARIES} ${HDF5_CXX_HL_LIBRARIES} -ldl)
+#    target_link_libraries(${PROJECT_NAME} ${HDF5_C_LIBRARY_NAMES} ${HDF5_C_HL_LIBRARY_NAMES} ${HDF5_CXX_LIBRARY_NAMES} ${HDF5_CXX_HL_LIBRARY_NAMES} ${HDF5_CXX_HL_LIBRARIES} -ldl)
     target_link_libraries(${PROJECT_NAME} ${HDF5_LDFLAGS})
     add_definitions(${HDF5_DEFINITIONS})


Fixed build break due to linking problem with libthriftnb The FindThrift cmake module was searching for the non-blocking thrift library using the wrong file name

--- cmake_modules/FindThrift.cmake
+++ cmake_modules/FindThrift.cmake
@@ -42,7 +42,7 @@
   set(Thrift_FOUND TRUE)
   set(Thrift_LIBS ${Thrift_LIB})
   set(Thrift_STATIC_LIB ${Thrift_STATIC_LIB_PATH}/libthrift.a)
-  set(Thrift_NB_STATIC_LIB ${Thrift_STATIC_LIB_PATH}/libthriftnb.so)
+  set(Thrift_NB_STATIC_LIB ${Thrift_STATIC_LIB_PATH}/libthriftnb.a)
   set(Thrift_COMPILER ${THRIFT_COMPILER_PATH}/thrift)
   exec_program(${Thrift_COMPILER}
     ARGS -version OUTPUT_VARIABLE Thrift_VERSION RETURN_VALUE Thrift_RETURN)


Update version

Update version

--- Applications/Diffusion/CPackOptions.cmake
+++ Applications/Diffusion/CPackOptions.cmake
@@ -6,7 +6,7 @@
 # Major version is the year of release
 set(CPACK_PACKAGE_VERSION_MAJOR "2014")
 # Minor version is the month of release
-set(CPACK_PACKAGE_VERSION_MINOR "04")
+set(CPACK_PACKAGE_VERSION_MINOR "10")
 # Patch versioning is not intended to be done
 set(CPACK_PACKAGE_VERSION_PATCH "99")


Added a flag to skip regex replace

Added a flag to skip regex replace

--- build/macros.cmake
+++ build/macros.cmake
@@ -212,7 +212,9 @@
 endmacro()

 macro(replace_or_append_compiler_flag _flags_var _regex_str _flag_str)
-	if(${_flags_var} MATCHES ${_regex_str})
+	if(_regex_str MATCHES "IMPOSIBLE")
+		#Useful for one-line compiler-specific options
+	elseif(${_flags_var} MATCHES ${_regex_str})
 		string(REGEX REPLACE ${_regex_str} ${_flag_str} ${_flags_var} "${${_flags_var}}")
 	else()
 		set(${_flags_var} "${${_flags_var}} ${_flag_str}")


Removed submodule checkout in cmake submodule

--- .cmake/Modules/Submodules.cmake
+++ .cmake/Modules/Submodules.cmake
@@ -25,32 +25,3 @@
         WORKING_DIRECTORY   ${PROJECT_SOURCE_DIR}
     )
 endif()
-
-### Then, checkout each submodule to the specified commit
-# Note: Execute separate processes here, to make sure each one is run,
-# should one crash (because of branch not existing, this, that ... whatever)
-foreach(GIT_SUBMODULE ${GIT_SUBMODULES})
-
-    if( "${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}" STREQUAL "" )
-        message(STATUS "no specific version given for submodule ${GIT_SUBMODULE}, checking out master")
-        set(GIT_SUBMODULE_VERSION_${GIT_SUBMODULE} "master")
-    endif()
-
-    if(${GIT_SUBMODULES_CHECKOUT_QUIET})
-        execute_process(
-            COMMAND             git checkout ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}
-            WORKING_DIRECTORY   ${PROJECT_SOURCE_DIR}/${GIT_SUBMODULES_DIRECTORY}/${GIT_SUBMODULE}
-            OUTPUT_QUIET
-            ERROR_QUIET
-        )
-    else()
-        message(STATUS "checking out ${GIT_SUBMODULE}'s commit/tag ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}")
-        execute_process(
-            COMMAND             git checkout -q ${GIT_SUBMODULE_VERSION_${GIT_SUBMODULE}}
-            WORKING_DIRECTORY   ${PROJECT_SOURCE_DIR}/${GIT_SUBMODULES_DIRECTORY}/${GIT_SUBMODULE}
-        )
-    endif()
-
-endforeach(${GIT_SUBMODULE})
-
-endif()


fix case in compiler name check

fix case in compiler name check

Co-authored-by: xoviat <75fc9632b7bc3e83abb7577f4c5bcdeceb3a5d03@users.noreply.github.com>

--- cmake/system.cmake
+++ cmake/system.cmake
@@ -155,7 +155,7 @@
         else()
           set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")
         endif()
-    elseif (${CMAKE_C_COMPILER_ID} STREQUAL "CLANG" OR ${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang")
+    elseif (${CMAKE_C_COMPILER_ID} STREQUAL "Clang" OR ${CMAKE_C_COMPILER_ID} STREQUAL "AppleClang")
          if (${CMAKE_C_COMPILER_VERSION} VERSION_GREATER 8.99)
           set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=cooperlake")
         else()


More correct way to specify Python backend

--- salome_adm/cmake_files/FindOmniORBPy.cmake
+++ salome_adm/cmake_files/FindOmniORBPy.cmake
@@ -45,9 +45,9 @@
 ##############################################################################
 MARK_AS_ADVANCED(OMNIORB_PYTHON_BACKEND)

-SET(OMNIORB_IDLPYFLAGS -bpython)
+SET(OMNIORB_IDLPYFLAGS)
 IF (OMNIORB_PYTHON_BACKEND)
-  LIST(APPEND OMNIORB_IDLPYFLAGS -p${OMNIORB_PYTHON_BACKEND})
+  LIST(APPEND OMNIORB_IDLPYFLAGS -bpython -p${OMNIORB_PYTHON_BACKEND})
 ENDIF()
 SET(IDLPYFLAGS ${OMNIORB_IDLPYFLAGS})


Re-add ITK include directories to module system

This makes them visible to the mitk_use_modules macro, where they are l
abeled as system headers

--- CMake/PackageDepends/MITK_ITK_Config.cmake
+++ CMake/PackageDepends/MITK_ITK_Config.cmake
@@ -11,5 +11,5 @@
 include(${ITK_USE_FILE})

 list(APPEND ALL_LIBRARIES ${ITK_LIBRARIES})
-#list(APPEND ALL_INCLUDE_DIRECTORIES ${ITK_INCLUDE_DIRS})
+list(APPEND ALL_INCLUDE_DIRECTORIES ${ITK_INCLUDE_DIRS})


git-svn-id: https://svn.icg.tugraz.at/svn/vmgpu/trunk/vmlibraries/imageutilities@12201 358b74ad-2626-0410-af80-f4c3c349ae55

--- imageutilities/cmake/FindCUDASparse.cmake
+++ imageutilities/cmake/FindCUDASparse.cmake
@@ -26,7 +26,7 @@
 	set( CUDA_SPARSE_SEARCH_PATH_SUFFIXES
 		/lib64
 		/lib
-		/libx86_64-linux-gnu
+		/lib/x86_64-linux-gnu
 		/lib/x64
 	)
 else()


- update drop location for develop branch

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -11,10 +11,10 @@
 ##   ENABLE_TESTING()
 ##   INCLUDE(CTest)

-set(CTEST_PROJECT_NAME "COPASI 4.20")
+set(CTEST_PROJECT_NAME "COPASI develop")
 set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")

 set(CTEST_DROP_METHOD "http")
 set(CTEST_DROP_SITE "cdash-copasi.bioquant.uni-heidelberg.de")
-set(CTEST_DROP_LOCATION "/CDash/submit.php?project=COPASI+4.20")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=COPASI+develop")
 set(CTEST_DROP_SITE_CDASH TRUE)


submit to dashboard at GSI

submit to dashboard at GSI

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,6 +1,6 @@
 SET(CTEST_DROP_METHOD "http")
-SET(CTEST_DROP_SITE "my.cdash.org")
-SET(CTEST_DROP_LOCATION "/submit.php?project=Vc")
+SET(CTEST_DROP_SITE "fairroot.gsi.de")
+SET(CTEST_DROP_LOCATION "/CDash/submit.php?project=VC")
 SET(CTEST_UPDATE_TYPE git)

 find_program(GITCOMMAND git)


BUG: Fixed time at which the Dashboard rolls up from 21:00 EDT to 1:00 UTC      in order to avoid gaps during day light saving time changes.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,5 +1,5 @@
 set(CTEST_PROJECT_NAME "ITK")
-set(CTEST_NIGHTLY_START_TIME "21:00:00 EDT")
+set(CTEST_NIGHTLY_START_TIME "1:00:00 UTC")

 set(CTEST_DROP_METHOD "http")
 set(CTEST_DROP_SITE "www.cdash.org")


refs #5368 try harder to ignore ranlib (again)

git-svn-id: b5c078ec0b4d3a50497e9dd3081db18a5b4f16e5@49359 c7de825b-a66e-492c-adef-691d508d4ae1

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -222,6 +222,5 @@
   # don't complain about clang missing warnings from xz code
   "clang: warning: unknown warning option"
   # don't complain about ranlib on empty archive
-  "ranlib: file: .* has no symbols"
-  "ranlib: warning for library: .* the table of contents is empty"
-  )
+  "ranlib:"
+  )


try fixing path comparison on windows (drive-letter-case)

--- CakeInstall.cmake
+++ CakeInstall.cmake
@@ -60,9 +60,20 @@

 # set CAKE_ROOT and verify existing environment variable
 set(CAKE_ROOT ${CMAKE_CURRENT_LIST_DIR}/cake_root CACHE PATH "Cake install directory" FORCE)
+
+# Complicated hack follows.
+# The intention is only to test if $ENV{CAKE_ROOT} == ${CAKE_ROOT}
+# The problem is that on windows CMAKE_CURRENT_LIST_DIR and thus CAKE_ROOT uses upper-case drive letter
+# but $ENV{CAKE_ROOT} may contain lower-case drive letter
 file(TO_CMAKE_PATH "$ENV{CAKE_ROOT}" _CAKE_ROOT_FROM_ENV)
-if(_CAKE_ROOT_FROM_ENV AND NOT _CAKE_ROOT_FROM_ENV STREQUAL CAKE_ROOT)
-  message(FATAL_ERROR "[cake] The CAKE_ROOT environment variable set to $ENV{CAKE_ROOT} which is different from ${CAKE_ROOT} where CakeInstall.cmake intends to install Cake to. Remove CAKE_ROOT from the environment and re-run CakeInstall.cmake.")
+if(_CAKE_ROOT_FROM_ENV)
+  if(_CAKE_ROOT_FROM_ENV MATCHES "^([a-z]):/") # lower-case windows drive letter
+    string(TOUPPER "${CMAKE_MATCH_1}" _cake_drive_letter_upper)
+    string(REGEX REPLACE "^[a-z]" "${_cake_drive_letter_upper}" _CAKE_ROOT_FROM_ENV "${_CAKE_ROOT_FROM_ENV}")
+  endif()
+  if(NOT _CAKE_ROOT_FROM_ENV STREQUAL CAKE_ROOT)
+    message(FATAL_ERROR "[cake] The CAKE_ROOT environment variable set to $ENV{CAKE_ROOT} which is different from ${CAKE_ROOT} where CakeInstall.cmake intends to install Cake to. Remove CAKE_ROOT from the environment or change it to ${CAKE_ROOT} and re-run CakeInstall.cmake.")
+  endif()
 endif()

 # remove existing installation


Use less generic rule name for internal release upload.

	* build-aux/cmake/modules/GostaiCPack.cmake: Here.

--- build-aux/cmake/modules/GostaiCPack.cmake
+++ build-aux/cmake/modules/GostaiCPack.cmake
@@ -171,9 +171,10 @@
 # Add upload-package target #
 # ========================= #

+# Upload on the buildfarm gate
 set(UPLOAD_PACKAGE_URL "'build@gate-bf:release/${CPACK_PACKAGE_NAME}'"
   CACHE STRING "The URL where to upload the generated package.")
-add_custom_target(upload-package
+add_custom_target(gate-upload-package
   COMMAND
   scp -q
   "${CPACK_PACKAGE_FILE_NAME}${CPACK_PACKAGE_FILE_NAME_EXTENSION}"


Do not increment minor number on bug fix branch.

	* build-aux/cmake/modules/ProjectInfo.cmake: Do that.

--- build-aux/cmake/modules/ProjectInfo.cmake
+++ build-aux/cmake/modules/ProjectInfo.cmake
@@ -188,26 +188,33 @@
     project_describe_info(major minor patch rc vendor vendor_ver n sha1)
     echo("Previous release info: major=${major} minor=${minor} patch=${patch} rc=${rc} vendor=${vendor} vendor_ver=${vendor_ver} n=${n} sha1=${sha1}")
     # Minor
-    if(PROJECT_VERSION_MAJOR GREATER ${major})
-      set(minor 0)
-    elseif(PROJECT_VERSION_MAJOR EQUAL ${major})
-      if(NOT n EQUAL 0)
-	if(NOT RELEASE_CANDIDATE AND rc EQUAL 0)
- 	  math(EXPR minor "${minor} + 1")
-	endif(NOT RELEASE_CANDIDATE AND rc EQUAL 0)
-      endif(NOT n EQUAL 0)
-    else(PROJECT_VERSION_MAJOR GREATER ${major})
-      message(SEND_ERROR
-	"project_set_info: required project major version cannot be less than current major version.")
-      return()
-    endif(PROJECT_VERSION_MAJOR GREATER ${major})
+    if(patch EQUAL -1) # Not on a bug fix branch
+      if(PROJECT_VERSION_MAJOR GREATER ${major})
+	set(minor 0)
+      elseif(PROJECT_VERSION_MAJOR EQUAL ${major})
+	if(NOT n EQUAL 0)
+	  if(NOT RELEASE_CANDIDATE AND rc EQUAL 0)
+ 	    math(EXPR minor "${minor} + 1")
+	  endif(NOT RELEASE_CANDIDATE AND rc EQUAL 0)
+	endif(NOT n EQUAL 0)
+      else(PROJECT_VERSION_MAJOR GREATER ${major})
+	message(SEND_ERROR
+	  "project_set_info: required project major version cannot be less than current major version.")
+	return()
+      endif(PROJECT_VERSION_MAJOR GREATER ${major})
+    else(patch EQUAL -1)
+      if(NOT PROJECT_VERSION_MAJOR EQUAL ${major})
+	message(FATAL_ERROR
+	  "Cannot change major version number on a bug fix branch.")
+      endif(NOT PROJECT_VERSION_MAJOR EQUAL ${major})
+    endif(patch EQUAL -1)
     set(PROJECT_VERSION_MINOR ${minor} PARENT_SCOPE)
     # Patch
-    if(patch GREATER 0 OR patch EQUAL 0)
+    if(patch GREATER -1)
       if(NOT n EQUAL 0)
 	math(EXPR patch "${patch} + 1")
       endif(NOT n EQUAL 0)
-    endif(patch GREATER 0 OR patch EQUAL 0)
+    endif(patch GREATER -1)
     set(PROJECT_VERSION_PATCH ${patch} PARENT_SCOPE)
     # Vendor version
     if(vendor)


dia_sdk-config.cmake : support vs2015

dia_sdk-config.cmake : support vs2015

Change-Id: I93adee2ba18f020a6df42627ed507789e2441301
(cherry picked from commit 7c85a03b3b67418e2e46f35a66eece6241c76416)

--- cmake/qibuild/modules/dia_sdk-config.cmake
+++ cmake/qibuild/modules/dia_sdk-config.cmake
@@ -12,6 +12,9 @@
 if(MSVC12)
   set(_comntools_path "$ENV{VS120COMNTOOLS}")
 endif()
+if(MSVC14)
+  set(_comntools_path "$ENV{VS140COMNTOOLS}")
+endif()

 get_filename_component(_visual_studio_path "${_comntools_path}" DIRECTORY)
 get_filename_component(_visual_studio_path "${_visual_studio_path}" DIRECTORY)


Revert "Revert "cmake/pthread-config.cmake : use upstream FindThreads.cmake""

This reverts commit 07f45288c5fb39a71f374eb4c6b42c8a42ec1847.

--- cmake/qibuild/modules/pthread-config.cmake
+++ cmake/qibuild/modules/pthread-config.cmake
@@ -4,5 +4,13 @@

 clean(PTHREAD)
 fpath(PTHREAD "pthread.h")
-flib(PTHREAD pthread pthreadVCE2)
+
+# Use upstream FindThreads.cmake to correctly set -lpthread or
+# -pthread
+find_package(Threads QUIET)
+if(CMAKE_THREAD_LIBS_INIT)
+  qi_set_global(PTHREAD_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
+else()
+  flib(PTHREAD pthread pthreadVCE2)
+endif()
 export_lib(PTHREAD)


Link with math library.

Link with math library.

--- cstreamgeo/tools/cmake/FindCTargets.cmake
+++ cstreamgeo/tools/cmake/FindCTargets.cmake
@@ -5,12 +5,12 @@
 function(add_c_test TEST_NAME)
     #set_source_files_properties(${TEST_NAME}.c COMPILE_FLAGS "-ggdb -O1")
     add_executable(${TEST_NAME} ${TEST_NAME}.c)
-    target_link_libraries(${TEST_NAME} ${STREAMGEO_LIB_NAME} cmocka)
+    target_link_libraries(${TEST_NAME} ${STREAMGEO_LIB_NAME} cmocka m)
     add_test(${TEST_NAME} ${TEST_NAME})
 endfunction(add_c_test)

 function(add_c_benchmark BENCH_NAME)
     #set_source_files_properties(${BENCH_NAME}.c COMPILE_FLAGS "-O3")
     add_executable(${BENCH_NAME} ${BENCH_NAME}.c)
-    target_link_libraries(${BENCH_NAME} ${STREAMGEO_LIB_NAME})
+    target_link_libraries(${BENCH_NAME} ${STREAMGEO_LIB_NAME} m)
 endfunction(add_c_benchmark)


Missed a file in the previous commit.

Missed a file in the previous commit.

--- javaio/DIPjavaio_sources.cmake
+++ javaio/DIPjavaio_sources.cmake
@@ -6,8 +6,12 @@
 java/PhysicalQuantity.java
 java/bioformats/BioFormatsInterface.java
 src/fileinformation.cpp
+src/fileinformation.h
 src/image.cpp
+src/image.h
 src/javaio.cpp
 src/physicalquantity.cpp
+src/physicalquantity.h
 src/tools.cpp
+src/tools.h
 )


Use `git diff --quiet` to get dirty info

--- CMakeModules/VersionUtils.cmake
+++ CMakeModules/VersionUtils.cmake
@@ -9,20 +9,17 @@
       ERROR_QUIET
       OUTPUT_STRIP_TRAILING_WHITESPACE )
    execute_process(
-      COMMAND ${GIT_EXEC} describe --tags --dirty
+      COMMAND ${GIT_EXEC} diff --quiet
       WORKING_DIRECTORY ${SRC_DIR}
-      OUTPUT_VARIABLE V_DIRTY
+      RESULT_VARIABLE V_DIRTY
       ERROR_QUIET
       OUTPUT_STRIP_TRAILING_WHITESPACE )

-   # Look for the substring "-dirty" in the variable `_VERSION_DIRTY_`.
-   string(REGEX MATCH "-dirty$" V_DIRTY ${V_DIRTY})
-
-   # If `_VERSION_DIRTY_` is empty, we know that the repository isn't dirty and vice versa.
-   if("${V_DIRTY}" STREQUAL "")
+   # If `V_DIRTY` is equal to 1, we know that the repository is dirty and vice versa.
+   if(${V_DIRTY})
+      set(V_DIRTY "true")
+   else()
       set(V_DIRTY "false")
-   else()
-      set(V_DIRTY "true")
    endif()

    # Define the proper version metadata for the file `version_impl.cpp.in`.


ManageTranslation: Auto-add dependency

ManageTranslation: Auto-add dependency

--- Modules/ManageTranslation.cmake
+++ Modules/ManageTranslation.cmake
@@ -96,6 +96,7 @@

     INCLUDE(ManageMessage)
     INCLUDE(ManageFile)
+    INCLUDE(ManageDependency)
     IF(NOT TARGET translations)
 	ADD_CUSTOM_TARGET(translations
 	    COMMENT "Making translations"