MSVC: zlib, libtiff, libpng external for ITK

--- CMake/External_ITK.cmake
+++ CMake/External_ITK.cmake
@@ -15,10 +15,10 @@
   set(ITK_SB_BUILD_DIR ${CMAKE_BINARY_DIR}/${proj}/build)
   set(ITK_SB_SRC_DIR ${CMAKE_BINARY_DIR}/${proj}/src/${proj})

-  if(MSVC)
-    set(ITK_SB_SRC_DIR "C:/Temp/ITK")
-    set(ITK_SB_BUILD_DIR ${ITK_SB_SRC_DIR}/build)
-  endif()
+  # if(MSVC)
+    # set(ITK_SB_SRC_DIR "C:/Temp/ITK")
+    # set(ITK_SB_BUILD_DIR ${ITK_SB_SRC_DIR}/build)
+  # endif()

   set(ITK_ENABLED_MODULES
     Common
@@ -132,7 +132,52 @@

   # TODO : handle different build type (Release/Debug)

-  # TODO : handle system zlib
+    if(USE_SYSTEM_TIFF)
+    set(ITK_SB_TIFF_CONFIG)
+  else()
+    set(ITK_SB_TIFF_CONFIG
+      -DTIFF_INCLUDE_DIR:STRING=${CMAKE_INSTALL_PREFIX}/include
+      -DTIFF_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libtiff.so
+      )
+    list(APPEND ${proj}_DEPENDENCIES TIFF)
+  endif()
+
+    if(USE_SYSTEM_EXPAT)
+    set(ITK_SB_EXPAT_CONFIG)
+  else()
+    set(ITK_SB_EXPAT_CONFIG
+      -DEXPAT_INCLUDE_DIR:STRING=${CMAKE_INSTALL_PREFIX}/include
+      -DEXPAT_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libexpat.so
+      )
+    list(APPEND ${proj}_DEPENDENCIES EXPAT)
+  endif()
+
+    if(USE_SYSTEM_PNG)
+    set(ITK_SB_PNG_CONFIG)
+  else()
+    set(ITK_SB_PNG_CONFIG
+      -DPNG_INCLUDE_DIR:STRING=${CMAKE_INSTALL_PREFIX}/include
+      -DPNG_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libpng.so
+      )
+    list(APPEND ${proj}_DEPENDENCIES EXPAT)
+  endif()
+
+    if(USE_SYSTEM_ZLIB)
+    set(ITK_SB_ZLIB_CONFIG)
+  else()
+    set(ITK_SB_ZLIB_CONFIG
+      -DZLIB_INCLUDE_DIR:STRING=${CMAKE_INSTALL_PREFIX}/include
+      -DZLIB_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libz.so
+      )
+    list(APPEND ${proj}_DEPENDENCIES ZLIB)
+  endif()
+
+  if(MSVC)
+    set(ITK_SB_ZLIB_CONFIG)
+    set(ITK_SB_EXPAT_CONFIG)
+    set(ITK_SB_TIFF_CONFIG)
+    set(ITK_SB_PNG_CONFIG)
+  endif()

   ExternalProject_Add(${proj}
     PREFIX ${proj}
@@ -151,7 +196,14 @@
       -DBUILD_TESTING:BOOL=OFF
       -DBUILD_EXAMPLES:BOOL=OFF
       -DITK_USE_SYSTEM_EXPAT:BOOL=ON
+      -DITK_USE_SYSTEM_ZLIB:BOOL=ON
+      -DITK_USE_SYSTEM_TIFF:BOOL=ON
+      -DITK_USE_SYSTEM_PNG:BOOL=ON
       ${ITK_SB_FFTW_CONFIG}
+      ${ITK_SB_TIFF_CONFIG}
+      ${ITK_SB_EXPAT_CONFIG}
+      ${ITK_SB_ZLIB_CONFIG}
+      ${ITK_SB_PNG_CONFIG}
     PATCH_COMMAND ${CMAKE_COMMAND} -E copy
       ${CMAKE_SOURCE_DIR}/patches/ITK/hashtable.hxx.in
       ${ITK_SB_SRC_DIR}/Modules/ThirdParty/KWSys/src/KWSys


Update defines

Update defines

--- cmake/FindWebsocketpp.cmake
+++ cmake/FindWebsocketpp.cmake
@@ -28,6 +28,7 @@
     -D_WEBSOCKETPP_CPP11_TYPE_TRAITS_
     -D_WEBSOCKETPP_CPP11_THREAD_
     -DASIO_STANDALONE
+    -DASIO_HAS_STD_CHRONO
     )
 else()
   set(WEBSOCKETPP_DEFINES


Copy glut32 on windows to installer and if doc target has been build, add it to installer too

git-svn-id: b66b41e514ff40863ef1aa95df2dbf63dd8d6be1@355 fdac6126-5c0c-442c-9429-916003d36597

--- cmake/OpenMeshPackage.cmake
+++ cmake/OpenMeshPackage.cmake
@@ -89,13 +89,6 @@
   # TODO: fillme
   # set (CPACK_NSIS_CONTACT "")

-  #set (CPACK_NSIS_CREATE_ICONS
-  #     "CreateShortCut \\\"$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\OpenFlipper.lnk\\\" \\\"$INSTDIR\\\\OpenFlipper.exe\\\""
-  #    )
-  #set (CPACK_NSIS_DELETE_ICONS
-  #     "Delete \\\"$SMPROGRAMS\\\\$MUI_TEMP\\\\OpenFlipper.lnk\\\""
-  #    )
-
   # Copy all shared Qt files to build binary dir
   if ( NOT Q_WS_MAC)
       if (DEFINED QT_QMAKE_EXECUTABLE)
@@ -124,6 +117,27 @@
           endif()
       endif(DEFINED QT_QMAKE_EXECUTABLE)
   endif()
+
+  # copy the glut library if it exists on windows
+  IF ( WIN32)
+    if (EXISTS ${CMAKE_BINARY_DIR}/Build/glut32.dll)
+	    install(FILES ${CMAKE_BINARY_DIR}/Build/glut32.dll
+	    DESTINATION ./
+           COMPONENT Applications
+           )
+    endif()
+  endif()
+
+   # copy the documentation if it exists
+   IF ( WIN32)
+     if (EXISTS ${CMAKE_BINARY_DIR}/Build/Doc)
+	     install(DIRECTORY ${CMAKE_BINARY_DIR}/Build/Doc
+	     DESTINATION ./
+            COMPONENT Applications
+            )
+     endif()
+   endif()
+

   # append dll's to installed package
   #if (EXISTS ${CMAKE_SOURCE_DIR}/WIN)


build: update stale comment in boilerplate.cmake

The zephyr_property_target use cases have grown.

Signed-off-by: Martí Bolívar <9d90ac4c7bf6a305f6bfd81a23c7859bc883380e@nordicsemi.no>

--- cmake/app/boilerplate.cmake
+++ cmake/app/boilerplate.cmake
@@ -618,6 +618,8 @@
 #
 # Currently used properties:
 # - COMPILES_OPTIONS: Used by application memory partition feature
+# - ${TARGET}_DEPENDENCIES: additional dependencies for targets that need them
+#   like flash (FLASH_DEPENDENCIES), debug (DEBUG_DEPENDENCIES), etc.
 add_custom_target(zephyr_property_target)

 # "app" is a CMake library containing all the application code and is


[doctest] updating config to version 1.2.0

--- cmake/configs/default.cmake
+++ cmake/configs/default.cmake
@@ -129,7 +129,7 @@
 hunter_config(dbus VERSION 1.10.0-hunter-4)
 hunter_config(dest VERSION 0.8.0-p4)
 hunter_config(dlib VERSION 19.4-p1)
-hunter_config(doctest VERSION 1.1.4-hunter-1)
+hunter_config(doctest VERSION 1.2.0)
 hunter_config(dri2proto VERSION 2.8)
 hunter_config(dri3proto VERSION 1.0)
 hunter_config(drm VERSION 2.4.67)


[CMake] Support externalizing debug info on non-Darwin platforms

On other platorms, we use objcopy to export the debug info.

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

git-svn-id: 0ff597fd157e6f4fc38580e8d64ab130330d2411@295481 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -1387,7 +1387,11 @@
   endif()

   if(NOT LLVM_EXTERNALIZE_DEBUGINFO_SKIP_STRIP)
-    set(strip_command COMMAND xcrun strip -Sxl $<TARGET_FILE:${name}>)
+    if(APPLE)
+      set(strip_command COMMAND xcrun strip -Sxl $<TARGET_FILE:${name}>)
+    else()
+      set(strip_command COMMAND strip -gx $<TARGET_FILE:${name}>)
+    endif()
   endif()

   if(APPLE)
@@ -1403,7 +1407,11 @@
       ${strip_command}
       )
   else()
-    message(FATAL_ERROR "LLVM_EXTERNALIZE_DEBUGINFO isn't implemented for non-darwin platforms!")
+    add_custom_command(TARGET ${name} POST_BUILD
+      COMMAND objcopy --only-keep-debug $<TARGET_FILE:${name}> $<TARGET_FILE:${name}>.debug
+      ${strip_command} -R .gnu_debuglink
+      COMMAND objcopy --add-gnu-debuglink=$<TARGET_FILE:${name}>.debug $<TARGET_FILE:${name}>
+      )
   endif()
 endfunction()


Add missing QtDBus Framework include for Qt SDK compilation on OSX.
Backported from CMake 2.6.4.

svn path=/trunk/kdesupport/akonadi/; revision=993403

--- cmake/modules/FindQt4.cmake
+++ cmake/modules/FindQt4.cmake
@@ -623,6 +623,7 @@
     PATHS
     ${QT_INCLUDE_DIR}/QtDBus
     ${QT_HEADERS_DIR}/QtDBus
+    ${QT_LIBRARY_DIR}/QtDBus.framework/Headers
     NO_DEFAULT_PATH
     )
   # Set QT_QTASSISTANTCLIENT_INCLUDE_DIR


Qt5_Dir not Qt5Core_dir in findAnd...

Qt5_Dir not Qt5Core_dir in findAnd...

--- misc/CMake/findAndInstallDependencies.cmake
+++ misc/CMake/findAndInstallDependencies.cmake
@@ -28,7 +28,7 @@
                        -D BIN_DIR="${CMAKE_BINARY_DIR}"
                        -D CMAKE_BUILD_TYPE="${CMAKE_BUILD_TYPE}"
                        -D GDAL_LIBDIR="${GDAL_LIBDIR}"
-                       -D Qt5Core_DIR="${Qt5Core_DIR}"
+                       -D Qt5_DIR="${Qt5_DIR}"
                        -D OSG_DIR="${OSG_DIR}"
                        -P "${CMAKE_SOURCE_DIR}/misc/CMake/runBundleUtil.cmake"
                        )


get actual exe path from generator expression

--- misc/CMake/findAndInstallDependencies.cmake
+++ misc/CMake/findAndInstallDependencies.cmake
@@ -16,22 +16,8 @@
 macro(find_and_install_dependencies EXEC_NAME)
   if(Install_Dependencies)

-    if(WIN32)
-      if (EXISTS "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/${EXEC_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-        set(APP "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/${EXEC_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-        set(GLOB_DIR "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}*")
-      else()
-        if (EXISTS "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/${CMAKE_BUILD_TYPE}/${EXEC_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-          set(APP "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/${CMAKE_BUILD_TYPE}/${EXEC_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-          set(GLOB_DIR "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/${CMAKE_BUILD_TYPE}/*${CMAKE_SHARED_LIBRARY_SUFFIX}*")
-        else()
-          message(FATAL_ERROR "Could not find app ${EXEC_NAME}")
-        endif()
-      endif()
-    else(WIN32)
-      set(APP "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/${EXEC_NAME}${CMAKE_EXECUTABLE_SUFFIX}")
-      set(GLOB_DIR "${CMAKE_BINARY_DIR}/${RUNTIME_DIR}/*${CMAKE_SHARED_LIBRARY_SUFFIX}*")
-    endif(WIN32)
+    set (APP "$<TARGET_FILE:${EXEC_NAME}>")
+    set (GLOB_DIR "$<TARGET_FILE_DIR:${EXEC_NAME}>/*${CMAKE_SHARED_LIBRARY_SUFFIX}")

     add_custom_command(TARGET
                        ${EXEC_NAME}


Corrected fix for regression in 948259e3244d9e39387a2c0734cc990aa833469c

--- cmake/cmake-3.2.0-modules/FindGit.cmake
+++ cmake/cmake-3.2.0-modules/FindGit.cmake
@@ -32,23 +32,23 @@
 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 # See the License for more information.
 #=============================================================================
-#
+#
 # Redistribution and use in source and binary forms, with or without
 # modification, are permitted provided that the following conditions
 # are met:
-#
+#
 # * Redistributions of source code must retain the above copyright
 #   notice, this list of conditions and the following disclaimer.
-#
+#
 # * Redistributions in binary form must reproduce the above copyright
 #   notice, this list of conditions and the following disclaimer in the
 #   documentation and/or other materials provided with the distribution.
-#
+#
 # * Neither the names of Kitware, Inc., the Insight Software Consortium,
 #   nor the names of their contributors may be used to endorse or promote
 #   products derived from this software without specific prior written
 #   permission.
-#
+#
 # THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
 # "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
 # LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
@@ -100,7 +100,7 @@
 # Handle the QUIETLY and REQUIRED arguments and set GIT_FOUND to TRUE if
 # all listed variables are TRUE

-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(Git
                                   REQUIRED_VARS GIT_EXECUTABLE
                                   VERSION_VAR GIT_VERSION_STRING)


Fix build

Fix build

--- cmake/core/sugar_doxygen_generate.cmake
+++ cmake/core/sugar_doxygen_generate.cmake
@@ -9,6 +9,7 @@
 include(sugar_expected_number_of_arguments)
 include(sugar_test_directory_exists)
 include(sugar_test_file_exists)
+include(sugar_test_target_exists)

 function(sugar_doxygen_generate)
   set(one_value_args TARGET DOXYTARGET DOXYFILE)


t001chain bootstrap v5

t001chain bootstrap v5

--- cmake/qibuild/templates/bootstrap.cmake
+++ cmake/qibuild/templates/bootstrap.cmake
@@ -1,38 +1,24 @@
 ##
-## Copyright (C) 2010 Aldebaran Robotics
+## Copyright (C) 2010, 2011 Aldebaran Robotics
 ##

 ###############################################
 # Auto-generated file.                        #
 # Do not edit                                 #
-# This file is part of the T001CHAIN project  #
+# This file is part of the qiBuild project    #
 ###############################################

-set(BOOTSTRAP_VERSION 4)
+set(BOOTSTRAP_VERSION 5)

-# Function to use qibuild from a old toc project
-function(use_qibuild)
-  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qibuild.cmake)
-    include(${CMAKE_CURRENT_SOURCE_DIR}/qibuild.cmake)
-
-    set(NO_WARN_DEPRECATED TRUE PARENT_SCOPE)
-    include(qibuild/compat/compat)
-  endif()
-endfunction()
-
-if (CMAKE_TOOLCHAIN_FILE)
-  # a toolchain which defines TOOLCHAIN_DIR -> toc
-  if(TOOLCHAIN_DIR)
-    # toc --cross -> qibuild (ctc uses qibuild now)
-    if(OE_CROSS_DIR)
-      use_qibuild()
-      return()
-    else()
-      set(T001CHAIN_DIR ${TOOLCHAIN_DIR} CACHE PATH "" FORCE)
-      include("${T001CHAIN_DIR}/cmake/general.cmake")
-      return()
-    endif()
-  endif()
+#we use t00lchain, when we have a toolchain_file and t00chain_dir is set
+if (CMAKE_TOOLCHAIN_FILE AND TOOLCHAIN_DIR)
+  set(T001CHAIN_DIR ${TOOLCHAIN_DIR} CACHE PATH "" FORCE)
+  include("${T001CHAIN_DIR}/cmake/general.cmake")
+  return()
 endif()

-use_qibuild()
+if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/qibuild.cmake)
+  set(QI_T001CHAIN_COMPAT   ON   CACHE INTERNAL "" FORCE)
+  set(QI_NO_WARN_DEPRECATED TRUE CACHE INTERNAL "" FORCE)
+  include(${CMAKE_CURRENT_SOURCE_DIR}/qibuild.cmake)
+endif()


Define NDEBUG for M4

Define NDEBUG for M4

- Turn on NDEBUG for M4, this will remove things like assert prints
  (that you probably can't see, anyways).
  OOBEM4 text section usage goes from 0x1f804 bytes to 0x1c9f8 bytes.

Change-Id: I5d41f3d520f14962cac26474308edd3488806dd2
GitOrigin-RevId: 6a6ab29b10e6f66958412086f8c57c5d6212d4ad

--- cmake/toolchain-arm-none-eabi-gcc.cmake
+++ cmake/toolchain-arm-none-eabi-gcc.cmake
@@ -104,6 +104,7 @@
     "-mcpu=cortex-m4"
     "-mfloat-abi=hard"
     "-mfpu=fpv4-sp-d16"
+    "-DNDEBUG"
 )
 list(JOIN CM4_C_FLAGS " " CM4_C_FLAGS_STR)


Also install generated Exports.cmake files

--- components/ospcommon/cmake/macros.cmake
+++ components/ospcommon/cmake/macros.cmake
@@ -204,6 +204,7 @@
   install(EXPORT ospray_Exports
     DESTINATION ${OSPRAY_CMAKECONFIG_DIR}
     NAMESPACE ospray::
+    COMPONENT devel
   )

   # Install the namelink in the devel component. This command also includes the


allow common.cmake to contain lists of dirs to search for project includes and project srcs

--- common.cmake
+++ common.cmake
@@ -63,8 +63,11 @@

 include_directories( include  )

-file(GLOB PROJECT_INCLUDES "include/*.h" "include/*.hpp" "include/*/*.h" "include/*/*.hpp" "include/*/*/*.h" "include/*/*/*.hpp")
-file(GLOB PROJECT_SRC "src/*.c" "src/*.cpp" "src/*/*.c" "src/*/*.cpp" "src/*/*/*.c" "src/*/*/*.cpp")
+set(PROJECT_INCLUDES_GLOBS ${PROJECT_INCLUDES_GLOBS} "include/*.h" "include/*.hpp" "include/*/*.h" "include/*/*.hpp" "include/*/*/*.h" "include/*/*/*.hpp")
+set(PROJECT_SRC_GLOBS ${PROJECT_SRC_GLOBS} "src/*.c" "src/*.cpp" "src/*/*.c" "src/*/*.cpp" "src/*/*/*.c" "src/*/*/*.cpp")
+
+file(GLOB PROJECT_INCLUDES ${PROJECT_INCLUDES_GLOBS} )
+file(GLOB PROJECT_SRC ${PROJECT_SRC_GLOBS} )

 add_library (${PROJECT} ${PROJECT_SRC} ${PROJECT_INCLUDES})


fix CMake syntax error

fix CMake syntax error

--- cdash/nightly.cmake
+++ cdash/nightly.cmake
@@ -315,7 +315,7 @@
   foreach(BRANCH_BASE IN LISTS BRANCH_BASES)
     check_tracking_branch("${BRANCH_BASE}${REPO_SUFFIX}"
         "${CONFIGURE_OPTIONS${REPO_SUFFIX}}"
-        "${ALLOWED_WARNINGS${REPO_SUFFIX}" CHECK_ERR)
+        "${ALLOWED_WARNINGS${REPO_SUFFIX}}" CHECK_ERR)
   endforeach()
 endforeach()
 try_merge(master "" develop "${CONFIGURE_OPTIONS}" ${ALLOWED_WARNINGS})


Remove cmake debug message in FindLuaJit.cmake

--- cmake/Modules/FindLuaJit.cmake
+++ cmake/Modules/FindLuaJit.cmake
@@ -4,8 +4,6 @@

 find_library(LuaJit_LIBRARY luajit-5.1)
 find_path(LuaJit_INCLUDE_DIR luajit-2.0/lua.h)
-
-message("Found lua - ${LuaJit_LIBRARY}")

 if(APPLE)
   set(LuaJit_COMPILE_OPTIONS "-pagezero_size 10000 -image_base 100000000")


support official /usr/include/ni as place for openni header

git-svn-id: e7ea667a1d39a4453c4efcc4ba7bca3d620c3f19@1164 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/Modules/FindOpenNI.cmake
+++ cmake/Modules/FindOpenNI.cmake
@@ -18,7 +18,7 @@

 #add a hint so that it can find it without the pkg-config
 find_path(OPENNI_INCLUDE_DIR XnStatus.h
-          HINTS ${PC_OPENNI_INCLUDEDIR} ${PC_OPENNI_INCLUDE_DIRS} /usr/include/openni "${OPENNI_ROOT}" "$ENV{OPENNI_ROOT}"
+          HINTS ${PC_OPENNI_INCLUDEDIR} ${PC_OPENNI_INCLUDE_DIRS} /usr/include/openni /usr/include/ni "${OPENNI_ROOT}" "$ENV{OPENNI_ROOT}"
           PATHS "$ENV{PROGRAMFILES}/OpenNI/Include" "$ENV{PROGRAMW6432}/OpenNI/Include"
           PATH_SUFFIXES openni include Include)
 #add a hint so that it can find it without the pkg-config


PythonApplyPatches: Use upper & lowercase *_FOUND vars when locating git & patch

This allows to support version of CMake < 3.3 that do not have a version
of the FindPackageHandleStandardArgs (see kitware/cmake@d1a6d15) setting
both variables.

Fixes #218

--- cmake/PythonApplyPatches.cmake
+++ cmake/PythonApplyPatches.cmake
@@ -6,7 +6,7 @@

 if(NOT DEFINED PATCH_COMMAND)
   find_package(Git)
-  if(Git_FOUND)
+  if(Git_FOUND OR GIT_FOUND)
     set(PATCH_COMMAND ${GIT_EXECUTABLE} apply --whitespace=fix)
     # Initialize Git repo to ensure "git apply" works when source tree
     # is located within an already versioned tree.
@@ -25,7 +25,7 @@
     endif()
   else()
     find_package(Patch)
-    if(Patch_FOUND)
+    if(Patch_FOUND OR PATCH_FOUND)
       # Since support for git diffs which copy or rename files was
       # added in patch 2.7, we can not use older version.
       if("${Patch_VERSION}" VERSION_EQUAL "2.7.0" OR "${Patch_VERSION}" VERSION_GREATER "2.7.0")


When getting GetDNS version, ignore semantic versioning pre-release or build suffix.

The purpose of the version check is to verify the API supported. Pre-release or build numbers are irrelevant to that. Which is just as well, because CMake doesn't cope with them when doing a version comparison anyway.

Fixes: #223

--- cmake/modules/FindGetdns.cmake
+++ cmake/modules/FindGetdns.cmake
@@ -55,7 +55,7 @@

   if (NOT GETDNS_VERSION AND GETDNS_INCLUDE_DIR AND EXISTS "${GETDNS_INCLUDE_DIR}/getdns/getdns.h")
     file(STRINGS "${GETDNS_INCLUDE_DIR}/getdns/getdns_extra.h" GETDNS_H REGEX "^#define GETDNS_VERSION")
-    string(REGEX REPLACE "^.*GETDNS_VERSION \"([0-9.]+)\".*$" "\\1" GETDNS_VERSION "${GETDNS_H}")
+    string(REGEX REPLACE "^.*GETDNS_VERSION \"([0-9.]+)[A-Za-z0-9.+-]*\".*$" "\\1" GETDNS_VERSION "${GETDNS_H}")
   endif ()
 endif()


Don't explicitly set MLIR_PDLL_TABLEGEN_EXE (#10151)

With llvm/llvm-project@91b6f76, the variable `MLIR_PDLL_TABLEGEN_EXE` is
set as a cache variable in MLIR upstream.

--- build_tools/cmake/iree_copts.cmake
+++ build_tools/cmake/iree_copts.cmake
@@ -428,7 +428,6 @@
 # Third party: llvm-project
 #-------------------------------------------------------------------------------
 if(IREE_BUILD_COMPILER)
-  set(MLIR_PDLL_TABLEGEN_EXE mlir-pdll)
   # iree-tblgen is not defined using the add_tablegen mechanism as other TableGen
   # tools in LLVM.
   iree_get_executable_path(IREE_TABLEGEN_EXE iree-tblgen)


COMP: Fix export conditional.

COMP: Fix export conditional.

--- Utilities/vtklibproj4/proj_config.h.cmake
+++ Utilities/vtklibproj4/proj_config.h.cmake
@@ -35,7 +35,7 @@
 #endif

 #if ( defined(WIN32) || defined(_WIN32) ) && defined(PROJ_SHARED)
-#  if defined(proj4_EXPORTS)
+#  if defined(vtkproj4_EXPORTS)
 #    define PROJ_EXPORT __declspec( dllexport )
 #  else
 #    define PROJ_EXPORT __declspec( dllimport )


Minor refactoring on Urho3D common cmake module for setting GCC cflags. [ci skip]

--- Source/CMake/Modules/Urho3D-CMake-common.cmake
+++ Source/CMake/Modules/Urho3D-CMake-common.cmake
@@ -205,10 +205,11 @@
     set (CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /OPT:REF /OPT:ICF")
 else ()
     # GCC/Clang-specific setup
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof")
     if (ANDROID)
         # Most of the flags are already setup in android.toolchain.cmake module
         set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fstack-protector")
-        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof -fstack-protector")
+        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fstack-protector")
         if (ENABLE_64BIT)
             # TODO: Revisit this again when ARM also support 64bit
             # For now just reference it to suppress "unused variable" warning
@@ -220,7 +221,6 @@
             set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
         endif ()
     else ()
-        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-invalid-offsetof")
         if (RASPI)
             add_definitions (-DRASPI)
             set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -pipe -mcpu=arm1176jzf-s -mfpu=vfp -mfloat-abi=hard -Wno-psabi")
@@ -247,6 +247,7 @@
                 endif ()
             endif ()
         endif ()
+        # MinGW-specific setup
         if (WIN32)
             set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -static -static-libgcc")
             set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -static -static-libstdc++ -static-libgcc")


cmake: dts: Remove duplicates from DTS_ROOT

If duplicates gets passed to scripts/dts/gen_defines.py, the bindings in
those directories will be loaded twice and actually get in conflict with
itself.

Signed-off-by: Tobias Svehagen <d3302b125bdd383498bbe4afb41749ba75a64b52@gmail.com>

--- cmake/dts.cmake
+++ cmake/dts.cmake
@@ -32,6 +32,8 @@
   ${BOARD_DIR}
   ${ZEPHYR_BASE}
   )
+
+list(REMOVE_DUPLICATES DTS_ROOT)

 set(dts_files
   ${DTS_SOURCE}


cmake: assume FFTW threads are always enabled on Windows

--- clients/tests/cmake/FindFFTW.cmake
+++ clients/tests/cmake/FindFFTW.cmake
@@ -103,6 +103,12 @@
 FIND_PACKAGE_HANDLE_STANDARD_ARGS( FFTW
     REQUIRED_VARS FFTW_INCLUDE_DIRS FFTW_LIBRARIES )

+# assume the threads feature is always enabled on Windows, since it's
+# not a separate library there
+if( FFTW_FOUND AND WIN32 )
+  set( FFTW_MULTITHREAD TRUE )
+endif()
+
 if( NOT FFTW_FOUND )
     message( STATUS "FindFFTW could not find all of the following fftw libraries" )
     message( STATUS "${FFTW_FIND_COMPONENTS}" )


bump version number

bump version number

--- CMake/version.cmake
+++ CMake/version.cmake
@@ -1,3 +1,3 @@
 set (VV_VERSION_MAJOR 3)
 set (VV_VERSION_MINOR 0)
-set (VV_VERSION_PATCH 3)
+set (VV_VERSION_PATCH 4)


cmake/gcc-compat: don't error on deprecated methods

it isn't nice to use them, but we should not break compilation because of this

--- cmake/Compiler/GccCompatible.cmake
+++ cmake/Compiler/GccCompatible.cmake
@@ -21,6 +21,7 @@
   -Wno-padded
   -Wno-sign-conversion
   -Wno-switch-enum
+  -Wno-error=deprecated-declarations
 )

 # enable warnings we want to enforce


[lldb] [cmake] Use install directories for LLVM_* variables

Restore the previous behavior of using install directories for
LLVM_MAIN_INCLUDE_DIR, LLVM_LIBRARY_DIR and LLVM_BINARY_DIR.  The update
from llvm-config to CMake has changed the values of those values to use
LLVM_BUILD_* which is plain wrong and breaks stand-alone builds.
Instead, use the CMake counterparts of the values returned
by llvm-config.

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

git-svn-id: 4c4cc70b1ef44ba2b7963015e681894188cea27e@353925 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/modules/LLDBStandalone.cmake
+++ cmake/modules/LLDBStandalone.cmake
@@ -20,9 +20,9 @@
   set(LLVM_CMAKE_PATH ${LLVM_CMAKE_DIR} CACHE PATH "Path to LLVM CMake modules")

   set(LLVM_MAIN_SRC_DIR ${LLVM_BUILD_MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
-  set(LLVM_MAIN_INCLUDE_DIR ${LLVM_BUILD_MAIN_INCLUDE_DIR} CACHE PATH "Path to llvm/include")
-  set(LLVM_LIBRARY_DIR ${LLVM_BUILD_LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
-  set(LLVM_BINARY_DIR ${LLVM_BUILD_BINARY_DIR} CACHE PATH "Path to LLVM build tree")
+  set(LLVM_MAIN_INCLUDE_DIR ${LLVM_MAIN_INCLUDE_DIR} CACHE PATH "Path to llvm/include")
+  set(LLVM_LIBRARY_DIR ${LLVM_LIBRARY_DIR} CACHE PATH "Path to llvm/lib")
+  set(LLVM_BINARY_DIR ${LLVM_BINARY_DIR} CACHE PATH "Path to LLVM build tree")
   set(LLVM_DEFAULT_EXTERNAL_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit CACHE PATH "Path to llvm-lit")

   if(CMAKE_CROSSCOMPILING)


[CMake] Add configuration dirs as potential locations for llvm-lit and llvm-tblgen in standalone builds

Summary:
If the provided LLVM build-tree used a multi-configuration generator like Xcode, `LLVM_TOOLS_BINARY_DIR` will have a generator-specific placeholder to express `CMAKE_CFG_INTDIR`. Thus `llvm-lit` and `llvm-tblgen` won't be found.
D62878 exports the actual configuration types so we can fix the path and add them to the search paths for `find_program()`.

Reviewers: xiaobai, labath, stella.stamenova

Reviewed By: xiaobai, stella.stamenova

Subscribers: mgorny, lldb-commits

Tags: #lldb

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

git-svn-id: 4c4cc70b1ef44ba2b7963015e681894188cea27e@362589 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/modules/LLDBStandalone.cmake
+++ cmake/modules/LLDBStandalone.cmake
@@ -1,3 +1,12 @@
+function(append_configuration_directories input_dir output_dirs)
+  set(dirs_list ${input_dir})
+  foreach(config_type ${LLVM_CONFIGURATION_TYPES})
+    string(REPLACE ${CMAKE_CFG_INTDIR} ${config_type} dir ${input_dir})
+    list(APPEND dirs_list ${dir})
+  endforeach()
+  set(${output_dirs} ${dirs_list} PARENT_SCOPE)
+endfunction()
+
 # If we are not building as a part of LLVM, build LLDB as an
 # standalone project, using LLVM as an external library:
 if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
@@ -27,7 +36,10 @@
   if(CMAKE_HOST_WIN32 AND NOT CYGWIN)
     set(lit_file_name "${lit_file_name}.py")
   endif()
-  set(LLVM_DEFAULT_EXTERNAL_LIT "${LLVM_TOOLS_BINARY_DIR}/${lit_file_name}" CACHE PATH "Path to llvm-lit")
+
+  append_configuration_directories(${LLVM_TOOLS_BINARY_DIR} config_dirs)
+  find_program(lit_full_path ${lit_file_name} ${config_dirs} NO_DEFAULT_PATH)
+  set(LLVM_DEFAULT_EXTERNAL_LIT ${lit_full_path} CACHE PATH "Path to llvm-lit")

   if(CMAKE_CROSSCOMPILING)
     set(LLVM_NATIVE_BUILD "${LLDB_PATH_TO_LLVM_BUILD}/NATIVE")
@@ -51,8 +63,9 @@
         "${LLVM_NATIVE_BUILD}/Release/bin/llvm-tblgen${HOST_EXECUTABLE_SUFFIX}")
     endif()
   else()
-    find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
-      NO_DEFAULT_PATH)
+    set(tblgen_file_name "llvm-tblgen${CMAKE_EXECUTABLE_SUFFIX}")
+    append_configuration_directories(${LLVM_TOOLS_BINARY_DIR} config_dirs)
+    find_program(LLVM_TABLEGEN_EXE ${tblgen_file_name} ${config_dirs} NO_DEFAULT_PATH)
   endif()

   # They are used as destination of target generators.


updated FindEth.cmake documentation

updated FindEth.cmake documentation

--- cmake/FindEth.cmake
+++ cmake/FindEth.cmake
@@ -2,19 +2,10 @@
 #
 # Find the ethereum includes and library
 #
-# if you nee to add a custom library search path, do it via via CMAKE_PREFIX_PATH
-#
 # This module defines
-#  ETH_INCLUDE_DIRS, where to find header, etc.
 #  ETH_CORE_LIBRARIES, the libraries needed to use ethereum.
 #  ETH_FOUND, If false, do not try to use ethereum.
-
-# only look in default directories
-find_path(
-	ETH_INCLUDE_DIR
-	NAMES ethereum.h
-	DOC "ethereum include dir"
-)
+#  TODO: ETH_INCLUDE_DIRS

 set(CORE_LIBS web3jsonrpc;webthree;whisper;ethereum;evm;ethcore;lll;p2p;evmasm;devcrypto;evmcore;natspec;devcore;ethash-cl;ethash;secp256k1;scrypt;jsqrc)
 set(ALL_LIBS ${CORE_LIBS};evmjit;solidity;secp256k1)


ENH: mark FindR variable as advance and use standard find practicies

--- CMake/FindR.cmake
+++ CMake/FindR.cmake
@@ -6,9 +6,14 @@
 #
 # R_INCLUDE_DIR      - Path to R include directory
 # R_LIBRARIES        - Path to R library
+# R_LIBRARY_BASE     -
 # R_COMMAND          - Path to R command
 # RSCRIPT_EXECUTABLE - Path to Rscript command
 #
+
+
+# Make sure find package macros are included
+include( FindPackageHandleStandardArgs )

 SET(TEMP_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
 SET(CMAKE_FIND_APPBUNDLE "NEVER")
@@ -16,6 +21,7 @@
 IF (R_COMMAND)
   EXECUTE_PROCESS(WORKING_DIRECTORY . COMMAND ${R_COMMAND} RHOME OUTPUT_VARIABLE R_BASE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
   SET(R_HOME ${R_BASE_DIR} CACHE PATH "R home directory obtained from R RHOME")
+  mark_as_advanced( R_HOME )
 ENDIF (R_COMMAND)
 FIND_PROGRAM(RSCRIPT_EXECUTABLE Rscript DOC "Rscript executable.")

@@ -25,3 +31,6 @@
 FIND_LIBRARY(R_LIBRARY_BASE R PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "R library (example libR.a, libR.dylib, etc.).")

 SET(R_LIBRARIES ${R_LIBRARY_BASE})
+mark_as_advanced( R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE )
+
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(R DEFAULT_MSG R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE )


STYLE: fix type in FindR.cmake to use lowercase cmake methods

--- CMake/FindR.cmake
+++ CMake/FindR.cmake
@@ -15,22 +15,22 @@
 # Make sure find package macros are included
 include( FindPackageHandleStandardArgs )

-SET(TEMP_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
-SET(CMAKE_FIND_APPBUNDLE "NEVER")
-FIND_PROGRAM(R_COMMAND R DOC "R executable.")
-IF (R_COMMAND)
-  EXECUTE_PROCESS(WORKING_DIRECTORY . COMMAND ${R_COMMAND} RHOME OUTPUT_VARIABLE R_BASE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
-  SET(R_HOME ${R_BASE_DIR} CACHE PATH "R home directory obtained from R RHOME")
-  mark_as_advanced( R_HOME )
-ENDIF (R_COMMAND)
-FIND_PROGRAM(RSCRIPT_EXECUTABLE Rscript DOC "Rscript executable.")
+set(TEMP_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
+set(CMAKE_FIND_APPBUNDLE "NEVER")
+find_program(R_COMMAND R DOC "R executable.")
+if(R_COMMAND)
+  execute_process(WORKING_DIRECTORY . COMMAND ${R_COMMAND} RHOME OUTPUT_VARIABLE R_BASE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
+  set(R_HOME ${R_BASE_DIR} CACHE PATH "R home directory obtained from R RHOME")
+  mark_as_advanced(R_HOME)
+endif(R_COMMAND)
+find_program(RSCRIPT_EXECUTABLE Rscript DOC "Rscript executable.")

-SET(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE})
+set(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE})

-FIND_PATH(R_INCLUDE_DIR R.h PATHS /usr/local/lib /usr/local/lib64 PATH_SUFFIXES R/include DOC "Path to file R.h")
-FIND_LIBRARY(R_LIBRARY_BASE R PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "R library (example libR.a, libR.dylib, etc.).")
+find_path(R_INCLUDE_DIR R.h PATHS /usr/local/lib /usr/local/lib64 PATH_SUFFIXES R/include DOC "Path to file R.h")
+find_library(R_LIBRARY_BASE R PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "R library (example libR.a, libR.dylib, etc.).")

-SET(R_LIBRARIES ${R_LIBRARY_BASE})
-mark_as_advanced( R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE )
+set(R_LIBRARIES ${R_LIBRARY_BASE})
+mark_as_advanced(R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE)

-FIND_PACKAGE_HANDLE_STANDARD_ARGS(R DEFAULT_MSG R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE )
+find_package_handle_standard_args(R DEFAULT_MSG R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE)


Removed ./CTestConfig.cmake, which was previously committed as copied to test/.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,13 +0,0 @@
-## This file should be placed in the root directory of your project.
-## Then modify the CMakeLists.txt file in the root directory of your
-## project to incorporate the testing dashboard.
-## # The following are required to uses Dart and the Cdash dashboard
-##   ENABLE_TESTING()
-##   INCLUDE(CTest)
-set(CTEST_PROJECT_NAME "GiGi")
-set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
-
-set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "my.cdash.org")
-set(CTEST_DROP_LOCATION "/submit.php?project=GiGi")
-set(CTEST_DROP_SITE_CDASH TRUE)


[CI] new tripop cdash setup

[CI] new tripop cdash setup

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,17 +1,18 @@
 ## This file should be placed in the root directory of your project.
 ## Then modify the CMakeLists.txt file in the root directory of your
 ## project to incorporate the testing dashboard.
-## # The following are required to uses Dart and the Cdash dashboard
+##
+## # The following are required to submit to the CDash dashboard:
 ##   ENABLE_TESTING()
 ##   INCLUDE(CTest)
+
 set(CTEST_PROJECT_NAME "Siconos")
 set(CTEST_NIGHTLY_START_TIME "20:00:00 CET")

 set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "cdash-bipop.inrialpes.fr")
+set(CTEST_DROP_SITE "cdash-tripop.inrialpes.fr")
 set(CTEST_DROP_LOCATION "/submit.php?project=Siconos")
 set(CTEST_DROP_SITE_CDASH TRUE)
 if(BUILD_NAME)
   set(CTEST_BUILD_NAME Siconos-${BUILD_NAME})
 endif()
-


Remove FindArrayFire, script is automatically generated.

--- FindArrayFire.cmake
+++ FindArrayFire.cmake
@@ -1,130 +0,0 @@
-# - Find ArrayFire
-
-# Defines the following variables:
-# ArrayFire_INCLUDE_DIRS    - Location of ArrayFire's include directory.
-# ArrayFire_LIBRARIES       - Location of ArrayFire's libraries. This will default
-#                             to a GPU backend if one is found.
-# ArrayFire_FOUND           - True if ArrayFire has been located
-#
-# You may provide a hint to where ArrayFire's root directory may be located
-# by setting ArrayFire_ROOT_DIR before calling this script.
-#
-# ----------------------------------------------------------------------------
-#
-# ArrayFire_CPU_FOUND        - True of the ArrayFire CPU library has been found.
-# ArrayFire_CPU_LIBRARIES    - Location of ArrayFire's CPU library, if found
-# ArrayFire_CUDA_FOUND       - True of the ArrayFire CUDA library has been found.
-# ArrayFire_CUDA_LIBRARIES   - Location of ArrayFire's CUDA library, if found
-# ArrayFire_OpenCL_FOUND     - True of the ArrayFire OpenCL library has been found.
-# ArrayFire_OpenCL_LIBRARIES - Location of ArrayFire's OpenCL library, if found
-#
-# Variables used by this module, they can change the default behaviour and
-# need to be set before calling find_package:
-#
-#=============================================================================
-# Copyright (c) 2014, ArrayFire
-# All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without modification,
-# are permitted provided that the following conditions are met:
-#
-# * Redistributions of source code must retain the above copyright notice, this
-#   list of conditions and the following disclaimer.
-#
-# * Redistributions in binary form must reproduce the above copyright notice, this
-#   list of conditions and the following disclaimer in the documentation and/or
-#   other materials provided with the distribution.
-#
-# * Neither the name of the ArrayFire nor the names of its
-#   contributors may be used to endorse or promote products derived from
-#   this software without specific prior written permission.
-#
-# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
-# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
-# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
-# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
-# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
-# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
-# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
-# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
-# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
-# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#=============================================================================
-
-IF(ArrayFire_INCLUDE_DIRS)
-  # Already in cache, be silent
-  set (ArrayFire_FIND_QUIETLY TRUE)
-ENDIF()
-
-# Find the ArrayFire install directories and headers:
-FIND_PATH(ArrayFire_ROOT_DIR
-    NAMES include/arrayfire.h
-    HINTS "${CMAKE_INSTALL_PREFIX}" "${ArrayFire_ROOT_DIR}" "${ArrayFire_ROOT_DIR}/lib64"
-    DOC "ArrayFire root directory.")
-
-FIND_PATH(ArrayFire_INCLUDE_DIRS
-    NAMES arrayfire.h
-    HINTS "${ArrayFire_ROOT_DIR}/include"
-    DOC "ArrayFire Include directory")
-
-# Find all libraries required for the CPU backend
-FIND_LIBRARY(_ArrayFire_CPU_LIBRARY
-    NAMES afcpu
-    HINTS "${ArrayFire_ROOT_DIR}/lib")
-
-IF(_ArrayFire_CPU_LIBRARY)
-    FIND_PACKAGE(FFTW REQUIRED)
-    FIND_PACKAGE(BLAS REQUIRED)
-
-    SET(ArrayFire_CPU_LIBRARIES ${_ArrayFire_CPU_LIBRARY} ${FFTW_LIBRARIES} ${BLAS_LIBRARIES}
-        CACHE INTERNAL "All libraries required for ArrayFire's CPU implementation")
-    SET(ArrayFire_CPU_FOUND TRUE CACHE BOOL "Whether or not ArrayFire's CPU library has been located.")
-    SET(_ArrayFire_LIBRARIES ${ArrayFire_CPU_LIBRARIES})
-ENDIF()
-
-# Find all libraries required for the OpenCL backend
-FIND_LIBRARY(_ArrayFire_OPENCL_LIBRARY
-    NAMES afopencl
-    HINTS "${ArrayFire_ROOT_DIR}/lib")
-
-IF(_ArrayFire_OPENCL_LIBRARY)
-    FIND_PACKAGE(OpenCL REQUIRED)
-    FIND_PACKAGE(CLBLAS REQUIRED)
-    FIND_PACKAGE(clFFT REQUIRED)
-    FIND_PACKAGE(Boost 1.48 COMPONENTS)
-
-    SET(ArrayFire_OPENCL_LIBRARIES ${_ArrayFire_OPENCL_LIBRARY} ${OPENCL_LIBRARIES}
-        ${CLBLAS_LIBRARIES} ${CLFFT_LIBRARIES} ${Boost_LIBRARIES}
-        CACHE INTERNAL "All libraries for ArrayFire's OpenCL implementation.")
-
-    SET(ArrayFire_OPENCL_FOUND TRUE CACHE BOOL "Whether the ArrayFire's OpenCL library has been located.")
-    SET(_ArrayFire_LIBRARIES ${ArrayFire_OPENCL_LIBRARIES})
-ENDIF()
-
-# Find all libraries required for the CUDA backend
-FIND_LIBRARY(_ArrayFire_CUDA_LIBRARY
-    NAMES afcuda
-    HINTS "${ArrayFire_ROOT_DIR}/lib")
-
-IF(_ArrayFire_CUDA_LIBRARY)
-    FIND_PACKAGE(CUDA REQUIRED)
-    INCLUDE("${CMAKE_MODULE_PATH}/CUDACheckCompute.cmake")
-    INCLUDE("${CMAKE_MODULE_PATH}/FindNVVM.cmake")
-
-    SET(ArrayFire_CUDA_LIBRARIES ${_ArrayFire_CUDA_LIBRARY}
-        ${CUDA_CUBLAS_LIBRARIES} ${CUDA_LIBRARIES} ${CUDA_CUFFT_LIBRARIES}
-        ${CUDA_NVVM_LIBRARIES} ${CUDA_DRIVER_LIBRARY} ${CUDA_CUDA_LIBRARY} ${CUDA_NVVM_LIBRARIES}
-        CACHE INTERNAL "All libraries required for ArrayFire's CUDA implementation")
-
-    SET(ArrayFire_CUDA_FOUND TRUE CACHE BOOL "Whether the ArrayFire's CUDA library has been located.")
-    SET(_ArrayFire_LIBRARIES ${ArrayFire_CUDA_LIBRARIES})
-ENDIF()
-
-SET(ArrayFire_LIBRARIES ${_ArrayFire_LIBRARIES})
-
-# handle the QUIETLY and REQUIRED arguments and set ArrayFire_FOUND to TRUE if
-# all listed variables are TRUE
-INCLUDE (FindPackageHandleStandardArgs)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(ArrayFire DEFAULT_MSG ArrayFire_LIBRARIES ArrayFire_INCLUDE_DIRS)
-MARK_AS_ADVANCED(ArrayFire_LIBRARIES ArrayFire_INCLUDE_DIRS ArrayFire_CPU_LIBRARY ArrayFire_CUDA_LIBRARY ArrayFire_OPENCL_LIBRARY)


Make GitExternal more verbose

Make GitExternal more verbose

--- GitExternal.cmake
+++ GitExternal.cmake
@@ -13,6 +13,7 @@
   get_filename_component(GIT_EXTERNAL_DIR "${DIR}/.." ABSOLUTE)

   if(NOT EXISTS "${DIR}")
+    message("git clone ${REPO} ${DIR}")
     execute_process(
       COMMAND "${GIT_EXECUTABLE}" clone "${REPO}" "${DIR}"
       RESULT_VARIABLE nok ERROR_VARIABLE error


Removed debug and optimized flags in the MITK ZLIB build. The flags get added to the library PATH in some cases

--- CMakeExternals/ZLIB.cmake
+++ CMakeExternals/ZLIB.cmake
@@ -52,14 +52,14 @@

     set(ZLIB_LIBRARY )
     if(ZLIB_LIBRARY_RELEASE)
-      list(APPEND ZLIB_LIBRARY optimized ${ZLIB_LIBRARY_RELEASE})
+      list(APPEND ZLIB_LIBRARY ${ZLIB_LIBRARY_RELEASE})
       install(FILES ${ZLIB_LIBRARY_RELEASE}
               DESTINATION lib
               CONFIGURATIONS Release
               COMPONENT dev)
     endif()
     if(ZLIB_LIBRARY_DEBUG)
-      list(APPEND ZLIB_LIBRARY debug ${ZLIB_LIBRARY_DEBUG})
+      list(APPEND ZLIB_LIBRARY ${ZLIB_LIBRARY_DEBUG})
       install(FILES ${ZLIB_LIBRARY_DEBUG}
               DESTINATION lib
               CONFIGURATIONS Debug


Fix MPI error checking

Fix MPI error checking

--- tests/system_tests/run_system_tests.sh.cmake
+++ tests/system_tests/run_system_tests.sh.cmake
@@ -43,6 +43,7 @@
 MPIRUN=mpirun
 MPI_PROC_DIM="1,1x1,1x1x1" # use only 1 process by default; can be controlled by the -np option
 MPI_MACHINEFILE=""
+PHYSIS_NLP=1

 EXECUTE_WITH_VALGRIND=0

@@ -386,8 +387,8 @@
     fi
     local proc_dim=$(echo $proc_dim_list | cut -d, -f$dim)
     local np=$(($(echo $proc_dim | sed 's/x/*/g')))
-    echo "[EXECUTE] Run mpi as \"$MPIRUN -np $np $mfile_option $* --physis-proc $proc_dim\"" >&2
-    $MPIRUN -np $np $mfile_option $* --physis-proc $proc_dim
+    echo "[EXECUTE] $MPIRUN -np $np $mfile_option $* --physis-proc $proc_dim --physis-nlp $PHYSIS_NLP" >&2
+    $MPIRUN -np $np $mfile_option $* --physis-proc $proc_dim --physis-nlp $PHYSIS_NLP
 }

 function execute()
@@ -403,18 +404,21 @@
 			./$exename > $exename.out
 			;;
 		mpi)
-			do_mpirun $3 $4  "$MPI_MACHINEFILE" ./$exename > $exename.out
+			do_mpirun $3 $4  "$MPI_MACHINEFILE" ./$exename > $exename.out 2> $exename.err
 			;;
 		mpi-cuda)
-			do_mpirun $3 $4 "$MPI_MACHINEFILE" ./$exename > $exename.out
+			do_mpirun $3 $4 "$MPI_MACHINEFILE" ./$exename > $exename.out 2> $exename.err
 			;;
 		*)
 			exit_error "Unsupported target: $2"
 			;;
     esac
-    if [ $? -ne 0 ]; then
+    if [ $? -ne 0 ] || grep -q "orted was unable to" $exename.err; then
+		cat $exename.err
+		rm $exename.out $exename.err $exename
 		return 1
     fi
+	rm $exename
     execute_reference $1 $2
     local ref_output=$(get_reference_exe_name $1 $2).out
     if [ -f "$ref_output" ]; then
@@ -427,6 +431,7 @@
 			echo "[EXECUTE] Successfully validated."
 		fi
     fi
+	rm $exename.out $exename.err
 }

 function use_valgrind()
@@ -464,6 +469,8 @@
     echo -e "\t\tThe mpirun command for testing MPI-based runs."
     echo -e "\t--proc-dim <proc-dim-list>"
     echo -e "\t\tProcess dimension. E.g., to run 16 processes, specify this \n\t\toption like '16,4x4,1x4x4'. This way, 16 processes are mapped\n\t\tto the overall problem domain with the decomposition for\n\t\th dimensionality. Multiple values can be passed with quotations."
+    echo -e "\t--physis-nlp <number-of-gpus-per-node>"
+    echo -e "\t\tNumber of GPUs per node."
     echo -e "\t--machinefile <file-path>"
     echo -e "\t\tThe MPI machinefile."
     echo -e "\t--with-valgrind <translate|execute>"
@@ -514,7 +521,7 @@

     TESTS=$(get_test_cases)

-    TEMP=$(getopt -o ht:s:m:q --long help,targets:,source:,translate,compile,execute,mpirun,machinefile:,proc-dim:,quit,with-valgrind:,priority:,config: -- "$@")
+    TEMP=$(getopt -o ht:s:m:q --long help,targets:,source:,translate,compile,execute,mpirun,machinefile:,proc-dim:,physis-nlp:,quit,with-valgrind:,priority:,config: -- "$@")
     if [ $? != 0 ]; then
 		print_error "Invalid options: $@"
 		print_usage
@@ -551,6 +558,10 @@
 				;;
 			--proc-dim)
 				MPI_PROC_DIM=$2
+				shift 2
+				;;
+			--physis-nlp)
+				PHYSIS_NLP=$2
 				shift 2
 				;;
 			--machinefile)


Don't use include_directories

Don't use include_directories

--- cmake/DevBaseExternal.cmake
+++ cmake/DevBaseExternal.cmake
@@ -54,10 +54,10 @@
         # -DBOOST_CHRONO_DONT_PROVIDE_HYBRID_ERROR_HANDLING
         # -DBOOST_CHRONO_HEADER_ONLY
     )
-    set(CMAKE_CXX_FLAGS_RELEASE
-        # Disable range checks in release builds.
-        "${CMAKE_CXX_FLAGS_RELEASE} -DBOOST_DISABLE_ASSERTS"
-    )
+    ### set(CMAKE_CXX_FLAGS_RELEASE
+    ###     # Disable range checks in release builds.
+    ###     "${CMAKE_CXX_FLAGS_RELEASE} -DBOOST_DISABLE_ASSERTS"
+    ### )
     list(REMOVE_DUPLICATES DEVBASE_REQUIRED_BOOST_COMPONENTS)
     find_package(Boost
         ${DEVBASE_BOOST_VERSION}  # If set, minimum version of boost to find
@@ -66,13 +66,6 @@
     if(NOT Boost_FOUND)
         message(FATAL_ERROR "Boost not found")
     endif()
-    include_directories(
-        SYSTEM
-        ${Boost_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${Boost_LIBRARIES}
-    )
     message(STATUS "  includes : ${Boost_INCLUDE_DIRS}")
     message(STATUS "  libraries: ${Boost_LIBRARIES}")

@@ -96,13 +89,6 @@

 if(DEVBASE_CURL_REQUIRED)
     find_package(CURL REQUIRED)
-    include_directories(
-        SYSTEM
-        ${CURL_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${CURL_LIBRARIES}
-    )
 endif()

@@ -112,10 +98,6 @@
     find_package(Curses REQUIRED)
     # Check CURSES_HAVE_NCURSES_H -> cursesw.h in .../include
     # Check CURSES_HAVE_NCURSES_NCURSES_H -> curses.h in .../ncursesw
-    include_directories(
-        SYSTEM
-        ${CURSES_INCLUDE_DIRS}  # /ncursesw
-    )

     if(NOT DEFINED DEVBASE_CURSES_WIDE_CHARACTER_SUPPORT_REQUIRED)
         set(DEVBASE_CURSES_WIDE_CHARACTER_SUPPORT_REQUIRED TRUE)
@@ -124,23 +106,11 @@
     if(DEVBASE_CURSES_WIDE_CHARACTER_SUPPORT_REQUIRED)
         set(CURSES_LIBRARIES formw menuw ncursesw)
     endif()
-
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${CURSES_LIBRARIES}
-    )
 endif()

 if(DEVBASE_DOCOPT_REQUIRED)
     find_package(Docopt REQUIRED)
-
-    include_directories(
-        SYSTEM
-        ${DOCOPT_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${DOCOPT_LIBRARIES}
-    )
 endif()

@@ -155,13 +125,6 @@

 if(DEVBASE_EXPAT_REQUIRED)
     find_package(EXPAT REQUIRED)
-    include_directories(
-        SYSTEM
-        ${EXPAT_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${EXPAT_LIBRARIES}
-    )
 endif()

@@ -171,14 +134,6 @@
     if(NOT FERN_FOUND)
         message(FATAL_ERROR "Fern not found")
     endif()
-
-    include_directories(
-        SYSTEM
-        ${FERN_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${FERN_LIBRARIES}
-    )
 endif()

@@ -190,13 +145,6 @@
         message(FATAL_ERROR "GDAL not found")
     endif()

-    include_directories(
-        SYSTEM
-        ${GDAL_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${GDAL_LIBRARIES}
-    )
     find_program(GDAL_TRANSLATE gdal_translate
         HINTS ${GDAL_INCLUDE_DIR}/../bin
     )
@@ -213,13 +161,6 @@

 if(DEVBASE_GEOS_REQUIRED)
     find_package(GEOS REQUIRED)
-    include_directories(
-        SYSTEM
-        ${GEOS_INCLUDE_DIR}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${GEOS_LIBRARY}
-    )
 endif()

@@ -239,13 +180,6 @@
     if(NOT HDF5_FOUND)
         message(FATAL_ERROR "HDF5 not found")
     endif()
-    include_directories(
-        SYSTEM
-        ${HDF5_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${HDF5_LIBRARIES}
-    )
     add_definitions(${HDF5_DEFINITIONS})
 endif()

@@ -269,11 +203,6 @@
         message(STATUS "Found HPX")
         message(STATUS "  includes : ${HPX_INCLUDE_DIRS}")
         message(STATUS "  libraries: ${HPX_LIBRARIES}")
-
-        include_directories(
-            SYSTEM
-            ${HPX_INCLUDE_DIRS}
-        )

         # Check whether we are using the same build type as HPX
         if (NOT "${HPX_BUILD_TYPE}" STREQUAL "${CMAKE_BUILD_TYPE}")
@@ -331,11 +260,6 @@
     endif()

     message(STATUS "Found nlohmann json: ${JSON_INCLUDE_DIR}")
-
-    include_directories(
-        SYSTEM
-        ${JSON_INCLUDE_DIR}
-    )
 endif()

@@ -350,28 +274,13 @@
     if(NOT MPI_C_FOUND)
         message(FATAL_ERROR "MPI for C not found")
     endif()
-
-    include_directories(
-        SYSTEM
-        ${MPI_C_INCLUDE_PATH}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${MPI_C_LIBRARIES}
-    )
 endif()

 if(DEVBASE_NETCDF_REQUIRED)
     find_package(NetCDF REQUIRED)
-    include_directories(
-        SYSTEM
-        ${NETCDF_INCLUDE_DIRS}
-    )
     find_program(NCGEN ncgen
         HINTS ${NETCDF_INCLUDE_DIRS}/../bin
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${NETCDF_LIBRARIES}
     )
     message(STATUS "Found NetCDF:")
     message(STATUS "  includes : ${NETCDF_INCLUDE_DIRS}")
@@ -381,10 +290,6 @@

 if(DEVBASE_NUMPY_REQUIRED)
     find_package(NumPy REQUIRED)
-    include_directories(
-        SYSTEM
-        ${NUMPY_INCLUDE_DIRS}
-    )
     # http://docs.scipy.org/doc/numpy-dev/reference/c-api.deprecations.html
     add_definitions(-DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION)
 endif()
@@ -392,14 +297,6 @@

 if(DEVBASE_OPENGL_REQUIRED)
     find_package(OpenGL REQUIRED)
-
-    include_directories(
-        SYSTEM
-        ${OPENGL_INCLUDE_DIR}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${OPENGL_LIBRARIES}
-    )
 endif()

@@ -418,13 +315,6 @@
     if(NOT PCRASTER_RASTER_FORMAT_FOUND)
         message(FATAL_ERROR "PCRaster Raster Format library not found")
     endif()
-
-    include_directories(
-        ${PCRASTER_RASTER_FORMAT_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${PCRASTER_RASTER_FORMAT_LIBRARIES}
-    )

     message(STATUS "Found PCRaster Raster Format:")
     message(STATUS "  includes : ${PCRASTER_RASTER_FORMAT_INCLUDE_DIRS}")
@@ -438,36 +328,22 @@
     if(NOT PYBIND11_FOUND)
         message(FATAL_ERROR "pybind11 library not found")
     endif()
-
-    include_directories(
-        SYSTEM
-        ${PYBIND11_INCLUDE_DIRS}
-    )
 endif()

 # This one first, before FindPythonLibs. See CMake docs.
 if(DEVBASE_PYTHON_INTERP_REQUIRED)
-    if(DEFINED DEVBASE_REQUIRED_PYTHON_VERSION)
-        set(Python_ADDITIONAL_VERSIONS ${DEVBASE_REQUIRED_PYTHON_VERSION})
-    endif()
-
-    find_package(PythonInterp REQUIRED)
+    find_package(PythonInterp
+        ${DEVBASE_REQUIRED_PYTHON_VERSION}
+        REQUIRED
+    )
 endif()

 if(DEVBASE_PYTHON_LIBS_REQUIRED)
-    if(DEFINED DEVBASE_REQUIRED_PYTHON_VERSION)
-        set(Python_ADDITIONAL_VERSIONS ${DEVBASE_REQUIRED_PYTHON_VERSION})
-    endif()
-
-    find_package(PythonLibs REQUIRED)
-    include_directories(
-        SYSTEM
-        ${PYTHON_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${PYTHON_LIBRARIES}
+    find_package(PythonLibs
+        ${DEVBASE_REQUIRED_PYTHON_VERSION}
+        REQUIRED
     )
 endif()

@@ -483,10 +359,6 @@

         # Explicitly configure Qt's include directory. This is also done in
         # ${QT_USE_FILE} above, but we want to shove the SYSTEM option in.
-        include_directories(
-            SYSTEM
-            ${QT_INCLUDE_DIR}
-        )
     else()
         # http://doc.qt.io/qt-5/cmake-manual.html

@@ -518,13 +390,6 @@
         message(FATAL_ERROR "Qwt not found")
     endif()

-    include_directories(
-        SYSTEM
-        ${QWT_INCLUDE_DIR}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${QWT_LIBRARY}
-    )
     message(STATUS "Found Qwt:")
     message(STATUS "  includes : ${QWT_INCLUDE_DIRS}")
     message(STATUS "  libraries: ${QWT_LIBRARIES}")
@@ -533,13 +398,6 @@

 if(DEVBASE_READLINE_REQUIRED)
     find_package(Readline REQUIRED)
-    include_directories(
-        SYSTEM
-        ${READLINE_INCLUDE_DIR}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${READLINE_LIBRARY}
-    )
 endif()

@@ -565,22 +423,11 @@

 if(DEVBASE_XERCES_REQUIRED)
     find_package(XercesC REQUIRED)
-    include_directories(
-        SYSTEM
-        ${XercesC_INCLUDE_DIRS}
-    )
-    list(APPEND DEVBASE_EXTERNAL_LIBRARIES
-        ${XercesC_LIBRARIES}
-    )
 endif()

 if(DEVBASE_XSD_REQUIRED)
     find_package(XSD REQUIRED)
-    include_directories(
-        SYSTEM
-        ${XSD_INCLUDE_DIRS}
-    )
     list(APPEND DEVBASE_EXTERNAL_SOURCES ${XSD_INCLUDE_DIRS})
     list(APPEND DEVBASE_DOXYGEN_EXTERNAL_SOURCES_FILE_PATTERNS *.ixx)
     list(APPEND DEVBASE_DOXYGEN_EXTERNAL_SOURCES_FILE_PATTERNS *.txx)
@@ -594,3 +441,13 @@
 # DoxygenDoc.cmake.
 string(REPLACE ";" " " DEVBASE_DOXYGEN_EXTERNAL_SOURCES_FILE_PATTERNS
     "${DEVBASE_DOXYGEN_EXTERNAL_SOURCES_FILE_PATTERNS}")
+
+
+function(__deprecated_var var access)
+    if(access STREQUAL "READ_ACCESS")
+        message(DEPRECATION
+            "The variable '${var}' is deprecated!")
+    endif()
+endfunction()
+
+variable_watch(DEVBASE_EXTERNAL_LIBRARIES __deprecated_var)


We should search for jsonrpcstub headless or not

--- cmake/EthDependencies.cmake
+++ cmake/EthDependencies.cmake
@@ -95,6 +95,10 @@
 message(" - curl header: ${CURL_INCLUDE_DIRS}")
 message(" - curl lib   : ${CURL_LIBRARIES}")

+# find location of jsonrpcstub
+find_program(ETH_JSON_RPC_STUB jsonrpcstub)
+message(" - jsonrpcstub location    : ${ETH_JSON_RPC_STUB}")
+
 # do not compile GUI
 if (NOT HEADLESS)

@@ -130,9 +134,6 @@
 	string(REGEX REPLACE "npm" "" ETH_NPM_DIRECTORY ${ETH_NPM})
 	message(" - npm location    : ${ETH_NPM}")

-	find_program(ETH_JSON_RPC_STUB jsonrpcstub)
-	message(" - jsonrpcstub location    : ${ETH_JSON_RPC_STUB}")
-
 endif() #HEADLESS

 # use multithreaded boost libraries, with -mt suffix


FindOpenCV should now find 2.3

FindOpenCV should now find 2.3

--- external/cmake_modules/FindOpenCV.cmake
+++ external/cmake_modules/FindOpenCV.cmake
@@ -54,6 +54,7 @@
   "$ENV{ProgramFiles}/OpenCV"
   /usr/local
   /usr
+  /usr/include/opencv-2.3.1/
   )

@@ -86,6 +87,7 @@
   include/opencv/cv.h # linux /opt/net
   include/cv/cv.h
   include/cv.h
+  opencv/cv.h
   PATHS ${OpenCV_POSSIBLE_ROOT_DIRS})
 DBG_MSG("OpenCV_ROOT_DIR=${OpenCV_ROOT_DIR}")

@@ -102,6 +104,8 @@
   otherlibs/highgui
   otherlibs/highgui/include
   otherlibs/_graphics/include
+  opencv
+  opencv2
   )

 # library linkdir suffixes appended to OpenCV_ROOT_DIR
@@ -135,6 +139,10 @@
   NAMES cvcam.h
   PATHS ${OpenCV_ROOT_DIR}
   PATH_SUFFIXES ${OpenCV_INCDIR_SUFFIXES} )
+FIND_PATH(OpenCV2_CORE_INCLUDE_DIR
+  NAMES opencv2/opencv.hpp
+  PATHS ${OpenCV_ROOT_DIR}
+  PATH_SUFFIXES ${OpenCV_INCDIR_SUFFIXES} )

 #
 # find sbsolute path to all libraries
@@ -191,6 +199,12 @@
   ENDIF (OpenCV_${NAME}_INCLUDE_DIR AND OpenCV_${NAME}_LIBRARY)

 ENDFOREACH(NAME)
+
+#just for opencv2 headers...
+IF (OpenCV2_CORE_INCLUDE_DIR)
+    LIST(APPEND OpenCV_INCLUDE_DIRS ${OpenCV2_CORE_INCLUDE_DIR})
+ENDIF (OpenCV2_CORE_INCLUDE_DIR )
+

 DBG_MSG("OpenCV_INCLUDE_DIRS=${OpenCV_INCLUDE_DIRS}")
 DBG_MSG("OpenCV_LIBRARIES=${OpenCV_LIBRARIES}")
@@ -218,6 +232,7 @@
   OpenCV_HIGHGUI_LIBRARY
   OpenCV_ML_LIBRARY
   OpenCV_TRS_LIBRARY
+  OpenCV2_CORE_INCLUDE_DIR
   )


fix some Solaris Sparc errors from recent cleanup

--- configure.cmake
+++ configure.cmake
@@ -265,8 +265,8 @@
     CHECK_LIBRARY_EXISTS(${lib} ${func} "" HAVE_${func}_IN_${lib})
     IF(HAVE_${func}_IN_${lib})
       SET(${result} ${lib} PARENT_SCOPE)
+      RETURN()
     ENDIF()
-    RETURN()
   ENDFOREACH()
 ENDFUNCTION()

@@ -665,8 +665,15 @@
 ENDIF()
 CHECK_SYMBOL_EXISTS(log2  math.h HAVE_LOG2)
 CHECK_SYMBOL_EXISTS(isnan math.h HAVE_ISNAN)
-CHECK_SYMBOL_EXISTS(isinf math.h HAVE_ISINF)
 CHECK_SYMBOL_EXISTS(rint  math.h HAVE_RINT)
+
+# isinf() prototype not found on Solaris
+CHECK_CXX_SOURCE_COMPILES(
+"#include  <math.h>
+int main() {
+  isinf(0.0);
+  return 0;
+}" HAVE_ISINF)


fix szip

fix szip

--- superbuild/Projects/win32/szip.cmake
+++ superbuild/Projects/win32/szip.cmake
@@ -11,5 +11,5 @@

 # any project depending on szip, inherits these cmake variables
 add_extra_cmake_args(
-    -DSZIP_LIBRARY:FILEPATH=<INSTALL_DIR>/lib/szip.lib
+    -DSZIP_LIBRARY:FILEPATH=<INSTALL_DIR>/lib/libszip.lib
     -DSZIP_INCLUDE_DIR:FILEPATH=<INSTALL_DIR>/include)


amigaos: Enable POSIX threading model back

--- platforms/amigaos-gcc/platform.cmake
+++ platforms/amigaos-gcc/platform.cmake
@@ -1,9 +1,11 @@
-set (PLIBSYS_THREAD_MODEL none)
+set (PLIBSYS_THREAD_MODEL posix)
 set (PLIBSYS_IPC_MODEL none)
 set (PLIBSYS_TIME_PROFILER_MODEL posix)
 set (PLIBSYS_DIR_MODEL posix)
 set (PLIBSYS_LIBRARYLOADER_MODEL none)

+set (PLIBSYS_PLATFORM_LINK_LIBRARIES pthread)
+
 set (PLIBSYS_PLATFORM_DEFINES
         -D_REENTRANT
 )


Fix typo

Fix typo

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -1856,7 +1856,7 @@
           ${GNUAUTOMAKE_PREFIX}/download/automake-1.14.1.tar.gz
   CONFIGURE_COMMAND <SOURCE_DIR>/configure
   INSTALL_COMMAND
-      echo "This will install bash in /usr/local." &&
+      echo "This will install automake in /usr/local." &&
       sudo make install)

 ################################################################################


fix(build): use epoch in jwe auth plugin requires

--- build/rpm/flexisip.spec.cmake
+++ build/rpm/flexisip.spec.cmake
@@ -9,6 +9,8 @@
 %define _datadir           %{_datarootdir}
 %define _docdir            %{_datadir}/doc

+%define epoch     1
+
 %define build_number @PROJECT_VERSION_BUILD@

 Summary:       SIP proxy with media capabilities
@@ -17,7 +19,7 @@
 Release:       %build_number%{?dist}

 #to be alined with redhat which changed epoc to 1 for an unknown reason
-Epoch:         1
+Epoch:         %{epoch}
 License:       AGPLv3
 Group:         Applications/Communications
 URL:           http://flexisip.org
@@ -83,7 +85,7 @@
 Summary:       JweAuth plugin offers the possibility to use JSON Web Encryption tokens on flexisip
 Group:         Security

-Requires:      %{name} = %{version}-%{release}
+Requires:      %{name} = %{epoch}:%{version}-%{release}
 Requires:      %{pkg_prefix}jose
 Requires:      jansson

@@ -231,6 +233,8 @@
 %endif

 %changelog
+* Wed Oct 31 2018 ronan.abhamon <ronan.abhamon@belledonne-communications.com>
+- Use epoch in JweAuth plugin requires
 * Wed Jun 13 2018 ronan.abhamon <ronan.abhamon@belledonne-communications.com>
 - Add JweAuth plugin
 * Tue Aug 29  2017 Jehan Monnier <jehan.monnier@linphone.org>


PKG: fix cmake invalid escape sequence and newline

--- CMake/PackageHelper.cmake
+++ CMake/PackageHelper.cmake
@@ -101,17 +101,11 @@
   endforeach()

   install(CODE "file(WRITE \"${CMAKE_INSTALL_PREFIX}/${PKG_PREFIX_DIR}/otbenv.cmd\"
-    \"set CURRENT_SCRIPT_DIR=%~dp0
-    set PATH=%PATH%;%CURRENT_SCRIPT_DIR%\\bin
-    set GDAL_DATA=%CURRENT_SCRIPT_DIR%\\share\\gdal
-    \")" )
+               \"set CURRENT_SCRIPT_DIR=%~dp0\nset PATH=%PATH%;%CURRENT_SCRIPT_DIR%\\\\bin\nset GDAL_DATA=%CURRENT_SCRIPT_DIR%\\\\share\\\\gdal\n\")" )

   ####################### create and install qt.conf #######################
   install(CODE "file(WRITE \"${PKG_QTCONF_DIR}/qt.conf\"
-                \"[Paths]
-                Translations=../lib/qt4/translations
-                Plugins=../lib/qt4/plugins
-                \")" )
+                \"[Paths]\nTranslations=../lib/qt4/translations\nPlugins=../lib/qt4/plugins\n\")" )

   ####################### install sqldriver plugin ########################
   install(FILES ${QT_PLUGINS_DIR}/sqldrivers/${PKG_QTSQLITE_FILENAME}


FindCUDA.cmake updated to allow local file adds.

git-svn-id: 4ba210d0a933e3fb1aa9ab096f190cd38965d92a@1624 fa922fa7-2fde-0310-acd8-f43f465a7996

--- src/CMake/cuda/FindCuda.cmake
+++ src/CMake/cuda/FindCuda.cmake
@@ -248,13 +248,22 @@
   # commands for all the .cu files.
   FOREACH(file ${ARGN})
     IF(${file} MATCHES ".*\\.cu$")
-
+
     # strip CMAKE_SOURCE_DIR from the head of ${file}
-    string(LENGTH ${CMAKE_SOURCE_DIR} _cuda_source_dir_length)
+    if(file MATCHES ${CMAKE_SOURCE_DIR})
+	string(LENGTH ${CMAKE_SOURCE_DIR} _cuda_source_dir_length)
     string(LENGTH ${file} _cuda_file_length)
     math(EXPR _begin "${_cuda_source_dir_length} + 1")
     math(EXPR _stripped_file_length "${_cuda_file_length} - ${_cuda_source_dir_length} - 1")
 	STRING(SUBSTRING ${file} ${_begin} ${_stripped_file_length} stripped_file )
+    SET(source_file ${file})
+
+	else(file MATCHES ${CMAKE_SOURCE_DIR})
+
+	set(stripped_file ${file})
+    SET(source_file "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
+
+	endif(file MATCHES ${CMAKE_SOURCE_DIR})

     # Add a custom target to generate a cpp file
 	SET(generated_file  "${CMAKE_BINARY_DIR}/src/cuda/${stripped_file}_${cuda_target}_generated.cpp")
@@ -263,7 +272,6 @@

     FILE(MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/src/cuda)

-    SET(source_file ${file})

     # MESSAGE("${CUDA_NVCC} ${source_file} ${CUDA_NVCC_FLAGS} ${nvcc_flags} -cuda -o ${generated_file} ${CUDA_NVCC_INCLUDE_ARGS}")


Don't use the static libraries when building for Windows Store, since it's not supported.

--- CMake/CompilerFlags.cmake
+++ CMake/CompilerFlags.cmake
@@ -50,10 +50,13 @@
     add_compile_options(
         /MP # Enable multi-processor compilation
     )
-    # Use statically-linked runtime, consistent with how core is built.
-    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
-    set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
-    set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
+
+    if(NOT ${CMAKE_SYSTEM_NAME} STREQUAL "WindowsStore")
+        # Use statically-linked runtime, consistent with how core is built.
+        set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} /MTd")
+        set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /MT")
+        set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
+    endif()
 endif()

 if(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")


Update CPack options to consider the Notice text

--- CMake/VisomicsCPack.cmake
+++ CMake/VisomicsCPack.cmake
@@ -65,8 +65,8 @@

 SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Visomics - Application allowing to import, analyze and visualize metabolomics and genomics data.")
 SET(CPACK_PACKAGE_VENDOR "Kitware, Inc.")
-#SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
-#SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/Copyright.txt")
+SET(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/NOTICE")
+SET(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/NOTICE")
 SET(CPACK_PACKAGE_VERSION_MAJOR "${Visomics_MAJOR_VERSION}")
 SET(CPACK_PACKAGE_VERSION_MINOR "${Visomics_MINOR_VERSION}")
 SET(CPACK_PACKAGE_VERSION_PATCH "${Visomics_BUILD_VERSION}")


Changed clone URL of MITK-ProjectTemplate

--- CMakeExternals/MITK.cmake
+++ CMakeExternals/MITK.cmake
@@ -22,22 +22,22 @@
   option(MITK_USE_QT "Use Nokia's Qt library in MITK" ON)
   option(MITK_USE_OpenCV "Use Intel's OpenCV library" OFF)
   option(MITK_USE_Python "Enable Python wrapping in MITK" OFF)
-
+
   if(MITK_USE_BLUEBERRY AND NOT MITK_USE_CTK)
     message("Forcing MITK_USE_CTK to ON because of MITK_USE_BLUEBERRY")
     set(MITK_USE_CTK ON CACHE BOOL "Use CTK in MITK" FORCE)
   endif()
-
+
   if(MITK_USE_CTK AND NOT MITK_USE_QT)
     message("Forcing MITK_USE_QT to ON because of MITK_USE_CTK")
     set(MITK_USE_QT ON CACHE BOOL "Use Nokia's Qt library in MITK" FORCE)
   endif()
-
+
   set(MITK_USE_CableSwig ${MITK_USE_Python})
   set(MITK_USE_GDCM 1)
   set(MITK_USE_ITK 1)
   set(MITK_USE_VTK 1)
-
+
   mark_as_advanced(MITK_USE_SUPERBUILD
                    MITK_BUILD_ALL_PLUGINS
                    MITK_BUILD_TESTING
@@ -72,7 +72,7 @@
       Help
 		  REQUIRED)
   endif()
-
+
   # Configure the set of default pixel types
   set(MITK_ACCESSBYITK_INTEGRAL_PIXEL_TYPES
       "int, unsigned int, short, unsigned short, char, unsigned char"
@@ -95,11 +95,11 @@
     mark_as_advanced(${_arg})
     list(APPEND additional_mitk_cmakevars "-D${_arg}:STRING=${${_arg}}")
   endforeach()
-
+
   #-----------------------------------------------------------------------------
   # Create options to inject pre-build dependencies
   #-----------------------------------------------------------------------------
-
+
   foreach(proj CTK DCMTK GDCM VTK ITK OpenCV CableSwig)
     if(MITK_USE_${proj})
       set(MITK_${proj}_DIR "${${proj}_DIR}" CACHE PATH "Path to ${proj} build directory")
@@ -115,12 +115,12 @@
   if(MITK_BOOST_ROOT)
     list(APPEND additional_mitk_cmakevars "-DBOOST_ROOT:PATH=${MITK_BOOST_ROOT}")
   endif()
-
+
   set(MITK_SOURCE_DIR "" CACHE PATH "MITK source code location. If empty, MITK will be cloned from MITK_GIT_REPOSITORY")
-  set(MITK_GIT_REPOSITORY "http://git.mitk.org/MITK.git" CACHE STRING "The git repository for cloning MITK")
+  set(MITK_GIT_REPOSITORY "https://phabricator.mitk.org/diffusion/MITK/mitk.git" CACHE STRING "The git repository for cloning MITK")
   set(MITK_GIT_TAG "releases/2016-03" CACHE STRING "The git tag/hash to be used when cloning from MITK_GIT_REPOSITORY")
   mark_as_advanced(MITK_SOURCE_DIR MITK_GIT_REPOSITORY MITK_GIT_TAG)
-
+
   #-----------------------------------------------------------------------------
   # Create the final variable containing superbuild boolean args
   #-----------------------------------------------------------------------------
@@ -137,11 +137,11 @@
   if(MITK_USE_QT AND QT_QMAKE_EXECUTABLE)
     list(APPEND additional_mitk_cmakevars "-DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}")
   endif()
-
+
   if(MITK_USE_CTK)
     list(APPEND additional_mitk_cmakevars "-DGIT_EXECUTABLE:FILEPATH=${GIT_EXECUTABLE}")
   endif()
-
+
   if(MITK_INITIAL_CACHE_FILE)
     list(APPEND additional_mitk_cmakevars "-DMITK_INITIAL_CACHE_FILE:INTERNAL=${MITK_INITIAL_CACHE_FILE}")
   endif()
@@ -151,12 +151,12 @@
   else()
     set(MITK_BINARY_DIR ${proj}-build)
   endif()
-
+
   set(proj_DEPENDENCIES)
   set(MITK_DEPENDS ${proj})
-
+
   # Configure the MITK souce code location
-
+
   if(NOT MITK_SOURCE_DIR)
     set(mitk_source_location
         SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
@@ -188,7 +188,7 @@
     DEPENDS
       ${proj_DEPENDENCIES}
     )
-
+
   if(MITK_USE_SUPERBUILD)
     set(MITK_DIR "${CMAKE_CURRENT_BINARY_DIR}/${MITK_BINARY_DIR}/MITK-build")
   else()
@@ -197,34 +197,34 @@

 else()

-  # The project is provided using MITK_DIR, nevertheless since other
+  # The project is provided using MITK_DIR, nevertheless since other
   # projects may depend on MITK, let's add an 'empty' one
   MacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
-
+
   # Further, do some sanity checks in the case of a pre-built MITK
   set(my_itk_dir ${ITK_DIR})
   set(my_vtk_dir ${VTK_DIR})
   set(my_qmake_executable ${QT_QMAKE_EXECUTABLE})

   find_package(MITK REQUIRED)
-
+
   if(my_itk_dir AND ITK_DIR)
     if(NOT my_itk_dir STREQUAL ${ITK_DIR})
       message(FATAL_ERROR "ITK packages do not match:\n   ${MY_PROJECT_NAME}: ${my_itk_dir}\n  MITK: ${ITK_DIR}")
     endif()
   endif()
-
+
   if(my_vtk_dir AND VTK_DIR)
     if(NOT my_vtk_dir STREQUAL ${VTK_DIR})
       message(FATAL_ERROR "VTK packages do not match:\n   ${MY_PROJECT_NAME}: ${my_vtk_dir}\n  MITK: ${VTK_DIR}")
     endif()
   endif()
-
+
   if(my_qmake_executable AND MITK_QMAKE_EXECUTABLE)
     if(NOT my_qmake_executable STREQUAL ${MITK_QMAKE_EXECUTABLE})
       message(FATAL_ERROR "Qt qmake does not match:\n   ${MY_PROJECT_NAME}: ${my_qmake_executable}\n  MITK: ${MITK_QMAKE_EXECUTABLE}")
     endif()
   endif()
-
+
 endif()


Update distribution prefix

Update distribution prefix

--- CreateDistributions.cmake
+++ CreateDistributions.cmake
@@ -1,13 +1,14 @@

 function(config_packages_deb)
   set(options)
-  set(singleValueOpts DEPENDS SECTION)
+  set(singleValueOpts DEPENDS SECTION RECOMMENDS)
   set(multiValueOpts)

   cmake_parse_arguments(CONFIG_PACKAGES "${options}" "${singleValueOpts}" "${multiValueOpts}" ${ARGN})

   set(CPACK_DEBIAN_PACKAGE_DEPENDS ${CONFIG_PACKAGES_DEPENDS})
   set(CPACK_DEBIAN_PACKAGE_SECTION ${CONFIG_PACKAGES_SECTION})
+  set(CPACK_DEBIAN_PACKAGE_RECOMMENDS ${CONFIG_PACKAGES_RECOMMENDS})

 endfunction()

@@ -30,8 +31,8 @@

   cmake_parse_arguments(GEN_PACKAGE "${options}" "${singleValueOpts}" "${multiValueOpts}" ${ARGN})

-  if (NOT GEN_PACKAGE_TYPE)
-    set(GEN_PACKAGE_TYPE "DEB;RPM;MACOSX_BUNDLE;TGZ;ZIP")
+  if (NOT GEN_PACKAGE_TYPES)
+    set(GEN_PACKAGE_TYPES "DEB;RPM;TGZ;ZIP")
   endif()

   if (NOT GEN_PACKAGE_MAINTAINER)
@@ -47,7 +48,7 @@
   endif()

   if (NOT GEN_PACKAGE_INSTALL_PREFIX)
-    set(GEN_PACKAGE_INSTALL_PREFIX "/usr/local")
+    set(GEN_PACKAGE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
   endif()

   if (NOT GEN_PACKAGE_LICENSE)
@@ -59,7 +60,7 @@
   endif()

   # Tell CPack to generate a .deb package
-  set(CPACK_GENERATOR GEN_PACKAGE_TYPE)
+  set(CPACK_GENERATOR ${GEN_PACKAGE_TYPES})

   # Set a Package Maintainer.
   # This is required


Use Assimp's zlib

Use Assimp's zlib

--- External/FindAssimp.cmake
+++ External/FindAssimp.cmake
@@ -10,8 +10,6 @@

 INCLUDE(ExternalProject)
 INCLUDE(FindPackageHandleStandardArgs)
-
-MESSAGE(STATUS "Looking for Assimp")

 if(CMAKE_SIZEOF_VOID_P EQUAL 8)
 	set(ASSIMP_ARCHITECTURE "64")
@@ -28,6 +26,7 @@
   -DASSIMP_NO_EXPORT:BOOL=ON
   -DASSIMP_BUILD_ASSIMP_TOOLS:BOOL=OFF
   -DASSIMP_BUILD_TESTS:BOOL=OFF
+  -DASSIMP_BUILD_ZLIB:BOOL=ON
 )

 ExternalProject_Add(ext_Assimp
@@ -45,9 +44,11 @@
 IF (MSVC)
   SET(ASSIMP_LIBRARY ${install_dir}/lib${ASSIMP_ARCHITECTURE}/assimp.lib)
   SET(IRRXML_LIBRARY ${install_dir}/lib${ASSIMP_ARCHITECTURE}/IrrXML.lib)
+  SET(ZLIB_LIBRARY ${install_dir}/lib${ASSIMP_ARCHITECTURE}/zlibstatic.lib)
 ELSE (MSVC)
   SET(ASSIMP_LIBRARY ${install_dir}/lib/libassimp.a)
   SET(IRRXML_LIBRARY ${install_dir}/lib/libIrrXML.a)
+  SET(ZLIB_LIBRARY ${install_dir}/lib/libzlibstatic.a)
 ENDIF (MSVC)

 add_library(Assimp STATIC IMPORTED)
@@ -60,10 +61,10 @@
   ASSIMP_LIBRARY
 )

-find_package(ZLIB REQUIRED)
+# find_package(ZLIB REQUIRED)

 # Define ASSIMP_LIBRARIES and ASSIMP_INCLUDE_DIRS
 if (ASSIMP_FOUND)
-	set(ASSIMP_LIBRARIES ${ASSIMP_LIBRARY} ${IRRXML_LIBRARY} ${ZLIB_LIBRARIES})
+	set(ASSIMP_LIBRARIES ${ASSIMP_LIBRARY} ${IRRXML_LIBRARY} ${ZLIB_LIBRARY})
 	set(ASSIMP_INCLUDE_DIRS ${ASSIMP_INCLUDE_DIR})
 endif ()


cmake-modules:
* FindThirdPartyThinkGearAPI.cmake : fix a problem when multiple version were installed

git-svn-id: ed1ce8e5c168003d808aec37bc6fda77b178f7bb@2902 c330d7e9-fc0c-0410-a5b3-fd85c6f5aa8f

--- trunk/cmake-modules/FindThirdPartyThinkGearAPI.cmake
+++ trunk/cmake-modules/FindThirdPartyThinkGearAPI.cmake
@@ -4,10 +4,10 @@
 # Adds include path
 # ---------------------------------
 IF(WIN32)
-	FIND_PATH(PATH_ThinkGearAPI thinkgear.h PATHS "C:/Program Files/MindSet Development Tools/tgcd/win32"  $ENV{OpenViBE_dependencies})
-	IF(PATH_ThinkGearAPI)
+	FIND_PATH(PATH_ThinkGearAPIOld thinkgear.h PATHS "C:/Program Files/MindSet Development Tools/tgcd/win32"  $ENV{OpenViBE_dependencies})
+	IF(PATH_ThinkGearAPIOld)
 		MESSAGE(STATUS "  Found a ThinkGear API, but the version seems inferior to 2.1.")
-	ENDIF(PATH_ThinkGearAPI)
+	ENDIF(PATH_ThinkGearAPIOld)

 	FIND_PATH(PATH_ThinkGearAPI thinkgear.h PATHS "C:/Program Files/MindSet Development Tools/ThinkGear Communications Driver/win32" "C:/Program Files (x86)/MindSet Development Tools/ThinkGear Communications Driver/win32" $ENV{OpenViBE_dependencies})
 	IF(PATH_ThinkGearAPI)


cpack: add debian package descriptions

cpack: add debian package descriptions

--- scripts/cmake/ElektraPackaging.cmake
+++ scripts/cmake/ElektraPackaging.cmake
@@ -102,122 +102,129 @@
 		set (CPACK_DEBIAN_RUNTIME_DEBUGINFO_PACKAGE "ON")

 		set (CPACK_DEBIAN_LIBELEKTRA4_PACKAGE_NAME "libelektra4")
-		set (CPACK_COMPONENT_LIBELEKTRA4_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4_DISPLAY_NAME "libelektra4")
+		set (
+			CPACK_COMPONENT_LIBELEKTRA4_DESCRIPTION
+			"This package contains the main elektra library, and most of the core plugins")

 		set (CPACK_DEBIAN_LIBELEKTRA4-FULL_PACKAGE_NAME "libelektra4-full")
-		set (CPACK_COMPONENT_LIBELEKTRA4-FULL_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-FULL_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-FULL_DISPLAY_NAME "libelektra4-full")
+		set (
+			CPACK_COMPONENT_LIBELEKTRA4-FULL_DESCRIPTION
+			"This package contains an variant of the Elektra library in which all plugins
+			are linked together to a full library. The package is only needed for testing.")

 		set (CPACK_DEBIAN_LIBELEKTRA4-EXPERIMENTAL_PACKAGE_NAME "libelektra4-experimental")
-		set (CPACK_COMPONENT_LIBELEKTRA4-EXPERIMENTAL_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-EXPERIMENTAL_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-EXPERIMENTAL_DISPLAY_NAME "libelektra4-experimental")
+		set (CPACK_COMPONENT_LIBELEKTRA4-EXPERIMENTAL_DESCRIPTION "This package contains experimental plugins.")

 		set (CPACK_DEBIAN_LIBELEKTRA4-EXTRA_PACKAGE_NAME "libelektra4-extra")
-		set (CPACK_COMPONENT_LIBELEKTRA4-EXTRA_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-EXTRA_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-EXTRA_DISPLAY_NAME "libelektra4-extra")
+		set (CPACK_COMPONENT_LIBELEKTRA4-EXTRA_DESCRIPTION "This package contains extra plugins.")

 		set (CPACK_DEBIAN_ELEKTRA-BIN_PACKAGE_NAME "elektra-bin")
-		set (CPACK_COMPONENT_ELEKTRA-BIN_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_ELEKTRA-BIN_DESCRIPTION "")
+		set (CPACK_COMPONENT_ELEKTRA-BIN_DISPLAY_NAME "elektra-bin")
+		set (CPACK_COMPONENT_ELEKTRA-BIN_DESCRIPTION "This package contains command line utilities for Elektra.")
 		set (CPACK_COMPONENT_ELEKTRA-BIN_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-AUGEAS_PACKAGE_NAME "libelektra4-augeas")
-		set (CPACK_COMPONENT_LIBELEKTRA4-AUGEAS_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-AUGEAS_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-AUGEAS_DISPLAY_NAME "libelektra4-augeas")
+		set (CPACK_COMPONENT_LIBELEKTRA4-AUGEAS_DESCRIPTION "This package contains the 'augeas' plugin.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-AUGEAS_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-DBUS_PACKAGE_NAME "libelektra4-dbus")
-		set (CPACK_COMPONENT_LIBELEKTRA4-DBUS_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-DBUS_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-DBUS_DISPLAY_NAME "libelektra4-dbus")
+		set (CPACK_COMPONENT_LIBELEKTRA4-DBUS_DESCRIPTION "This package contains the 'dbus' plugins.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-DBUS_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA-DEV_PACKAGE_NAME "libelektra-dev")
-		set (CPACK_COMPONENT_LIBELEKTRA-DEV_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA-DEV_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA-DEV_DISPLAY_NAME "libelektra-dev")
+		set (CPACK_COMPONENT_LIBELEKTRA-DEV_DESCRIPTION "This package contains the development files for the main Elektra library.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-DBUS_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-ZEROMQ_PACKAGE_NAME "libelektra4-zeromq")
-		set (CPACK_COMPONENT_LIBELEKTRA4-ZEROMQ_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-ZEROMQ_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-ZEROMQ_DISPLAY_NAME "libelektra4-zeromq")
+		set (CPACK_COMPONENT_LIBELEKTRA4-ZEROMQ_DESCRIPTION "This package contains the 'zeromq' plugins.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-ZEROMQ_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-XMLTOOL_PACKAGE_NAME "libelektra4-xmltool")
-		set (CPACK_COMPONENT_LIBELEKTRA4-XMLTOOL_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-XMLTOOL_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-XMLTOOL_DISPLAY_NAME "libelektra4-xmltool")
+		set (CPACK_COMPONENT_LIBELEKTRA4-XMLTOOL_DESCRIPTION "This package contains the 'xmltool' plugin.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-XMLTOOL_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-XERCES_PACKAGE_NAME "libelektra4-xerces")
-		set (CPACK_COMPONENT_LIBELEKTRA4-XERCES_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-XERCES_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-XERCES_DISPLAY_NAME "libelektra4-xerces")
+		set (CPACK_COMPONENT_LIBELEKTRA4-XERCES_DESCRIPTION "This package contains the 'xerces' plugin.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-XERCES_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-YAJL_PACKAGE_NAME "libelektra4-yajl")
-		set (CPACK_COMPONENT_LIBELEKTRA4-YAJL_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-YAJL_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-YAJL_DISPLAY_NAME "libelektra4-yajl")
+		set (CPACK_COMPONENT_LIBELEKTRA4-YAJL_DESCRIPTION "This package contains the 'yajl' plugin.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-YAJL_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-CRYPTO_PACKAGE_NAME "libelektra4-crypto")
-		set (CPACK_COMPONENT_LIBELEKTRA4-CRYPTO_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-CRYPTO_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-CRYPTO_DISPLAY_NAME "libelektra4-crypto")
+		set (CPACK_COMPONENT_LIBELEKTRA4-CRYPTO_DESCRIPTION "This package contains the crypto plugins.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-CRYPTO_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-CURL_PACKAGE_NAME "libelektra4-curl")
-		set (CPACK_COMPONENT_LIBELEKTRA4-CURL_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-CURL_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-CURL_DISPLAY_NAME "libelektra4-curl")
+		set (CPACK_COMPONENT_LIBELEKTRA4-CURL_DESCRIPTION "This package contains the 'curlget' plugin.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-CURL_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-JOURNALD_PACKAGE_NAME "libelektra4-journald")
-		set (CPACK_COMPONENT_LIBELEKTRA4-JOURNALD_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-JOURNALD_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-JOURNALD_DISPLAY_NAME "libelektra4-journald")
+		set (CPACK_COMPONENT_LIBELEKTRA4-JOURNALD_DESCRIPTION "This package contains the 'journald' plugins.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-JOURNALD_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-LUA_PACKAGE_NAME "libelektra4-lua")
-		set (CPACK_COMPONENT_LIBELEKTRA4-LUA_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-LUA_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-LUA_DISPLAY_NAME "libelektra4-lua")
+		set (CPACK_COMPONENT_LIBELEKTRA4-LUA_DESCRIPTION "This package contains the 'lua' plugin.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-LUA_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LUA-ELEKTRA_PACKAGE_NAME "lua-elektra")
-		set (CPACK_COMPONENT_LUA-ELEKTRA_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LUA-ELEKTRA_DESCRIPTION "")
+		set (CPACK_COMPONENT_LUA-ELEKTRA_DISPLAY_NAME "lua-elektra")
+		set (CPACK_COMPONENT_LUA-ELEKTRA_DESCRIPTION "This package contains the Lua bindings.")
 		set (CPACK_COMPONENT_LUA-ELEKTRA_DEPENDS "libelektra4")

 		# maybe add python3:depends? (see control file)
 		set (CPACK_DEBIAN_PYTHON3-ELEKTRA_PACKAGE_NAME "python3-elektra")
-		set (CPACK_COMPONENT_PYTHON3-ELEKTRA_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_PYTHON3-ELEKTRA_DESCRIPTION "")
+		set (CPACK_COMPONENT_PYTHON3-ELEKTRA_DISPLAY_NAME "python3-elektra")
+		set (CPACK_COMPONENT_PYTHON3-ELEKTRA_DESCRIPTION "This package contains the Python 3 bindings.")
 		set (CPACK_COMPONENT_PYTHON3-ELEKTRA_DEPENDS "libelektra4")

 		set (CPACK_DEBIAN_LIBELEKTRA4-PYTHON_PACKAGE_NAME "libelektra4-python")
-		set (CPACK_COMPONENT_LIBELEKTRA4-PYTHON_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-PYTHON_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-PYTHON_DISPLAY_NAME "libelektra4-python")
+		set (CPACK_COMPONENT_LIBELEKTRA4-PYTHON_DESCRIPTION "This package contains the 'python' plugin.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-PYTHON_DEPENDS "libelektra4" "python3-elektra")

 		set (CPACK_DEBIAN_ELEKTRA-BIN-EXTRA_PACKAGE_NAME "elektra-bin-extra")
-		set (CPACK_COMPONENT_ELEKTRA-BIN-EXTRA_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LEKTRA-BIN-EXTRA_DESCRIPTION "")
+		set (CPACK_COMPONENT_ELEKTRA-BIN-EXTRA_DISPLAY_NAME "elektra-bin-extra")
+		set (
+			CPACK_COMPONENT_LEKTRA-BIN-EXTRA_DESCRIPTION
+			"This package contains extra command line utilities for Elektra written in non-shell languages like python.")
 		set (CPACK_COMPONENT_ELEKTRA-BIN-EXTRA_DEPENDS "libelektra4")
 		set (CPACK_DEBIAN_ELEKTRA-BIN-EXTRA_PACKAGE_DEPENDS "python-all")

 		set (CPACK_DEBIAN_ELEKTRA-QT-GUI_PACKAGE_NAME "elektra-qt-gui")
-		set (CPACK_COMPONENT_ELEKTRA-QT-GUI_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_ELEKTRA-QT-GUI_DESCRIPTION "")
+		set (CPACK_COMPONENT_ELEKTRA-QT-GUI_DISPLAY_NAME "elektra-qt-gui")
+		set (CPACK_COMPONENT_ELEKTRA-QT-GUI_DESCRIPTION "This package contains a Qt-based graphical interface for Elektra.")
 		set (CPACK_COMPONENT_ELEKTRA-QT-GUI_DEPENDS "libelektra4")
 		# TODO: add condition for debian and ubuntu
 		set (CPACK_DEBIAN_ELEKTRA-QT-GUI_PACKAGE_DEPENDS "qml-module-qtquick2, qml-module-qtquick-window2, qml-module-qtquick-dialogs, qml-module-qt-labs-folderlistmodel, qml-module-qt-labs-settings")

 		set (CPACK_DEBIAN_ELEKTRA-TESTS_PACKAGE_NAME "elektra-tests")
-		set (CPACK_COMPONENT_ELEKTRA-TESTS_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_ELEKTRA-TESTS_DESCRIPTION "")
+		set (CPACK_COMPONENT_ELEKTRA-TESTS_DISPLAY_NAME "elektra-tests")
+		set (CPACK_COMPONENT_ELEKTRA-TESTS_DESCRIPTION "This package contains the Elektra test suite.")
 		set (CPACK_COMPONENT_ELEKTRA-TESTS_DEPENDS "libelektra4-full" "elektra-bin")

 		set (CPACK_DEBIAN_ELEKTRA-DOC_PACKAGE_NAME "elektra-doc")
-		set (CPACK_COMPONENT_ELEKTRA-DOC_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_ELEKTRA-DOC_DESCRIPTION "")
+		set (CPACK_COMPONENT_ELEKTRA-DOC_DISPLAY_NAME "elektra-doc")
+		set (CPACK_COMPONENT_ELEKTRA-DOC_DESCRIPTION "This package contains the API documentation for the Elektra libraries.")

 		set (CPACK_DEBIAN_LIBELEKTRA4-ALL_PACKAGE_NAME "libelektra4-all")
-		set (CPACK_COMPONENT_LIBELEKTRA4-ALL_DISPLAY_NAME "")
-		set (CPACK_COMPONENT_LIBELEKTRA4-ALL_DESCRIPTION "")
+		set (CPACK_COMPONENT_LIBELEKTRA4-ALL_DISPLAY_NAME "libelektra4-all")
+		set (CPACK_COMPONENT_LIBELEKTRA4-ALL_DESCRIPTION "This package contains extra command line utilities for Elektra written in non-shell languages like python.")
 		set (CPACK_COMPONENT_LIBELEKTRA4-ALL_DEPENDS "libelektra4" "libelektra4-experimental" "libelektra4-augeas" "libelektra4-dbus" "libelektra4-zeromq" "libelektra4-lua" "libelektra4-python" "libelektra4-xmltool" "libelektra4-xerces" "libelektra4-yajl" "lua-elektra" "elektra-bin" "elektra-qt-gui" "libelektra4-crypto" "libelektra4-curl" "libelektra4-journald" "libelektra4-extra")

 		# build debug package for each component


fptu: subtree-pull erthink upstream (fix cmake macro).

Merge commit '1e507372506f2ab30b4949d9aa72b151e95e3be7' into stable-devel

--- src/erthink/cmake/utils.cmake
+++ src/erthink/cmake/utils.cmake
@@ -145,8 +145,9 @@
     set(${name}_GIT_REVISION 0)

     # Try to get version from VERSION file
-    if(EXISTS "${version_file}/VERSION")
-      file(STRINGS "${version_file}/VERSION" ${name}_VERSION)
+    set(version_file "${source_root_directory}/VERSION")
+    if(EXISTS "${version_file}")
+      file(STRINGS "${version_file}" ${name}_VERSION LIMIT_COUNT 1 LIMIT_INPUT 42)
     endif()

     if(NOT ${name}_VERSION)


PROTON-1777: Update .so versions after ABI change review

--- proton-c/versions.cmake
+++ proton-c/versions.cmake
@@ -1,19 +1,19 @@
 set(PN_LIB_CORE_MAJOR_VERSION 10)
 set(PN_LIB_CORE_MINOR_VERSION 3)
-set(PN_LIB_CORE_PATCH_VERSION 0)
+set(PN_LIB_CORE_PATCH_VERSION 1)
 set(PN_LIB_CORE_VERSION "${PN_LIB_CORE_MAJOR_VERSION}.${PN_LIB_CORE_MINOR_VERSION}.${PN_LIB_CORE_PATCH_VERSION}")

 set(PN_LIB_PROACTOR_MAJOR_VERSION 1)
-set(PN_LIB_PROACTOR_MINOR_VERSION 2)
-set(PN_LIB_PROACTOR_PATCH_VERSION 1)
+set(PN_LIB_PROACTOR_MINOR_VERSION 3)
+set(PN_LIB_PROACTOR_PATCH_VERSION 0)
 set(PN_LIB_PROACTOR_VERSION "${PN_LIB_PROACTOR_MAJOR_VERSION}.${PN_LIB_PROACTOR_MINOR_VERSION}.${PN_LIB_PROACTOR_PATCH_VERSION}")

 set(PN_LIB_LEGACY_MAJOR_VERSION 11)
-set(PN_LIB_LEGACY_MINOR_VERSION 3)
+set(PN_LIB_LEGACY_MINOR_VERSION 4)
 set(PN_LIB_LEGACY_PATCH_VERSION 0)
 set(PN_LIB_LEGACY_VERSION "${PN_LIB_LEGACY_MAJOR_VERSION}.${PN_LIB_LEGACY_MINOR_VERSION}.${PN_LIB_LEGACY_PATCH_VERSION}")

-set(PN_LIB_CPP_MAJOR_VERSION 11)
-set(PN_LIB_CPP_MINOR_VERSION 2)
-set(PN_LIB_CPP_PATCH_VERSION 1)
+set(PN_LIB_CPP_MAJOR_VERSION 12)
+set(PN_LIB_CPP_MINOR_VERSION 0)
+set(PN_LIB_CPP_PATCH_VERSION 0)
 set(PN_LIB_CPP_VERSION "${PN_LIB_CPP_MAJOR_VERSION}.${PN_LIB_CPP_MINOR_VERSION}.${PN_LIB_CPP_PATCH_VERSION}")


Strip debugging symbol table entries on OS X Release builds.

--- functions.cmake
+++ functions.cmake
@@ -113,7 +113,7 @@
           POST_BUILD
           VERBATIM
           COMMAND ${DSYMUTIL} --flat --minimize ${strip_source_file}
-          COMMAND ${STRIP} -u -r ${strip_source_file}
+          COMMAND ${STRIP} -S ${strip_source_file}
           COMMENT Stripping symbols from ${strip_source_file} into file ${strip_destination_file}
         )
       elseif(CMAKE_SYSTEM_NAME STREQUAL Linux)


cmake: Install service binary directly to prefix

--- etc/service.cmake
+++ etc/service.cmake
@@ -167,4 +167,5 @@
   DEPENDS service
 )

-install(TARGETS service DESTINATION bin)
+# install binary directly to prefix (which should be service root)
+install(TARGETS service DESTINATION ${CMAKE_INSTALL_PREFIX})


Fixed merge conflict

Fixed merge conflict

--- CMake/hoomd/HOOMDPythonSetup.cmake
+++ CMake/hoomd/HOOMDPythonSetup.cmake
@@ -72,41 +72,3 @@

 INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs DEFAULT_MSG PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)
-
-# always link the dynamic python library
-get_filename_component(_python_lib_first ${_python_dynamic_lib_name} NAME)
-
-find_path(PYTHON_INCLUDE_DIR Python.h
-          HINTS ${_python_include_hint}
-          NO_DEFAULT_PATH)
-
-# add a blank suffix to the beginning to find the Python framework
-set(_old_suffixes ${CMAKE_FIND_LIBRARY_SUFFIXES})
-set(CMAKE_FIND_LIBRARY_SUFFIXES ";${CMAKE_FIND_LIBRARY_SUFFIXES}")
-find_library(PYTHON_LIBRARY
-             NAMES ${_python_lib_first} python${_python_version_no_dots} python${PYTHON_VERSION}
-             HINTS ${_python_prefix_hint} ${_python_static_hint} ${_python_lib_hint}
-             PATH_SUFFIXES lib64 lib libs
-             NO_DEFAULT_PATH
-             )
-set(${CMAKE_FIND_LIBRARY_SUFFIXES} _old_suffixes)
-
-MARK_AS_ADVANCED(
-  PYTHON_LIBRARY
-  PYTHON_INCLUDE_DIR
-  BOOST_PYTHON_COMPONENT
-)
-
-SET(PYTHON_INCLUDE_DIRS "${PYTHON_INCLUDE_DIR}")
-SET(PYTHON_LIBRARIES "${PYTHON_LIBRARY}")
-
-if (_python_version VERSION_GREATER 3)
-    SET(BOOST_PYTHON_COMPONENT "python3" CACHE String "Name of Boost.Python component" FORCE )
-    SET(PY_3K TRUE CACHE BOOL "True if python version >= 3" FORCE)
-else()
-    SET(BOOST_PYTHON_COMPONENT "python" CACHE String "Name of Boost.Python component" FORCE )
-    SET(PY_3K FALSE CACHE BOOL "True if python version >= 3" FORCE)
-endif()
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PythonLibs DEFAULT_MSG PYTHON_LIBRARIES PYTHON_INCLUDE_DIRS)


FindOpenJPEG.cmake: Fix incorrectly quoted variable name (#2560)

This error was preventing it from correctly identifying that a found version of libopenjpeg was too old.

--- src/cmake/modules/FindOpenJpeg.cmake
+++ src/cmake/modules/FindOpenJpeg.cmake
@@ -150,8 +150,7 @@

 # Use the standard function to handle OPENJPEG_FOUND
 FIND_PACKAGE_HANDLE_STANDARD_ARGS (OpenJpeg
-  FOUND_VAR OPENJPEG_FOUND
-  VERSION_VAR ${OPENJPEG_VERSION}
+  VERSION_VAR OPENJPEG_VERSION
   REQUIRED_VARS OPENJPEG_INCLUDE_DIR ${OpenJpeg_libvars})

 if (OPENJPEG_FOUND)


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -556,11 +556,19 @@
 				message(FATAL_ERROR "no valgrind detected")
 			endif()
 		endif()
-		add_test(
-			NAME ${_TEST_NAME}${_TEST_SUFFIX}
-			COMMAND bash cmaki_emulator.sh $<TARGET_FILE:${_TEST_NAME}${_TEST_SUFFIX}> --gmock_verbose=error
-			WORKING_DIRECTORY $ENV{CMAKI_INSTALL}
-			CONFIGURATIONS ${BUILD_TYPE})
+		if(WIN32)
+			add_test(
+				NAME ${_TEST_NAME}${_TEST_SUFFIX}
+				COMMAND $<TARGET_FILE:${_TEST_NAME}${_TEST_SUFFIX}> --gmock_verbose=error
+				WORKING_DIRECTORY $ENV{CMAKI_INSTALL}
+				CONFIGURATIONS ${BUILD_TYPE})
+		else()
+			add_test(
+				NAME ${_TEST_NAME}${_TEST_SUFFIX}
+				COMMAND bash cmaki_emulator.sh $<TARGET_FILE:${_TEST_NAME}${_TEST_SUFFIX}> --gmock_verbose=error
+				WORKING_DIRECTORY $ENV{CMAKI_INSTALL}
+				CONFIGURATIONS ${BUILD_TYPE})
+		endif()
 	endforeach()
 	generate_vcxproj_user(${_TEST_NAME})


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -521,6 +521,7 @@

 macro(cmaki_python_library)
 	cmaki2_library(${ARGV})
-	list(GET ${ARGV} 0 TARGET_NAME)
+	set(PARAMETERS ${ARGV})
+	list(GET PARAMETERS 0 TARGET_NAME)
 	set_target_properties(${TARGET_NAME} PROPERTIES PREFIX "")
 endmacro()


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -248,22 +248,22 @@
 		find_package(${PACKAGE} ${VERSION} REQUIRED)
 	endif()

-	# 13 aÃ±adir los includes
+	# 13 add includes
 	string(TOUPPER "${PACKAGE}" PACKAGE_UPPER)
 	foreach(INCLUDE_DIR ${${PACKAGE_UPPER}_INCLUDE_DIRS})
 		list(APPEND CMAKI_INCLUDE_DIRS "${INCLUDE_DIR}")
 	endforeach()

-	# 14. añadir los libdir
+	# 14. add libdirs
 	foreach(LIB_DIR ${${PACKAGE_UPPER}_LIBRARIES})
 		list(APPEND CMAKI_LIBRARIES "${LIB_DIR}")
 	endforeach()

-	# 15. aÃ±adir variables especificas
+	# 15. add vers specific
 	set(${PACKAGE_UPPER}_INCLUDE_DIRS "${${PACKAGE_UPPER}_INCLUDE_DIRS}" PARENT_SCOPE)
 	set(${PACKAGE_UPPER}_LIBRARIES "${${PACKAGE_UPPER}_LIBRARIES}" PARENT_SCOPE)

-	# 16. aÃ±aadir variabes generales
+	# 16. add vars globals
 	set(CMAKI_INCLUDE_DIRS "${CMAKI_INCLUDE_DIRS}" PARENT_SCOPE)
 	set(CMAKI_LIBRARIES "${CMAKI_LIBRARIES}" PARENT_SCOPE)

@@ -414,9 +414,6 @@
 		target_link_libraries(${_EXECUTABLE_NAME} ${LIB_DIR})
 		cmaki_install_3rdparty(${LIB_DIR})
 	endforeach()
-	if(CONAN_LIBS)
-		target_link_libraries(${_EXECUTABLE_NAME} ${CONAN_LIBS})
-	endif()
 	if(HAVE_PTHREADS)
 		target_link_libraries(${_EXECUTABLE_NAME} -lpthread)
 	endif()
@@ -450,9 +447,6 @@
 		target_link_libraries(${_LIBRARY_NAME} ${LIB_DIR})
 		cmaki_install_3rdparty(${LIB_DIR})
 	endforeach()
-	if(CONAN_LIBS)
-		target_link_libraries(${_LIBRARY_NAME} ${CONAN_LIBS})
-	endif()
 	if(HAVE_PTHREADS)
 		target_link_libraries(${_LIBRARY_NAME} -lpthread)
 	endif()
@@ -486,9 +480,6 @@
 		target_link_libraries(${_LIBRARY_NAME} ${LIB_DIR})
 		cmaki_install_3rdparty(${LIB_DIR})
 	endforeach()
-	if(CONAN_LIBS)
-		target_link_libraries(${_LIBRARY_NAME} ${CONAN_LIBS})
-	endif()
 	if(HAVE_PTHREADS)
 		target_link_libraries(${_LIBRARY_NAME} -lpthread)
 	endif()
@@ -497,7 +488,6 @@
 					DESTINATION ${BUILD_TYPE}/${_SUFFIX_DESTINATION}
 					CONFIGURATIONS ${BUILD_TYPE})
 	endforeach()
-
 endfunction()

 function(cmaki2_test)
@@ -518,9 +508,6 @@
 		target_link_libraries(${_TEST_NAME}_exe ${LIB_DIR})
 		cmaki_install_3rdparty(${LIB_DIR})
 	endforeach()
-	if(CONAN_LIBS)
-		target_link_libraries(${_TEST_NAME}_exe ${CONAN_LIBS})
-	endif()
 	if(HAVE_PTHREADS)
 		target_link_libraries(${_TEST_NAME}_exe -lpthread)
 	endif()
@@ -528,7 +515,6 @@
 		INSTALL(  	TARGETS ${_TEST_NAME}_exe
 				DESTINATION ${BUILD_TYPE}/${_SUFFIX_DESTINATION}
 				CONFIGURATIONS ${BUILD_TYPE})
-
 		#  --gtest_repeat=1 --gtest_break_on_failure --gtest_shuffle --gmock_verbose=info
 		if (DEFINED VALGRIND_BUILD AND (CMAKE_CXX_COMPILER_ID STREQUAL "Clang") AND (CMAKE_BUILD_TYPE STREQUAL "Release"))
 			find_program(VALGRIND "valgrind")


Fix UseBoost

Fix UseBoost

--- Superbuild/UseBoost.cmake
+++ Superbuild/UseBoost.cmake
@@ -32,10 +32,15 @@
     set(FULL_LIB_NAME "${SCI_BOOST_LIBRARY_DIR}/${boost_LIB_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}")
   else()
     if(${lib} MATCHES "boost_python-mt")
-		set(FULL_LIB_NAME_RELEASE "${SCI_BOOST_LIBRARY_DIR}/${boost_LIB_PREFIX}boost_python34-mt${CMAKE_STATIC_LIBRARY_SUFFIX}")
-	else()
-		set(FULL_LIB_NAME_RELEASE "${SCI_BOOST_LIBRARY_DIR}/${boost_LIB_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}")
-	endif()
+      if(WIN32)
+		    set(FULL_LIB_NAME_RELEASE "${SCI_BOOST_LIBRARY_DIR}/${boost_LIB_PREFIX}boost_python34-mt${CMAKE_STATIC_LIBRARY_SUFFIX}")
+      else()
+        set(FULL_LIB_NAME_RELEASE "${SCI_BOOST_LIBRARY_DIR}/${boost_LIB_PREFIX}boost_python3-mt${CMAKE_STATIC_LIBRARY_SUFFIX}")
+      endif()
+	  else()
+		  set(FULL_LIB_NAME_RELEASE "${SCI_BOOST_LIBRARY_DIR}/${boost_LIB_PREFIX}${lib}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+	  endif()
+
     set(FULL_LIB_NAME_DEBUG "${SCI_BOOST_LIBRARY_DIR}/${boost_LIB_PREFIX}${lib}${DEBUG_POSTFIX}${CMAKE_STATIC_LIBRARY_SUFFIX}")
   endif()


Extracted JSONPath from MobileCommerceiOS

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -208,6 +208,7 @@
 add_target(ISO_COUNTRY_FLAGS iso-country-flags)
 add_target(IWYU iwyu)
 add_target(JSONCPP jsoncpp)
+add_target(JSONPATH jsonpath)
 add_target(LDAP ldap)
 add_target(LDAP_SASL ldap_sasl)
 add_target(LIBCROCO libcroco)
@@ -354,6 +355,7 @@
 set_libraries(imagemagick ${IMAGEMAGICK_PREFIX}/lib
               Magick++ MagickCore MagickWand)
 set_libraries(jsoncpp ${JSONCPP_PREFIX}/lib jsoncpp)
+set_libraries(jsonpath ${JSONPATH_PREFIX}/lib jsonpath)
 set_libraries(libcurl ${LIBCURL_PREFIX}/lib curl)
 set_libraries(libcxx ${LIBCXX_PREFIX}/lib c++)
 set_libraries(libcxxabi ${LIBCXXABI_PREFIX}/lib c++abi)
@@ -671,6 +673,7 @@
 set_include_directories(
     ios_ntp ${IOS_NTP_PREFIX}/include ${IOS_NTP_PREFIX}/include/ios-ntp)
 set_include_directories(jsoncpp ${JSONCPP_PREFIX}/include)
+set_include_directories(jsonpath ${JSONPATH_PREFIX}/include)
 set_include_directories(libcurl ${LIBCURL_PREFIX}/include)
 set_include_directories(libcxx ${LIBCXX_PREFIX}/include/c++/v1)
 set_include_directories(libffi ${LIBFFI_PREFIX}/include)
@@ -2163,6 +2166,36 @@
       -DCMAKE_INSTALL_PREFIX=${JSONCPP_PREFIX})

 ################################################################################
+# jsonpath.
+if (IS_IOS)
+  set(SOURCE_DIR ${MOBILE_COMMERCE_IOS_PREFIX}/src/${MOBILE_COMMERCE_IOS_TARGET})
+  set(SOURCE_DIR ${SOURCE_DIR}/ATGMobileCommon/ATGMobileCommon/JSONPath)
+  set(INSTALL_DIR ${JSONPATH_PREFIX})
+  set(SRCS
+      ${SOURCE_DIR}/ATGCustomJSONPathManager.m
+      ${SOURCE_DIR}/ATGCustomJSONPathParser.m
+      ${SOURCE_DIR}/ATGCustomJSONPathRegex.m
+      ${SOURCE_DIR}/ATGDefaultJSONPathRegex.m
+      ${SOURCE_DIR}/ATGJSONPathManager.m
+      ${SOURCE_DIR}/ATGJSONPathParser.m
+      ${SOURCE_DIR}/ATGJSONPathTokenizer.m)
+  set_source_files_properties(${SRCS} PROPERTIES GENERATED TRUE)
+  objc_library(${JSONPATH_TARGET} ${SRCS})
+  add_custom_command(
+    TARGET ${JSONPATH_TARGET} POST_BUILD
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${INSTALL_DIR}/include/JSONPath
+    COMMAND find . -name "*.h" | cpio -dp ${INSTALL_DIR}/include/JSONPath
+    WORKING_DIRECTORY ${SOURCE_DIR}
+    VERBATIM)
+  set_target_properties(
+      ${JSONPATH_TARGET} PROPERTIES
+      ARCHIVE_OUTPUT_DIRECTORY ${INSTALL_DIR}/lib
+      LIBRARY_OUTPUT_DIRECTORY ${INSTALL_DIR}/lib
+      OUTPUT_NAME jsonpath)
+  add_dependencies(${JSONPATH_TARGET} ${MOBILE_COMMERCE_IOS_TARGET}_download)
+endif ()
+
+################################################################################
 # LDAP.
 set(LDAP_CPPFLAGS "-I${BERKELEY_DB_PREFIX}/include")
 set(LDAP_LDFLAGS "-L${BERKELEY_DB_PREFIX}/lib")
@@ -2591,22 +2624,32 @@
 ################################################################################
 # MobileCommerceiOS.
 if (IS_IOS)
-  string(REGEX REPLACE "^-" "" SDK ${CMAKE_XCODE_EFFECTIVE_PLATFORMS})
   add_external_project(
-    ${MOBILE_COMMERCE_IOS_TARGET}
+    ${MOBILE_COMMERCE_IOS_TARGET}_download
     PREFIX ${MOBILE_COMMERCE_IOS_PREFIX}
     DOWNLOAD_COMMAND
         ${GIT} clone --depth 1 git://github.com/QuentinFiard/MobileCommerceiOS
             ${MOBILE_COMMERCE_IOS_TARGET}
     CONFIGURE_COMMAND ${NOP}
+    BUILD_COMMAND ${NOP}
+    INSTALL_COMMAND ${NOP})
+  add_external_project(
+    ${MOBILE_COMMERCE_IOS_TARGET}
+    PREFIX ${MOBILE_COMMERCE_IOS_PREFIX}
+    DOWNLOAD_COMMAND ${NOP}
+    CONFIGURE_COMMAND ${NOP}
     BUILD_COMMAND
         find <SOURCE_DIR> -path <SOURCE_DIR>/ATGMobileStore -prune -o
             -name "*.xcodeproj" -print |
-        xargs -I{} xcodebuild -project {} -configuration Release -sdk ${SDK} clean build DSTROOT=<INSTALL_DIR> INSTALL_PATH=/lib
+        xargs -I{} xcodebuild -project {} -configuration Release
+            -sdk ${XCODE_SDK} clean build DSTROOT=<INSTALL_DIR>
+            INSTALL_PATH=/lib
     INSTALL_COMMAND
         cd <SOURCE_DIR>/build/Release-${SDK} &&
         find . -name "*.h" | cpio -dp <INSTALL_DIR>/include &&
         find . -name "*.a" | cpio -dp <INSTALL_DIR>/lib)
+  add_dependencies(
+      ${MOBILE_COMMERCE_IOS_TARGET} ${MOBILE_COMMERCE_IOS_TARGET}_download)
 endif ()

 ################################################################################


BUG: Bump Cuberille Git Hash

BUG: Bump Cuberille Git Hash

--- Modules/Remote/Cuberille.remote.cmake
+++ Modules/Remote/Cuberille.remote.cmake
@@ -17,5 +17,5 @@
 http://www.insight-journal.org/browse/publication/213
 "
   GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKCuberille.git
-  GIT_TAG b4f2ae5b2d2a7f659a67f9f6f6e52e6fbf56ac41
+  GIT_TAG ff7fb806e9632a1b2c97ec49795756be9db2a12c
   )


os2: Add reentrancy definition for GCC

os2: Add reentrancy definition for GCC

--- platforms/os2-gcc/platform.cmake
+++ platforms/os2-gcc/platform.cmake
@@ -6,3 +6,7 @@
 set (PLIBSYS_LIBRARYLOADER_MODEL none)

 set (PLIBSYS_PLATFORM_LINK_LIBRARIES os2386)
+
+set (PLIBSYS_PLATFORM_DEFINES
+        -D_REENTRANT
+)


Be explicit about what tag is being cloned.

--- CPM.cmake
+++ CPM.cmake
@@ -682,7 +682,7 @@
   set(dir ${_CPM_REPO_TARGET_DIR})

   if (NOT EXISTS "${dir}/")
-    message(STATUS "Cloning repo (${repo})")
+    message(STATUS "Cloning repo (${repo} @ ${tag})")

     # Much of this clone code is taken from external project's generation
     # of its *gitclone.cmake files.


Removing space.

Removing space.

--- benchmark/checkperf.cmake
+++ benchmark/checkperf.cmake
@@ -7,7 +7,7 @@

 # Clone the repository if it's not there
 find_package(Git QUIET)
-if (SIMDJSON_IS_UNDER_GIT AND Git_FOUND AND (GIT_VERSION_STRING  VERSION_GREATER  "2.1.4")) # We use "-C" which requires a recent git
+if (SIMDJSON_IS_UNDER_GIT AND Git_FOUND AND (GIT_VERSION_STRING VERSION_GREATER  "2.1.4")) # We use "-C" which requires a recent git
   message(STATUS "Git is available and it is recent. We are enabling checkperf targets.")
   # sync_git_repository(myrepo ...) creates two targets:
   # myrepo - if the repo does not exist, creates and syncs it against the origin branch


Fixed/added conversion between CMake 'options' and Doxygen 'boolean' configuration options.

--- documentation.cmake
+++ documentation.cmake
@@ -29,30 +29,37 @@

 set( TNUN_dir "${CMAKE_CURRENT_LIST_DIR}" )

+macro( TNUN_internal_cmake2doxy_boolean boolean )
+  string( REPLACE "OFF" "NO"  ${boolean} ${${boolean}} )
+  string( REPLACE "ON"  "YES" ${boolean} ${${boolean}} )
+endmacro()
+
 function( TNUN_add_documentation )

+    # https://cmake.org/pipermail/cmake/2011-January/042313.html
+    find_package( Doxygen )
     if ( NOT DOXYGEN_FOUND )
-        find_package( Doxygen )
-        if ( NOT DOXYGEN_FOUND )
-            message( WARNING "Unable to find Doxygen" )
-            return()
-        endif()
+        message( WARNING "Unable to find Doxygen" )
+        return()
     endif()

     if ( NOT DEFINED TNUN_DOC_STAGE_PATH )
         set( TNUN_DOC_STAGE_PATH "${PROJECT_BINARY_DIR}/doc" )
     endif()

-    option( TNUN_DOC_CLANG_ASSISTED_PARSING "Use Clang for parsing sources when generating the documentation (more accurate but slower)" )
+    option( TNUN_DOC_CLANG_ASSISTED_PARSING "Use Clang for parsing sources when generating the documentation (more accurate but slower)" NO )
     if ( TNUN_DOC_CLANG_ASSISTED_PARSING )
         set( TNUN_DOXYGEN_CLANG_OPTIONS "-fms-extensions -fdelayed-template-parsing -fmsc-version=1900 -Wno-ignored-attributes -Wno-multichar -D\"BOOST_PP_CONFIG_FLAGS()\"=1 -DDOXYGEN_ONLY" )
     endif()

     option( TNUN_DOC_SHOW_NAMESPACES  YES )
-    option( TNUN_DOC_HIDE_SCOPE_NAMES YES )
+    option( TNUN_DOC_HIDE_SCOPE_NAMES NO  )

     # Convert CMake list to a Doxygen-friendly "\ + newline" separated list.
     string( REPLACE ";" " \\\n\t" TNUN_DOC_SOURCES "${TNUN_DOC_SOURCES}" )
+    TNUN_internal_cmake2doxy_boolean( TNUN_DOC_SHOW_NAMESPACES  )
+    TNUN_internal_cmake2doxy_boolean( TNUN_DOC_HIDE_SCOPE_NAMES )
+    TNUN_internal_cmake2doxy_boolean( TNUN_DOC_CLANG_ASSISTED_PARSING )
     configure_file(
         "${TNUN_dir}/doxyfile.in"
         "${PROJECT_BINARY_DIR}/doxyfile"