Improve/fix finding of FLTK on Windows.

Improve/fix finding of FLTK on Windows.

--- config/FindFLTK.cmake
+++ config/FindFLTK.cmake
@@ -14,6 +14,7 @@
 #                            - Change FLTK_IMAGES_LIBS to FLTK_IMAGES_LIBRARIES.
 #                            - Remove backwards compatible settings for CMake 1.4.
 # 14/11/2012 Andreas Schuh   - Set FLTK_INCLUDE_DIR to FLTK_INCLUDE_DIRS as used by FLTK 1.1.
+# 22/11/2012 Andreas Schuh   - Fix/improve support of FLTK build and installed on Windows.
 #
 # Find the native FLTK includes and library.  This is a hacked about version of
 # the FindFLTK.cmake module provided with CMake.
@@ -32,7 +33,13 @@
 # FLTK_IMAGES_LIBRARY  = the full path to fltk_images library

 # Help string for FLTK_DIR.
-SET(_FLTK_DIR_STRING "directory containing the FLTKConfig.cmake file (e.g., <prefix>/lib/FLTK-1.3) or installation prefix of FLTK")
+SET(_FLTK_DIR_STRING "directory containing the FLTKConfig.cmake file, e.g.,\n\t")
+IF(WIN32)
+  SET(_FLTK_DIR_STRING "${_FLTK_DIR_STRING}C:\\Program Files\\FLTK\\CMake")
+ELSE(WIN32)
+  SET(_FLTK_DIR_STRING "${_FLTK_DIR_STRING}/usr/local/lib/FLTK-1.3")
+ENDIF(WIN32)
+SET(_FLTK_DIR_STRING "${_FLTK_DIR_STRING}\nor installation prefix of FLTK")

 # Platform dependent libraries required by FLTK
 IF(WIN32)
@@ -74,8 +81,12 @@
   SET(_FLTK_CONFIG_SEARCH "")
   SET(_FLTK_DIR_SEARCH    "")
   FOREACH(_FLTK_dir ${_FLTK_DIR_SEARCH_PATH})
-    SET(_FLTK_CONFIG_SEARCH ${_FLTK_CONFIG_SEARCH} "${_FLTK_dir}/.." "${_FLTK_dir}/../lib/fltk" "${_FLTK_dir}/../lib/FLTK")
-    SET(_FLTK_DIR_SEARCH    ${_FLTK_DIR_SEARCH}    "${_FLTK_dir}/..")
+    IF(WIN32)
+      SET(_FLTK_CONFIG_SEARCH ${_FLTK_CONFIG_SEARCH} "${_FLTK_dir}/.." "${_FLTK_dir}/../CMake")
+    ELSE(WIN32)
+      SET(_FLTK_CONFIG_SEARCH ${_FLTK_CONFIG_SEARCH} "${_FLTK_dir}/.." "${_FLTK_dir}/../lib/fltk" "${_FLTK_dir}/../lib/FLTK")
+    ENDIF(WIN32)
+    SET(_FLTK_DIR_SEARCH ${_FLTK_DIR_SEARCH} "${_FLTK_dir}/..")
   ENDFOREACH(_FLTK_dir)
   UNSET(_FLTK_dir)

@@ -106,6 +117,8 @@
       [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild8]
       [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild9]
       [HKEY_CURRENT_USER\\Software\\Kitware\\CMakeSetup\\Settings\\StartPath;WhereBuild10]
+      # Look in standard Windows install locations.
+      "C:/Program Files/FLTK/CMake"
     # Help the user find it if we cannot.
     DOC "The ${_FLTK_DIR_STRING}."
   )
@@ -132,6 +145,8 @@
       /usr/include
       /usr/local/fltk
       /usr/X11R6/include
+      # Look in standard Windows install locations.
+      "C:/Program Files/FLTK"
     # Help the user find it if we cannot.
     DOC "The ${_FLTK_DIR_STRING}."
   )
@@ -145,35 +160,39 @@
 # Look for FLTK CMake configuration file or installed files and directories.
 IF(FLTK_DIR)

-  IF(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
+  IF(EXISTS ${FLTK_DIR}/FLTKConfig.cmake OR EXISTS ${FLTK_DIR}/CMake/FLTKConfig.cmake)
     SET(FLTK_BUILT_WITH_CMAKE 1)
-  ENDIF(EXISTS ${FLTK_DIR}/FLTKConfig.cmake)
+  ENDIF(EXISTS ${FLTK_DIR}/FLTKConfig.cmake OR EXISTS ${FLTK_DIR}/CMake/FLTKConfig.cmake)

   IF(FLTK_BUILT_WITH_CMAKE)

     SET(FLTK_FOUND 1)
-    INCLUDE(${FLTK_DIR}/FLTKConfig.cmake)
+    IF(EXISTS ${FLTK_DIR}/CMake/FLTKConfig.cmake)
+      INCLUDE(${FLTK_DIR}/CMake/FLTKConfig.cmake)
+    ELSE(EXISTS ${FLTK_DIR}/CMake/FLTKConfig.cmake)
+      INCLUDE(${FLTK_DIR}/FLTKConfig.cmake)
+    ENDIF(EXISTS ${FLTK_DIR}/CMake/FLTKConfig.cmake)

     IF(NOT FLTK_INCLUDE_DIR AND FLTK_INCLUDE_DIRS)
       SET(FLTK_INCLUDE_DIR "${FLTK_INCLUDE_DIRS}")
     ENDIF(NOT FLTK_INCLUDE_DIR AND FLTK_INCLUDE_DIRS)

-    SET(FLTK_BASE_LIBRARY fltk)
-    SET(FLTK_GL_LIBRARY fltk_gl)
-    SET(FLTK_FORMS_LIBRARY fltk_forms)
+    SET(FLTK_BASE_LIBRARY   fltk)
+    SET(FLTK_GL_LIBRARY     fltk_gl)
+    SET(FLTK_FORMS_LIBRARY  fltk_forms)
     SET(FLTK_IMAGES_LIBRARY fltk_images)

   ELSE(FLTK_BUILT_WITH_CMAKE)

-    FIND_PROGRAM(FLTK_CONFIG_SCRIPT    NAMES fltk-config PATHS ${FLTK_DIR}/bin ${FLTK_DIR}       NO_DEFAULT_PATH)
-    FIND_PROGRAM(FLTK_FLUID_EXECUTABLE NAMES fluid       PATHS ${FLTK_DIR}/bin ${FLTK_DIR}/fluid NO_DEFAULT_PATH)
+    FIND_PROGRAM(FLTK_CONFIG_SCRIPT    NAMES fltk-config PATHS ${FLTK_DIR}/bin ${FLTK_DIR}/bin/Release ${FLTK_DIR}/bin/Debug ${FLTK_DIR}       NO_DEFAULT_PATH)
+    FIND_PROGRAM(FLTK_FLUID_EXECUTABLE NAMES fluid       PATHS ${FLTK_DIR}/bin ${FLTK_DIR}/bin/Release ${FLTK_DIR}/bin/Debug ${FLTK_DIR}/fluid NO_DEFAULT_PATH)

     FIND_PATH(FLTK_INCLUDE_DIR NAMES FL/Fl.h FL/Fl.H PATHS ${FLTK_DIR}/include ${FLTK_DIR} NO_DEFAULT_PATH)

-    FIND_LIBRARY(FLTK_BASE_LIBRARY   NAMES fltk       fltkd                   PATHS ${FLTK_DIR}/lib NO_DEFAULT_PATH)
-    FIND_LIBRARY(FLTK_GL_LIBRARY     NAMES fltkgl     fltkgld     fltk_gl     PATHS ${FLTK_DIR}/lib NO_DEFAULT_PATH)
-    FIND_LIBRARY(FLTK_FORMS_LIBRARY  NAMES fltkforms  fltkformsd  fltk_forms  PATHS ${FLTK_DIR}/lib NO_DEFAULT_PATH)
-    FIND_LIBRARY(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images PATHS ${FLTK_DIR}/lib NO_DEFAULT_PATH)
+    FIND_LIBRARY(FLTK_BASE_LIBRARY   NAMES fltk       fltkd                   PATHS ${FLTK_DIR}/lib ${FLTK_DIR}/lib/Release ${FLTK_DIR}/lib/Debug NO_DEFAULT_PATH)
+    FIND_LIBRARY(FLTK_GL_LIBRARY     NAMES fltkgl     fltkgld     fltk_gl     PATHS ${FLTK_DIR}/lib ${FLTK_DIR}/lib/Release ${FLTK_DIR}/lib/Debug NO_DEFAULT_PATH)
+    FIND_LIBRARY(FLTK_FORMS_LIBRARY  NAMES fltkforms  fltkformsd  fltk_forms  PATHS ${FLTK_DIR}/lib ${FLTK_DIR}/lib/Release ${FLTK_DIR}/lib/Debug NO_DEFAULT_PATH)
+    FIND_LIBRARY(FLTK_IMAGES_LIBRARY NAMES fltkimages fltkimagesd fltk_images PATHS ${FLTK_DIR}/lib ${FLTK_DIR}/lib/Release ${FLTK_DIR}/lib/Debug NO_DEFAULT_PATH)

     # extra libraries needed by the fltk_images library
     IF(UNIX AND FLTK_CONFIG_SCRIPT)
@@ -194,13 +213,13 @@

 # Determine whether all required files were found.
 SET(FLTK_FOUND 1)
-FOREACH(_FLTK_var FLTK_INCLUDE_DIR FLTK_BASE_LIBRARY FLTK_GL_LIBRARY FLTK_FORMS_LIBRARY FLTK_IMAGES_LIBRARY)
-  IF(NOT ${_FLTK_var})
+SET(_FLTK_MISSING_VARS)
+FOREACH(_FLTK_VAR IN ITEMS FLTK_INCLUDE_DIR FLTK_BASE_LIBRARY FLTK_GL_LIBRARY FLTK_FORMS_LIBRARY FLTK_IMAGES_LIBRARY)
+  IF(NOT ${_FLTK_VAR})
     SET(FLTK_FOUND 0)
-    BREAK()
-  ENDIF(NOT ${_FLTK_var})
-ENDFOREACH(_FLTK_var)
-UNSET(_FLTK_var)
+    LIST(APPEND _FLTK_MISSING_VARS ${_FLTK_VAR})
+  ENDIF(NOT ${_FLTK_VAR})
+ENDFOREACH(_FLTK_VAR)

 # Set uncached variables, in particular, FLTK_LIBRARIES list.
 IF(FLTK_FOUND)
@@ -228,16 +247,23 @@
 ENDIF(FLTK_FOUND)

 # Mark cache entries set by this module as advanced (except of the FLTK_DIR).
-MARK_AS_ADVANCED(
-  FLTK_CONFIG_SCRIPT
-  FLTK_FLUID_EXECUTABLE
-  FLTK_INCLUDE_DIR
-  FLTK_LIBRARIES
-  FLTK_BASE_LIBRARY
-  FLTK_GL_LIBRARY
-  FLTK_FORMS_LIBRARY
-  FLTK_IMAGES_LIBRARY
-)
+FOREACH(_FLTK_VAR IN ITEMS
+    FLTK_CONFIG_SCRIPT
+    FLTK_FLUID_EXECUTABLE
+    FLTK_INCLUDE_DIR
+    FLTK_BASE_LIBRARY
+    FLTK_GL_LIBRARY
+    FLTK_FORMS_LIBRARY
+    FLTK_IMAGES_LIBRARY)
+  # hide all advanced variables if set or FLTK_DIR not specified yet
+  IF(${_FLTK_VAR} OR NOT FLTK_DIR)
+    MARK_AS_ADVANCED(FORCE ${_FLTK_VAR})
+  # otherwise, show advanced variable to the user so they are aware it has to be set
+  ELSE(${_FLTK_VAR} OR NOT FLTK_DIR)
+    MARK_AS_ADVANCED(CLEAR ${_FLTK_VAR})
+  ENDIF(${_FLTK_VAR} OR NOT FLTK_DIR)
+ENDFOREACH(_FLTK_VAR)
+MARK_AS_ADVANCED(FLTK_LIBRARIES)

 # Handle standard arguments.
 IF(FLTK_FOUND)
@@ -246,7 +272,13 @@
   ENDIF(NOT FLTK_FIND_QUIETLY)
 ELSE(FLTK_FOUND)
   IF(FLTK_FIND_REQUIRED)
-    MESSAGE(FATAL_ERROR "Could NOT find FLTK!\nPlease set FLTK_DIR to the ${_FLTK_DIR_STRING}.")
+    IF(FLTK_DIR)
+      MESSAGE(FATAL_ERROR "Could NOT find FLTK! Please choose a proper FLTK_DIR by setting"
+                          " it to the ${_FLTK_DIR_STRING} or set the following"
+                          " variables:\n\t${_FLTK_MISSING_VARS}\n")
+    ELSE(FLTK_DIR)
+      MESSAGE(FATAL_ERROR "Could NOT find FLTK!\nPlease set FLTK_DIR to the ${_FLTK_DIR_STRING}.")
+    ENDIF(FLTK_DIR)
   ELSE(FLTK_FIND_REQUIRED)
     IF(NOT FLTK_FIND_QUIETLY)
       MESSAGE( STATUS "Looking for FLTK -- not found" )
@@ -255,5 +287,7 @@
 ENDIF(FLTK_FOUND)

 # Unset private variables.
+UNSET(_FLTK_VAR)
 UNSET(_FLTK_DIR_STRING)
 UNSET(_FLTK_PLATFORM_DEPENDENT_LIBRARIES)
+UNSET(_FLTK_MISSING_VARS)


ENH: CI: PKG: Fixed packaging target.

ENH: CI: PKG: Fixed packaging target.

--- CI/main_packages.cmake
+++ CI/main_packages.cmake
@@ -89,6 +89,7 @@

 ctest_build(
   BUILD "${CTEST_BINARY_DIRECTORY}"
+  TARGET PACKAGE-OTB
   RETURN_VALUE _build_rv
   CAPTURE_CMAKE_ERROR _build_error
   )


COMP: do not add OSGEO4W_LIB in find_library PATHS. variable do not exist anymore and this is done in FindOSGeo4W

--- CMake/ImportGdal.cmake
+++ CMake/ImportGdal.cmake
@@ -117,7 +117,7 @@
     SET(TIFF_LIBRARY ${GDAL_LIBRARY})
   ELSE(GDAL_HAS_TIFF)
     MESSAGE(STATUS "  Testing if GDAL exposes tiff library symbols      -- no")
-    FIND_LIBRARY(TIFF_LIBRARY NAMES tiff libtiff_i PATHS  ${OSGEO4W_LIB})
+    FIND_LIBRARY(TIFF_LIBRARY NAMES tiff libtiff_i)
     MARK_AS_ADVANCED(TIFF_LIBRARY)
     IF (NOT TIFF_LIBRARY)
       MESSAGE(FATAL_ERROR
@@ -136,7 +136,7 @@
     SET(GEOTIFF_LIBRARY ${GDAL_LIBRARY})
   ELSE(GDAL_HAS_GEOTIFF)
     MESSAGE(STATUS "  Testing if GDAL exposes geotiff library symbols   -- no")
-    FIND_LIBRARY(GEOTIFF_LIBRARY NAMES geotiff geotiff_i PATHS ${OSGEO4W_LIB})
+    FIND_LIBRARY(GEOTIFF_LIBRARY NAMES geotiff geotiff_i)
     MARK_AS_ADVANCED(GEOTIFF_LIBRARY)
     IF (NOT GEOTIFF_LIBRARY)
       MESSAGE(FATAL_ERROR
@@ -155,7 +155,7 @@
     SET(JPEG_LIBRARY ${GDAL_LIBRARY})
   ELSE(GDAL_HAS_JPEG)
     MESSAGE(STATUS "  Testing if GDAL exposes jpeg library symbols      -- no")
-    FIND_LIBRARY(JPEG_LIBRARY NAMES jpeg jpeg_i PATHS ${OSGEO4W_LIB})
+    FIND_LIBRARY(JPEG_LIBRARY NAMES jpeg jpeg_i)
     MARK_AS_ADVANCED(JPEG_LIBRARY)
     IF (NOT JPEG_LIBRARY)
       MESSAGE(FATAL_ERROR


Reordered checks in git-download to first check if up-to-date, then if local changes are detected (in which case a warning is printed and download skipped). Also removed commented out return() if local changes detected (was for debugging)

--- src/cmake/git-download.cmake
+++ src/cmake/git-download.cmake
@@ -118,6 +118,16 @@

     message("Cloning branch ${args_TAG} from ${args_URL} into relative directory ${RELATIVE_CLONE_DIR}...")

+    # Compare HEAD on remote URL:TAG with local (if any), skip download if up-to-date
+    check_if_up_to_date(
+        ${ARGV}
+        OUTPUT_VARIABLE IS_UP_TO_DATE
+    )
+    if(IS_UP_TO_DATE)
+        message("Already up-to-date with branch '${args_TAG}' on ${args_URL}\n\tSkipping download.")
+        return()
+    endif()
+
     # Determine if there are local changes, in which case download will be skipped
     execute_git(
         COMMAND diff --shortstat
@@ -125,16 +135,6 @@
     )
     if(GIT_HAVE_CHANGES)
         message(WARNING "Local changes detected, skipping download.\n\tGit subtree requires a clean directory; please commit changes before running this.\n\t${GIT_HAVE_CHANGES}")
-        #return()
-    endif()
-
-    # Compare HEAD on remote URL:TAG with local (if any), skip download if up-to-date
-    check_if_up_to_date(
-        ${ARGV}
-        OUTPUT_VARIABLE IS_UP_TO_DATE
-    )
-    if(IS_UP_TO_DATE)
-        message("Already up-to-date with tag '${args_TAG}' on ${args_URL}\n\tSkipping download...")
         return()
     endif()


ENH: Upgrade to gdal 3.4.2

ENH: Upgrade to gdal 3.4.2

--- SuperBuild/CMake/External_gdal.cmake
+++ SuperBuild/CMake/External_gdal.cmake
@@ -151,8 +151,8 @@
   set(GDAL_URL "https://download.osgeo.org/gdal/3.2.2/gdal-3.2.2.tar.xz")
   set(GDAL_MD5 c656be582f7beb528c66486cd1fca7a2)
 else()
-  set(GDAL_URL "https://download.osgeo.org/gdal/3.4.0/gdal-3.4.0.tar.xz")
-  set(GDAL_MD5 aae5f3394dcd3ad6ddbe1137121b624b)
+  set(GDAL_URL "https://download.osgeo.org/gdal/3.4.2/gdal-3.4.2.tar.xz")
+  set(GDAL_MD5 4b6ac60068a60059a31e125b2a169d86)
 endif()

 ExternalProject_Add(GDAL


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 09)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   16)
+SET(KWSYS_DATE_STAMP_DAY   17)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 07)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   16)
+SET(KWSYS_DATE_STAMP_DAY   17)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 11)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   23)
+SET(KWSYS_DATE_STAMP_DAY   24)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 02)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   21)
+SET(KWSYS_DATE_STAMP_DAY   22)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   13)
+SET(KWSYS_DATE_STAMP_DAY   14)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 11)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   11)
+SET(KWSYS_DATE_STAMP_DAY   12)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 12)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   13)
+SET(KWSYS_DATE_STAMP_DAY   14)


daily version number

daily version number

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 11)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   13)
+SET(KWSYS_DATE_STAMP_DAY   14)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 02)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   18)
+SET(KWSYS_DATE_STAMP_DAY   19)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 05)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   06)
+SET(KWSYS_DATE_STAMP_DAY   07)


Update init-cpm-module to include OUTPUT_QUIET and ERROR_QUIET.

--- init-cpm-module.cmake
+++ init-cpm-module.cmake
@@ -17,7 +17,7 @@
     execute_process(
       COMMAND "${GIT_EXECUTABLE}" clone ${CPM_REPOSITORY} ${CPM_DIR}
       RESULT_VARIABLE error_code
-      OUTPUT_VARIABLE head_sha)
+      OUTPUT_QUIET ERROR_QUIET)
     if(error_code)
       message(FATAL_ERROR "CPM failed to get the hash for HEAD")
     endif()


SVN_SILENT made messages (.desktop file)

--- plugins/sipe/ktpaccountskcm_plugin_sipe.desktop.cmake
+++ plugins/sipe/ktpaccountskcm_plugin_sipe.desktop.cmake
@@ -3,6 +3,7 @@
 Comment=Custom account configuration user interface for accounts using the sipe connection manager.
 Comment[bs]=Korisnički interfejs za konfiguraciju korisničkih naloga koristeći sipe menadžer konekcja.
 Comment[ca]=Interfície d'usuari de configuració de compte personalitzat per comptes que utilitzen el gestor de connexions Sipe.
+Comment[ca@valencia]=Interfície d'usuari de configuració de compte personalitzat per comptes que utilitzen el gestor de connexions Sipe.
 Comment[cs]=Vlastní uživatelské rozhraní nastavení účtů pro účty používající správce spojení sipe.
 Comment[da]=Brugerflade til brugertilpasset kontokonfiguration til konti der bruger forbindelseshåndteringen sipe.
 Comment[de]=Eigene Benutzeroberfläche zum Einrichten von Zugängen, die die Sipe-Verbindungsverwaltung verwenden.
@@ -34,6 +35,7 @@
 Name=Sipe Account Configuration User Interface
 Name[bs]=Korisnički interfejs za konfiguraciju korisničkih naloga Sipe
 Name[ca]=Interfície d'usuari de configuració de compte de Sipe
+Name[ca@valencia]=Interfície d'usuari de configuració de compte de Sipe
 Name[cs]=Uživatelské rozhraní nastavení účtu Sipe
 Name[da]=Brugerflade til konfiguration af sipe-konto
 Name[de]=Benutzeroberfläche zur Einrichtung von Sipe-Zugängen


Do not build ITK with

Do not build ITK with

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -75,7 +75,6 @@
       -DITK_USE_SYSTEM_HDF5=ON
       -DBUILD_TESTING=${BUILD_TESTING_${proj}}
       -DBUILD_EXAMPLES=OFF
-      -DModule_ITKReview=ON
 	  INSTALL_DIR ${${proj}_Install_Dir}
     DEPENDS ${${proj}_DEPENDENCIES}
   )


COMP: Need to propagate ITKGDCM

COMP: Need to propagate ITKGDCM

ITKGDCM needs to be propagated for external builds
fatal error: 'gdcmSerieHelper.h' file not found errors occur
in external applications builds.

Change-Id: Ie59bf129e5c6b0aaf832040f904aaecafc4fc738

--- Modules/IO/GDCM/itk-module.cmake
+++ Modules/IO/GDCM/itk-module.cmake
@@ -4,8 +4,9 @@

 itk_module(ITKIOGDCM
   ENABLE_SHARED
+  DEPENDS
+    ITKGDCM
   PRIVATE_DEPENDS
-    ITKGDCM
     ITKIOImageBase
   TEST_DEPENDS
     ITKTestKernel


Fix: atomic not compiling when using TBB and Ogre from sources on Win32 32bit architecture See for details: http://www.ogre3d.org/forums/viewtopic.php?f=4&t=78443

--- CMake/ConfigureBuild.cmake
+++ CMake/ConfigureBuild.cmake
@@ -60,7 +60,7 @@
 	if (OGRE_CONFIG_THREAD_PROVIDER STREQUAL "tbb")
 		set(OGRE_THREAD_PROVIDER 3)
 		include_directories(${TBB_INCLUDE_DIRS})
-		if (WIN32)
+		if (WIN32 AND MINGW)
 			add_definitions(-D_WIN32_WINNT=0x0501)
 		endif ()


Correct the assert mode feature strings.

--HG--
branch : v1-9


Fix quoting

Fix quoting

--- CMake/mitkSetupCPack.cmake
+++ CMake/mitkSetupCPack.cmake
@@ -40,7 +40,7 @@
     execute_process(COMMAND ${vswhere} -latest -property installationPath
       OUTPUT_VARIABLE installationPath
       OUTPUT_STRIP_TRAILING_WHITESPACE)
-    file(TO_CMAKE_PATH ${installationPath} installationPath)
+    file(TO_CMAKE_PATH "${installationPath}" installationPath)
     set(redistPath "${installationPath}/VC/Redist/MSVC")
     file(GLOB redistPath "${installationPath}/VC/Redist/MSVC/*")
     list(LENGTH redistPath length)


Switch back to official repository that includes the necessary fixes now

--- CMakeExternals/DCMQI.cmake
+++ CMakeExternals/DCMQI.cmake
@@ -26,8 +26,8 @@

     ExternalProject_Add(${proj}
       LIST_SEPARATOR ${sep}
-      GIT_REPOSITORY https://github.com/kislinsk/dcmqi.git # T28127
-      GIT_TAG v1.2.3-hotfix-v2
+      GIT_REPOSITORY https://github.com/QIICR/dcmqi.git
+      GIT_TAG 83f498e9
       UPDATE_COMMAND ""
       INSTALL_COMMAND ""
       CMAKE_GENERATOR ${gen}


fix: Set also SOVERSION of external module

--- BasisProject.cmake
+++ BasisProject.cmake
@@ -43,7 +43,8 @@
   # ----------------------------------------------------------------------------
   # meta-data
   NAME        "VolumetricMapping"
-  VERSION     "1.1.0"
+  VERSION     "1.1.0" # version of this module
+  SOVERSION   "0"     # API yet unstable
   PACKAGE     "MIRTK"
   AUTHORS     "Andreas Schuh"
   DESCRIPTION "Volumetric Mapping library of the Medical Image Registration ToolKit."


make sure unparsed line file contents ends with newline

--- CMake/cotire.cmake
+++ CMake/cotire.cmake
@@ -1505,7 +1505,7 @@
 		endif()
 		string (REPLACE ";" "\n" _unparsedLines "${_unparsedLines}")
 	endif()
-	file (WRITE "${_unparsedLinesFile}" "${_unparsedLines}")
+	file (WRITE "${_unparsedLinesFile}" "${_unparsedLines}\n")
 endfunction()

 function (cotire_add_makedep_flags _language _compilerID _compilerVersion _flagsVar)


cmake: RPM: resolve boost dependency naming for Redhat

--- cmake/CPackConfigRPM.cmake
+++ cmake/CPackConfigRPM.cmake
@@ -24,7 +24,7 @@
     SET(CPACK_RPM_PACKAGE_RELEASE "${APPLICATION_VERSION_TYPE}")
     SET(CPACK_RPM_PACKAGE_LICENSE "MIT")
     SET(CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
-    SET(CPACK_RPM_PACKAGE_REQUIRES "libboost >= 1.53")
+    SET(CPACK_RPM_PACKAGE_REQUIRES "boost >= 1.53")
     SET(CPACK_RPM_PACKAGE_ARCHITECTURE "${CMAKE_SYSTEM_PROCESSOR}")
     SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}.${CPACK_RPM_PACKAGE_ARCHITECTURE}")
     SET(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/install/post_install_script.sh")


Removed debug message in compile options cmake file

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -27,7 +27,6 @@
 if(COMPILER_SUPPORTS_CXX14)
     set(CMAKE_CXX_STANDARD 14)
     set(CMAKE_CXX_STANDARD_REQUIRED ON)
-    message(STATUS "The compiler '${CMAKE_CXX_COMPILER}' has c++14 support!")
 else(COMPILER_SUPPORTS_CXX14)
     message(STATUS "The compiler '${CMAKE_CXX_COMPILER}' has no C++14 support. Please use a more recent C++ compiler!")
 endif()


Use target_file in test

Use target_file in test

--- cmake/MyPackageCheck.cmake
+++ cmake/MyPackageCheck.cmake
@@ -35,7 +35,7 @@

   FOREACH (_name ${name} ${name}_static)
     ADD_TEST (NAME ${_name}
-      COMMAND ${CMAKE_COMMAND} -E env "PATH=${_test_path}" ${_name}
+      COMMAND ${CMAKE_COMMAND} -E env "PATH=${_test_path}" $<TARGET_FILE:${_name}>
       WORKING_DIRECTORY ${LIBRARY_OUTPUT_PATH})
     ADD_DEPENDENCIES(check ${_name})
   ENDFOREACH ()


Install manifest.xml to PREFIX/share/project_name if it exists in catkin_project directory.

--- cmake/catkin_project.cmake
+++ cmake/catkin_project.cmake
@@ -109,14 +109,27 @@
     DESTINATION lib/pkgconfig
     )

-  em_expand(${catkin_EXTRAS_DIR}/templates/pkg-config.pc.context.in
-    ${CMAKE_CURRENT_BINARY_DIR}/pkg-config.pc.context.py
-    ${catkin_EXTRAS_DIR}/em/manifest.xml.em
-    ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/manifest.xml)
+  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/manifest.xml)
+    install(FILES manifest.xml
+      DESTINATION share/${project_lower}
+      )
+  else()
+    message(STATUS "${project_lower} has no manifest.xml.  Not sure if this is an error or not.")
+  endif()

-  install(FILES ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/manifest.xml
-    DESTINATION share/${PACKAGE_NAME}
-    )
+  if (FALSE)
+    # old code for how to install an autogenerated manifest.xml that thunks out to
+    # pkg-config.  Delete me?
+    em_expand(${catkin_EXTRAS_DIR}/templates/pkg-config.pc.context.in
+      ${CMAKE_CURRENT_BINARY_DIR}/pkg-config.pc.context.py
+      ${catkin_EXTRAS_DIR}/em/manifest.xml.em
+      ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/manifest.xml)
+
+    install(FILES ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/manifest.xml
+      DESTINATION share/${PACKAGE_NAME}
+      )
+  endif()
+
   #
   #  Versions to be installed
   #


Disable an MSVC warning-as-error that boringssl triggers.

--- cmake/external_rules.cmake
+++ cmake/external_rules.cmake
@@ -130,7 +130,9 @@
     # Propagate MSVC build flags.
     set(CMAKE_SUBBUILD_OPTIONS
         ${CMAKE_SUBBUILD_OPTIONS}
-        -A "${CMAKE_GENERATOR_PLATFORM}")
+        -A "${CMAKE_GENERATOR_PLATFORM}"
+        -DCMAKE_C_FLAGS="-wd4065"
+        -DCMAKE_CXX_FLAGS="-wd4065")
     if(MSVC_RUNTIME_LIBRARY_STATIC)
       set(CMAKE_SUBBUILD_OPTIONS
           ${CMAKE_SUBBUILD_OPTIONS}


First cut at SVR4 layout.

First cut at SVR4 layout.

--- cmake/install_layout.cmake
+++ cmake/install_layout.cmake
@@ -53,13 +53,17 @@

 IF(NOT INSTALL_LAYOUT MATCHES "STANDALONE")
   IF(NOT INSTALL_LAYOUT MATCHES "UNIX")
-    SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}")
+    # XXX not keen on this, how many more will we need? prefer to just bail...
+    IF(NOT INSTALL_LAYOUT MATCHES "SVR4")
+      SET(INSTALL_LAYOUT "${DEFAULT_INSTALL_LAYOUT}")
   ENDIF()
 ENDIF()

 IF(UNIX)
   IF(INSTALL_LAYOUT MATCHES "UNIX")
     SET(default_prefix "/usr")
+  ELSEIF(INSTALL_LAYOUT MATCHES "SVR4")
+    SET(default_prefix "/opt/mysql/mysql")
   ELSE()
     SET(default_prefix "/usr/local/mysql")
   ENDIF()
@@ -90,6 +94,23 @@
  SET(INSTALL_DOCREADMEDIR_STANDALONE ".")
  SET(INSTALL_SUPPORTFILESDIR_STANDALONE "support-files")
  SET(INSTALL_MYSQLDATADIR_STANDALONE "data")
+
+ # SVR4 layout
+ SET(INSTALL_BINDIR_SVR4 "bin")
+ SET(INSTALL_SBINDIR_SVR4 "bin")
+ SET(INSTALL_LIBDIR_SVR4 "lib")
+ SET(INSTALL_INCLUDEDIR_SVR4 "include")
+ SET(INSTALL_PLUGINDIR_SVR4 "lib/plugin")
+ SET(INSTALL_DOCDIR_SVR4 "docs")
+ SET(INSTALL_MANDIR_SVR4 "man")
+ SET(INSTALL_MYSQLSHAREDIR_SVR4 "share")
+ SET(INSTALL_SHAREDIR_SVR4 "share")
+ SET(INSTALL_SCRIPTDIR_SVR4 "scripts")
+ SET(INSTALL_MYSQLTESTDIR_SVR4 "mysql-test")
+ SET(INSTALL_SQLBENCHROOTDIR_SVR4 ".")
+ SET(INSTALL_DOCREADMEDIR_SVR4 ".")
+ SET(INSTALL_SUPPORTFILESDIR_SVR4 "support-files")
+ SET(MYSQL_DATADIR "/var/lib/mysql")

  # UNIX layout
  SET(INSTALL_BINDIR_UNIX "bin")


Try to fix the debug permissions stuff.

Try to fix the debug permissions stuff.

--- cmake/install_macros.cmake
+++ cmake/install_macros.cmake
@@ -174,7 +174,8 @@
   ""
   ${ARGN}
   )
-  GET_TARGET_PROPERTY(target_type  ${target} TYPE)
+  GET_TARGET_PROPERTY(target_type ${target} TYPE)
+  GET_TARGET_PROPERTY(target_permissions ${target} PERMISSIONS)
   IF(ARG_RENAME)
     SET(RENAME_PARAM RENAME ${ARG_RENAME}${CMAKE_${target_type}_SUFFIX})
   ELSE()
@@ -193,6 +194,7 @@
   INSTALL(FILES ${debug_target_location}
     DESTINATION ${ARG_DESTINATION}
     ${RENAME_PARAM}
+    PERMISSIONS ${target_permissions}
     CONFIGURATIONS Release RelWithDebInfo
     OPTIONAL)


not signing ZIP file

not signing ZIP file

--- common/cmake/package.cmake
+++ common/cmake/package.cmake
@@ -180,7 +180,7 @@
     SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}.${ARCH}.windows")
     SET(CPACK_MONOLITHIC_INSTALL 1)
     IF (EMBREE_TESTING_PACKAGE)
-      ADD_TEST(NAME "BuildPackage" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PROJECT_SOURCE_DIR}/scripts/package_win.bat ${CMAKE_BUILD_TYPE} ${CPACK_PACKAGE_FILE_NAME}.zip ${EMBREE_SIGN_FILE})
+      ADD_TEST(NAME "BuildPackage" WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} COMMAND ${PROJECT_SOURCE_DIR}/scripts/package_win.bat ${CMAKE_BUILD_TYPE} ${CPACK_PACKAGE_FILE_NAME}.zip)
     ENDIF()
   ENDIF()


[cmake] Print out errors from failed stack steps

Per [cmake docs](https://cmake.org/cmake/help/v3.0/command/execute_process.html), if you set both `OUTPUT_VARIABLE` and `ERROR_VARIABLE` to the same var, it will contain both streams' lines, merged in the order they were printed.

--- compiler/stack_build.cmake
+++ compiler/stack_build.cmake
@@ -14,11 +14,11 @@
     COMMAND ${STACK_EXECUTABLE} ${BOND_STACK_OPTIONS} setup
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     RESULT_VARIABLE error
-    OUTPUT_QUIET
-    ERROR_QUIET)
+    OUTPUT_VARIABLE setup_output
+    ERROR_VARIABLE setup_output)

 if (error)
-    message (FATAL_ERROR)
+    message (FATAL_ERROR ${setup_output})
 endif()

 set (buildGhcOptions "-O2")
@@ -29,7 +29,7 @@
     RESULT_VARIABLE error)

 if (error)
-    message (FATAL_ERROR)
+    message (FATAL_ERROR "build failed - scroll up for its output")
 endif()

 # Copy results to builddir
@@ -37,10 +37,11 @@
     COMMAND ${STACK_EXECUTABLE} ${BOND_STACK_OPTIONS} path --dist-dir
     WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
     OUTPUT_VARIABLE dist_dir
-    RESULT_VARIABLE error)
+    RESULT_VARIABLE error
+    ERROR_VARIABLE path_errors)

 if (error)
-    message (FATAL_ERROR)
+    message (FATAL_ERROR ${path_errors})
 endif()

 string (STRIP ${dist_dir} dist_dir)


remove fatal_error message from glfw.cmake

--- ext/glfw.cmake
+++ ext/glfw.cmake
@@ -54,7 +54,6 @@
             "${X11_Xrandr_LIB}" "${X11_Xxf86vm_LIB}" "${X11_Xcursor_LIB}"
             "${X11_Xinerama_LIB}" "${X11_Xinput_LIB}"
             "${CMAKE_THREAD_LIBS_INIT}" -lrt -ldl)
-        message(FATAL_ERROR "${GLFW_LIBRARIES}")
     endif()
 endif()


Bump version: 0.2.7

Bump version: 0.2.7

--- hawkey/VERSION.cmake
+++ hawkey/VERSION.cmake
@@ -1,3 +1,3 @@
 SET(HAWKEY_MAJOR "0")
 SET(HAWKEY_MINOR "2")
-SET(HAWKEY_PATCH "6")
+SET(HAWKEY_PATCH "7")


boards: nucleo_g071rb: Fix pyocd target

boards: nucleo_g071rb: Fix pyocd target

In recent pyocd versions, `stm32g071rbtx` should be used as target
name.

Signed-off-by: Erwan Gouriou <de4d967452b83bb0e37525652734e7d9163b6a4c@linaro.org>

--- boards/arm/nucleo_g071rb/board.cmake
+++ boards/arm/nucleo_g071rb/board.cmake
@@ -1,5 +1,5 @@
 # SPDX-License-Identifier: Apache-2.0
-board_runner_args(pyocd "--target=stm32g071rb")
+board_runner_args(pyocd "--target=stm32g071rbtx")
 board_runner_args(pyocd "--flash-opt=-O reset_type=hw")
 board_runner_args(pyocd "--flash-opt=-O connect_mode=under-reset")


cmake: mark private variables as internal

--- bootstrap/cmake/build-settings.cmake
+++ bootstrap/cmake/build-settings.cmake
@@ -11,7 +11,7 @@
 		string(STRIP "${key}" key)
 		string(STRIP "${value}" value)

-		set("nany_${key}" "${value}" CACHE STRING "" FORCE)
+		set("nany_${key}" "${value}" CACHE INTERNAL "")
 		nmessage("${key}: ${value}")
 	endif()
 endforeach()
@@ -47,7 +47,7 @@
 				set(GIT_COMMIT_HASH "github-$ENV{TRAVIS_PULL_REQUEST}-${GIT_COMMIT_HASH}")
 			endif()

-			set(nany_version_metadata "${GIT_COMMIT_HASH}" CACHE STRING "" FORCE)
+			set(nany_version_metadata "${GIT_COMMIT_HASH}" CACHE INTERNAL "")
 		endif()
 	endif()
 endif()
@@ -55,13 +55,13 @@

-set(nany_version "${nany_version_major}.${nany_version_minor}.${nany_version_patch}" CACHE STRING "" FORCE)
+set(nany_version "${nany_version_major}.${nany_version_minor}.${nany_version_patch}" CACHE INTERNAL "")
 set(nany_version_string "${nany_version}")
 if (NOT "${nany_version_prerelease}" STREQUAL "")
-	set(nany_version_string "${nany_version_string}-${nany_version_prerelease}" CACHE STRING "" FORCE)
+	set(nany_version_string "${nany_version_string}-${nany_version_prerelease}" CACHE INTERNAL "")
 endif()
 if (NOT "${nany_version_metadata}" STREQUAL "")
-	set(nany_version_string "${nany_version_string}+${nany_version_metadata}" CACHE STRING "" FORCE)
+	set(nany_version_string "${nany_version_string}+${nany_version_metadata}" CACHE INTERNAL "")
 endif()

 nmessage("") # for beauty (and to find it easily)


ENH: Update DTIProcess

ENH: Update DTIProcess

This version fixes and issue with VTK package discovery and dependencies

--- SuperBuild/External_DTIProcess.cmake
+++ SuperBuild/External_DTIProcess.cmake
@@ -73,12 +73,12 @@
     -DDTIProcess_SUPERBUILD:BOOL=OFF
     -DEXECUTABLES_ONLY:BOOL=ON
     -DSubversion_SVN_EXECUTABLE:PATH=${SVNCOMMAND}
-    -D
+    -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/${proj}-install
     )

   ### --- End Project specific additions
   set( ${proj}_REPOSITORY ${git_protocol}://github.com/NIRALUser/DTIProcessToolkit.git)
-  set( ${proj}_GIT_TAG  863e5da765bb1177d34134b2d65f9212915410d1 )
+  set( ${proj}_GIT_TAG  da1615225b72eb99d9b3d3cebe075112d0c4008c )
   ExternalProject_Add(${proj}
     GIT_REPOSITORY ${${proj}_REPOSITORY}
     GIT_TAG ${${proj}_GIT_TAG}
@@ -93,13 +93,10 @@
     CMAKE_ARGS
       ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
       ${COMMON_EXTERNAL_PROJECT_ARGS}
-      ${${proj}_CMAKE_OPTIONS}
-      ## We really do want to install to remove uncertainty about where the tools are
-      ## (on Windows, tools might be in subfolders, like "Release", "Debug",...)
-      -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_CURRENT_BINARY_DIR}/${proj}-install
+      ${${proj}_CMAKE_OPTIONS}
     DEPENDS
       ${${proj}_DEPENDENCIES}
-  )
+  )
   set(${extProjName}_DIR ${EXTERNAL_BINARY_DIRECTORY}/${proj}-build)
 else()
   if(${USE_SYSTEM_${extProjName}})


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 09)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   29)
+SET(KWSYS_DATE_STAMP_DAY   30)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 11)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   06)
+SET(KWSYS_DATE_STAMP_DAY   07)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 10)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   29)
+SET(KWSYS_DATE_STAMP_DAY   30)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   04)
+SET(KWSYS_DATE_STAMP_DAY   05)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 08)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   30)
+SET(KWSYS_DATE_STAMP_DAY   31)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 12)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   13)
+SET(KWSYS_DATE_STAMP_DAY   14)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 05)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   23)
+SET(KWSYS_DATE_STAMP_DAY   24)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 02)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   24)
+SET(KWSYS_DATE_STAMP_DAY   25)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   17)
+SET(KWSYS_DATE_STAMP_DAY   18)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 09)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   07)
+SET(KWSYS_DATE_STAMP_DAY   08)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 02)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   01)
+SET(KWSYS_DATE_STAMP_DAY   02)


ENH: Update elastix

ENH: Update elastix

--- SuperBuild/External_Elastix.cmake
+++ SuperBuild/External_Elastix.cmake
@@ -11,7 +11,7 @@
 file( WRITE "${CMAKE_CURRENT_BINARY_DIR}/${proj}-build/CMakeCacheInit.txt" "${ep_common_cache}" )

 set( ELASTIX_GIT_REPOSITORY ${git_protocol}://github.com/kaspermarstal/elastix )
-set( ELASTIX_GIT_TAG 416faf3eaa7e55fdf5990ed839d1db512180fe23 )
+set( ELASTIX_GIT_TAG fa451dd33ac72dbded40dbf408db2c4e958469ac )

 if( ${ITK_WRAPPING} OR ${BUILD_SHARED_LIBS} )
   set( ELASTIX_BUILD_SHARED_LIBS ON )


windows need to be statically build

windows need to be statically build

--- superbuild/Projects/win32/moab.cmake
+++ superbuild/Projects/win32/moab.cmake
@@ -2,9 +2,11 @@
 add_external_project(moab
   DEPENDS hdf5
   CMAKE_ARGS
+    -DBUILD_SHARED_LIBS:BOOL=OFF
     -DCMAKE_INSTALL_PREFIX:path=<INSTALL_DIR>
     -DENABLE_IMESH:BOOL=ON
     -DHDF5_DIR:path=<INSTALL_DIR>
     -DMOAB_USE_CGM:BOOL=FALSE
+    -DMOAB_USE_HDF:BOOL=ON
     -DMOAB_USE_NETCDF:BOOL=FALSE
 )


FIX: double variable usage

FIX: double variable usage

--- cmake/Modules/FindPythonModule.cmake
+++ cmake/Modules/FindPythonModule.cmake
@@ -3,7 +3,7 @@
 # To use do: find_python_module(PyQt4 REQUIRED)
 function(find_python_module module)
 	string(TOUPPER ${module} module_upper)
-	if(NOT PY_${module_upper})
+	if(NOT PYTHON_${module_upper})
 		if(ARGC GREATER 1 AND ARGV1 STREQUAL "REQUIRED")
 			set(PY_${module}_FIND_REQUIRED TRUE)
 		endif()
@@ -16,9 +16,8 @@
 			ERROR_QUIET
 			OUTPUT_STRIP_TRAILING_WHITESPACE)
 		if(NOT _${module}_status)
-			set(PY_${module_upper} ${_${module}_location} CACHE STRING
-				"Location of Python module ${module}")
+			set(PYTHON_${module_upper} ${_${module}_location} CACHE STRING "Location of Python module ${module}")
 		endif(NOT _${module}_status)
-	endif(NOT PY_${module_upper})
-	find_package_handle_standard_args(PY_${module} DEFAULT_MSG PY_${module_upper})
+	endif(NOT PYTHON_${module_upper})
+	find_package_handle_standard_args(PY_${module} DEFAULT_MSG PYTHON_${module_upper})
 endfunction(find_python_module)


Target Qt5::QmlQtQuick2Plugin for OSX libcxx toolchain

--- cmake/Qt5Qml_QmlQtQuick2Plugin.cmake
+++ cmake/Qt5Qml_QmlQtQuick2Plugin.cmake
@@ -20,7 +20,7 @@
   return()
 endif()

-if(IOS)
+if(APPLE OR IOS)
   add_library(Qt5::QmlQtQuick2Plugin MODULE IMPORTED)

   set(_release_lib "${_qt_install_prefix}/qml/QtQuick.2/libqtquick2plugin.a")


Point to solo5 285b80a

Point to solo5 285b80a

--- cmake/cross_compiled_libraries.cmake
+++ cmake/cross_compiled_libraries.cmake
@@ -33,7 +33,7 @@
 	PREFIX precompiled
 	BUILD_IN_SOURCE 1
 	GIT_REPOSITORY https://github.com/solo5/solo5.git
-	GIT_TAG v0.3.0
+	GIT_TAG 285b80aa4da12b628838a78dc79793f4d669ae1b
 	CONFIGURE_COMMAND CC=gcc ./configure.sh
 	UPDATE_COMMAND ""
 	BUILD_COMMAND make


Correct the RPATH for fix location installations (gnuinstall)

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -258,7 +258,7 @@
 set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE) # point to directories outside the build tree to the install RPATH

 # Check whether to add RPATH to the installation (the build tree always has the RPATH enabled)
-if(rpath)
+if(rpath OR gnuinstall)
   set(CMAKE_INSTALL_RPATH ${CMAKE_INSTALL_FULL_LIBDIR}) # install LIBDIR
   set(CMAKE_SKIP_INSTALL_RPATH FALSE)          # don't skip the full RPATH for the install tree
 elseif(APPLE)


cmake: Use Zephyr SDK by default on all host operating systems

This commit updates the Zephyr build system to use the Zephyr SDK by
default for all host operating systems, when `ZEPHYR_TOOLCHAIN_VARIANT`
environment variable is not explicitly set.

Note that the Zephyr SDK is now available on all three major host
operating systems (i.e. Linux, macOS, Windows), and there is no reason
to exclude this behaviour for non-Linux hosts anymore.

Signed-off-by: Stephanos Ioannidis <dc76e9f0c0006e8f919e0c515c66dbba3982f785@stephanos.io>

--- cmake/modules/verify-toolchain.cmake
+++ cmake/modules/verify-toolchain.cmake
@@ -52,10 +52,10 @@
 # Verify Zephyr SDK Toolchain.
 # There are three scenarios where Zephyr SDK should be looked up:
 # 1) Zephyr specified as toolchain (ZEPHYR_SDK_INSTALL_DIR still used if defined)
-# 2) No toolchain specified == Default to Zephyr toolchain (Linux only)
+# 2) No toolchain specified == Default to Zephyr toolchain
 # Until we completely deprecate it
 if(("zephyr" STREQUAL ${ZEPHYR_TOOLCHAIN_VARIANT}) OR
-   ((NOT DEFINED ZEPHYR_TOOLCHAIN_VARIANT) AND (${CMAKE_HOST_SYSTEM_NAME} STREQUAL Linux)) OR
+   (NOT DEFINED ZEPHYR_TOOLCHAIN_VARIANT) OR
    (DEFINED ZEPHYR_SDK_INSTALL_DIR))

   # No toolchain was specified, so inform user that we will be searching.


Also install Debug configuration (if available)

--- cmake/ospray_redistribute_deps.cmake
+++ cmake/ospray_redistribute_deps.cmake
@@ -16,7 +16,7 @@
     set(SYMLINK ${CMAKE_CURRENT_BINARY_DIR}/${BASE_LIB_NAME}${LIB_SUFFIX})
     execute_process(COMMAND "${CMAKE_COMMAND}" -E
         create_symlink ${TARGET_NAME} ${SYMLINK})
-    install(PROGRAMS ${SYMLINK} DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    install(PROGRAMS ${SYMLINK} ${ARGN} DESTINATION ${CMAKE_INSTALL_LIBDIR}
         COMPONENT redist)
   endif()

@@ -29,7 +29,7 @@
     endif()
     execute_process(COMMAND "${CMAKE_COMMAND}" -E
         create_symlink ${TARGET_NAME} ${SYMLINK})
-    install(PROGRAMS ${SYMLINK} DESTINATION ${CMAKE_INSTALL_LIBDIR}
+    install(PROGRAMS ${SYMLINK} ${ARGN} DESTINATION ${CMAKE_INSTALL_LIBDIR}
         COMPONENT redist)
   endif()
 endmacro()
@@ -37,10 +37,18 @@
 macro(ospray_add_dependent_lib TARGET_NAME)
   if (TARGET ${TARGET_NAME})
     get_target_property(CONFIGURATIONS ${TARGET_NAME} IMPORTED_CONFIGURATIONS)
+    # first/default configuration
     list(GET CONFIGURATIONS 0 CONFIGURATION)
     get_target_property(LIBRARY ${TARGET_NAME} IMPORTED_LOCATION_${CONFIGURATION})
     list(APPEND DEPENDENT_LIBS ${LIBRARY})
     ospray_install_namelink(${LIBRARY})
+    # potentially Debug configuration
+    list(FIND CONFIGURATIONS "DEBUG" FOUND)
+    if(FOUND GREATER 0)
+      get_target_property(LIBRARY ${TARGET_NAME} IMPORTED_LOCATION_DEBUG)
+      list(APPEND DEPENDENT_LIBS_DEBUG ${LIBRARY})
+      ospray_install_namelink(${LIBRARY} CONFIGURATIONS Debug)
+    endif()
   else()
     message(STATUS "Skipping target '${TARGET_NAME}")
   endif()
@@ -71,14 +79,17 @@
   find_file(EMBREE_DLL embree3.dll HINTS ${EMBREE_DLL_HINTS})
   mark_as_advanced(EMBREE_DLL)
   list(APPEND DEPENDENT_LIBS ${EMBREE_DLL})
-  install(PROGRAMS ${DEPENDENT_LIBS}
-          DESTINATION ${CMAKE_INSTALL_BINDIR} COMPONENT redist)
+  set(INSTALL_DIR ${CMAKE_INSTALL_BINDIR})
 else()
   # TODO use ospray_add_dependent_lib(embree) when v3.10 (with targets) is minimum
   list(APPEND DEPENDENT_LIBS ${EMBREE_LIBRARY})
-  install(PROGRAMS ${DEPENDENT_LIBS}
-          DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT redist)
   ospray_install_namelink(${EMBREE_LIBRARY})
+  set(INSTALL_DIR ${CMAKE_INSTALL_LIBDIR})
+endif()
+install(PROGRAMS ${DEPENDENT_LIBS} DESTINATION ${INSTALL_DIR} COMPONENT redist)
+if (DEPENDENT_LIBS_DEBUG)
+  install(PROGRAMS ${DEPENDENT_LIBS_DEBUG} CONFIGURATIONS Debug
+          DESTINATION ${INSTALL_DIR} COMPONENT redist)
 endif()

 # Install MSVC runtime


Updating usFunctionEmbedResources.cmake to use CMAKE_CXX_FLAGS rather than building the flags itself.  This should allow changes to compilation flags in other cmake files to affect the compiled empty resource file for Darwin-based platforms.

--- cmake/usFunctionEmbedResources.cmake
+++ cmake/usFunctionEmbedResources.cmake
@@ -154,21 +154,22 @@

   if(US_RESOURCE_LINK)
     if(APPLE)
-      # Issue #151: Since we explicitly compile CMakeResourceDependencies.cpp, we cache the OSX specific compiler flags
-      set(US_OSX_CXX_FLAGS )
-      if(CMAKE_OSX_SYSROOT)
-        list(APPEND US_OSX_CXX_FLAGS -isysroot ${CMAKE_OSX_SYSROOT})
-      endif()
-      if(CMAKE_OSX_ARCHITECTURES)
-        list(APPEND US_OSX_CXX_FLAGS -arch ${CMAKE_OSX_ARCHITECTURES})
-      endif()
-      if(CMAKE_OSX_DEPLOYMENT_TARGET)
-        list(APPEND US_OSX_CXX_FLAGS -mmacosx-version-min=${CMAKE_OSX_DEPLOYMENT_TARGET})
-      endif()
+        # This resolves an issue where passing in CMAKE_CXX_FLAGS using
+       # -D CMAKE_CXX_FLAGS:STRING="..." results in a quoted string being passed to
+       # the command below which results in the command being:
+       #  >> clang "..." -c ... -o stub.o
+       # when it should really be:
+       #  >> clang ... -c ... -o stub.o
+       # (pardon the elipsis for abbreviation)
+       separate_arguments(TEMP_CXX_FLAGS UNIX_COMMAND ${CMAKE_CXX_FLAGS})
+       foreach(flag ${TEMP_CXX_FLAGS})
+         set(US_RESOURCE_CXX_FLAGS ${US_RESOURCE_CXX_FLAGS} ${flag})
+       endforeach(flag)
+
       # section name is "us_resources" because max length for section names in Mach-O format is 16 characters.
       add_custom_command(
         OUTPUT ${_source_output}
-        COMMAND ${CMAKE_CXX_COMPILER} ${US_OSX_CXX_FLAGS} -c ${US_CMAKE_RESOURCE_DEPENDENCIES_CPP} -o stub.o
+        COMMAND ${CMAKE_CXX_COMPILER} ${US_RESOURCE_CXX_FLAGS} -c ${US_CMAKE_RESOURCE_DEPENDENCIES_CPP} -o stub.o
         COMMAND ${CMAKE_LINKER} -r -sectcreate __TEXT us_resources ${_zip_archive_name} stub.o -o ${_source_output}
         DEPENDS ${_zip_archive}
         WORKING_DIRECTORY ${_zip_archive_path}


Enable python_tests to run on a plugin test case

--- tests/PythonTests.cmake
+++ tests/PythonTests.cmake
@@ -37,10 +37,16 @@
   set(name "${case}")

   set(_multival_args "")
-  set(_args PLUGINS_ENABLED)
+  set(_args PLUGIN PLUGINS_ENABLED)
   cmake_parse_arguments(fn "${_options}" "${_args}" "${_multival_args}" ${ARGN})

-  set(module tests.${case}_test)
+
+  if (fn_PLUGIN)
+    set(name "plugins.${fn_PLUGIN}.${case}")
+    set(module romanesco.plugins.${fn_PLUGIN}.tests.${case}_test)
+  else()
+    set(module tests.${case}_test)
+  endif()

   if(PYTHON_COVERAGE)
     add_test(


activate external LibKML on MSVC

activate external LibKML on MSVC

--- CMake/External_OTB.cmake
+++ CMake/External_OTB.cmake
@@ -6,7 +6,6 @@

 set(${proj}_DEPENDENCIES)

-set(BUILD_LIBKML ON)
 set(BUILD_EXAMPLES ON)

 if(USE_SYSTEM_GDAL)
@@ -115,22 +114,20 @@
 endif()

 if(MSVC)
-    set(OTB_SB_GDAL_CONFIG)
-    set(OTB_SB_OSSIM_CONFIG)
-    set(OTB_SB_MUPARSER_CONFIG)
-    set(OTB_SB_MUPARSERX_CONFIG)
-    set(OTB_SB_TINYXML_CONFIG)
-    set(OTB_SB_LIBKML_CONFIG)
-    set(OTB_SB_OPENCV_CONFIG)
-    #doesn't matter to use cmake variable with JPEG prefix. all are empty for windows
-    set(OTB_SB_CURL_CONFIG -DJPEG_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libjpeg.lib)
-
-    #force libkml and opencv OFF)
-    set(BUILD_LIBKML OFF)
-    set(BUILD_EXAMPLES OFF)
-    #FIXME: remove below and build libkml
-    list(REMOVE_ITEM ${proj}_DEPENDENCIES LIBKML)
+  set(BUILD_EXAMPLES OFF)
+  set(OTB_SB_GDAL_CONFIG)
+  set(OTB_SB_OSSIM_CONFIG)
+  set(OTB_SB_MUPARSER_CONFIG)
+  set(OTB_SB_MUPARSERX_CONFIG)
+  set(OTB_SB_TINYXML_CONFIG)
+  set(OTB_SB_LIBKML_CONFIG)
+  set(OTB_SB_OPENCV_CONFIG)
+  #doesn't matter to use cmake variable with JPEG prefix. all are empty for windows
+  #GDAL is built with internal JPEG due to static link conflict.
+  #replace superbuild version of libjpeg.lib with the GDAL internal one
+  set(OTB_SB_CURL_CONFIG -DJPEG_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libjpeg.lib)
 endif()
+
 ExternalProject_Add(${proj}
     DEPENDS ${${proj}_DEPENDENCIES}
     PREFIX ${proj}
@@ -155,7 +152,7 @@
       -DOTB_USE_EXTERNAL_MUPARSERX:BOOL=ON
       -DOTB_USE_EXTERNAL_TINYXML:BOOL=ON
       -DOTB_USE_EXTERNAL_EXPAT:BOOL=ON
-      -DOTB_USE_EXTERNAL_LIBKML:BOOL=${BUILD_LIBKML}
+      -DOTB_USE_EXTERNAL_LIBKML:BOOL=ON
       -DOTB_USE_OPENCV:BOOL=ON
       -DOTB_USE_JPEG2000:BOOL=OFF
       ${OTB_SB_ITK_CONFIG}


small update

small update

git-svn-id: 6b1c4fe79111c0bc0cce83313250759594f8984b@4706 e128ff1e-fa79-4151-a8cb-522299a2c450


Reformat tools/cmake/CheckPythonPackage.cmake

Co-authored-by: Hugues Kamba <402748a27f75fbc914c63b0503c6fbcb2aac22b4@users.noreply.github.com>

--- tools/cmake/CheckPythonPackage.cmake
+++ tools/cmake/CheckPythonPackage.cmake
@@ -34,8 +34,9 @@
     if(NEED_TO_RUN_CHECK)
         set(PY_INTERP_FOR_${OUTPUT_VAR} ${Python3_EXECUTABLE} CACHE INTERNAL "The python interpreter used to run the ${OUTPUT_VAR} check" FORCE)

-        execute_process(COMMAND ${Python3_EXECUTABLE} ${PYTHON_PACKAGECHECK_SCRIPT} ${PACKAGENAME}
-                RESULT_VARIABLE PACKAGECHECK_RESULT)
+        execute_process(
+            COMMAND ${Python3_EXECUTABLE} ${PYTHON_PACKAGECHECK_SCRIPT} ${PACKAGENAME} RESULT_VARIABLE PACKAGECHECK_RESULT
+         )

         if(${PACKAGECHECK_RESULT} EQUAL 0)
             set(HAVE_PACKAGE TRUE)
@@ -66,4 +67,4 @@
     if(NOT ${HAVE_VAR_NAME})
         message(FATAL_ERROR "The required Python package ${PACKAGENAME} was not found in ${Python3_EXECUTABLE}.  Please install it.")
     endif()
-endfunction(verify_python_package)+endfunction(verify_python_package)


Do not support ATLAS in ChainerX

Do not support ATLAS in ChainerX

--- chainerx_cc/cmake/FindBLAS.cmake
+++ chainerx_cc/cmake/FindBLAS.cmake
@@ -429,20 +429,6 @@
       sgemm
       ""
       "blis"
-      ""
-      )
-  endif()
-endif ()
-
-if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
-  if(NOT BLAS_LIBRARIES)
-    # BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
-    check_fortran_libraries(
-      BLAS_LIBRARIES
-      BLAS
-      dgemm
-      ""
-      "f77blas;atlas"
       ""
       )
   endif()
@@ -737,6 +723,26 @@
   find_package_handle_standard_args(BLAS REQUIRED_VARS BLAS_LIBRARIES)
 endif()

+# NOTE: ChainerX does not support ATLAS because we encountered
+# `undefined reference 'cblas_sgemm'` errors, at least on Ubuntu16.04.
+# Also, it is well known that ATLAS is significantly slower than OpenBLAS.
+if (BLA_VENDOR STREQUAL "ATLAS" OR BLA_VENDOR STREQUAL "All")
+  if(NOT BLAS_LIBRARIES)
+    # BLAS in ATLAS library? (http://math-atlas.sourceforge.net/)
+    check_fortran_libraries(
+      BLAS_LIBRARIES
+      BLAS
+      dgemm
+      ""
+      "f77blas;atlas"
+      ""
+      )
+    if(BLAS_LIBRARIES)
+      message(FATAL_ERROR "ATLAS is found (library: ${BLAS_LIBRARIES}), but ChainerX does not support ATLAS.")
+    endif()
+  endif()
+endif ()
+
 # On compilers that implicitly link BLAS (such as ftn, cc, and CC on Cray HPC machines)
 # we used a placeholder for empty BLAS_LIBRARIES to get through our logic above.
 if (BLAS_LIBRARIES STREQUAL "BLAS_LIBRARIES-PLACEHOLDER-FOR-EMPTY-LIBRARIES")


Checking if ceres crashes because of Eigen

Former-commit-id: 623e2a509b7e62e280d2e959e68e4faa66ee32f2

--- cmake-modules/Fetch_Eigen3.cmake
+++ cmake-modules/Fetch_Eigen3.cmake
@@ -34,17 +34,17 @@

 if(TARGET Eigen3::Eigen AND TARGET blas )
     set(EIGEN3_USING_BLAS ON)
-#    if(TARGET mkl)
-#        message(STATUS "Eigen3 will use MKL")
-#        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_MKL_ALL)
-#        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_LAPACKE_STRICT)
-#        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_MKL_ALL)
-#        target_include_directories(Eigen3::Eigen INTERFACE ${MKL_INCLUDE_DIR})
-#    else ()
-#        message(STATUS "Eigen3 will use BLAS and LAPACKE")
-#        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_BLAS)
-#        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_LAPACKE_STRICT)
-#    endif()
+    if(TARGET mkl)
+        message(STATUS "Eigen3 will use MKL")
+        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_MKL_ALL)
+        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_LAPACKE_STRICT)
+        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_MKL_ALL)
+        target_include_directories(Eigen3::Eigen INTERFACE ${MKL_INCLUDE_DIR})
+    else ()
+        message(STATUS "Eigen3 will use BLAS and LAPACKE")
+        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_BLAS)
+        target_compile_definitions    (Eigen3::Eigen INTERFACE -DEIGEN_USE_LAPACKE_STRICT)
+    endif()

     target_compile_definitions(Eigen3::Eigen INTERFACE -DEIGEN_DONT_ALIGN_STATICALLY)
     target_compile_definitions(Eigen3::Eigen INTERFACE -DEIGEN_DONT_VECTORIZE)


Make multiple attempts to download json.hpp. (#2325)

Some of the CI builds are failing because this file fails to download.
Use the standard technique: make multiple attempts to download, using an
exponential backoff.

Typically we rely on ExternalProject_Add() to implement the download
retry loop, but for this file we cannot because early versions of
ExternalProject_Add() cannot download single files.

--- cmake/DownloadNlohmannJson.cmake
+++ cmake/DownloadNlohmannJson.cmake
@@ -23,34 +23,66 @@
 set(
     JSON_SHA256 63da6d1f22b2a7bb9e4ff7d6b255cf691a161ff49532dcc45d398a53e295835f
     )
-message("JSON_URL = ${JSON_URL}")
-message("JSON_SHA256 = ${JSON_SHA256}")
-message("DEST = ${DEST}")
-file(DOWNLOAD "${JSON_URL}" "${DEST}/json.hpp"
-     EXPECTED_HASH SHA256=${JSON_SHA256})

-# Remove the definitions of `operator""_json()` and `operator""_json_pointer`. I
-# know it looks ugly to remove specific lines, but we know the contents of the
-# file exactly (there is a SHA256 hash of it above).
-file(READ "${DEST}/json.hpp" JSON_HPP_CONTENT)
-string(
-    REPLACE
-        [==[
+# Use a function to avoid filling up the global namespace with local variables.
+function (_download_json_hpp)
+    set(sleep_seconds 2)
+    foreach (attempt 1 2 3 4 5)
+        math(EXPR sleep_seconds "2 * ${sleep_seconds}")
+        if (NOT attempt EQUAL 1)
+            message(
+                STATUS
+                    "Will retry after ${sleep_seconds} seconds (attempt #${attempt})."
+                )
+            execute_process(COMMAND "${CMAKE_COMMAND}" -E sleep
+                                    "${sleep_seconds}")
+        endif ()
+        file(DOWNLOAD "${JSON_URL}" "${DEST}/json.hpp" STATUS download_status)
+        list(GET download_status 0 download_error_code)
+        if (download_error_code EQUAL 0)
+            break()
+        endif ()
+    endforeach ()
+
+    if (NOT download_error_code EQUAL 0)
+        message(
+            FATAL_ERROR
+                "Could not download ${JSON_URL} after multiple attempts."
+                " status=${download_status}")
+    endif ()
+
+    file(SHA256 "${DEST}/json.hpp" actual_json_hpp_sha256)
+    if (NOT "${JSON_SHA256}" STREQUAL "${actual_json_hpp_sha256}")
+        message(FATAL_ERROR "Mismatch digest for downloaded json.hpp file."
+                            "\n  expected hash: [${JSON_SHA256}]"
+                            "\n    actual hash: [${actual_json_hpp_sha256}]")
+    endif ()
+    # Remove the definitions of `operator""_json()` and
+    # `operator""_json_pointer`. I know it looks ugly to remove specific lines,
+    # but we know the contents of the file exactly (there is a SHA256 hash of it
+    # above).
+    file(READ "${DEST}/json.hpp" JSON_HPP_CONTENT)
+    string(
+        REPLACE
+            [==[
 inline nlohmann::json operator "" _json(const char* s, std::size_t n)
 {
     return nlohmann::json::parse(s, s + n);
 }
 ]==]
-        "" JSON_HPP_CONTENT "${JSON_HPP_CONTENT}")
-string(REPLACE
-        [==[
+            "" JSON_HPP_CONTENT "${JSON_HPP_CONTENT}")
+    string(REPLACE
+            [==[
 inline nlohmann::json::json_pointer operator "" _json_pointer(const char* s, std::size_t n)
 {
     return nlohmann::json::json_pointer(std::string(s, n));
 }
 ]==]
-        ""
-        JSON_HPP_CONTENT
-        "${JSON_HPP_CONTENT}")
+            ""
+            JSON_HPP_CONTENT
+            "${JSON_HPP_CONTENT}")

-file(WRITE "${DEST}/json.hpp" "${JSON_HPP_CONTENT}")
+    file(WRITE "${DEST}/json.hpp" "${JSON_HPP_CONTENT}")
+endfunction ()
+
+_download_json_hpp()


revert CMINPACK_IS_STATIC cmake option for windows

non patched CMinpack cmake script doesn't add _s suffix when cminpack is static

git-svn-id: 1af002208e930b4d920e7c2b948d1e98a012c795@2047 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/Modules/FindCMinpack.cmake
+++ cmake/Modules/FindCMinpack.cmake
@@ -62,8 +62,13 @@
   message(STATUS "CMinPack found (include: ${CMINPACK_INCLUDE_DIRS}, libs: ${CMINPACK_LIBRARIES})")
   if(WIN32)
     get_filename_component(cminpack_lib ${CMINPACK_LIBRARY} NAME_WE)
+    set(CMINPACK_IS_STATIC_DEFAULT OFF)
     if("${cminpack_lib}" STREQUAL "cminpack_s")
+      set(CMINPACK_IS_STATIC_DEFAULT ON)
+    endif("${cminpack_lib}" STREQUAL "cminpack_s")
+    option(CMINPACK_IS_STATIC "Set to OFF if you use shared cminpack library." ${CMINPACK_IS_STATIC_DEFAULT})
+    if(CMINPACK_IS_STATIC)
       add_definitions(-DCMINPACK_NO_DLL)
-    endif("${cminpack_lib}" STREQUAL "cminpack_s")
+    endif(CMINPACK_IS_STATIC)
   endif(WIN32)
 endif(CMINPACK_FOUND)


fixes #117

fixes #117

undo problematic optimisation that compiled plugins wrongly

--- cmake/Modules/LibAddPlugin.cmake
+++ cmake/Modules/LibAddPlugin.cmake
@@ -69,7 +69,8 @@
 	set_property(TARGET ${PLUGIN_OBJS}
 		APPEND PROPERTY COMPILE_DEFINITIONS
 		${ARG_COMPILE_DEFINITIONS}
-		"HAVE_KDBCONFIG_H;ELEKTRA_STATIC"
+		"ELEKTRA_STATIC"
+		"HAVE_KDBCONFIG_H"
 		"PLUGIN_SHORT_NAME=${PLUGIN_SHORT_NAME}"
 		"README=readme_${PLUGIN_SHORT_NAME}.c"
 		)
@@ -89,12 +90,25 @@
 	#set_property(TARGET ${PLUGIN_OBJS}
 	#	PROPERTY CMAKE_POSITION_INDEPENDENT_CODE ON)

-
 	if (BUILD_SHARED)
-		add_library (${PLUGIN_NAME} MODULE ${PLUGIN_TARGET_OBJS})
-		target_link_libraries (${PLUGIN_NAME} ${ARG_LINK_LIBRARIES})
+		add_library (${PLUGIN_NAME} MODULE ${ARG_SOURCES})
+		target_link_libraries (${PLUGIN_NAME}
+			${ARG_LINK_LIBRARIES})
 		install (TARGETS ${PLUGIN_NAME} DESTINATION
 			lib${LIB_SUFFIX}/${TARGET_PLUGIN_FOLDER})
+		set_property(TARGET ${PLUGIN_NAME}
+			APPEND PROPERTY
+			COMPILE_DEFINITIONS
+			${ARG_COMPILE_DEFINITIONS}
+			"HAVE_KDBCONFIG_H"
+			"PLUGIN_SHORT_NAME=${PLUGIN_SHORT_NAME}"
+			"README=readme_${PLUGIN_SHORT_NAME}.c"
+			)
+		set_property(TARGET ${PLUGIN_NAME}
+			APPEND PROPERTY INCLUDE_DIRECTORIES
+			${ARG_INCLUDE_DIRECTORIES}
+			${CMAKE_CURRENT_BINARY_DIR} #for readme
+			)
 	endif()

 	set_property (GLOBAL APPEND PROPERTY "elektra-full_SRCS"


* Fix bug in configuration test for QLayout

svn path=/trunk/KDE/kdebindings/smoke/; revision=642142

--- kde/qtguess.pl.cmake
+++ kde/qtguess.pl.cmake
@@ -315,7 +315,7 @@
 						    void setGeometry( const QRect & ) { };
                             QLayoutItem* itemAt(int) const {return (QLayoutItem*) NULL;}
                             QLayoutItem* takeAt(int) {return (QLayoutItem*) NULL;}
-                            int QFoo::count() const {return 0;}
+                            int count() const {return 0;}

  						};
  					],


make glow-config rely on glow.h instead of ref_ptr

--- glow-config.cmake
+++ glow-config.cmake
@@ -6,7 +6,7 @@
 # GLOW_UTILS_LIBRARY
 # GLOW_WINDOW_LIBRARY

-find_path(GLOW_INCLUDE_DIR glow/ref_ptr.hpp
+find_path(GLOW_INCLUDE_DIR glow/glow.h
 	$ENV{GLOW_DIR}/include
 	${GLOW_DIR}/include
 	$ENV{PROGRAMFILES}/GLOW/include
@@ -14,7 +14,7 @@
 	/usr/local/include
 	/sw/include
 	/opt/local/include
-	DOC "The directory where glow/ref_ptr.hpp resides")
+	DOC "The directory where glow/glow.h resides")

 set(LIB_PATHS
 	$ENV{GLOW_DIR}/lib


Remove old file.

Remove old file.

--- VigraAddExternal.cmake
+++ VigraAddExternal.cmake
@@ -1,111 +0,0 @@
-if(VigraAddExternalIncluded)
-    return()
-endif()
-
-include(CMakeParseArguments)
-
-OPTION(WITH_EXTERNAL_TESTS "Compile and run tests of external packages ?" OFF)
-
-if(DEPS_EXTERNAL_ROOT)
-  message(STATUS "The root of external dependencies has been specified by the user: '${DEPS_EXTERNAL_ROOT}'")
-else()
-  set(DEPS_EXTERNAL_ROOT ${PROJECT_SOURCE_DIR}/external)
-  message(STATUS "The root of external dependencies has not been been specified by the user, setting it to the default: '${DEPS_EXTERNAL_ROOT}'")
-endif()
-
-find_package(Git REQUIRED)
-
-function(vigra_add_external AD_NAME)
-  # Determine if the dependency has already been satisfied.
-  if(TARGET ${AD_NAME})
-    message(STATUS "Dependency '${AD_NAME}' is already satisfied.")
-    return()
-  else()
-    message(STATUS "Adding dependency '${AD_NAME}'.")
-  endif()
-
-  # Create the external deps directory if it does not exist already.
-  if(NOT EXISTS "${DEPS_EXTERNAL_ROOT}")
-    message(STATUS "Directory '${DEPS_EXTERNAL_ROOT}' does not exist, creating it.")
-    file(MAKE_DIRECTORY "${DEPS_EXTERNAL_ROOT}")
-  endif()
-
-  # Parse the options.
-  set(options SYSTEM)
-  set(oneValueArgs REPO BRANCH COMMIT)
-  cmake_parse_arguments(AD "${options}" "${oneValueArgs}" "" ${ARGN})
-
-  if(AD_SYSTEM OR NOT AD_REPO)
-    if(NOT AD_REPO)
-      message(STATUS "Dependency '${AD_NAME}' was not provided with a repository address, assuming system-wide dependency.")
-    else()
-      message(STATUS "Dependency '${AD_NAME}' declared as a system-wide dependency.")
-    endif()
-    find_file(AD_SYSTEM_FILE ${AD_NAME}_system.cmake ${CMAKE_MODULE_PATH})
-    if(AD_SYSTEM_FILE)
-      message(STATUS "Found system file for ${AD_NAME} at ${AD_SYSTEM_FILE}.")
-      include(${AD_SYSTEM_FILE})
-    else()
-      message(STATUS "No system file for ${AD_NAME} at was found, locating package via 'find_package()'.")
-      find_package(${AD_NAME} REQUIRED)
-    endif()
-    unset(AD_SYSTEM_FILE CACHE)
-  else()
-    # Test if we need to do the initial repo clone.
-    if(NOT EXISTS "${DEPS_EXTERNAL_ROOT}/${AD_NAME}")
-      # Repo could come from cache variables, or from function option. Cached variable overrides the
-      # function argument.
-      if(DEPENDENCY_${AD_NAME}_REPO)
-        message(STATUS "Cloning dependency '${AD_NAME}' from cached repo '${DEPENDENCY_${AD_NAME}_REPO}'.")
-        set(AD_REPO "${DEPENDENCY_${AD_NAME}_REPO}")
-      else()
-        message(STATUS "Cloning dependency '${AD_NAME}' from REPO '${AD_REPO}' specified in vigra_add_external().")
-      endif()
-      # Check the branch and commit arguments.
-      if(AD_BRANCH AND AD_COMMIT)
-        message(FATAL_ERROR "At most one of BRANCH and COMMIT can be passed to vigra_add_external().")
-      endif()
-
-      # Try to check out the dependency.
-      execute_process(COMMAND "${GIT_EXECUTABLE}" "clone" "${AD_REPO}" "${AD_NAME}"
-        WORKING_DIRECTORY "${DEPS_EXTERNAL_ROOT}"
-        RESULT_VARIABLE RES
-        ERROR_VARIABLE OUT
-        OUTPUT_VARIABLE OUT)
-      if(RES)
-        message(FATAL_ERROR "The clone command for '${AD_NAME}' failed. The output is:\n====\n${OUT}\n====")
-      endif()
-      message(STATUS "'${AD_NAME}' was successfully cloned into '${DEPS_EXTERNAL_ROOT}/${AD_NAME}'")
-
-      if(AD_REPO)
-        set(DEPENDENCY_${AD_NAME}_REPO "${AD_REPO}" CACHE STRING "")
-        mark_as_advanced(DEPENDENCY_${AD_NAME}_REPO)
-      endif()
-      if(AD_BRANCH)
-        set(DEPENDENCY_${AD_NAME}_BRANCH "${AD_BRANCH}" CACHE STRING "")
-        mark_as_advanced(DEPENDENCY_${AD_NAME}_BRANCH)
-      endif()
-      if(AD_COMMIT)
-        set(DEPENDENCY_${AD_NAME}_COMMIT "${AD_COMMIT}" CACHE STRING "")
-        mark_as_advanced(DEPENDENCY_${AD_NAME}_COMMIT)
-      endif()
-    endif()
-    # The repo has been checked out, proceed to read the targets.
-    if(NOT WITH_EXTERNAL_TESTS)
-      set(SKIP_TESTS 1)
-    endif()
-    find_file(AD_REPO_FILE ${AD_NAME}_repo.cmake ${CMAKE_MODULE_PATH})
-    if(AD_REPO_FILE)
-      message(STATUS "Found repo file for ${AD_NAME} at ${AD_REPO_FILE}.")
-      include(${AD_REPO_FILE})
-    else()
-      message(STATUS "No repo file for ${AD_NAME} was found.")
-      add_subdirectory("${DEPS_EXTERNAL_ROOT}/${AD_NAME}" "${DEPS_EXTERNAL_ROOT}/${AD_NAME}/build_external_dep" EXCLUDE_FROM_ALL)
-    endif()
-    unset(AD_REPO_FILE CACHE)
-    set(SKIP_TESTS 0)
-  endif()
-endfunction()
-
-# Mark as included.
-set(VigraAddExternalIncluded YES)


Fix VS2012 ID/version check.

Fix VS2012 ID/version check.

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -42,7 +42,7 @@
         message(FATAL_ERROR "Host Clang must be able to find libstdc++4.7 or newer!")
       endif()
     endif()
-  elseif(CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
+  elseif(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
     if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 17.0)
       message(FATAL_ERROR "Host Visual Studio must be at least 2012 (MSVC 17.0)")
     endif()


Revert parts accidentally included in r251823

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -18,7 +18,7 @@
     endif()
   elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
     if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.1)
-	    #    message(FATAL_ERROR "Host Clang version must be at least 3.1!")
+      message(FATAL_ERROR "Host Clang version must be at least 3.1!")
     endif()

     if (CMAKE_CXX_SIMULATE_ID MATCHES "MSVC")


Fix for ROOT-7867 - memprobe script is broken when using CMake

--- cmake/modules/RootConfiguration.cmake
+++ cmake/modules/RootConfiguration.cmake
@@ -403,6 +403,10 @@
 set(cppunit)
 set(dicttype ${ROOT_DICTTYPE})

+
+find_program(PERL_EXECUTABLE perl)
+set(perl ${PERL_EXECUTABLE})
+
 #---RConfigure-------------------------------------------------------------------------------------------------
 set(setresuid undef)
 if(mathmore)


CDRIVER-2831 migrate to dynamic VERSION_CURRENT, 2

--- build/cmake/LoadVersion.cmake
+++ build/cmake/LoadVersion.cmake
@@ -25,7 +25,7 @@
     list (LENGTH VERSION VERSION_LENGTH)
     if (VERSION_LENGTH GREATER 3)
         list (GET VERSION 3 PRERELEASE_VERSION)
-        set (${PRERELEASE_VERSION_DIST_NAME} ${PRERELEASE_VERSION} PARENT_SCOPE)
+        set (${PRERELEASE_DIST_VERSION_NAME} ${PRERELEASE_VERSION} PARENT_SCOPE)
         set (${PRERELEASE_VERSION_NAME} "pre" PARENT_SCOPE)
         set (${VERSION_NAME}
             "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}-pre"
@@ -34,7 +34,7 @@
             "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}-${PRERELEASE_VERSION}"
             PARENT_SCOPE)
     else ()
-        set (${PRERELEASE_VERSION_DIST_NAME} "" PARENT_SCOPE)
+        set (${PRERELEASE_DIST_VERSION_NAME} "" PARENT_SCOPE)
         set (${PRERELEASE_VERSION_NAME} "" PARENT_SCOPE)
         set (${VERSION_NAME}
             "${MAJOR_VERSION}.${MINOR_VERSION}.${MICRO_VERSION}"


Setuptools sometimes (?) returns None

Setuptools sometimes (?) returns None

--- scripts/PythonPackageLookup.cmake
+++ scripts/PythonPackageLookup.cmake
@@ -76,8 +76,8 @@
         "from sys import path, exit\n"
         "path.append('${lpp_PATH}')\n"
         "from setuptools.command.easy_install import main as install\n"
-        "result = install(['--install-dir', path[-1], '${package}'])\n"
-        "exit(0 if result == True else 1)\n"
+        "result = install(['--install-dir', '${lpp_PATH}', '${package}'])\n"
+        "exit(0 if result == True or result is None else 1)\n"
     )
     execute_process(
         COMMAND ${LOCALPYTHON} "${EXTERNAL_ROOT}/install_${package}.py"


vtk and cylemon are not needed

vtk and cylemon are not needed

--- ilastik-gui.cmake
+++ ilastik-gui.cmake
@@ -19,8 +19,6 @@
 include (qt4)
 include (pyqt4)
 include (qimage2ndarray)
-include (vtk)
-include (cylemon)

 set (ilastik-gui_NAME ${ilastik_NAME}-gui)


Specify always the Qt version so that QtCreator works correctly.

--- add_dependencies.cmake
+++ add_dependencies.cmake
@@ -1,11 +1,11 @@
 set(LIBRARIES)

 find_package(Qt5Core 5.5 REQUIRED)
-find_package(Qt5Gui REQUIRED)
-find_package(Qt5Widgets REQUIRED)
-find_package(Qt5OpenGL REQUIRED)
-find_package(Qt5OpenGLExtensions REQUIRED)
-find_package(Qt5Quick REQUIRED)
+find_package(Qt5Gui 5.5 REQUIRED)
+find_package(Qt5Widgets 5.5 REQUIRED)
+find_package(Qt5OpenGL 5.5 REQUIRED)
+find_package(Qt5OpenGLExtensions 5.5 REQUIRED)
+find_package(Qt5Quick 5.5 REQUIRED)

 find_package(OpenGL REQUIRED)
 include_directories(${OpenGL_INCLUDE_DIRS})


cmake: enforce c++14 when enabling root7

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -301,6 +301,12 @@
 #---Define at moment the options with the selected default values-----------------------------
 ROOT_APPLY_OPTIONS()

+if(root7)
+  if(NOT CMAKE_CXX_STANDARD GREATER 11)
+      set(CMAKE_CXX_STANDARD 14 CACHE STRING "C++ standard to be used")
+   endif()
+endif()
+
 #---check if webui can be build-------------------------------
 if(webui)
   if(NOT CMAKE_CXX_STANDARD GREATER 11)


[NFC] Update help message for build option roofit.

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -155,7 +155,7 @@
 ROOT_BUILD_OPTION(pythia8 ON "Enable support for Pythia 8.x")
 ROOT_BUILD_OPTION(qt5web OFF "Enable support for Qt5 web-based display (requires Qt5WebEngine)")
 ROOT_BUILD_OPTION(r OFF "Enable support for R bindings (requires R, Rcpp, and RInside)")
-ROOT_BUILD_OPTION(roofit ON "Build RooFit advanced fitting package")
+ROOT_BUILD_OPTION(roofit ON "Build the advanced fitting package RooFit, and RooStats for statistical tests. If xml is available, also build HistFactory.")
 ROOT_BUILD_OPTION(webgui ON "Build Web-based UI components of ROOT (requires C++14 standard or higher)")
 ROOT_BUILD_OPTION(root7 ON "Build ROOT 7 components of ROOT (requires C++14 standard or higher)")
 ROOT_BUILD_OPTION(rpath OFF "Link libraries with built-in RPATH (run-time search path)")


update OpenNI packages urls for the all-in-one installer

git-svn-id: 5398946ba177a3e438c2dae55e2cdfc2fb96c905@5055 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/pcl_all_in_one_installer.cmake
+++ cmake/pcl_all_in_one_installer.cmake
@@ -24,17 +24,17 @@

     if(CMAKE_CL_64)
         set(OPENNI_PACKAGE "OpenNI-Win64-1.3.2-Dev.msi")
-        set(OPENNI_URL "http://dev.pointclouds.org/attachments/download/360/${OPENNI_PACKAGE}")
+        set(OPENNI_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_PACKAGE}")
         set(OPENNI_MD5 e54b5ede27b293c579c42dcede33b289)
         set(OPENNI_SENSOR_PACKAGE "Sensor-Win-OpenSource64-5.0.3.msi")
-        set(OPENNI_SENSOR_URL "http://dev.pointclouds.org/attachments/download/359/${OPENNI_SENSOR_PACKAGE}")
+        set(OPENNI_SENSOR_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_SENSOR_PACKAGE}")
         set(OPENNI_SENSOR_MD5 cbf4ce02d5ef430dca17833d5588e060)
     else(CMAKE_CL_64)
         set(OPENNI_PACKAGE "OpenNI-Win32-1.3.2-Dev.msi")
-        set(OPENNI_URL "http://dev.pointclouds.org/attachments/download/361/${OPENNI_PACKAGE}")
+        set(OPENNI_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_PACKAGE}")
         set(OPENNI_MD5 0b7118a0581abef411b58530d4039cf0)
         set(OPENNI_SENSOR_PACKAGE "Sensor-Win-OpenSource32-5.0.3.msi")
-        set(OPENNI_SENSOR_URL "http://dev.pointclouds.org/attachments/download/358/${OPENNI_SENSOR_PACKAGE}")
+        set(OPENNI_SENSOR_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_SENSOR_PACKAGE}")
         set(OPENNI_SENSOR_MD5 8bf14b2e813859f868fc316acb2d08fa)
     endif(CMAKE_CL_64)


Download DetectOS.sh from Github

Download DetectOS.sh from Github

--- CMake/MITKDashboardSetup.cmake
+++ CMake/MITKDashboardSetup.cmake
@@ -9,11 +9,12 @@

 if(UNIX)
   # Download a utility script
-  if(IS_PHABRICATOR_URL)
-    set(url "https://phabricator.mitk.org/source/mitk/browse/${GIT_BRANCH}/CMake/mitkDetectOS.sh?view=raw")
-  else()
+  # See T24757.
+  # if(IS_PHABRICATOR_URL)
+  #   set(url "https://phabricator.mitk.org/source/mitk/browse/${GIT_BRANCH}/CMake/mitkDetectOS.sh?view=raw")
+  # else()
     set(url "https://raw.githubusercontent.com/MITK/MITK/master/CMake/mitkDetectOS.sh")
-  endif()
+  # endif()
   set(dest "${CTEST_SCRIPT_DIRECTORY}/mitkDetectOS.sh")
   downloadFile("${url}" "${dest}")
   execute_process(COMMAND sh "${dest}"


fix the type detection (size_t and ssize_t)

svn path=/trunk/kdesupport/strigi/; revision=643787

--- ConfigureChecks.cmake
+++ ConfigureChecks.cmake
@@ -78,9 +78,9 @@
 MACRO_BOOL_TO_01(HAVE_UINT      HAVE_UINT)
 MACRO_BOOL_TO_01(HAVE_INTPTR_T  HAVE_INTPTR_T)
 MACRO_BOOL_TO_01(HAVE_SOCKLEN_T HAVE_SOCKLEN_T)
+MACRO_BOOL_TO_01(HAVE_STDINT_H  STRIGI_HAVE_STDINT_H)
 MACRO_BOOL_TO_01(HAVE_SIZE_T    HAVE_SIZE_T)
 MACRO_BOOL_TO_01(HAVE_SSIZE_T   HAVE_SSIZE_T)
-MACRO_BOOL_TO_01(HAVE_STDINT_H  STRIGI_HAVE_STDINT_H)

 #now write out our configuration....
 ADD_DEFINITIONS(-DHAVE_CONFIG_H)


Update ModuleOpenIGTLink.cmake

Update ModuleOpenIGTLink.cmake

to 3.1 for ubuntu

--- cmake/ModuleOpenIGTLink.cmake
+++ cmake/ModuleOpenIGTLink.cmake
@@ -15,8 +15,8 @@
         )
     else()
         fast_download_dependency(OpenIGTLink
-                2.1
-                404b6cb26923c9361d3ffb53210abc573696258e08c57ffed3d38aa9857f793b
+                3.1
+                99d45eb03c5fddacdbd5ac424347ede2907394e180e6aba03fb335480cde858f
                 libOpenIGTLink.so
         )
     endif()


[cmake] prevent usage of some shell commands if not present

--- cmake/swig_python_tools.cmake
+++ cmake/swig_python_tools.cmake
@@ -183,12 +183,12 @@

   # Add a post-build step that prepends utf-8 coding indicator to .py files
   find_program(SH_COMMAND sh)
-  find_program(TAR_COMMAND tar)
+  find_program(CAT_COMMAND cat)
   find_program(MV_COMMAND mv)
-  if(SH_COMMAND AND TAR_COMMAND)
+  if(SH_COMMAND AND CAT_COMMAND)
     if(MV_COMMAND)
       add_custom_command(TARGET ${SWIG_MODULE_${_name}_REAL_NAME}
-        POST_BUILD COMMAND sh -c "(echo '# -*- coding: utf-8 -*-'; cat ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.py) > ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.tmp; mv ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.tmp ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.py" VERBATIM)
+        POST_BUILD COMMAND ${SH_COMMAND} -c "(echo '# -*- coding: utf-8 -*-'; ${CAT_COMMAND} ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.py) > ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.tmp; ${MV_COMMAND} ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.tmp ${SICONOS_SWIG_ROOT_DIR}/${_path}/${_name}.py" VERBATIM)
     endif()
   endif()
   # Check dependencies and then link ...


added init file

added init file

--- init-cpm.cmake
+++ init-cpm.cmake
@@ -0,0 +1,20 @@
+  #------------------------------------------------------------------------------
+  # Required CPM Setup - no need to modify - See: https://github.com/iauns/cpm
+  #------------------------------------------------------------------------------
+  set(CPM_REPOSITORY https://github.com/iauns/cpm)
+  set(CPM_DIR "${CMAKE_CURRENT_BINARY_DIR}/cpm_packages" CACHE TYPE STRING)
+  find_package(Git)
+  if(NOT GIT_FOUND)
+    message(FATAL_ERROR "CPM requires Git.")
+  endif()
+  if (NOT EXISTS ${CPM_DIR}/CPM.cmake)
+    message(STATUS "Cloning repo (${CPM_REPOSITORY})")
+    execute_process(
+      COMMAND "${GIT_EXECUTABLE}" clone ${CPM_REPOSITORY} ${CPM_DIR}
+      RESULT_VARIABLE error_code
+      OUTPUT_QUIET ERROR_QUIET)
+    if(error_code)
+      message(FATAL_ERROR "CPM failed to get the hash for HEAD")
+    endif()
+  endif()
+  include(${CPM_DIR}/CPM.cmake)


Add --have-eh so CXX Test knows it has exceptions

The default CXX Test settings don’t allow for exceptions so TS_SKIP
causes test failures. With the flag, TS_SKIP works as expected.

--- lib/AddCxxtest.cmake
+++ lib/AddCxxtest.cmake
@@ -9,6 +9,7 @@
 			COMMAND
 				${CXXTEST_GEN}
 				--runner=ErrorPrinter
+				--have-eh
 				-o ${CMAKE_CURRENT_BINARY_DIR}/${NAME}.cpp ${CMAKE_CURRENT_SOURCE_DIR}/${NAME}.cxxtest
 			DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${NAME}.cxxtest ${ARGN}
 			WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
@@ -39,6 +40,7 @@
 				COMMAND
 					${CXXTEST_GEN}
 					--part
+					--have-eh
 					-o ${_NAME_WE}.cpp
 					${_NAME}
 				DEPENDS ${_PART}
@@ -52,6 +54,7 @@
 			COMMAND
 				${CXXTEST_GEN}
 				--runner=ErrorPrinter --root
+				--have-eh
 				-o ${NAME}_runner.cpp
 			WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
 		)


Get rid of FindGStreamer.cmake

Get rid of FindGStreamer.cmake

We don't need it anymore.

--- cmake/modules/FindGStreamer.cmake
+++ cmake/modules/FindGStreamer.cmake
@@ -1,70 +0,0 @@
-# - Try to find GStreamer
-# Once done this will define
-#
-#  GSTREAMER_FOUND - system has GStreamer
-#  GSTREAMER_INCLUDE_DIR - the GStreamer include directory
-#  GSTREAMER_LIBRARIES - the libraries needed to use GStreamer
-#  GSTREAMER_DEFINITIONS - Compiler switches required for using GStreamer
-
-# Copyright (c) 2006, Tim Beaulen <tbscope@gmail.com>
-#
-# Redistribution and use is allowed according to the terms of the BSD license.
-# For details see the accompanying COPYING-CMAKE-SCRIPTS file.
-
-# TODO: Other versions --> GSTREAMER_X_Y_FOUND (Example: GSTREAMER_0_8_FOUND and GSTREAMER_0_10_FOUND etc)
-
-IF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
-   # in cache already
-   SET(GSTREAMER_FIND_QUIETLY TRUE)
-ELSE (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
-   SET(GSTREAMER_FIND_QUIETLY FALSE)
-ENDIF (GSTREAMER_INCLUDE_DIR AND GSTREAMER_LIBRARIES AND GSTREAMER_BASE_LIBRARY AND GSTREAMER_INTERFACE_LIBRARY)
-
-IF (NOT WIN32)
-   # use pkg-config to get the directories and then use these values
-   # in the FIND_PATH() and FIND_LIBRARY() calls
-   FIND_PACKAGE(PkgConfig)
-   PKG_CHECK_MODULES(PC_GSTREAMER gstreamer-1.0)
-   #MESSAGE(STATUS "DEBUG: GStreamer include directory = ${GSTREAMER_INCLUDE_DIRS}")
-   #MESSAGE(STATUS "DEBUG: GStreamer link directory = ${GSTREAMER_LIBRARY_DIRS}")
-   #MESSAGE(STATUS "DEBUG: GStreamer CFlags = ${GSTREAMER_CFLAGS_OTHER}")
-   SET(GSTREAMER_DEFINITIONS ${PC_GSTREAMER_CFLAGS_OTHER})
-ENDIF (NOT WIN32)
-
-FIND_PATH(GSTREAMER_INCLUDE_DIR gst/gst.h
-   PATHS
-   ${PC_GSTREAMER_INCLUDEDIR}
-   ${PC_GSTREAMER_INCLUDE_DIRS}
-   PATH_SUFFIXES gstreamer-1.0
-   )
-
-FIND_LIBRARY(GSTREAMER_LIBRARIES NAMES gstreamer-1.0
-   PATHS
-   ${PC_GSTREAMER_LIBDIR}
-   ${PC_GSTREAMER_LIBRARY_DIRS}
-   )
-
-FIND_LIBRARY(GSTREAMER_BASE_LIBRARY NAMES gstbase-1.0
-   PATHS
-   ${PC_GSTREAMER_LIBDIR}
-   ${PC_GSTREAMER_LIBRARY_DIRS}
-   )
-
-
-IF (GSTREAMER_INCLUDE_DIR)
-   #MESSAGE(STATUS "DEBUG: Found GStreamer include dir: ${GSTREAMER_INCLUDE_DIR}")
-ELSE (GSTREAMER_INCLUDE_DIR)
-   MESSAGE(STATUS "GStreamer: WARNING: include dir not found")
-ENDIF (GSTREAMER_INCLUDE_DIR)
-
-IF (GSTREAMER_LIBRARIES)
-   #MESSAGE(STATUS "DEBUG: Found GStreamer library: ${GSTREAMER_LIBRARIES}")
-ELSE (GSTREAMER_LIBRARIES)
-   MESSAGE(STATUS "GStreamer: WARNING: library not found")
-ENDIF (GSTREAMER_LIBRARIES)
-
-
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(GStreamer  DEFAULT_MSG  GSTREAMER_LIBRARIES GSTREAMER_INCLUDE_DIR GSTREAMER_BASE_LIBRARY)
-
-MARK_AS_ADVANCED(GSTREAMER_INCLUDE_DIR GSTREAMER_LIBRARIES GSTREAMER_BASE_LIBRARY)


Add support for NO_ROOTMAP option when generating dictionaries with the ctest version of roottest.

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -303,7 +303,12 @@
     set(rootmap_name ${library_output_dir}/${libprefix}${deduced_arg_module}.rootmap)
   endif()

-  set(rootmapargs -rml ${library_name} -rmf ${rootmap_name})
+  if(CMAKE_ROOTTEST_NOROOTMAP)
+    set(rootmapname )
+    set(rootmapargs )
+  else()
+    set(rootmapargs -rml ${library_name} -rmf ${rootmap_name})
+  endif()

   #---Get the library and module dependencies-----------------
   if(ARG_DEPENDENCIES)


Revert "Improve the name of pcm and rootmap in the multidict case"

This reverts commit 128d716a71a1bf58d1ee6635098b275cc3be0245.

The incremental builds are built over and over.

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -303,8 +303,8 @@
     set(library_name ${libprefix}${ARG_MODULE}${libsuffix})
     if(ARG_MULTIDICT)
       set(newargs -s ${library_output_dir}/${library_name} -multiDict)
-      set(pcm_name ${library_output_dir}/${libprefix}${ARG_MODULE}_${deduced_arg_module}_rdict.pcm)
-      set(rootmap_name ${library_output_dir}/${deduced_arg_module}.rootmap)
+      set(pcm_name ${library_output_dir}/${libprefix}${ARG_MODULE}_${dictionary}_rdict.pcm)
+      set(rootmap_name ${library_output_dir}/${libprefix}${deduced_arg_module}.rootmap)
     else()
       set(newargs -s ${library_output_dir}/${library_name})
       set(pcm_name ${library_output_dir}/${libprefix}${ARG_MODULE}_rdict.pcm)
@@ -745,7 +745,7 @@
         COMMAND ${CMAKE_COMMAND} -E copy ${src} ${dst}
         COMMENT "Copying header ${src} to /include"
         DEPENDS ${src})
-      list(APPEND dst_list ${dst})
+      list(APPEND dst_list ${dst})
     endforeach()
     set_property(GLOBAL APPEND PROPERTY ROOT_INCLUDE_DIRS ${CMAKE_CURRENT_SOURCE_DIR}/${d})
   endforeach()


- add SUBVERSION_BIN_DIR for win32

- add SUBVERSION_BIN_DIR for win32

--- cmakemodules/FindSubversion.cmake
+++ cmakemodules/FindSubversion.cmake
@@ -70,8 +70,11 @@
 IF (WIN32)

   # search for pathes
-  FIND_PATH (SUBVERSION_INCLUDE_DIR
-    svn_client.h
+  FIND_PATH (SUBVERSION_BIN_DIR svn.exe
+    "$ENV{ProgramFiles}/Subversion/bin"
+  )
+
+  FIND_PATH (SUBVERSION_INCLUDE_DIR svn_client.h
     "$ENV{ProgramFiles}/Subversion/include"
   )


Generate .pc file with the proper version value

Closes libsystat#3.

--- cmake/create_pkgconfig_file.cmake
+++ cmake/create_pkgconfig_file.cmake
@@ -16,7 +16,7 @@
             "\n"
             "Name: ${name}\n"
             "Description: ${desc}\n"
-            "Version: ${LXQT_VERSION}\n"
+            "Version: ${SYSSTAT_VERSION}\n"
             "Libs: -L\${libdir} -l${name}\n"
             "Cflags: -I\${includedir}\n"
             "\n"


Fix more warnings

Fix more warnings

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -368,7 +368,10 @@
 function(ROOT_MODULE_LIBRARY library)
   CMAKE_PARSE_ARGUMENTS(ARG "" "" "LIBRARIES" ${ARGN})
   ROOT_GET_SOURCES(lib_srcs src ${ARG_UNPARSED_ARGUMENTS})
-  include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc ${CMAKE_BINARY_DIR}/include )
+  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+    include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+  endif()
+  include_directories(${CMAKE_BINARY_DIR}/include)
   add_library( ${library} SHARED ${lib_srcs})
   set_target_properties(${library}  PROPERTIES ${ROOT_LIBRARY_PROPERTIES})
   target_link_libraries(${library} ${ARG_LIBRARIES})
@@ -493,7 +496,10 @@
     message("Target ${executable} already exists. Renaming target name to ${executable}_new")
     set(executable ${executable}_new)
   endif()
-  include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc ${CMAKE_BINARY_DIR}/include )
+  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+    include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+  endif()
+  include_directories(${CMAKE_BINARY_DIR}/include)
   add_executable( ${executable} ${exe_srcs})
   target_link_libraries(${executable} ${ARG_LIBRARIES} )
   if(WIN32 AND ${executable} MATCHES .exe)


Do not run the benchmarks as part of the pull request checks.

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -1245,7 +1245,7 @@
   ROOT_ADD_TEST(gbench${mangled_name}
     COMMAND ${benchmark}
     WORKING_DIR ${CMAKE_CURRENT_BINARY_DIR}
-    LABELS "benchmark")
+    LABELS "benchmark;longtest")
 endfunction()

 #----------------------------------------------------------------------------


Move build_info out of data directory

Move build_info out of data directory

build_info is architecture-dependent, and
really belongs in the binary directory, whereas
the data files are arch-independent. Put them
in separate directories to make it easier to
separate them at install time.

--- cmake_modules/CheckCompiles.cmake
+++ cmake_modules/CheckCompiles.cmake
@@ -16,7 +16,7 @@
     foreach(l ${link_libs})
       set(${ucpkgname}_LIBRARIES ${${ucpkgname}_LIBRARIES} ${l} CACHE INTERNAL "" FORCE)
     endforeach()
-    file(WRITE "${CMAKE_BINARY_DIR}/data/build_info/${pkgname}" "ok=True
+    file(WRITE "${CMAKE_BINARY_DIR}/build_info/${pkgname}" "ok=True
 includepath=\"${${pkgname}_INCLUDE_PATH}\"
 swigpath=\"${${pkgname}_SWIG_PATH}\"
 libpath=\"${${pkgname}_LIB_PATH}\"


Add support for the custom git setup on our buildbots that has no remote against which to diff.  We skip the diff content check in that case.

--- suite/runsuite.cmake
+++ suite/runsuite.cmake
@@ -97,15 +97,24 @@
       if (git_result OR git_err)
         if (git_err MATCHES "unknown revision")
           # It may be a cloned branch
-          execute_process(COMMAND ${GIT} diff remotes/origin/master
+          execute_process(COMMAND ${GIT} remote -v
             WORKING_DIRECTORY "${CTEST_SOURCE_DIRECTORY}"
             RESULT_VARIABLE git_result
             ERROR_VARIABLE git_err
-            OUTPUT_VARIABLE diff_contents)
+            OUTPUT_VARIABLE git_out)
         endif ()
         if (git_result OR git_err)
-          message(FATAL_ERROR "*** ${GIT} diff failed: ***\n${git_err}")
+          message(FATAL_ERROR "*** ${GIT} remote -v failed: ***\n${git_err}")
         endif (git_result OR git_err)
+        if (NOT git_out)
+          # No remotes set up: we assume this is a custom git setup that
+          # is only likely to get used on our buildbots, so we skip
+          # the diff checks.
+          message("No remotes set up so cannot diff and must skip content checks.  Assuming this is a buildbot.")
+          set(diff_contents "")
+        else ()
+          message(FATAL_ERROR "*** Unable to retrieve diff for content checks: do you have a custom remote setup?")
+        endif ()
       endif (git_result OR git_err)
     endif (GIT)
   endif (EXISTS "${CTEST_SOURCE_DIRECTORY}/.git")


Handle dependencies in globjects find script

--- globjects-config.cmake
+++ globjects-config.cmake
@@ -9,10 +9,10 @@
 # GLOBJECTS_BASE_LIBRARY_DEBUG
 # GLOBJECTS_BASE_INCLUDE_DIR

-# GLOBJECTS_LIBRARY
-# GLOBJECTS_LIBRARY_RELEASE
-# GLOBJECTS_LIBRARY_DEBUG
-# GLOBJECTS_INCLUDE_DIR
+# GLOBJECTS_CORE_LIBRARY
+# GLOBJECTS_CORE_LIBRARY_RELEASE
+# GLOBJECTS_CORE_LIBRARY_DEBUG
+# GLOBJECTS_CORE_INCLUDE_DIR

 # GLOBJECTS_UTILS_LIBRARY
 # GLOBJECTS_UTILS_LIBRARY_RELEASE
@@ -32,6 +32,9 @@

 file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" ENVPROGRAMFILES)
 file(TO_CMAKE_PATH "$ENV{GLOBJECTS_DIR}" ENVGLOBJECTS_DIR)
+
+set(GLOBJECTS_INCLUDES "")
+set(GLOBJECTS_LIBRARIES "")

 set(LIB_PATHS
     ${GLOBJECTS_DIR}/build
@@ -56,13 +59,13 @@
     set(HINT_PATHS ${ARGN})

     if (${LIB_NAME} STREQUAL "globjects")
-        set(LIB_NAME_UPPER GLOBJECTS)
+        set(LIB_NAME_UPPER GLOBJECTS_CORE)
         set(LIBNAME globjects)
     else()
         string(TOUPPER GLOBJECTS_${LIB_NAME} LIB_NAME_UPPER)
-        set(LIBNAME globjects-${LIB_NAME})
+        set(LIBNAME "globjects-${LIB_NAME}")
     endif()
-
+
     find_path(${LIB_NAME_UPPER}_INCLUDE_DIR ${HEADER}
         ${ENVGLOBJECTS_DIR}/include
         ${ENVGLOBJECTS_DIR}/source/${LIBNAME}/include
@@ -92,25 +95,57 @@
         set(${LIB_NAME_UPPER}_LIBRARY ${${LIB_NAME_UPPER}_LIBRARY_DEBUG})
     endif()

-    set(GLOBJECTS_INCLUDES  ${GLOBJECTS_INCLUDES}  ${${LIB_NAME_UPPER}_INCLUDE_DIR})
-    set(GLOBJECTS_LIBRARIES ${GLOBJECTS_LIBRARIES} ${${LIB_NAME_UPPER}_LIBRARY})
+    list(APPEND GLOBJECTS_INCLUDES ${${LIB_NAME_UPPER}_INCLUDE_DIR})
+    list(APPEND GLOBJECTS_LIBRARIES ${${LIB_NAME_UPPER}_LIBRARY})

     # DEBUG
-    #message("${LIB_NAME_UPPER}_INCLUDE_DIR     = ${${LIB_NAME_UPPER}_INCLUDE_DIR}")
-    #message("${LIB_NAME_UPPER}_LIBRARY_RELEASE = ${${LIB_NAME_UPPER}_LIBRARY_RELEASE}")
-    #message("${LIB_NAME_UPPER}_LIBRARY_DEBUG   = ${${LIB_NAME_UPPER}_LIBRARY_DEBUG}")
-    #message("${LIB_NAME_UPPER}_LIBRARY         = ${${LIB_NAME_UPPER}_LIBRARY}")
+    # message("${LIB_NAME_UPPER}_INCLUDE_DIR     = ${${LIB_NAME_UPPER}_INCLUDE_DIR}")
+    # message("${LIB_NAME_UPPER}_LIBRARY_RELEASE = ${${LIB_NAME_UPPER}_LIBRARY_RELEASE}")
+    # message("${LIB_NAME_UPPER}_LIBRARY_DEBUG   = ${${LIB_NAME_UPPER}_LIBRARY_DEBUG}")
+    # message("${LIB_NAME_UPPER}_LIBRARY         = ${${LIB_NAME_UPPER}_LIBRARY}")

 endmacro()

-find(base globjects-base/globjects-base_api.h ${LIB_PATHS})
-find(globjects   globjects/globjects_api.h             ${LIB_PATHS})
-find(utils  globjects-utils/globjects-utils_api.h   ${LIB_PATHS})
-find(window globjects-window/globjects-window_api.h ${LIB_PATHS})
+find(base      globjects-base/globjects-base_api.h     ${LIB_PATHS})
+find(globjects globjects/globjects_api.h               ${LIB_PATHS})
+find(utils     globjects-utils/globjects-utils_api.h   ${LIB_PATHS})
+find(window    globjects-window/globjects-window_api.h ${LIB_PATHS})
+
+if(GLOBJECTS_BASE_LIBRARY)
+  # no dependencies
+endif()
+
+if(GLOBJECTS_CORE_LIBRARY)
+  # add dependencies
+  if(NOT GLOBJECTS_BASE_LIBRARY)
+    message(WARNING "globjects-base not found")
+  endif()
+  find_package(glbinding REQUIRED)
+  list(APPEND GLOBJECTS_INCLUDES ${GLBINDING_INCLUDES})
+  list(APPEND GLOBJECTS_LIBRARIES ${GLBINDING_LIBRARIES})
+endif()
+
+if(GLOBJECTS_UTILS_LIBRARY)
+  # add dependencies
+  if(NOT GLOBJECTS_CORE_LIBRARY)
+    message(WARNING "globjects not found")
+  endif()
+endif()
+
+if(GLOBJECTS_WINDOW_LIBRARY)
+  # add dependencies
+  if(NOT GLOBJECTS_BASE_LIBRARY)
+    message(WARNING "globjects-base not found")
+  endif()
+
+  find_package(GLFW REQUIRED)
+  list(APPEND GLOBJECTS_INCLUDES ${GLFW_INCLUDE_DIR})
+  list(APPEND GLOBJECTS_LIBRARIES ${GLFW_LIBRARY})
+endif()

 # DEBUG
-#message("GLOBJECTS_INCLUDES  = ${GLOBJECTS_INCLUDES}")
-#message("GLOBJECTS_LIBRARIES = ${GLOBJECTS_LIBRARIES}")
+# message("GLOBJECTS_INCLUDES  = ${GLOBJECTS_INCLUDES}")
+# message("GLOBJECTS_LIBRARIES = ${GLOBJECTS_LIBRARIES}")

 find_package_handle_standard_args(GLOBJECTS DEFAULT_MSG GLOBJECTS_LIBRARIES GLOBJECTS_INCLUDES)
 mark_as_advanced(GLOBJECTS_FOUND)


Update our modified CPackDeb.cmake to work with cmake 2.8.7.

--- build/cmake/modules/CPackDeb.cmake
+++ build/cmake/modules/CPackDeb.cmake
@@ -1,4 +1,4 @@
-# Based on CMake 2.8.3, modified for use building Condor
+# Based on CMake 2.8.7, modified for use building Condor
 #
 # - The builtin (binary) CPack Deb generator (Unix only)
 # CPackDeb may be used to create Deb package using CPack.
@@ -22,7 +22,7 @@
 #     Mandatory : YES
 #     Default   : CPACK_PACKAGE_VERSION
 #     The debian package version
-# CPACK_DEBIAN_PACKAGE_ARCHITECTURE)
+# CPACK_DEBIAN_PACKAGE_ARCHITECTURE
 #     Mandatory : YES
 #     Default   : Output of dpkg --print-architecture (or i386 if dpkg is not found)
 #     The debian package architecture
@@ -62,7 +62,7 @@
 # CPACK_DEBIAN_PACKAGE_DEBUG
 #     Mandatory : NO
 #     Default   : -
-#     May be set when invoking cpack in order to trace debug informations
+#     May be set when invoking cpack in order to trace debug information
 #     during CPackDeb run.
 # CPACK_DEBIAN_PACKAGE_PREDEPENDS
 #     Mandatory : NO
@@ -142,6 +142,11 @@
 IF(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
   SET(CPACK_DEBIAN_PACKAGE_SHLIBDEPS OFF)
 ENDIF(NOT DEFINED CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
+
+FIND_PROGRAM(FAKEROOT_EXECUTABLE fakeroot)
+IF(FAKEROOT_EXECUTABLE)
+  SET(CPACK_DEBIAN_FAKEROOT_EXECUTABLE ${FAKEROOT_EXECUTABLE})
+ENDIF(FAKEROOT_EXECUTABLE)

 IF(CPACK_DEBIAN_PACKAGE_SHLIBDEPS)
   # dpkg-shlibdeps is a Debian utility for generating dependency list
@@ -328,6 +333,29 @@
 # SET(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
 #    "${CMAKE_CURRENT_SOURCE_DIR/prerm;${CMAKE_CURRENT_SOURCE_DIR}/postrm")

+# Are we packaging components ?
+IF(CPACK_DEB_PACKAGE_COMPONENT)
+  SET(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "-${CPACK_DEB_PACKAGE_COMPONENT}")
+  SET(CPACK_DEB_PACKAGE_COMPONENT_PART_PATH "/${CPACK_DEB_PACKAGE_COMPONENT}")
+  SET(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}/${CPACK_DEB_PACKAGE_COMPONENT}")
+  STRING(TOLOWER "${CPACK_PACKAGE_NAME}${CPACK_DEB_PACKAGE_COMPONENT_PART_NAME}" CPACK_DEBIAN_PACKAGE_NAME)
+ELSE(CPACK_DEB_PACKAGE_COMPONENT)
+  SET(CPACK_DEB_PACKAGE_COMPONENT_PART_NAME "")
+  SET(CPACK_DEB_PACKAGE_COMPONENT_PART_PATH "")
+  SET(WDIR "${CPACK_TOPLEVEL_DIRECTORY}/${CPACK_PACKAGE_FILE_NAME}")
+ENDIF(CPACK_DEB_PACKAGE_COMPONENT)
+
+# Print out some debug information if we were asked for that
+IF(CPACK_DEBIAN_PACKAGE_DEBUG)
+   MESSAGE("CPackDeb:Debug: CPACK_TOPLEVEL_DIRECTORY          = ${CPACK_TOPLEVEL_DIRECTORY}")
+   MESSAGE("CPackDeb:Debug: CPACK_TOPLEVEL_TAG                = ${CPACK_TOPLEVEL_TAG}")
+   MESSAGE("CPackDeb:Debug: CPACK_TEMPORARY_DIRECTORY         = ${CPACK_TEMPORARY_DIRECTORY}")
+   MESSAGE("CPackDeb:Debug: CPACK_OUTPUT_FILE_NAME            = ${CPACK_OUTPUT_FILE_NAME}")
+   MESSAGE("CPackDeb:Debug: CPACK_OUTPUT_FILE_PATH            = ${CPACK_OUTPUT_FILE_PATH}")
+   MESSAGE("CPackDeb:Debug: CPACK_PACKAGE_FILE_NAME           = ${CPACK_PACKAGE_FILE_NAME}")
+   MESSAGE("CPackDeb:Debug: CPACK_PACKAGE_INSTALL_DIRECTORY   = ${CPACK_PACKAGE_INSTALL_DIRECTORY}")
+   MESSAGE("CPackDeb:Debug: CPACK_TEMPORARY_PACKAGE_FILE_NAME = ${CPACK_TEMPORARY_PACKAGE_FILE_NAME}")
+ENDIF(CPACK_DEBIAN_PACKAGE_DEBUG)

 # For debian source packages:
 # debian/control


Update python-cmake-buildsystem to ensure sqlite3 is built

Notes:
* tested on linux by installing "libsqlite3-dev"

$ git shortlog 463259b..bdbd1da --no-merges
Jean-Christophe Fillion-Robin (1):
      sqlite3: Always expect the library and headers top be on the system

--- CMake/Externals/External_python.cmake
+++ CMake/Externals/External_python.cmake
@@ -117,7 +117,7 @@
   ExternalProject_Add(${proj}
     ${${proj}_EP_ARGS}
     GIT_REPOSITORY "${git_protocol}://github.com/python-cmake-buildsystem/python-cmake-buildsystem.git"
-    GIT_TAG "463259b5897e4f6909865b59b2860da8e2be6ffc"
+    GIT_TAG "bdbd1da689be60bdcce2529654232c1294798597"
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
     BINARY_DIR ${proj}-build
     CMAKE_CACHE_ARGS


Introduce global property containing all executable "modules"

--- CMake/mitkMacroCreateExecutable.cmake
+++ CMake/mitkMacroCreateExecutable.cmake
@@ -73,7 +73,8 @@

   set(EXECUTABLE_IS_ENABLED ${MODULE_IS_ENABLED})
   set(EXECUTABLE_TARGET ${MODULE_TARGET})
-  if(MODULE_IS_ENABLED)
+  if(EXECUTABLE_IS_ENABLED)
+    set_property(GLOBAL APPEND PROPERTY MITK_EXECUTABLE_TARGETS ${EXECUTABLE_TARGET})
     # Add meta dependencies (e.g. on auto-load modules from depending modules)
     if(TARGET ${CMAKE_PROJECT_NAME}-autoload)
       add_dependencies(${MODULE_TARGET} ${CMAKE_PROJECT_NAME}-autoload)


Fixed ITK dir and ctest upload.

Fixed ITK dir and ctest upload.

--- CMake/ctkTravisDashboardScript.cmake
+++ CMake/ctkTravisDashboardScript.cmake
@@ -61,6 +61,7 @@
 set(ADDITIONNAL_CMAKECACHE_OPTION "
 CTK_USE_SYSTEM_DCMTK:BOOL=ON
 CTK_USE_SYSTEM_ITK:BOOL=ON
+ITK_DIR:PATH=/usr/lib/InsightToolkit

 CTK_APP_ctkCommandLineModuleExplorer:BOOL=ON
 CTK_APP_ctkDICOM:BOOL=ON
@@ -160,4 +161,4 @@

 set(travis_url "/tmp/travis.url")
 file(WRITE ${travis_url} "https://travis-ci.org/commontk/CTK/builds/$ENV{TRAVIS_BUILD_ID}")
-ctest_submit(FILES ${travis_url})
+ctest_upload(FILES ${travis_url})


fix install location of service related files

--- rosidl_typesupport_connext_cpp/cmake/rosidl_typesupport_connext_cpp_generate_interfaces.cmake
+++ rosidl_typesupport_connext_cpp/cmake/rosidl_typesupport_connext_cpp_generate_interfaces.cmake
@@ -45,6 +45,7 @@
 set(_generated_msg_files "")
 set(_generated_external_msg_files "")
 set(_generated_srv_files "")
+set(_generated_external_srv_files "")
 foreach(_idl_file ${rosidl_generate_interfaces_IDL_FILES})
   get_filename_component(_extension "${_idl_file}" EXT)
   get_filename_component(_msg_name "${_idl_file}" NAME_WE)
@@ -52,14 +53,24 @@
   if(_extension STREQUAL ".msg")
     get_filename_component(_parent_folder "${_idl_file}" DIRECTORY)
     get_filename_component(_parent_folder "${_parent_folder}" NAME)
-    list(APPEND _generated_external_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_.h")
-    list(APPEND _generated_external_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_.cxx")
-    list(APPEND _generated_external_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Plugin.h")
-    list(APPEND _generated_external_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Plugin.cxx")
-    list(APPEND _generated_external_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Support.h")
-    list(APPEND _generated_external_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Support.cxx")
-    list(APPEND _generated_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_header_name}__type_support.hpp")
-    list(APPEND _generated_msg_files "${_output_path}/${_parent_folder}/dds_connext/${_header_name}__type_support.cpp")
+    if(_parent_folder STREQUAL "msg")
+      set(_var1 "_generated_external_msg_files")
+      set(_var2 "_generated_msg_files")
+    elseif(_parent_folder STREQUAL "srv")
+      set(_var1 "_generated_external_srv_files")
+      set(_var2 "_generated_srv_files")
+    else()
+      message(FATAL_ERROR "Interface file with unknown parent folder: ${_idl_file}")
+    endif()
+
+    list(APPEND ${_var1} "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_.h")
+    list(APPEND ${_var1} "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_.cxx")
+    list(APPEND ${_var1} "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Plugin.h")
+    list(APPEND ${_var1} "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Plugin.cxx")
+    list(APPEND ${_var1} "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Support.h")
+    list(APPEND ${_var1} "${_output_path}/${_parent_folder}/dds_connext/${_msg_name}_Support.cxx")
+    list(APPEND ${_var2} "${_output_path}/${_parent_folder}/dds_connext/${_header_name}__type_support.hpp")
+    list(APPEND ${_var2} "${_output_path}/${_parent_folder}/dds_connext/${_header_name}__type_support.cpp")
   elseif(_extension STREQUAL ".srv")
     list(APPEND _generated_srv_files "${_output_path}/srv/dds_connext/${_header_name}__type_support.cpp")
     list(APPEND _generated_srv_files "${_output_path}/srv/dds_connext/${_header_name}__type_support.hpp")
@@ -92,7 +103,7 @@
   endif()
   if(NOT _connext_compile_flags STREQUAL "")
     string(REPLACE ";" " " _connext_compile_flags "${_connext_compile_flags}")
-    foreach(_gen_file ${_generated_external_msg_files})
+    foreach(_gen_file ${_generated_external_msg_files} ${_generated_external_srv_files})
       set_source_files_properties("${_gen_file}"
       PROPERTIES COMPILE_FLAGS "${_connext_compile_flags}")
     endforeach()
@@ -151,7 +162,7 @@
   set(_idl_pp "${Connext_DDSGEN_SERVER}")
 endif()
 add_custom_command(
-  OUTPUT ${_generated_msg_files} ${_generated_external_msg_files} ${_generated_srv_files}
+  OUTPUT ${_generated_msg_files} ${_generated_external_msg_files} ${_generated_srv_files} ${_generated_external_srv_files}
   COMMAND ${PYTHON_EXECUTABLE} ${rosidl_typesupport_connext_cpp_BIN}
   --generator-arguments-file "${generator_arguments_file}"
   --dds-interface-base-path "${_dds_idl_base_path}"
@@ -169,7 +180,7 @@

 link_directories(${Connext_LIBRARY_DIRS})
 add_library(${rosidl_generate_interfaces_TARGET}${_target_suffix} SHARED
-  ${_generated_msg_files} ${_generated_external_msg_files} ${_generated_srv_files})
+  ${_generated_msg_files} ${_generated_external_msg_files} ${_generated_srv_files} ${_generated_external_srv_files})
 if(Connext_GLIBCXX_USE_CXX11_ABI_ZERO)
   target_compile_definitions(${rosidl_generate_interfaces_TARGET}${_target_suffix}
     PRIVATE Connext_GLIBCXX_USE_CXX11_ABI_ZERO)
@@ -241,9 +252,9 @@
       DESTINATION "include/${PROJECT_NAME}/msg/dds_connext"
     )
   endif()
-  if(NOT _generated_srv_files STREQUAL "")
+  if(NOT _generated_srv_files STREQUAL "" OR NOT _generated_external_srv_files STREQUAL "")
     install(
-      FILES ${_generated_srv_files}
+      FILES ${_generated_srv_files} ${_generated_external_srv_files}
       DESTINATION "include/${PROJECT_NAME}/srv/dds_connext"
     )
   endif()