Remove unused include.

Remove unused include.

Change-Id: I599b45ff8aaa17fb4a255b10b008fa6c0455c5d3
Sanity-Review: Qt Sanity Bot <5581206bb7e0307f0d99eb71898ae6b694149ca5@ovi.com>
Reviewed-by: Alexander Neundorf <dec389f80934814320048446552eb4d3cd9248a0@kde.org>
Reviewed-by: Stephen Kelly <b039a7232b458ac8785f8e91519ad165c3ac28cd@kdab.com>

--- src/linguist/Qt5LinguistToolsMacros.cmake
+++ src/linguist/Qt5LinguistToolsMacros.cmake
@@ -29,8 +29,6 @@
 # (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
 # OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
 #=============================================================================
-
-include(MacroAddFileDependencies)

 MACRO (QT5_EXTRACT_OPTIONS _qt5_files _qt5_options)
   SET(${_qt5_files})


Temporary fix for macOS until the solution in cmake-init is deployed

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -17,12 +17,18 @@
 # Project options
 #

+set(default_visibility "hidden")
+
+if("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
+    set(default_visibility "default")
+endif()
+
 set(DEFAULT_PROJECT_OPTIONS
     DEBUG_POSTFIX             "d"
     CXX_STANDARD              11 # Not available before CMake 3.1; see below for manual command line argument addition
     LINKER_LANGUAGE           "CXX"
     POSITION_INDEPENDENT_CODE ON
-    CXX_VISIBILITY_PRESET     "hidden"
+    CXX_VISIBILITY_PRESET     ${default_visibility}
 )


Allow us to force AVX2 even on MSVS.

Allow us to force AVX2 even on MSVS.

--- tools/cmake/FindOptions.cmake
+++ tools/cmake/FindOptions.cmake
@@ -29,7 +29,11 @@
 endif()

 if(FORCE_AVX) # some compilers like clang do not automagically define __AVX2__ and __BMI2__ even when the hardware supports it
+if(NOT MSVC)
    set (OPT_FLAGS "${OPT_FLAGS} -mavx2 -mbmi2")
+else()
+   set (OPT_FLAGS "${OPT_FLAGS} /arch:AVX2")
+endif()
 endif()

 if(NOT MSVC)


Reorder some lines.

Reorder some lines.

--- cmake/FindLibTooling.cmake
+++ cmake/FindLibTooling.cmake
@@ -62,7 +62,6 @@
 find_package_handle_standard_args(LibTooling
     REQUIRED_VARS LIBTOOLING_LIBRARY LIBTOOLING_INCLUDE_DIR
     VERSION_VAR LIBTOOLING_VERSION)
-mark_as_advanced(LIBTOOLING_FOUND LIBTOOLING_LIBRARY LIBTOOLING_INCLUDE_DIR)

 # Save vars to cache that should be user-modifiable
 set(LIBTOOLING_FOUND ${LIBTOOLING_FOUND}
@@ -71,3 +70,4 @@
     CACHE FILEPATH "The LibTooling libraries.")
 set(LIBTOOLING_INCLUDE_DIR ${LIBTOOLING_INCLUDE_DIR}
     CACHE FILEPATH "The LibTooling include directory.")
+mark_as_advanced(LIBTOOLING_FOUND LIBTOOLING_LIBRARY LIBTOOLING_INCLUDE_DIR)


cmake/LinuxPackaging.cmake: Add libserialport to the list of dependencies
that are being handled when creating Linux packages.

Signed-off-by: Alexandra.Trifan <951af57c14d42c73475635752bd213fd996792b2@analog.com>

--- cmake/LinuxPackaging.cmake
+++ cmake/LinuxPackaging.cmake
@@ -47,6 +47,9 @@
 	endif()
 	if(WITH_XML_BACKEND)
 		set(PACKAGES "${PACKAGES} libxml2")
+	endif()
+	if(WITH_SERIAL_BACKEND)
+		set(PACKAGES "${PACKAGES} libserialport0")
 	endif()
 	# find the version of the installed package, which is hard to do in
 	# cmake first, turn the list into an list (seperated by semicolons)
@@ -100,7 +103,7 @@
 		${CPACK_DEBIAN_PACKAGE_DEPENDS})
 else()
 	# assume everything is turned on, and running on a modern OS
-	set(CPACK_DEBIAN_PACKAGE_DEPENDS "libaio (>= 0.3.109), libavahi-client (>= 0.6.31), libavahi-common (>= 0.6.31), libc6 (>= 2.19), libusb-1.0-0 (>= 2:1.0.17), libxml2 (>= 2.9.1)")
+	set(CPACK_DEBIAN_PACKAGE_DEPENDS "libaio (>= 0.3.109), libavahi-client (>= 0.6.31), libavahi-common (>= 0.6.31), libc6 (>= 2.19), libusb-1.0-0 (>= 2:1.0.17), libxml2 (>= 2.9.1), libserialport0 (>=0.1.1)")
 	message(STATUS "Using default dependencies for packaging")
 endif()


man target

man target

--- cmake/MyPackageStart.cmake
+++ cmake/MyPackageStart.cmake
@@ -22,6 +22,13 @@
   #
   IF (NOT TARGET check)
     ADD_CUSTOM_TARGET (check COMMAND ${CMAKE_CTEST_COMMAND})
+  ENDIF ()
+  #
+  # Ditto for the man target, appended to install processing
+  #
+  IF (NOT TARGET man)
+    INSTALL (CODE "EXECUTE_PROCESS(COMMAND ${CMAKE_MAKE_PROGRAM} man)")
+    ADD_CUSTOM_TARGET (man)
   ENDIF ()
   #
   # Use GNUInstallDirs in order to enforce lib64 if needed


cmake: add option to workaround issue observed with old CMake

CMake message contains this: "Invalid escape sequence \"

--- cmake/OpenCVDownload.cmake
+++ cmake/OpenCVDownload.cmake
@@ -156,10 +156,12 @@
          TIMEOUT 600
          STATUS status
          LOG __log)
-    string(LENGTH "${__log}" __log_length)
-    if(__log_length LESS 65536)
-      string(REPLACE "\n" "\n# " __log "${__log}")
-      ocv_download_log("# ${__log}\n")
+    if(NOT OPENCV_SKIP_FILE_DOWNLOAD_DUMP)  # workaround problem with old CMake versions: "Invalid escape sequence"
+      string(LENGTH "${__log}" __log_length)
+      if(__log_length LESS 65536)
+        string(REPLACE "\n" "\n# " __log "${__log}")
+        ocv_download_log("# ${__log}\n")
+      endif()
     endif()
     if(NOT status EQUAL 0)
       set(msg_level FATAL_ERROR)


Add warning that Numeric support is deprecated and will be dropped in a future release of plplot.

svn path=/trunk/; revision=11004

--- cmake/modules/python.cmake
+++ cmake/modules/python.cmake
@@ -135,3 +135,7 @@
     OUTPUT_STRIP_TRAILING_WHITESPACE
     )
 endif(ENABLE_python)
+
+if(ENABLE_python AND NOT HAVE_NUMPY)
+  message(STATUS "WARNING: " "The Numeric extensions for python are deprecated. Support for Numeric will be dropped in a future plplot release. Please switch to numpy.")
+endif(ENABLE_python AND NOT HAVE_NUMPY)


If USE_NUMERIC is ON, force HAVE_NUMPY OFF immediately.  The logic really
only makes sense with this change, and forcing Numeric is what is documented
for the meaning of USE_NUMERIC.

svn path=/trunk/; revision=11008

--- cmake/modules/python.cmake
+++ cmake/modules/python.cmake
@@ -62,6 +62,9 @@

 option(HAVE_NUMPY "Use numpy rather than deprecated Numeric" ON)
 option(USE_NUMERIC "Force use of deprecated Numeric" OFF)
+if(USE_NUMERIC)
+  set(HAVE_NUMPY OFF CACHE BOOL "Use numpy rather than deprecated Numeric" FORCE)
+endif(USE_NUMERIC)

 if(ENABLE_python)
   # NUMERIC_INCLUDE_PATH = path to arrayobject.h for either Numeric or numpy.


update FindJinja

update FindJinja

--- cmake/FindJinja2.cmake
+++ cmake/FindJinja2.cmake
@@ -2,15 +2,15 @@
 # Finds Jinja2 by trying to import it.
 #

-find_package(PythonInterp)
+FIND_PACKAGE( PythonInterp )

-IF(PYTHONINTERP_FOUND)
-  EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} "-c" "import jinja2;print(jinja2.__version__)"
-    OUTPUT_VARIABLE JINJA2_VERSION_STRING)
+IF( PYTHONINTERP_FOUND )
+  EXECUTE_PROCESS( COMMAND ${PYTHON_EXECUTABLE} "-c" "import jinja2;print(jinja2.__version__)"
+    OUTPUT_VARIABLE JINJA2_VERSION_STRING )
 ENDIF()

-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Jinja2
+INCLUDE( FindPackageHandleStandardArgs )
+find_package_handle_standard_args( Jinja2
   DEFAULT_MSG
   JINJA2_VERSION_STRING
   )


Add physfs-static library name for PhysFS

--- cmake/FindPhysFS.cmake
+++ cmake/FindPhysFS.cmake
@@ -43,7 +43,7 @@
 )

 find_library(PhysFS_LIBRARY
-  NAMES physfs libphysfs
+  NAMES physfs libphysfs physfs-static
 )

 file(READ "${PhysFS_INCLUDE_DIR}/physfs.h" _PHYSFS_HEADER)


Deleted obsolete cmake folder

Deleted obsolete cmake folder

--- cmake/FindSplash.cmake
+++ cmake/FindSplash.cmake
@@ -1,222 +0,0 @@
-# - Find libSplash library,
-#     Simple Parallel file output Library for Accumulating Simulation data
-#     using Hdf5
-#     https://github.com/ComputationalRadiationPhysics/libSplash
-#
-# Use this module by invoking find_package with the form:
-#   find_package(Splash
-#     [version] [EXACT]     # Minimum or EXACT version, e.g. 1.1.1
-#     [REQUIRED]            # Fail with an error if Splash or a required
-#                           #   component is not found
-#     [QUIET]               # Do not warn if this module was not found
-#     [COMPONENTS <...>]    # Compiled in components: PARALLEL
-#   )
-#
-# To provide a hint to this module where to find the Splash installation,
-# set the SPLASH_ROOT environment variable.
-#
-# This module requires HDF5. Make sure to provide a valid install of it
-# under the environment variable HDF5_ROOT.
-# Parallel HDF5/libSplash will require MPI (set the environment MPI_ROOT).
-#
-# Set the following CMake variables BEFORE calling find_packages to
-# change the behavior of this module:
-#   Splash_USE_STATIC_LIBS - Set to ON to prefer linking to the static
-#                            library and its static dependencies. Note that it
-#                            can fall back to shared libraries. Default: OFF
-#
-# This module will define the following variables:
-#   Splash_INCLUDE_DIRS    - Include directories for the Splash headers.
-#   Splash_LIBRARIES       - Splash libraries.
-#   Splash_FOUND           - TRUE if FindSplash found a working install
-#   Splash_VERSION         - Version in format Major.Minor.Patch
-#   Splash_IS_PARALLEL     - Does this install support parallel IO?
-#   Splash_DEFINITIONS     - Compiler definitions you should add with
-#                            add_definitions(${Splash_DEFINITIONS})
-#
-
-
-###############################################################################
-# Copyright 2014 Axel Huebl, Felix Schmitt, Rene Widera
-#
-# This file is part of PIConGPU.
-#
-# PIConGPU is free software: you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation, either version 3 of the License, or
-# (at your option) any later version.
-#
-# PIConGPU is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with PIConGPU.
-# If not, see <http://www.gnu.org/licenses/>.
-###############################################################################
-
-
-###############################################################################
-# Required cmake version
-###############################################################################
-
-cmake_minimum_required(VERSION 2.8.5)
-
-
-###############################################################################
-# libSplash
-###############################################################################
-
-# we start by assuming we found Splash and falsify it if some
-# dependencies are missing (or if we did not find Splash at all)
-set(Splash_FOUND TRUE)
-
-# find libSplash installation #################################################
-#
-find_path(Splash_ROOT_DIR
-  NAMES include/splash/splash.h lib/libsplash.a
-  PATHS ENV SPLASH_ROOT
-  DOC "libSplash ROOT location (provides HDF5 output)"
-)
-
-if(Splash_ROOT_DIR)
-    # Splash headers ##########################################################
-    #
-    list(APPEND Splash_INCLUDE_DIRS ${Splash_ROOT_DIR}/include)
-
-    # Splash definitions ######################################################
-    #
-
-    # option: prefer static libs ##############################################
-    #
-    if(Splash_USE_STATIC_LIBS)
-        # carefully: we have to restore the original path in the end
-        set(_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES})
-        set(CMAKE_FIND_LIBRARY_SUFFIXES .a .so)
-    endif()
-
-    # Splash libraries ########################################################
-    #
-    find_library(Splash_LIBRARIES
-      NAMES splash
-      PATHS $ENV{SPLASH_ROOT}/lib)
-
-    # restore CMAKE_FIND_LIBRARY_SUFFIXES if manipulated by this module #######
-    #
-    if(Splash_USE_STATIC_LIBS)
-        set(CMAKE_FIND_LIBRARY_SUFFIXES ${_ORIG_CMAKE_FIND_LIBRARY_SUFFIXES})
-    endif()
-
-    # require hdf5 ############################################################
-    #
-    # disabled: Some libraries like libdl are also included by MPI and would
-    #           be linked once static once dynamic. Upgrading MPI to static
-    #           binding is too intrusive so we stay with only libSplash static
-    #           and everything else "default".
-    #if(Splash_USE_STATIC_LIBS)
-    #    set(HDF5_USE_STATIC_LIBRARIES ON)
-    #endif()
-    find_package(HDF5 REQUIRED)
-    list(APPEND Splash_INCLUDE_DIRS ${HDF5_INCLUDE_DIRS})
-    list(APPEND Splash_DEFINITIONS ${HDF5_DEFINITIONS})
-    list(APPEND Splash_LIBRARIES ${HDF5_LIBRARIES})
-
-    # restore old settings
-    #if(Splash_USE_STATIC_LIBS)
-    #    unset(HDF5_USE_STATIC_LIBRARIES)
-    #endif()
-
-    # libSplash compiled with parallel support? ###############################
-    #
-    file(STRINGS "${Splash_ROOT_DIR}/include/splash/splash.h" _splash_H_CONTENTS
-         REGEX "#define SPLASH_SUPPORTED_PARALLEL ")
-    string(REGEX MATCH "([0-9]+)" Splash_IS_PARALLEL "${_splash_H_CONTENTS}")
-
-    # check that libSplash supports parallel and is compatible with hdf5
-    # if necessary find MPI, too
-    if("${Splash_IS_PARALLEL}")
-       set(Splash_IS_PARALLEL TRUE)
-       message(STATUS "libSplash supports PARALLEL output")
-
-       if(NOT HDF5_IS_PARALLEL)
-           set(Splash_IS_PARALLEL FALSE)
-           message(STATUS "libSplash compiled with PARALLEL support but HDF5 lacks it...")
-
-       else(NOT HDF5_IS_PARALLEL)
-           find_package(MPI REQUIRED)
-           list(APPEND Splash_INCLUDE_DIRS ${MPI_C_INCLUDE_PATH})
-           list(APPEND Splash_LIBRARIES ${MPI_C_LIBRARIES})
-           # bullxmpi fails if it can not find its c++ counter part
-           if(MPI_CXX_FOUND)
-               list(APPEND Splash_LIBRARIES ${MPI_CXX_LIBRARIES})
-           endif(MPI_CXX_FOUND)
-       endif(NOT HDF5_IS_PARALLEL)
-
-    endif("${Splash_IS_PARALLEL}")
-
-    # COMPONENTS list #########################################################
-    #
-    set(Splash_MISSING_COMPONENTS "")
-    #message(STATUS "SPLASH required components: ${Splash_FIND_COMPONENTS}")
-    foreach(COMPONENT ${Splash_FIND_COMPONENTS})
-        string(TOUPPER ${COMPONENT} COMPONENT)
-        list(APPEND Splash_MISSING_COMPONENTS ${COMPONENT})
-    endforeach()
-
-    # remove components we FOUND ##############################################
-    #
-    if(Splash_IS_PARALLEL)
-        list(REMOVE_ITEM Splash_MISSING_COMPONENTS "PARALLEL")
-    endif(Splash_IS_PARALLEL)
-
-    # all COMPONENTS found ? ##################################################
-    #
-    list(LENGTH Splash_MISSING_COMPONENTS Splash_NUM_COMPONENTS_MISSING)
-    if(NOT ${Splash_NUM_COMPONENTS_MISSING} EQUAL 0)
-        set(Splash_FOUND FALSE)
-        message(STATUS "Missing COMPONENTS in libSplash: ${Splash_MISSING_COMPONENTS}")
-    endif()
-
-    # find version ############################################################
-    #
-    file(STRINGS "${Splash_ROOT_DIR}/include/splash/version.hpp"
-         Splash_VERSION_MAJOR_HPP REGEX "#define SPLASH_VERSION_MAJOR ")
-    file(STRINGS "${Splash_ROOT_DIR}/include/splash/version.hpp"
-         Splash_VERSION_MINOR_HPP REGEX "#define SPLASH_VERSION_MINOR ")
-    file(STRINGS "${Splash_ROOT_DIR}/include/splash/version.hpp"
-         Splash_VERSION_PATCH_HPP REGEX "#define SPLASH_VERSION_PATCH ")
-    string(REGEX MATCH "([0-9]+)" Splash_VERSION_MAJOR
-                                ${Splash_VERSION_MAJOR_HPP})
-    string(REGEX MATCH "([0-9]+)" Splash_VERSION_MINOR
-                                ${Splash_VERSION_MINOR_HPP})
-    string(REGEX MATCH "([0-9]+)" Splash_VERSION_PATCH
-                                ${Splash_VERSION_PATCH_HPP})
-
-    set(Splash_VERSION "${Splash_VERSION_MAJOR}.${Splash_VERSION_MINOR}.${Splash_VERSION_PATCH}")
-
-else(Splash_ROOT_DIR)
-    set(Splash_FOUND FALSE)
-    message(STATUS "Can NOT find libSplash for HDF5 output - set SPLASH_ROOT")
-endif(Splash_ROOT_DIR)
-
-
-# unset checked variables if not found ########################################
-#
-if(NOT Splash_FOUND)
-    unset(Splash_INCLUDE_DIRS)
-    unset(Splash_LIBRARIES)
-    unset(Splash_IS_PARALLEL)
-endif(NOT Splash_FOUND)
-
-
-###############################################################################
-# FindPackage Options
-###############################################################################
-
-# handles the REQUIRED, QUIET and version-related arguments for find_package
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(Splash
-    REQUIRED_VARS Splash_LIBRARIES Splash_INCLUDE_DIRS
-    VERSION_VAR Splash_VERSION
-)


[cmake] adapted PymorUtils

[cmake] adapted PymorUtils

--- cmake/PymorUtils.cmake
+++ cmake/PymorUtils.cmake
@@ -4,27 +4,30 @@
 CheckPythonModule(pybindgen)

 MACRO(add_python_bindings target_name generator_filename header_filename libname)
-
     if( PYTHONLIBS_FOUND AND PYTHONINTERP_FOUND AND python_pybindgen_FOUND )
-    message( STATUS "Python bindings for ${target_name} will be created" )
+        message( STATUS "Python bindings for ${target_name} will be created" )

         set(pythonTarget           ${target_name})
         set(pythonWrapperGenerator "${CMAKE_CURRENT_SOURCE_DIR}/${generator_filename}")
         set(pythonWrapperCpp       "${CMAKE_CURRENT_BINARY_DIR}/${target_name}_bindings_generator.cc")
-        set_source_files_properties( "${pythonWrapperCpp}" PROPERTIES GENERATED TRUE)
+        set_source_files_properties("${pythonWrapperCpp}" PROPERTIES GENERATED TRUE)

         add_custom_command(
             OUTPUT
                 "${pythonWrapperCpp}"
             COMMAND
-                "${PYTHON_EXECUTABLE}" "${pythonWrapperGenerator}" "${target_name}" "${header_filename}"
-                "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_BINARY_DIR}" "${CMAKE_SOURCE_DIR};${DUNE_MODULE_DIRS}"
+                "${PYTHON_EXECUTABLE}"
+                "${pythonWrapperGenerator}"
+                "${target_name}"
+                "${header_filename}"
+                "${CMAKE_BINARY_DIR}/config.h"
+                "${CMAKE_CURRENT_BINARY_DIR}"
             DEPENDS
                 "${pythonWrapperGenerator}"
             WORKING_DIRECTORY
                 "${CMAKE_CURRENT_BINARY_DIR}"
             COMMENT
-                "  ${pythonTarget}: generating bindings" VERBATIM
+                "${pythonTarget}: generating bindings" VERBATIM
         )

         include_directories( ${PYTHON_INCLUDE_DIRS} "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_SOURCE_DIR}")


Passing ELEM_CMAKE_DIR to parent projects

--- cmake/clique_sub.cmake
+++ cmake/clique_sub.cmake
@@ -1,4 +1,5 @@
 set(ELEM_REV ${ELEM_REV} PARENT_SCOPE)
+set(ELEM_CMAKE_DIR ${ELEM_CMAKE_DIR} PARENT_SCOPE)
 set(USE_CUSTOM_ALLTOALLV ${USE_CUSTOM_ALLTOALLV} PARENT_SCOPE)
 set(BARRIER_IN_ALLTOALLV ${BARRIER_IN_ALLTOALLV} PARENT_SCOPE)
 set(HAVE_PARMETIS ${HAVE_PARMETIS} PARENT_SCOPE)


Bug #20168526 YASSL: CORRUPT SSL-KEY CRASHES CLIENT

Post-push fix: broken build on windows.
The problem is min/max macros from windows.h
which interfere with a template function callex max.

Solution: ADD_DEFINITIONS(-DNOMINMAX)

--- cmake/os/Windows.cmake
+++ cmake/os/Windows.cmake
@@ -1,4 +1,4 @@
-# Copyright (c) 2010, 2014, Oracle and/or its affiliates. All rights reserved.
+# Copyright (c) 2010, 2015, Oracle and/or its affiliates. All rights reserved.
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -50,10 +50,12 @@
  SET(MSVC TRUE)
 ENDIF()

-ADD_DEFINITIONS("-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE")
-ADD_DEFINITIONS("-D_WIN32_WINNT=0x0501")
+ADD_DEFINITIONS(-D_WINDOWS -D__WIN__ -D_CRT_SECURE_NO_DEPRECATE)
+ADD_DEFINITIONS(-D_WIN32_WINNT=0x0501)
+# We do not want the windows.h macros min/max
+ADD_DEFINITIONS(-DNOMINMAX)
 # Speed up build process excluding unused header files
-ADD_DEFINITIONS("-DWIN32_LEAN_AND_MEAN")
+ADD_DEFINITIONS(-DWIN32_LEAN_AND_MEAN)

 # Adjust compiler and linker flags
 IF(MINGW AND CMAKE_SIZEOF_VOID_P EQUAL 4)


fix windows build (#7617)

fix windows build (#7617)

--- tensorflow/contrib/cmake/tf_python.cmake
+++ tensorflow/contrib/cmake/tf_python.cmake
@@ -241,6 +241,7 @@
 add_python_module("tensorflow/contrib/distributions/python")
 add_python_module("tensorflow/contrib/distributions/python/kernel_tests")
 add_python_module("tensorflow/contrib/distributions/python/ops")
+add_python_module("tensorflow/contrib/distributions/python/ops/bijectors")
 add_python_module("tensorflow/contrib/factorization")
 add_python_module("tensorflow/contrib/factorization/examples")
 add_python_module("tensorflow/contrib/factorization/kernels")


Bump Slicer - Testing convenience method (selectModule)

--- CMake/Superbuild/External_Slicer.cmake
+++ CMake/Superbuild/External_Slicer.cmake
@@ -80,7 +80,7 @@
     set(${proj}_SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj})
     list(APPEND ${proj}_EP_ARGS
       GIT_REPOSITORY "${git_protocol}://github.com/KitwareMedical/Slicer.git"
-      GIT_TAG "b763aed5288e9223e322bf73413035d969b56ad7"
+      GIT_TAG "5b14831253c257bd62e9f8cb3c1240585ab1d87a"
       )
   endif()


Remove errant MESSAGE() stmts

Remove errant MESSAGE() stmts

--- HalideGenerator.cmake
+++ HalideGenerator.cmake
@@ -41,11 +41,9 @@
   set(multiValueArgs GENERATOR_ARGS GENERATOR_OUTPUTS)
   cmake_parse_arguments(args "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

-MESSAGE("args_GENERATED_FUNCTION ${args_GENERATED_FUNCTION}")
   if (args_GENERATED_FUNCTION STREQUAL "")
     set(args_GENERATED_FUNCTION ${args_GENERATOR_NAME})
   endif()
-MESSAGE("args_GENERATED_FUNCTION ${args_GENERATED_FUNCTION}")

   # Create a directory to contain generator specific intermediate files
   halide_aot_scratch_dir(${AOT_LIBRARY_TARGET} SCRATCH_DIR)


CMake Is The Devil

CMake Is The Devil

--- HalideGenerator.cmake
+++ HalideGenerator.cmake
@@ -71,13 +71,13 @@
   set(FILTER_HDR "${args_GENERATED_FUNCTION}.h")

   set(generator_exec_args "-o" "${SCRATCH_DIR}")
-  if (${args_GENERATED_FUNCTION})
+  if (NOT ${args_GENERATED_FUNCTION} STREQUAL "")
     list(APPEND generator_exec_args "-f" "${args_GENERATED_FUNCTION_NAMESPACE}${args_GENERATED_FUNCTION}" )
   endif()
-  if (${args_GENERATOR_NAME})
+  if (NOT ${args_GENERATOR_NAME} STREQUAL "")
     list(APPEND generator_exec_args "-g" "${args_GENERATOR_NAME}")
   endif()
-  if (${args_GENERATOR_OUTPUTS})
+  if (NOT ${args_GENERATOR_OUTPUTS} STREQUAL "")
     list(APPEND generator_exec_args "-e" ${args_GENERATOR_OUTPUTS})
   endif()
   # GENERATOR_ARGS always come last


Fix CMake issue on CMake 3.2+ with CMAKE_STANDARD

--- CMake/SuperBuild.cmake
+++ CMake/SuperBuild.cmake
@@ -45,9 +45,9 @@

 set(EP_COMMON_ARGS
-  -DCMAKE_CXX_EXTENSIONS:STRING=${CMAKE_CXX_EXTENSIONS}
-  -DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}
-  -DCMAKE_CXX_STANDARD_REQUIRED:BOOL=${CMAKE_CXX_STANDARD_REQUIRED}
+#  -DCMAKE_CXX_EXTENSIONS:STRING=${CMAKE_CXX_EXTENSIONS}
+#  -DCMAKE_CXX_STANDARD:STRING=${CMAKE_CXX_STANDARD}
+#  -DCMAKE_CXX_STANDARD_REQUIRED:BOOL=${CMAKE_CXX_STANDARD_REQUIRED}
   -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
   -DCMAKE_INCLUDE_PATH:PATH=${CMAKE_INCLUDE_PATH}
   -DCMAKE_LIBRARY_PATH:PATH=${CMAKE_LIBRARY_PATH}


applied patch from #2813

applied patch from #2813

--- core/rosbuild/public.cmake
+++ core/rosbuild/public.cmake
@@ -1205,6 +1205,11 @@
     list(GET _rosbuild_EXPORTS_stripped ${_idx} _dir)
     if("${_pkg}" STREQUAL "${pkg}")
       message("[rosbuild] Including ${_dir}/${module}.cmake")
+      # Add this directory to CMake's search path, so that included files
+      # can include other files in a relative manner, #2813.
+      if(NOT CMAKE_MODULE_PATH MATCHES ${_dir})
+        set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${_dir})
+      endif()
       include(${_dir}/${module}.cmake)
       # Poor man's break
       set(_found True)


Compiles over all the different kinds and parallels

--- modules/FindFFTW3.cmake
+++ modules/FindFFTW3.cmake
@@ -24,6 +24,12 @@
 endif()

 macro(find_specific_libraries KIND PARALLEL)
+  list(APPEND FFTW3_FIND_COMPONENTS ${KIND}_${PARALLEL})
+  message(STATUS "========= ${${PARALLEL}_FOUND} ===========")
+  if(NOT (${PARALLEL} STREQUAL "SERIAL") AND NOT ${PARALLEL}_FOUND)
+    message(FATAL_ERROR "Please, find ${PARALLEL} libraries before FFTW")
+  endif()
+
   message(STATUS "Checking for ${KIND} and ${PARALLEL}")
   message(STATUS "Looking for: fftw3${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL} ")
   find_library(FFTW3_${KIND}_${PARALLEL}_LIBRARY NAMES
@@ -58,34 +64,43 @@
     # adding target properties to the different cases
     ##   MPI
     if(PARALLEL STREQUAL "MPI")
-      if(NOT MPI_C_FOUND)
-        message(FATAL_ERROR "Please, find mpi libraries before FFTW")
-      else()
-        if(MPI_C_LIBRARIES)
-          target_link_libraries(fftw3::${kind}::mpi ${MPI_C_LIBRARIES})
-        endif()
-        if(MPI_C_INCLUDE_DIRS)
-          target_include_directories(fftw3::${kind}::mpi SYSTEM ${MPI_C_INCLUDE_PATH})
-        endif()
-        if(MPI_C_FLAGS)
-          target_compile_options(fftw3::${kind}::mpi INTERFACE ${MPI_C_FLAGS})
-        endif()
+      if(MPI_C_LIBRARIES)
+        message(STATUS "MPI_libraries: ${MPI_C_LIBRARIES}")
+        set_target_properties(fftw3::${kind}::mpi PROPERTIES
+          IMPORTED_LOCATION "${FFTW3_${KIND}_${PARALLEL}_LIBRARY}"
+          INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIR_PARALLEL}"
+          IMPORTED_LINK_INTERFACE_LIBRARIES ${MPI_C_LIBRARIES})
       endif()
+        # Below seems to be the same path than include_dir_parallel but it fails
+        # if(MPI_C_INCLUDE_PATH)
+        #   message(STATUS "MPI PATH: ${MPI_C_INCLUDE_PATH} VS ${FFTW3_INCLUDE_DIR_PARALLEL}")
+        #   target_include_directories(fftw3::${kind}::mpi SYSTEM INTERFACE ${MPI_C_INCLUDE_PATH})
+        # endif()
+        # It seems the flags are not anywhere to be found
+        # if(MPI_C_COMPILE_FLAGS)
+        #   message(STATUS "mpi flags: ${MPI_C_COMPILE_FLAGS}")
+        #   target_compile_options(fftw3::${kind}::mpi INTERFACE ${MPI_C_COMPILE_FLAGS})
+        # endif()
+      #endif()
     endif()
     ##   OpenMP
     if(PARALLEL STREQUAL "OPENMP")
-      if(NOT OPENMP_FOUND)
-        message(FATAL_ERROR "Please, find openmp libraries before FFTW")
-      else()
-        if(OPENMP_C_FLAGS)
-          target_compile_options(fftw3::${kind}::openmp INTERFACE ${OPENMP_C_FLAGS})
+      if(OPENMP_C_FLAGS)
+        message(STATUS "OPENMP C Flags: ${OPENMP_C_FLAGS}")
+        set_target_properties(fftw3::${kind}::${parallel} PROPERTIES
+           IMPORTED_LOCATION "${FFTW3_${KIND}_${PARALLEL}_LIBRARY}"
+           INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIR_PARALLEL}"
+           INTERFACE_COMPILE_OPTIONS "${OPENMP_C_FLAGS}")
         endif()
-      endif()
-    endif()
-    ##  THREADED
-    if(PARALLEL STREQUAL "THREADED")
-      if(CMAKE_THREAD_LIBS_INIT)
-        target_link_libraries(fftw3::${kind}::thread ${CMAKE_THREAD_LIBS_INIT})
+    endif()
+    ##  THREADS
+    if(PARALLEL STREQUAL "THREADS")
+      if(CMAKE_THREAD_LIBS_INIT) # TODO: this is not running
+        message(STATUS "THREAD_LIBS_INITS: ${CMAKE_THREAD_LIBS_INIT}")
+        set_target_properties(fftw3::${kind}::${parallel} PROPERTIES
+          IMPORTED_LOCATION "${FFTW3_${KIND}_${PARALLEL}_LIBRARY}"
+          INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIR_PARALLEL}"
+          INTERFACE_COMPILE_OPTIONS "${CMAKE_THREAD_LIBS_INIT}")
       endif()
     endif()

@@ -108,16 +123,22 @@
 list(FIND FFTW3_FIND_COMPONENTS SINGLE LOOK_FOR_SINGLE)
 list(FIND FFTW3_FIND_COMPONENTS DOUBLE LOOK_FOR_DOUBLE)
 list(FIND FFTW3_FIND_COMPONENTS LONGDOUBLE LOOK_FOR_LONGDOUBLE)
-list(FIND FFTW3_FIND_COMPONENTS THREADED LOOK_FOR_THREADED)
+list(FIND FFTW3_FIND_COMPONENTS THREADS LOOK_FOR_THREADS)
 list(FIND FFTW3_FIND_COMPONENTS OPENMP LOOK_FOR_OPENMP)
 list(FIND FFTW3_FIND_COMPONENTS MPI LOOK_FOR_MPI)
 list(FIND FFTW3_FIND_COMPONENTS SERIAL LOOK_FOR_SERIAL)

 # set serial as default if none parallel component has been set
-if((LOOK_FOR_THREADED LESS 0) AND (LOOK_FOR_MPI LESS 0) AND
+if((LOOK_FOR_THREADS LESS 0) AND (LOOK_FOR_MPI LESS 0) AND
     (LOOK_FOR_OPENMP LESS 0))
   set(LOOK_FOR_SERIAL 1)
 endif()
+
+if(MPI_C_FOUND)
+  set(MPI_FOUND ${MPI_C_FOUND})
+endif()
+unset(FFTW3_FIND_COMPONENTS)
+

@@ -176,7 +197,7 @@
 set(SUFFIX_SERIAL "")
 set(SUFFIX_OPENMP "_omp")
 set(SUFFIX_MPI "_mpi")
-set(SUFFIX_THREADED "_threads")
+set(SUFFIX_THREADS "_threads")
 set(SUFFIX_FINAL "")

 if(WIN32)
@@ -188,13 +209,13 @@

 unset(FFTW3_LIBRARIES)
 set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR} ) # TODO what's for?
-
+set(FFTW3_FLAGS_C "")
 foreach(KIND SINGLE DOUBLE LONGDOUBLE)
   message(STATUS "Checking ${KIND}")
   if(LOOK_FOR_${KIND} LESS 0)
     continue()
   endif()
-  foreach(PARALLEL SERIAL MPI OPENMP THREADED)
+  foreach(PARALLEL SERIAL MPI OPENMP THREADS)
     message(STATUS "Checking for ${PARALLEL}")
     if(LOOK_FOR_${PARALLEL} LESS 0)
       message(STATUS "skipping macro ${PARALLEL}:${LOOK_FOR_${PARALLEL}}")
@@ -203,20 +224,24 @@
     find_specific_libraries(${KIND} ${PARALLEL})
   endforeach()
 endforeach()
-
+message(STATUS "My components are: ${FFTW3_FIND_COMPONENTS}")
+message(STATUS "My flags are: ${FFTW3_FLAGS_C}")

 message(STATUS "my library is:  ${FFTW3_LIBRARIES}")
-message(STATUS ($<bool:${FFTW3_FOUND}>))
 message(STATUS "${FFTW3_INCLUDE_DIR}")
 if(FFTW3_INCLUDE_DIR)
-  # TODO: This just look on the simple case, but that may not been defined...
-  # How can I get the last one?
-  set(KIND "SINGLE")
-  set(PARALLEL "SERIAL")
-  message(STATUS "${FFTW3_${KIND}_${PARALLEL}_LIBRARY}")
-  message(STATUS "${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL}")
+  list(GET FFTW3_FIND_COMPONENTS 0 smallerrun)
+  string(REPLACE "_" ";" RUNLIST ${smallerrun})
+  list(GET RUNLIST 0 KIND)
+  list(GET RUNLIST 1 PARALLEL)
+  unset(smallerrun)
+  unset(RUNLIST)
+  message(STATUS "Using ${KIND} and ${PARALLEL} to extract the version")
+  # message(STATUS "I'm running: ${FFTW3_${smallerrun}_LIBRARY}")
+  # message(STATUS "${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL}")
+  # suffix is quoted so it pass empty in the case of double as it's empty
   find_version(FFTW3_VERSION_STRING ${FFTW3_${KIND}_${PARALLEL}_LIBRARY}
-    ${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL})
+    "${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL}")
 endif()
 message(STATUS "my version is: ${FFTW3_VERSION_STRING}")

@@ -232,7 +257,5 @@
 find_package_handle_standard_args(FFTW3
     REQUIRED_VARS FFTW3_LIBRARIES FFTW3_INCLUDE_DIR
     VERSION_VAR FFTW3_VERSION_STRING
-    #HANDLE_COMPONENTS
-    # FIXME: HANDLE_COMPONENTS fails in this current implementation because
-    # COMPONENTS inputs are as SINGLE, but SINGLE_SERIAL is found.
+    HANDLE_COMPONENTS
 )


Do not search for OpenGL Dependency if native OpenGL support has been disabled.

--- CMake/Dependencies/DependencyOpenGL.cmake
+++ CMake/Dependencies/DependencyOpenGL.cmake
@@ -1,18 +1,20 @@
-message(STATUS "Looking for OpenGL header and library...")
+if (IRRIMGUI_NATIVE_OPENGL)
+	message(STATUS "Looking for OpenGL header and library...")

-find_package(OpenGL)
+	find_package(OpenGL)

-if (OPENGL_FOUND)
-    MESSAGE(STATUS "OpenGL Correctly Found:")
-	MESSAGE(STATUS " * Include-Dir: ${OPENGL_INCLUDE_DIR}")
-	MESSAGE(STATUS " * Libraries: ${OPENGL_LIBRARIES}")
-    INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
-	SET(IRRIMGUI_DEPENDENCY_LIBRARIES
-	${IRRIMGUI_DEPENDENCY_LIBRARIES}
-	${OPENGL_LIBRARIES}
-	)
+	if (OPENGL_FOUND)
+		MESSAGE(STATUS "OpenGL Correctly Found:")
+		MESSAGE(STATUS " * Include-Dir: ${OPENGL_INCLUDE_DIR}")
+		MESSAGE(STATUS " * Libraries: ${OPENGL_LIBRARIES}")
+		INCLUDE_DIRECTORIES(${OPENGL_INCLUDE_DIR})
+		SET(IRRIMGUI_DEPENDENCY_LIBRARIES
+		${IRRIMGUI_DEPENDENCY_LIBRARIES}
+		${OPENGL_LIBRARIES}
+		)

-else ()
-    MESSAGE(STATUS "OpenGL environment missing")
+	else ()
+		MESSAGE(STATUS "OpenGL environment missing")

+	endif ()
 endif ()


Update dashboard script template.

Update dashboard script template.

Updated the template so it download the correct driver from midas:
http://midas3.kitware.com/midas/download?folders=7895

Look in here for additional templates.

--- CMake/TEMPLATE.msvtkDashboardScript.cmake
+++ CMake/TEMPLATE.msvtkDashboardScript.cmake
@@ -1,11 +1,11 @@
 #
-# OS: Ubuntu 11.04 3.0.0-14-generic
+# OS: Linux x86_64
 # Hardware: x86_64 GNU/Linux
 # GPU: NA
 #

-# Note: The specific version and processor type of this machine should be reported in the
-# header above. Indeed, this file will be send to the dashboard as a NOTE file.
+# Note: The specific version and processor type of this machine should be reported in the
+# header above. Indeed, this file will be send to the dashboard as a NOTE file.

 cmake_minimum_required(VERSION 2.8)

@@ -16,26 +16,32 @@
 #
 # Dashboard properties
 #
-set(MY_OPERATING_SYSTEM "Linux") # Windows, Linux, Darwin...
-set(MY_COMPILER "gcc4.6.1")
+set(MY_OPERATING_SYSTEM "Linux") # Windows, Linux, Darwin...
+set(MY_COMPILER "GCC-4.7")

 if (NOT MY_QT_VERSION)
-  set(MY_QT_VERSION "474")
+  set(MY_QT_VERSION "4.7")
 endif()

-set(QT_QMAKE_EXECUTABLE "/home/michael/Projects/QtSDK1_1_3/Desktop/Qt/${MY_QT_VERSION}/gcc/bin/qmake.exe")
-set(CTEST_GIT_COMMAND "/usr/lib/git-core/git")
-set(CTEST_SITE "Vahalla.kitware") # for example: mymachine.kitware, mymachine.dkfz, ...
-set(CTEST_DASHBOARD_ROOT "/home/michael/Projects/DashboardScripts/MSVTK/")
+set(QT_QMAKE_EXECUTABLE "/usr/bin/qmake")
+set(CTEST_SITE "melcor.kitware") # for example: mymachine.kitware, mymachine.dkfz, ...
+set(CTEST_DASHBOARD_ROOT "$ENV{HOME}/Dashboards/MSVTK")
+
+if(NOT EXISTS "${CTEST_DASHBOARD_ROOT}/Logs")
+  file(MAKE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/Logs/")
+endif()

 if (NOT MY_CMAKE_VERSION)
-   set(MY_CMAKE_VERSION "CMake 2.8.5")
+   set(MY_CMAKE_VERSION "CMake 2.8.8")
 endif()

-set(CTEST_CMAKE_COMMAND "/usr/bin/cmake")
-set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
-set(MY_BITNESS "64")
-
+set(CTEST_CMAKE_COMMAND   "/usr/bin/cmake")
+if (NOT CTEST_CMAKE_GENERATOR)
+  set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
+endif()
+if (NOT MY_BITNESS)
+  set(MY_BITNESS "64")
+endif()
 #
 # Dashboard options
 #
@@ -45,21 +51,21 @@
 set(WITH_DOCUMENTATION FALSE)

 if (NOT CTEST_BUILD_CONFIGURATION)
-set(CTEST_BUILD_CONFIGURATION "Debug")
+  set(CTEST_BUILD_CONFIGURATION "Debug")
 endif()

 set(CTEST_TEST_TIMEOUT 500)
-set(CTEST_BUILD_FLAGS "-j5") # Use multiple CPU cores to build
-set(CTEST_LOG_FILE "/home/michael/Projects/DashboardScripts/MSVTK/Logs/Nightly-${CTEST_BUILD_CONFIGURATION}-${MY_BITNESS}.log")
+set(CTEST_BUILD_FLAGS "") # Use multiple CPU cores to build
+set(CTEST_LOG_FILE "${CTEST_DASHBOARD_ROOT}/Logs/Nightly_${CTEST_BUILD_CONFIGURATION}}_${MY_BITNESS}bits.log")

-# experimental:
+# experimental:
 #     - run_ctest() macro will be called *ONE* time
 #     - binary directory will *NOT* be cleaned
-# continuous:
-#     - run_ctest() macro will be called EVERY 5 minutes ...
+# continuous:
+#     - run_ctest() macro will be called EVERY 5 minutes ...
 #     - binary directory will *NOT* be cleaned
 #     - configure/build will be executed *ONLY* if the repository has been updated
-# nightly:
+# nightly:
 #     - run_ctest() macro will be called *ONE* time
 #     - binary directory *WILL BE* cleaned
 if (NOT SCRIPT_MODE)
@@ -69,14 +75,11 @@
 #
 # Project specific properties
 #
-set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}MSVTK")
-set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}MSVTK-Superbuild-${CTEST_BUILD_CONFIGURATION}-${SCRIPT_MODE}-${MY_QT_VERSION}-${MY_CMAKE_VERSION}")
+set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/source")
+set(CTEST_BINARY_DIRECTORY "${CTEST_DASHBOARD_ROOT}/build_${CTEST_BUILD_CONFIGURATION}_${MY_BITNESS}bits_${SCRIPT_MODE}_${MY_QT_VERSION}_${MY_CMAKE_VERSION}")

-# Additionnal CMakeCache options - For example:
-
-set(ADDITIONNAL_CMAKECACHE_OPTION "
-  GIT_EXECUTABLE:FILEPATH=/usr/lib/git-core/git
-")
+# set additional CMakeCache options
+set(ADDITIONAL_CMAKECACHE_OPTION "")

 # set any extra environment variables here
 set(ENV{DISPLAY} ":0")
@@ -84,6 +87,7 @@
 find_program(CTEST_COVERAGE_COMMAND NAMES gcov)
 find_program(CTEST_MEMORYCHECK_COMMAND NAMES valgrind)
 find_program(CTEST_GIT_COMMAND NAMES git)
+message ("********************************************************COMMAND : ${CTEST_GIT_COMMAND}")

 #
 # Git repository - Overwrite the default value provided by the driver script
@@ -93,14 +97,13 @@
 ##########################################
 # WARNING: DO NOT EDIT BEYOND THIS POINT #
 ##########################################
-
 set(CTEST_NOTES_FILES "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}")

 #
 # Project specific properties
 #
 set(CTEST_PROJECT_NAME "MSVTK")
-set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM}-${MY_COMPILER}-QT${MY_QT_VERSION}-${MY_CMAKE_VERSION}-${CTEST_BUILD_CONFIGURATION}")
+set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM}_${MY_COMPILER}_${MY_BITNESS}_QT${MY_QT_VERSION}_${MY_CMAKE_VERSION}_${CTEST_BUILD_CONFIGURATION}")

 #
 # Display build info
@@ -125,7 +128,8 @@
 #
 # Download and include dashboard driver script
 #
-set(url http://midas.kitware.com/bitstream/view/17238)
+set(url http://midas3.kitware.com/midas/download?items=25472)
 set(dest ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}.driver)
 downloadFile(${url} ${dest})
+
 include(${dest})


CI: build GLRenderSystem on Windows

CI: build GLRenderSystem on Windows

--- ci-build.cmake
+++ ci-build.cmake
@@ -41,7 +41,7 @@
     set(GENERATOR -G "Visual Studio 15")
     set(RENDERSYSTEMS
         -DOGRE_BUILD_RENDERSYSTEM_D3D9=FALSE
-        -DOGRE_BUILD_RENDERSYSTEM_GL=FALSE
+        -DOGRE_BUILD_RENDERSYSTEM_GL=TRUE
         -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=TRUE)

     set(OTHER


cmake: cleanup hg revision fetching script

Signed-off-by: Josef 'Jeff' Sipek <a620f141433c70aa9e43778305a6c68cbfadfb25@josefsipek.net>

--- cmake/hg.cmake
+++ cmake/hg.cmake
@@ -22,29 +22,35 @@

 find_package(Hg)

-if(HG_FOUND)
-	# TODO:
-	# (1) if there are local changes, append -dirty
-	# (2) if latesttagdistance == 0, use only latesttag
-	execute_process(
-		COMMAND ${HG_EXECUTABLE} log -r . --template {latesttag}-{latesttagdistance}-{node|short}
-		WORKING_DIRECTORY ${SOURCE_DIR}
-		OUTPUT_VARIABLE HG_COMMIT_ID
-		RESULT_VARIABLE res_var
-	)
-	if(NOT ${res_var} EQUAL 0)
-		set(HG_COMMIT_ID "hg commit id unknown")
-		message(WARNING "Mercurial failed (not a repo, or no tags). Build will not contain revision info.")
+macro(gethgrev varname template)
+	set(${varname} "unknown")
+
+	if(HG_FOUND)
+		execute_process(
+			COMMAND ${HG_EXECUTABLE} log -r . --template ${template}
+			WORKING_DIRECTORY ${SOURCE_DIR}
+			OUTPUT_VARIABLE ${varname}
+			RESULT_VARIABLE res_var
+		)
+		if(NOT ${res_var} EQUAL 0)
+			set(${varname} "unknown")
+		endif()
 	endif()
-else()
-	set(HG_COMMIT_ID "unknown (hg not found!)")
-	message(WARNING "Mercurial not found. Build will not contain revision info.")
+endmacro()
+
+# TODO:
+# (1) if there are local changes, append -dirty
+# (2) if latesttagdistance == 0, use only latesttag
+gethgrev(VERSION "{latesttag}-{latesttagdistance}-{node|short}")
+
+if(${VERSION} EQUAL "unknown")
+	message(WARNING "Failed to get revision info from Mercurial.")
 endif()

 set(vstring "/* version.h - Generated by cmake. Changes will be lost! */\n"
 	"#ifndef __LIBJEFFPC_INTERNAL_VERSION_H\n"
 	"#define __LIBJEFFPC_INTERNAL_VERSION_H\n"
-	"#define VERSION \"${HG_COMMIT_ID}\"\n"
+	"#define VERSION \"${VERSION}\"\n"
 	"#endif\n")

 file(WRITE version.h.txt ${vstring})


hunter_pick_scheme: add WINDOWS suboption [skip ci]

--- cmake/modules/hunter_pick_scheme.cmake
+++ cmake/modules/hunter_pick_scheme.cmake
@@ -39,7 +39,7 @@
   endif()

   # parse args
-  set(one DEFAULT COMBINED IPHONEOS)
+  set(one DEFAULT COMBINED IPHONEOS WINDOWS)

   cmake_parse_arguments(x "" "${one}" "" ${ARGV})
   if(x_UNPARSED_ARGUMENTS)
@@ -51,6 +51,8 @@
   # set HUNTER_DOWNLOAD_SCHEME
   if(is_iphoneos AND x_IPHONEOS)
     set(HUNTER_DOWNLOAD_SCHEME "${x_IPHONEOS}")
+  if(WIN32 AND x_WINDOWS)
+    set(HUNTER_DOWNLOAD_SCHEME "${x_WINDOWS}")
   elseif(is_combined AND x_COMBINED)
     set(HUNTER_DOWNLOAD_SCHEME "${x_COMBINED}")
   elseif(x_DEFAULT)


modules/boostutils: fix for cmake > 2.8.11

Set Boost_VERSION in parent scope
Change-Id: I6c73a8a2b92e0fd7d95b94cfc250fcea9b5177b4
Reviewed-on: http://gerrit.aldebaran.lan/30623
Reviewed-by: dmerejkowsky <1e4b13000fa8777df4cefd2fd8215187e3deb062@aldebaran-robotics.com>
Tested-by: gerrit

--- cmake/qibuild/modules/boostutils.cmake
+++ cmake/qibuild/modules/boostutils.cmake
@@ -23,6 +23,9 @@
     qi_persistent_set(${_prefix}_DEFINITIONS  "BOOST_ALL_NO_LIB")
   endif()
   find_package(Boost COMPONENTS "${_libname}" QUIET)
+  # fix compilation in cmake v2.8.11.2
+  # some of the qibuild cmake configs refer to this variable
+  set(Boost_VERSION "${Boost_VERSION}" PARENT_SCOPE)

   qi_persistent_set(${_prefix}_INCLUDE_DIRS ${Boost_INCLUDE_DIRS})
   if(DEFINED Boost_LIBRARIES)


Cleaned up flags for C compiler on AIX. (#25)

--- cmake/toolchains/aix/xlc-default.cmake
+++ cmake/toolchains/aix/xlc-default.cmake
@@ -34,25 +34,6 @@

 string(CONCAT DEFAULT_C_FLAGS
        "-q${BUILD_BITNESS} "
-       "-qalias=noansi "
-       "-qarch=pwr6 "
-       "-qdebug=nparseasm "
-       "-qfuncsect "
-       "-qlanglvl=staticstoreoverlinkage "
-       "-qmaxmem=-1 "
-       "-qnotempinc "
-       "-qrtti=all "
-       "-qsuppress=1500-029 "
-       "-qsuppress=1540-2910 "
-       "-qsuppress=1501-201 "
-       "-qtbtable=small "
-       "-qtls "
-       "-qtune=pwr7 "
-       "-qxflag=dircache:71,100 "
-       "-qxflag=NoKeepDebugMetaTemplateType "
-       "-qxflag=tocrel "
-       "-qxflag=FunctionCVTmplArgDeduction2011 "
-       "-qxflag=UnwindTypedefInClassDecl "
       )
 set(CMAKE_C_FLAGS   ${DEFAULT_C_FLAGS}   CACHE STRING "Default" FORCE)


[Config] Updated the project_config_embeddable.cmake file: the old version was failing when building latex documentation (no refman.idx file found needed by the 'makeindex' command.

--- config/project_config_embeddable.cmake
+++ config/project_config_embeddable.cmake
@@ -96,24 +96,31 @@
   option (INSTALL_DOC "Set to OFF to skip build/install Documentation"
     ${_build_doc})

+  # Initialise a few variables
+  set (DOXYGEN_OUTPUT_REL)
+  set (REFMAN_TEX)
+  set (REFMAN_PDF)
+  set (CSS_ALL_TARGETS)
+  set (IMG_ALL_TARGETS)
+  set (MAN_ALL_TARGETS)
+
   # Set the library installation directory (either 32 or 64 bits)
   set (LIBDIR "lib${LIB_SUFFIX}" CACHE PATH
     "Library directory name, either lib or lib64")

   # Offer the user the choice of overriding the installation directories
   set (INSTALL_LIB_DIR ${LIBDIR} CACHE PATH
-    "Installation directory for libraries")
+	"Installation directory for libraries")
   set (INSTALL_BIN_DIR bin CACHE PATH "Installation directory for executables")
   set (INSTALL_INCLUDE_DIR include CACHE PATH
     "Installation directory for header files")
-  set (INSTALL_DATA_DIR share CACHE PATH
-    "Installation directory for data files")
+  set (INSTALL_DATA_DIR share CACHE PATH "Installation directory for data files")
   set (INSTALL_SAMPLE_DIR share/${PROJECT_NAME}/samples CACHE PATH
     "Installation directory for (CSV) sample files")
+  set (INSTALL_ETC_DIR etc CACHE PATH "Installation directory for Config files")

   # GCOV
-  option (RUN_GCOV "Set to OFF to skip code coverage"
-    ${_run_gcov})
+  option (RUN_GCOV "Set to OFF to skip code coverage" ${_run_gcov})

   # Make relative paths absolute (needed later on)
   foreach (_path_type LIB BIN INCLUDE DATA SAMPLE)
@@ -189,6 +196,8 @@
     "Set to OFF to skip build/check unit tests" FORCE)
   set (INSTALL_DOC "${INSTALL_DOC}" CACHE BOOL
     "Set to OFF to skip build/install Documentation" FORCE)
+  set (RUN_GCOV "${RUN_GCOV}" CACHE BOOL
+    "Set to OFF to skip coverage tests" FORCE)
 endmacro (store_in_cache)

@@ -254,12 +263,15 @@
     "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}"
     CACHE INTERNAL "tarball basename")
   set (AUTOTOOLS_IGNRD "/tmp/;/tmp2/;/autom4te\\\\.cache/;autogen\\\\.sh$")
-  set (PACK_IGNRD "${CMAKE_CURRENT_BINARY_DIR};${CPACK_PACKAGE_NAME}\\\\.spec;\\\\.gz$;\\\\.bz2$")
+  set (PACK_IGNRD
+	"${CMAKE_CURRENT_BINARY_DIR};${CPACK_PACKAGE_NAME}\\\\.spec;\\\\.gz$;\\\\.bz2$")
   set (EDIT_IGNRD "\\\\.swp$;\\\\.#;/#;~$")
   set (SCM_IGNRD
     "/CVS/;/\\\\.svn/;/\\\\.bzr/;/\\\\.hg/;/\\\\.git/;\\\\.gitignore$")
+  set (PYTHON_IGNRD "\\\\.pyc$;\\\\.pyo$")
+  set (JS_IGNRD "/browser/js/libs;/browser/js/mylibs;/browser/libs")
   set (CPACK_SOURCE_IGNORE_FILES
-    "${AUTOTOOLS_IGNRD};${SCM_IGNRD};${EDIT_IGNRD};${PACK_IGNRD}"
+    "${AUTOTOOLS_IGNRD};${SCM_IGNRD};${EDIT_IGNRD};${PACK_IGNRD};${PYTHON_IGNRD};${JS_IGNRD}"
     CACHE STRING "CPACK will ignore these files")
   #set (CPACK_SOURCE_IGNORE_DIRECTORY ${CPACK_SOURCE_IGNORE_FILES} .git)

@@ -315,6 +327,10 @@
       get_python (${_arg_version})
     endif (${_arg_lower} STREQUAL "python")

+    if (${_arg_lower} STREQUAL "icu")
+      get_icu (${_arg_version})
+    endif (${_arg_lower} STREQUAL "icu")
+
     if (${_arg_lower} STREQUAL "zeromq")
       get_zeromq (${_arg_version})
     endif (${_arg_lower} STREQUAL "zeromq")
@@ -331,6 +347,10 @@
       get_readline (${_arg_version})
     endif (${_arg_lower} STREQUAL "readline")

+    if (${_arg_lower} STREQUAL "curses")
+      get_curses (${_arg_version})
+    endif (${_arg_lower} STREQUAL "curses")
+
     if (${_arg_lower} STREQUAL "mysql")
       get_mysql (${_arg_version})
     endif (${_arg_lower} STREQUAL "mysql")
@@ -387,9 +407,9 @@
       get_simcrs (${_arg_version})
     endif (${_arg_lower} STREQUAL "simcrs")

-    if (${_arg_lower} STREQUAL "dsim")
-      get_dsim (${_arg_version})
-    endif (${_arg_lower} STREQUAL "dsim")
+    if (${_arg_lower} STREQUAL "tvlsim")
+      get_tvlsim (${_arg_version})
+    endif (${_arg_lower} STREQUAL "tvlsim")

     if (${_arg_lower} STREQUAL "doxygen")
       get_doxygen (${_arg_version})
@@ -476,6 +496,37 @@

 endmacro (get_python)

+# ~~~~~~~~~~ ICU ~~~~~~~~~
+macro (get_icu)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires ICU-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires ICU without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  #
+  set (ICU_REQUIRED_COMPONENTS i18n uc data)
+  find_package (ICU ${_required_version}
+	COMPONENTS ${ICU_REQUIRED_COMPONENTS} REQUIRED)
+
+  icudebug (ICU_I18N_FOUND)
+  if (ICU_FOUND)
+	#
+	#if (ICU_I18N_FOUND)
+	#  icudebug (ICU_I18N_FOUND)
+	#endif (ICU_I18N_FOUND)
+
+    # Update the list of include directories for the project
+    include_directories (${ICU_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    list (APPEND PROJ_DEP_LIBS_FOR_LIB ${ICU_LIBRARIES})
+  endif (ICU_FOUND)
+
+endmacro (get_icu)
+
 # ~~~~~~~~~~ ZeroMQ ~~~~~~~~~
 macro (get_zeromq)
   unset (_required_version)
@@ -499,6 +550,23 @@
 endmacro (get_zeromq)

 # ~~~~~~~~~~ BOOST ~~~~~~~~~~
+#
+macro (register_boost_lib _boost_lib_list_name _boost_lib_list)
+  # Update the list of library dependencies for the project
+  foreach (_lib_cpt ${_boost_lib_list})
+	string (TOUPPER ${_lib_cpt} _lib_cpt_up)
+
+	if (Boost_${_lib_cpt_up}_LIBRARY)
+	  # Update the list of dependencies for the project
+	  list (APPEND ${_boost_lib_list_name} ${Boost_${_lib_cpt_up}_LIBRARY})
+
+	  # Update the list of libraries to be displayed
+	  list (APPEND BOOST_REQUIRED_LIBS ${Boost_${_lib_cpt_up}_LIBRARY})
+	endif (Boost_${_lib_cpt_up}_LIBRARY)
+  endforeach (_lib_cpt ${_boost_lib_list})
+endmacro (register_boost_lib _boost_lib_list_name _boost_lib_list)
+
+#
 macro (get_boost)
   unset (_required_version)
   if (${ARGC} GREATER 0)
@@ -515,12 +583,20 @@
   set (Boost_USE_STATIC_LIBS OFF)
   set (Boost_USE_MULTITHREADED ON)
   set (Boost_USE_STATIC_RUNTIME OFF)
-  set (BOOST_REQUIRED_COMPONENTS
-    regex program_options date_time iostreams serialization filesystem
-    unit_test_framework python)
+  set (BOOST_REQUIRED_COMPONENTS_FOR_LIB
+    date_time iostreams serialization filesystem system locale python)
+  set (BOOST_REQUIRED_COMPONENTS_FOR_BIN regex program_options)
+  set (BOOST_REQUIRED_COMPONENTS_FOR_TST unit_test_framework)
+  set (BOOST_REQUIRED_COMPONENTS ${BOOST_REQUIRED_COMPONENTS_FOR_LIB}
+	${BOOST_REQUIRED_COMPONENTS_FOR_BIN} ${BOOST_REQUIRED_COMPONENTS_FOR_TST})

   # The first check is for the required components.
   find_package (Boost COMPONENTS ${BOOST_REQUIRED_COMPONENTS})
+
+  # Fix a bug for some old CMake package finder scripts (e.g., on Fedora 15)
+  if (Boost_VERSION)
+    set (Boost_FOUND ON)
+  endif (Boost_VERSION)

   # The second check is for the required version (FindBoostWrapper.cmake is
   # provided by us). Indeed, the Fedora/RedHat FindBoost.cmake does not seem
@@ -531,21 +607,21 @@
     # Update the list of include directories for the project
     include_directories (${Boost_INCLUDE_DIRS})

-    # Update the list of dependencies for the project
-    list (APPEND PROJ_DEP_LIBS_FOR_LIB
-      ${Boost_REGEX_LIBRARY} ${Boost_IOSTREAMS_LIBRARY}
-	  ${Boost_SERIALIZATION_LIBRARY} ${Boost_FILESYSTEM_LIBRARY}
-	  ${Boost_DATE_TIME_LIBRARY} ${Boost_PYTHON_LIBRARY})
-    list (APPEND PROJ_DEP_LIBS_FOR_BIN
-	  ${Boost_REGEX_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY})
-    list (APPEND PROJ_DEP_LIBS_FOR_TST ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY})
-
-    # For display purposes
-    set (BOOST_REQUIRED_LIBS
-      ${Boost_REGEX_LIBRARY} ${Boost_IOSTREAMS_LIBRARY}
-	  ${Boost_SERIALIZATION_LIBRARY} ${Boost_FILESYSTEM_LIBRARY}
-	  ${Boost_DATE_TIME_LIBRARY} ${Boost_PROGRAM_OPTIONS_LIBRARY}
-	  ${Boost_UNIT_TEST_FRAMEWORK_LIBRARY} ${Boost_PYTHON_LIBRARY})
+	# For display purposes
+    set (BOOST_REQUIRED_LIBS "")
+
+    # Update the list of library dependencies for the project
+	register_boost_lib ("PROJ_DEP_LIBS_FOR_LIB"
+	  "${BOOST_REQUIRED_COMPONENTS_FOR_LIB}")
+
+    # Update the list of binary dependencies for the project
+	register_boost_lib ("PROJ_DEP_LIBS_FOR_BIN"
+	  "${BOOST_REQUIRED_COMPONENTS_FOR_BIN}")
+
+    # Update the list of test dependencies for the project
+	register_boost_lib ("PROJ_DEP_LIBS_FOR_TST"
+	  "${BOOST_REQUIRED_COMPONENTS_FOR_TST}")
+
   endif (Boost_FOUND)

 endmacro (get_boost)
@@ -561,6 +637,9 @@
   endif (${ARGC} GREATER 0)

   # The first check is to get Xapian installation details
+  if (${CMAKE_VERSION} VERSION_LESS 2.8.0)
+	set (Xapian_DIR /usr/${LIBDIR}/cmake/xapian)
+  endif (${CMAKE_VERSION} VERSION_LESS 2.8.0)
   find_package (Xapian)

   # The second check is for the required version (FindXapianWrapper.cmake is
@@ -605,6 +684,34 @@

 endmacro (get_readline)

+# ~~~~~~~~~~ (N)Curses ~~~~~~~~~
+macro (get_curses)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires (N)Curses-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires (N)Curses without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  set (CURSES_FOUND False)
+
+  set (CURSES_NEED_NCURSES True)
+  find_package (Curses ${_required_version} REQUIRED)
+  if (CURSES_LIBRARY)
+    set (CURSES_FOUND True)
+  endif (CURSES_LIBRARY)
+
+  if (CURSES_FOUND)
+    # Update the list of include directories for the project
+    include_directories (${CURSES_INCLUDE_DIR})
+
+    # Update the list of dependencies for the project
+    list (APPEND PROJ_DEP_LIBS_FOR_LIB ${CURSES_LIBRARY})
+  endif (CURSES_FOUND)
+
+endmacro (get_curses)
+
 # ~~~~~~~~~~ MySQL ~~~~~~~~~
 macro (get_mysql)
   unset (_required_version)
@@ -1057,21 +1164,21 @@

 endmacro (get_simcrs)

-# ~~~~~~~~~~ DSim ~~~~~~~~~
-macro (get_dsim)
+# ~~~~~~~~~~ TvlSim ~~~~~~~~~
+macro (get_tvlsim)
   unset (_required_version)
   if (${ARGC} GREATER 0)
     set (_required_version ${ARGV0})
-    message (STATUS "Requires DSim-${_required_version}")
+    message (STATUS "Requires TvlSim-${_required_version}")
   else (${ARGC} GREATER 0)
-    message (STATUS "Requires DSim without specifying any version")
+    message (STATUS "Requires TvlSim without specifying any version")
   endif (${ARGC} GREATER 0)

-  find_package (DSim ${_required_version} REQUIRED
+  find_package (TvlSim ${_required_version} REQUIRED
 	HINTS ${WITH_TVLSIM_PREFIX})
-  if (DSim_FOUND)
+  if (TvlSim_FOUND)
     #
-    message (STATUS "Found DSim version: ${TVLSIM_VERSION}")
+    message (STATUS "Found TvlSim version: ${TVLSIM_VERSION}")

     # Update the list of include directories for the project
     include_directories (${TVLSIM_INCLUDE_DIRS})
@@ -1079,15 +1186,15 @@
     # Update the list of dependencies for the project
     set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${TVLSIM_LIBRARIES})

-  else (DSim_FOUND)
-    set (ERROR_MSG "The DSim library cannot be found. If it is installed in")
+  else (TvlSim_FOUND)
+    set (ERROR_MSG "The TvlSim library cannot be found. If it is installed in")
     set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
     set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_TVLSIM_PREFIX=")
-    set (ERROR_MSG "${ERROR_MSG}<DSim install path> variable.")
+    set (ERROR_MSG "${ERROR_MSG}<TvlSim install path> variable.")
     message (FATAL_ERROR "${ERROR_MSG}")
-  endif (DSim_FOUND)
-
-endmacro (get_dsim)
+  endif (TvlSim_FOUND)
+
+endmacro (get_tvlsim)

 ##############################################
@@ -1106,10 +1213,10 @@
   #    will set CMAKE_CXX_FLAGS as being equal to -O2.
   if (NOT CMAKE_CXX_FLAGS)
 	#set (CMAKE_CXX_FLAGS "-Wall -Wextra -pedantic -Werror")
-        if (${RUN_GCOV} STREQUAL "ON")
+    if (${RUN_GCOV} STREQUAL "ON")
 	  set (CMAKE_CXX_FLAGS "-Wall -Werror -fprofile-arcs -ftest-coverage")
-        else (${RUN_GCOV} STREQUAL "ON")
-          set (CMAKE_CXX_FLAGS "-Wall -Werror")
+    else (${RUN_GCOV} STREQUAL "ON")
+      set (CMAKE_CXX_FLAGS "-Wall -Werror")
 	endif (${RUN_GCOV} STREQUAL "ON")
   endif (NOT CMAKE_CXX_FLAGS)
   # Tell the source code the version of Boost (only once)
@@ -1535,6 +1642,30 @@
 endmacro (module_binary_add)

 ##
+# Installation of the configuration INI file (format cfg).
+# The two parameters (among which only the first one is mandatory) are:
+#  * The path/directory where the configuration file can be found.
+#  * If specified, the name to be given to the file. If no such name
+#    is given as parameter, the configuration file is given the name of
+#    the current module.
+macro (module_config_add _config_source_dir)
+  # First, derive the name to be given to the config file, defaulting
+  # to the name of the module
+  set (_config_name ${MODULE_NAME})
+  if (${ARGC} GREATER 1})
+    set (_config_name ${ARGV1})
+  endif (${ARGC} GREATER 1})
+
+  # Define the macro path of the configuration file
+  set (PROJ_PATH_CFG_SRC ${_config_source_dir}/${_config_name}.cfg)
+
+  # Installation of the cfg file
+  install (FILES ${PROJ_PATH_CFG_SRC}
+    DESTINATION "${INSTALL_ETC_DIR}" COMPONENT runtime)
+
+endmacro (module_config_add)
+
+##
 # Add a (Shell, Python, Perl, Ruby, etc) script to be installed.
 #
 # The parameter is the relative file path of the (template) script to
@@ -1773,16 +1904,25 @@
   set (REFMAN refman)
   set (TEX_GEN_DIR ${CMAKE_CURRENT_BINARY_DIR}/latex)
   set (REFMAN_TEX ${REFMAN}.tex)
+  set (REFMAN_TEX ${REFMAN_TEX} PARENT_SCOPE)
   set (REFMAN_TEX_FULL ${TEX_GEN_DIR}/${REFMAN_TEX})
+  set (REFMAN_TEX_OTHERS ${TEX_GEN_DIR}/index.tex ${TEX_GEN_DIR}/namespaces.tex
+	${TEX_GEN_DIR}/annotated.tex ${TEX_GEN_DIR}/hierarchy.tex
+	${TEX_GEN_DIR}/files.tex)

   # Add the build rule for Doxygen
-  set (DOXYGEN_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/html/index.html)
-  add_custom_command (OUTPUT ${DOXYGEN_OUTPUT} ${REFMAN_TEX_FULL}
+  set (DOXYGEN_OUTPUT_REL html/index.html)
+  set (DOXYGEN_OUTPUT_REL ${DOXYGEN_OUTPUT_REL} PARENT_SCOPE)
+  set (DOXYGEN_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${DOXYGEN_OUTPUT_REL})
+  set (DOXYGEN_OUTPUT ${DOXYGEN_OUTPUT} PARENT_SCOPE)
+  add_custom_command (
+	OUTPUT ${DOXYGEN_OUTPUT} ${REFMAN_TEX_FULL} ${REFMAN_TEX_OTHERS}
 	COMMAND ${DOXYGEN_EXECUTABLE} ARGS ${DOXYGEN_CFG}
 	DEPENDS ${DOXYGEN_CFG} ${doc_SOURCES}
 	COMMENT "Generating documentation with Doxygen, from '${DOXYGEN_CFG}'...")
   # Add the 'doc' target, depending on the generated HTML documentation
-  add_custom_target (doc ALL DEPENDS ${DOXYGEN_OUTPUT})
+  add_custom_target (doc ALL DEPENDS
+	${DOXYGEN_OUTPUT} ${REFMAN_TEX_FULL} ${REFMAN_TEX_OTHERS})

   ##
   # Copy the needed files into the generated HTML directory
@@ -1796,10 +1936,17 @@
 	add_custom_command (OUTPUT ${CSS_GEN_FULL_DIR}
 	  COMMAND ${CMAKE_COMMAND}
 	  ARGS -E copy ${CSS_SRC_FULL_DIR} ${CSS_GEN_FULL_DIR}
-	  DEPENDS ${DOXYGEN_OUTPUT} ${CSS_SRC_FULL_DIR}
+	  DEPENDS doc ${CSS_SRC_FULL_DIR}
 	  COMMENT "Copying style '${CSS_SRC_FULL_DIR}' into '${htmldoc_DIR}'...")
+
+	# Transpose the CSS-related operation into a target, so that CMake
+	# can handle it properly
 	add_custom_target (css_${style_SRC} ALL DEPENDS ${CSS_GEN_FULL_DIR})
+	list (APPEND CSS_ALL_TARGETS css_${style_SRC})
   endforeach (style_SRC)
+  set (CSS_ALL_TARGETS ${CSS_ALL_TARGETS} PARENT_SCOPE)
+  add_custom_target (css_style)
+  add_dependencies (css_style ${CSS_ALL_TARGETS})

   # Images
   foreach (image_SRC ${image_SOURCES})
@@ -1808,10 +1955,17 @@
 	add_custom_command (OUTPUT ${IMG_GEN_FULL_DIR}
 	  COMMAND ${CMAKE_COMMAND}
 	  ARGS -E copy ${IMG_SRC_FULL_DIR} ${IMG_GEN_FULL_DIR}
-	  DEPENDS ${DOXYGEN_OUTPUT} ${IMG_SRC_FULL_DIR}
+	  DEPENDS doc ${IMG_SRC_FULL_DIR}
 	  COMMENT "Copying image '${IMG_SRC_FULL_DIR}' into '${htmldoc_DIR}'...")
+
+	# Transpose the image-related operation into a target, so that CMake
+	# can handle it properly
 	add_custom_target (img_${image_SRC} ALL DEPENDS ${IMG_GEN_FULL_DIR})
+	list (APPEND IMG_ALL_TARGETS img_${image_SRC})
   endforeach (image_SRC)
+  set (IMG_ALL_TARGETS ${IMG_ALL_TARGETS} PARENT_SCOPE)
+  add_custom_target (img_style)
+  add_dependencies (img_style ${IMG_ALL_TARGETS})

   ##
   # PDF, generated by (Pdf)Latex from the Latex source file, itself generated
@@ -1819,27 +1973,28 @@
   set (REFMAN_IDX ${REFMAN}.idx)
   set (REFMAN_IDX_FULL ${TEX_GEN_DIR}/${REFMAN_IDX})
   set (REFMAN_PDF ${REFMAN}.pdf)
+  set (REFMAN_PDF ${REFMAN_PDF} PARENT_SCOPE)
   set (REFMAN_PDF_FULL ${TEX_GEN_DIR}/${REFMAN_PDF})
+  set (WARNING_PDF_MSG "Warning: the PDF reference manual ('${REFMAN_PDF_FULL}') has failed to build. You can perform a simple re-build ('make' in the 'doc/latex' sub-directory).")
   # Note the "|| echo" addition to the pdflatex command, as that latter returns
   # as if there were an error.
   add_custom_command (OUTPUT ${REFMAN_IDX_FULL} ${REFMAN_PDF_FULL}
-	DEPENDS ${DOXYGEN_OUTPUT} ${REFMAN_TEX_FULL}
 	COMMAND ${CMAKE_COMMAND}
-	ARGS -E chdir ${TEX_GEN_DIR} pdflatex -interaction batchmode ${REFMAN_TEX} || echo "First PDF generation done."
+	ARGS -E chdir ${TEX_GEN_DIR} pdflatex -interaction batchmode ${REFMAN_TEX} && echo 'First PDF generation done.' || echo 'First PDF generation done.'
 	COMMAND ${CMAKE_COMMAND}
-	ARGS -E chdir ${TEX_GEN_DIR} makeindex -q ${REFMAN_IDX}
+	ARGS -E chdir ${TEX_GEN_DIR} egrep -s -e 'Fatal error occurred' -e 'Rerun to get cross-references right' refman.log && (cd ${TEX_GEN_DIR} && pdflatex -interaction batchmode ${REFMAN_TEX} && echo 'Second PDF generation done.') || echo 'Second PDF generation was not necessary'
 	COMMAND ${CMAKE_COMMAND}
-	ARGS -E chdir ${TEX_GEN_DIR} pdflatex -interaction batchmode ${REFMAN_TEX} || echo "Second PDF generation done."
+	ARGS -E chdir ${TEX_GEN_DIR} egrep -s -e 'Fatal error occurred' -e 'Rerun to get cross-references right' refman.log && (cd ${TEX_GEN_DIR} && pdflatex -interaction batchmode ${REFMAN_TEX} && echo 'Third PDF generation done.') || echo 'Third PDF generation was not necessary'
 	COMMAND ${CMAKE_COMMAND}
-	ARGS -E chdir ${TEX_GEN_DIR} makeindex -q ${REFMAN_IDX}
+	ARGS -E chdir ${TEX_GEN_DIR} test ! -f ${REFMAN_PDF} && (cd ${TEX_GEN_DIR} && echo '${WARNING_PDF_MSG}' > ${REFMAN_PDF} && echo '${WARNING_PDF_MSG}') || echo 'The PDF reference manual has been successfully built'
 	COMMAND ${CMAKE_COMMAND}
-	ARGS -E chdir ${TEX_GEN_DIR} pdflatex -interaction batchmode ${REFMAN_TEX} || echo "Third PDF generation done."
-	COMMENT "Generating PDF Reference Manual ('${REFMAN_PDF}')..."
-	COMMAND ${CMAKE_COMMAND}
-	ARGS -E chdir ${TEX_GEN_DIR} test -f ${REFMAN_PDF} || (touch ${REFMAN_PDF} && echo "Warning: the PDF reference manual \\\('${REFMAN_PDF_FULL}'\\\) has failed to build. You can perform a simple re-build \\\('make' in the 'doc/latex' sub-directory\\\).")
-	COMMENT "Checking whether the PDF Reference Manual ('${REFMAN_PDF}') has been built...")
+	ARGS -E chdir ${TEX_GEN_DIR} echo 'The file size of the PDF reference manual is: ' && (cd ${TEX_GEN_DIR} && du -sh ${REFMAN_PDF} | cut -f1)
+	DEPENDS doc
+	COMMENT "Generating PDF Reference Manual ('${REFMAN_TEX}' => '${REFMAN_PDF}')...")
+
   # Add the 'pdf' target, depending on the generated PDF manual
-  add_custom_target (pdf ALL DEPENDS ${REFMAN_PDF_FULL})
+  add_custom_target (pdf ALL DEPENDS ${REFMAN_IDX_FULL} ${REFMAN_PDF_FULL})
+  add_dependencies (pdf css_style img_style)

   # Clean-up $build/html and $build/latex on 'make clean'
   set_property (DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
@@ -1877,12 +2032,11 @@
   endforeach (_idx RANGE 1 9)

   # Initialise the lists gathering information for each valid manual section
-  set (man_doxy_output_list "")
-  set (man_dir_list "")
+  set (man_dir_list)

   # Parse the arguments
-  set (options "")
-  set (oneValueArgs "")
+  set (options)
+  set (oneValueArgs)

   # Added one argument option for every manual section
   foreach (man_sect ${man_section_list})
@@ -1945,9 +2099,11 @@
 		DEPENDS ${DOXYGEN_CFG${man_sect}} ${man${man_sect}_SOURCES}
 		COMMENT "Generating section ${man_sect} manual pages with Doxygen, from '${DOXYGEN_CFG${man_sect}}'...")

-	  # Add the current manual section output to the dedicated list,
-	  # so that it can then be added to the corresponding target (see below).
-	  list (APPEND man_doxy_output_list ${DOXYGEN_OUTPUT${man_sect}})
+	  # Transpose the man-page-related operation into a target, so that CMake
+	  # can handle it properly
+	  add_custom_target (man_${man_sect}
+		ALL DEPENDS ${DOXYGEN_OUTPUT${man_sect}})
+	  list (APPEND MAN_ALL_TARGETS man_${man_sect})

 	  # Specifiy what to do for the installation of the manual pages
 	  install (DIRECTORY "${man${man_sect}_DIR}" DESTINATION ${MAN_PATH})
@@ -1956,7 +2112,9 @@
   endforeach (man_sect ${man_section_list})

   # Add the 'man' target, depending on the generated manual page documentation
-  add_custom_target (man ALL DEPENDS ${man_doxy_output_list})
+  set (MAN_ALL_TARGETS ${MAN_ALL_TARGETS} PARENT_SCOPE)
+  add_custom_target (man)
+  add_dependencies (${MAN_ALL_TARGETS})

   # Clean-up $build/man1 and $build/man3 on 'make clean'
   set_property (DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES
@@ -1971,33 +2129,42 @@

 macro (gcov_task)
   if (${RUN_GCOV} STREQUAL "ON")
-    set (GCDA_GCNO_PATH "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/CMakeFiles/${PROJECT_NAME}lib.dir")
+    set (GCDA_GCNO_PATH
+	  "${CMAKE_BINARY_DIR}/${PROJECT_NAME}/CMakeFiles/${PROJECT_NAME}lib.dir")
     set (GCDA_FILE "${GCDA_GCNO_PATH}/command/CmdBomSerialiser.cpp.gcda")
     set (GCNO_FILE "${GCDA_GCNO_PATH}/command/CmdBomSerialiser.cpp.gcno")
-    # Removed generated gcda and gcno files relative to the CmdBomSerialiser object:
-    # gcov failed processing the CmdBomSerialiser.cpp.gcda file without displaying a clear message
+	# Removed generated gcda and gcno files relative to the CmdBomSerialiser
+	# object: gcov failed processing the CmdBomSerialiser.cpp.gcda file
+	# without displaying a clear message
     add_custom_command (TARGET check
-                        # This task is post-build and post-check
-                        POST_BUILD
-                        # Because the "-f" option is given, the commands do not fail when the files are missing
-	                COMMAND "rm" "-f" "${GCDA_FILE}"
-                        COMMAND "rm" "-f" "${GCNO_FILE}"
-                        )
-    # Build a coverage report info and html pages using gcda and gcno files
+	  # This task is post-build and post-check
+      POST_BUILD
+      # Because the "-f" option is given, the commands do not fail
+	  # when the files are missing
+	  COMMAND "rm" "-f" "${GCDA_FILE}"
+      COMMAND "rm" "-f" "${GCNO_FILE}"
+      )
+	# Build a coverage report info and html pages using gcda and gcno files
     add_custom_command (TARGET check
-                        # This task is post-build and post-check
-                        POST_BUILD
-                        # Create a directory for the gcov reports
-                        COMMAND "mkdir" "-p" "${CMAKE_BINARY_DIR}/gcov"
-                        # Generate a global gcov report using the directory containing the gcda/gcno files
-                        COMMAND "geninfo" "${GCDA_GCNO_PATH}" "-o" "${CMAKE_BINARY_DIR}/gcov/gcov_tmp_report.info"
-                        # Extract from the global report the data relative to the module files (i, e remove external libraries) and copy them in a second report
-			COMMAND "lcov" "-e" "${CMAKE_BINARY_DIR}/gcov/gcov_tmp_report.info" "'${CMAKE_CURRENT_SOURCE_DIR}/*'" ">>" "${CMAKE_BINARY_DIR}/gcov/gcov_report.info"
-                        # Generate html documentation about the module files coverage
-                        COMMAND "genhtml" "-o" "${CMAKE_BINARY_DIR}/gcov" "-p" "${CMAKE_CURRENT_SOURCE_DIR}*" "${CMAKE_BINARY_DIR}/gcov/gcov_report.info"
-                        # Delete heavy .info files
-                        COMMAND "rm" "${CMAKE_BINARY_DIR}/gcov/*.info"
-	               )
+      # This task is post-build and post-check
+      POST_BUILD
+      # Create a directory for the gcov reports
+      COMMAND "mkdir" "-p" "${CMAKE_BINARY_DIR}/gcov"
+      # Generate a global gcov report using the directory containing
+	  # the gcda/gcno files
+      COMMAND "geninfo" "${GCDA_GCNO_PATH}" "-o"
+	  "${CMAKE_BINARY_DIR}/gcov/gcov_tmp_report.info"
+      # Extract from the global report the data relative to the module files
+	  # (i, e remove external libraries) and copy them in a second report
+	  COMMAND "lcov" "-e" "${CMAKE_BINARY_DIR}/gcov/gcov_tmp_report.info"
+	  "'${CMAKE_CURRENT_SOURCE_DIR}/*'" ">>"
+	  "${CMAKE_BINARY_DIR}/gcov/gcov_report.info"
+      # Generate html documentation about the module files coverage
+      COMMAND "genhtml" "-o" "${CMAKE_BINARY_DIR}/gcov" "-p"
+	  "${CMAKE_CURRENT_SOURCE_DIR}*" "${CMAKE_BINARY_DIR}/gcov/gcov_report.info"
+      # Delete heavy .info files
+      COMMAND "rm" "${CMAKE_BINARY_DIR}/gcov/*.info"
+	  )
   endif (${RUN_GCOV} STREQUAL "ON")
 endmacro (gcov_task)

@@ -2064,7 +2231,6 @@
   message (STATUS "  - DOXYGEN_DOT_PATH .............. : ${DOXYGEN_DOT_PATH}")
 endmacro (display_doxygen)

-
 # Gcov
 macro (display_gcov)
   if (${RUN_GCOV} STREQUAL "ON")
@@ -2103,6 +2269,17 @@
   endif (PYTHONLIBS_FOUND)
 endmacro (display_python)

+# ICU
+macro (display_icu)
+  if (ICU_FOUND)
+    message (STATUS)
+	message (STATUS "* ICU:")
+	message (STATUS "  - ICU_VERSION ................... : ${ICU_VERSION}")
+	message (STATUS "  - ICU_LIBRARIES ................. : ${ICU_LIBRARIES}")
+	message (STATUS "  - ICU_INCLUDE_DIRS .............. : ${ICU_INCLUDE_DIR}")
+  endif (ICU_FOUND)
+endmacro (display_icu)
+
 # ZeroMQ
 macro (display_zeromq)
   if (ZEROMQ_FOUND)
@@ -2125,6 +2302,9 @@
     message (STATUS "  - Boost_INCLUDE_DIRS ............ : ${Boost_INCLUDE_DIRS}")
     message (STATUS "  - Boost required components ..... : ${BOOST_REQUIRED_COMPONENTS}")
     message (STATUS "  - Boost required libraries ...... : ${BOOST_REQUIRED_LIBS}")
+    message (STATUS "  - Boost required libs for lib ... : ${PROJ_DEP_LIBS_FOR_LIB}")
+    message (STATUS "  - Boost required libs for bin ... : ${PROJ_DEP_LIBS_FOR_BIN}")
+    message (STATUS "  - Boost required libs for test .. : ${PROJ_DEP_LIBS_FOR_TST}")
   endif (Boost_FOUND)
 endmacro (display_boost)

@@ -2149,6 +2329,17 @@
     message (STATUS "  - READLINE_LIBRARY .............. : ${READLINE_LIBRARY}")
   endif (READLINE_FOUND)
 endmacro (display_readline)
+
+# (N)Curses
+macro (display_curses)
+  if (CURSES_FOUND)
+    message (STATUS)
+    message (STATUS "* (N)Curses:")
+    message (STATUS "  - CURSES_VERSION .............. : ${CURSES_VERSION}")
+    message (STATUS "  - CURSES_INCLUDE_DIR .......... : ${CURSES_INCLUDE_DIR}")
+    message (STATUS "  - CURSES_LIBRARY .............. : ${CURSES_LIBRARY}")
+  endif (CURSES_FOUND)
+endmacro (display_curses)

 # MySQL
 macro (display_mysql)
@@ -2345,19 +2536,19 @@
   endif (SimCRS_FOUND)
 endmacro (display_simcrs)

-# DSim
-macro (display_dsim)
-  if (DSim_FOUND)
+# TvlSim
+macro (display_tvlsim)
+  if (TvlSim_FOUND)
     message (STATUS)
-    message (STATUS "* DSim:")
+    message (STATUS "* TvlSim:")
     message (STATUS "  - TVLSIM_VERSION .................. : ${TVLSIM_VERSION}")
     message (STATUS "  - TVLSIM_BINARY_DIRS .............. : ${TVLSIM_BINARY_DIRS}")
     message (STATUS "  - TVLSIM_EXECUTABLES .............. : ${TVLSIM_EXECUTABLES}")
     message (STATUS "  - TVLSIM_LIBRARY_DIRS ............. : ${TVLSIM_LIBRARY_DIRS}")
     message (STATUS "  - TVLSIM_LIBRARIES ................ : ${TVLSIM_LIBRARIES}")
     message (STATUS "  - TVLSIM_INCLUDE_DIRS ............. : ${TVLSIM_INCLUDE_DIRS}")
-  endif (DSim_FOUND)
-endmacro (display_dsim)
+  endif (TvlSim_FOUND)
+endmacro (display_tvlsim)

 ##
 macro (display_status_all_modules)
@@ -2382,6 +2573,19 @@
     message (STATUS "  + Tests to perform .............. : ${${_test_suite}_ALL_TESTS}")
   endforeach (_test_suite)
 endmacro (display_status_all_test_suites)
+
+##
+macro (display_doc_generation)
+  message (STATUS)
+    message (STATUS "* Documentation to be generated ... :")
+	if (INSTALL_DOC)
+      message (STATUS "  + HTML main page ................ : ${DOXYGEN_OUTPUT_REL}")
+      message (STATUS "  + CSS-related files ............. : ${CSS_ALL_TARGETS}")
+      message (STATUS "  + Image-related files ........... : ${IMG_ALL_TARGETS}")
+      message (STATUS "  + PDF reference manual .......... : ${REFMAN_TEX} => ${REFMAN_PDF}")
+	endif (INSTALL_DOC)
+    message (STATUS "  + Man page sections ............. : ${MAN_ALL_TARGETS}")
+endmacro (display_doc_generation)

 ##
 macro (display_status)
@@ -2409,6 +2613,7 @@
   message (STATUS "Binaries to test .................. : ${PROJ_ALL_TST_TARGETS}")
   display_status_all_modules ()
   display_status_all_test_suites ()
+  display_doc_generation ()
   message (STATUS)
   message (STATUS "BUILD_SHARED_LIBS ................. : ${BUILD_SHARED_LIBS}")
   message (STATUS "CMAKE_BUILD_TYPE .................. : ${CMAKE_BUILD_TYPE}")
@@ -2417,6 +2622,7 @@
   message (STATUS " * BUILD_FLAGS .................... : ${BUILD_FLAGS}")
   message (STATUS " * COMPILE_FLAGS .................. : ${COMPILE_FLAGS}")
   message (STATUS "ENABLE_TEST ....................... : ${ENABLE_TEST}" )
+  message (STATUS "RUN_GCOV .......................... : ${RUN_GCOV}" )
   message (STATUS "CMAKE_MODULE_PATH ................. : ${CMAKE_MODULE_PATH}")
   message (STATUS "CMAKE_INSTALL_PREFIX .............. : ${CMAKE_INSTALL_PREFIX}")
   display_doxygen ()
@@ -2454,10 +2660,12 @@
   message (STATUS "------------------------------------")
   #
   display_python ()
+  display_icu ()
   display_zeromq ()
   display_boost ()
   display_xapian ()
   display_readline ()
+  display_curses ()
   display_mysql ()
   display_soci ()
   display_stdair ()
@@ -2472,7 +2680,7 @@
   display_simfqt ()
   display_simlfs ()
   display_simcrs ()
-  display_dsim ()
+  display_tvlsim ()
   #
   message (STATUS)
   message (STATUS "Change a value with: cmake -D<Variable>=<Value>" )


Vigra tests pass, include them again in the build.

--- vigra.cmake
+++ vigra.cmake
@@ -83,7 +83,7 @@
         -DCMAKE_CXX_FLAGS=-pthread
         -DCMAKE_CXX_LINK_FLAGS=-pthread
     BUILD_COMMAND       ${BUILDEM_ENV_STRING} $(MAKE)
-#    TEST_COMMAND        ${BUILDEM_ENV_STRING} make check
+    TEST_COMMAND        ${BUILDEM_ENV_STRING} make check
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} make install
 )


CMake: Display a log message on nuget restore and fail build early if restore failed.

--- CMake/Modules/UrhoCommon.cmake
+++ CMake/Modules/UrhoCommon.cmake
@@ -359,9 +359,16 @@
     endif ()
     add_msbuild_target(TARGET NugetRestore EXCLUDE_FROM_ALL ARGS ${VS_SOLUTIONS} /t:restore /m)
     # Run nuget restore during generation stage
-    execute_process(COMMAND ${TERM_WORKAROUND} ${MSBUILD} ${VS_SOLUTIONS} /t:restore /m /nologo
+    message(STATUS "NuGet restore")
+    execute_process(
+        COMMAND ${TERM_WORKAROUND} ${MSBUILD} ${VS_SOLUTIONS} /t:restore /m /nologo
         /p:CMAKE_BINARY_DIR=${CMAKE_BINARY_DIR}/ /consoleloggerparameters:ErrorsOnly
+        RESULT_VARIABLE NUGET_RESTORE_RESULT
+        OUTPUT_VARIABLE NUGET_RESTORE_OUTPUT
     )
+    if (NOT NUGET_RESTORE_RESULT EQUAL 0)
+        message(FATAL_ERROR "${NUGET_RESTORE_OUTPUT}")
+    endif ()
 endif()

 macro (__TARGET_GET_PROPERTIES_RECURSIVE OUTPUT TARGET PROPERTY)


COMP: Compiling with CMake >2.9, Qt ui files are no longer generated in CMAKE_CURRENT_BINARY_DIR anymore, but relative to it (typically CMAKE_CURRENT_BINARY_DIR/Resources/UI for .ui files.

--- CMake/ctkMacroBuildQtLib.cmake
+++ CMake/ctkMacroBuildQtLib.cmake
@@ -31,6 +31,8 @@
     ${CTK_BASE_INCLUDE_DIRS}
     ${CMAKE_CURRENT_SOURCE_DIR}
     ${CMAKE_CURRENT_BINARY_DIR}
+    # with CMake >2.9, use QT4_MAKE_OUTPUT_FILE instead ?
+    ${CMAKE_CURRENT_BINARY_DIR}/Resources/UI
     ${MY_INCLUDE_DIRECTORIES}
     )
   SET(CTK_BASE_INCLUDE_DIRS ${my_includes} CACHE INTERNAL "CTK includes" FORCE)


bump ABI

bump ABI

--- CMakeModules/OMPLVersion.cmake
+++ CMakeModules/OMPLVersion.cmake
@@ -5,4 +5,4 @@
 set(OMPL_VERSION "${OMPL_MAJOR_VERSION}.${OMPL_MINOR_VERSION}.${OMPL_PATCH_VERSION}")

 # increment this when we have ABI changes
-set(OMPL_ABI_VERSION 4)
+set(OMPL_ABI_VERSION 5)


Use execute_process to invoke chmod from cmake (#874)

--- Tensile/Source/TensileCreateLibrary.cmake
+++ Tensile/Source/TensileCreateLibrary.cmake
@@ -50,7 +50,10 @@
   message(STATUS "Tensile_COMPILER            from TensileCreateLibraryCmake : ${Tensile_COMPILER}")
   message(STATUS "Tensile_ARCHITECTURE        from TensileCreateLibraryCmake : ${Tensile_ARCHITECTURE}")

-  set(Tensile_CREATE_COMMAND "python3" "${Tensile_ROOT}/bin/TensileCreateLibrary")
+  execute_process(COMMAND chmod 755 ${Tensile_ROOT}/bin/TensileCreateLibrary)
+  execute_process(COMMAND chmod 755 ${Tensile_ROOT}/bin/Tensile)
+
+  set(Tensile_CREATE_COMMAND "${Tensile_ROOT}/bin/TensileCreateLibrary")

   set(Tensile_SOURCE_PATH "${PROJECT_BINARY_DIR}/Tensile")
   message(STATUS "Tensile_SOURCE_PATH=${Tensile_SOURCE_PATH}")


FIX (#2025): preventing the bundle loader from discovering disabled plug-ins by removing their MANIFEST.MF via CMake in the binary output directory

--- Utilities/openCherry/CMake/MacroCollectPlugins.cmake
+++ Utilities/openCherry/CMake/MacroCollectPlugins.cmake
@@ -90,6 +90,10 @@

         SET(OPENCHERRY_BUNDLE_VARIABLES "${OPENCHERRY_BUNDLE_VARIABLES}
 SET(BUILD_${BUNDLE-SYMBOLICNAME} 1)")
+      ELSE(BUILD_${BUNDLE-SYMBOLICNAME} OR _COLLECT_FORCE_BUILD_ALL)
+        FILE(RELATIVE_PATH _binary_manifest_path "${CMAKE_CURRENT_SOURCE_DIR}" "${dir_entry}/META-INF/MANIFEST.MF")
+        SET(_binary_manifest_path "${_COLLECT_OUTPUT_DIR}/${_binary_manifest_path}")
+        FILE(REMOVE "${_binary_manifest_path}")
       ENDIF(BUILD_${BUNDLE-SYMBOLICNAME} OR _COLLECT_FORCE_BUILD_ALL)

     ENDIF(BUNDLE-SYMBOLICNAME)


Add a different way to get gtest

Add a different way to get gtest

--- cmake/External_gtest.cmake
+++ cmake/External_gtest.cmake
@@ -9,17 +9,28 @@
 set(GTEST_DIR "${CMAKE_CURRENT_BINARY_DIR}/${GTEST_PREFIX}")
 set(GTEST_INCLUDES "${GTEST_DIR}/src/googletest-${gtest_version}/include")

+if (MSVC)
+  # appveyor doesn't understand git
+  set( GTEST_SOURCE_DOWNLOAD
+       URL https://github.com/google/googletest/archive/release-${gtest_version}.tar.gz
+       URL_MD5 4ff6353b2560df0afecfbda3b2763847 )
+else()
+  # location that works on linux
+  set( GTEST_SOURCE_DOWNLOAD
+       GIT_REPOSITORY https://github.com/google/googletest.git
+       GIT_TAG "release-${gtest_version}" )
+endif()
+
 ExternalProject_Add(
     googletest-${gtest_version}
     DOWNLOAD_DIR "${GTEST_DIR}/src" # The only dir option which is required
-    GIT_REPOSITORY https://github.com/google/googletest.git
-    GIT_TAG "release-${gtest_version}"
     PREFIX "${GTEST_PREFIX}"
     TIMEOUT 10
     LOG_DOWNLOAD ON
     CMAKE_ARGS -DBUILD_SHARED_LIBS:BOOL=ON
     # Disable all other steps
     INSTALL_COMMAND ""
+    ${GTEST_SOURCE_DOWNLOAD}
 )

 # the gtest include directory exists only after it is build, but it is used/needed


fixed ADD_TARGET_PROPERTIES arg shifting

--- cmake/LighttpdMacros.cmake
+++ cmake/LighttpdMacros.cmake
@@ -31,7 +31,7 @@
 MACRO(ADD_TARGET_PROPERTIES _target _name _properties)
   SET(_properties ${ARGV})
   LIST(REMOVE_AT _properties 0)
-  LIST(REMOVE_AT _properties 1)
+  LIST(REMOVE_AT _properties 0)
   GET_TARGET_PROPERTY(_old_properties ${_target} ${_name})
 	MESSAGE("adding property to ${_target} ${_name}: ${_properties}")
   IF(NOT _old_properties)


work around pkg-config reordering libs with no -l prefix (#300)

--- cmake/catkin_package.cmake
+++ cmake/catkin_package.cmake
@@ -230,7 +230,9 @@

   set(PKG_CONFIG_LIBRARIES_WITH_PREFIX "")
   foreach(library ${PKG_CONFIG_LIBRARIES})
-    if(NOT IS_ABSOLUTE ${library})
+    if(IS_ABSOLUTE ${library})
+      set(library "-l:${library}")
+    else()
       set(library "-l${library}")
     endif()
     list(APPEND PKG_CONFIG_LIBRARIES_WITH_PREFIX ${library})


draco: formatting fixes in draco_features.cmake.

Just line wrapping stuff.

--- cmake/draco_features.cmake
+++ cmake/draco_features.cmake
@@ -52,10 +52,13 @@
     file(APPEND "${draco_features_file_name}.new" "#define ${feature}\n")
   endforeach()

-  file(APPEND "${draco_features_file_name}.new" "\n#endif  // DRACO_FEATURES_H_")
+  file(APPEND "${draco_features_file_name}.new"
+       "\n#endif  // DRACO_FEATURES_H_")

-  # Will replace ${draco_features_file_name} only if the file content has changed.
-  # This prevents forced Draco rebuilds after CMake runs.
-  configure_file("${draco_features_file_name}.new" "${draco_features_file_name}")
+  # Will replace ${draco_features_file_name} only if the file content has
+  # changed. This prevents forced Draco rebuilds after CMake runs.
+  configure_file("${draco_features_file_name}.new"
+                 "${draco_features_file_name}")
   file(REMOVE "${draco_features_file_name}.new")
+
 endfunction()


downgrade boost to fit manylinux

downgrade boost to fit manylinux

--- cmake/external/boost.cmake
+++ cmake/external/boost.cmake
@@ -15,8 +15,8 @@
 include(ExternalProject)

 set(BOOST_PROJECT       "extern_boost")
-set(BOOST_VER           "1.66.0")
-set(BOOST_TAR           "boost_1_66_0")
+set(BOOST_VER           "1.41.0")
+set(BOOST_TAR           "boost_1_41_0")
 set(BOOST_URL           "https://dl.bintray.com/boostorg/release/${BOOST_VER}/source/${BOOST_TAR}.tar.gz")
 set(BOOST_SOURCES_DIR ${THIRD_PARTY_PATH}/boost)
 set(BOOST_DOWNLOAD_DIR  "${BOOST_SOURCES_DIR}/src/${BOOST_PROJECT}")


For BoringSSL, only build the ssl and crypto targets.

--- cmake/external_rules.cmake
+++ cmake/external_rules.cmake
@@ -169,7 +169,7 @@
     endif()

     execute_process(
-      COMMAND ${ENV_COMMAND} cmake --build . -- ${cmake_build_args}
+      COMMAND ${ENV_COMMAND} cmake --build . --target ssl crypto -- ${cmake_build_args}
       WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external/src/boringssl-build
       RESULT_VARIABLE boringssl_build_status
     )


simplified flag setting

simplified flag setting

--- cmake/megamol_config.cmake
+++ cmake/megamol_config.cmake
@@ -38,23 +38,16 @@
   # nothing to do
 elseif (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
   # TODO git history suggests this was required for cuda in 2019, still required?
-  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-fsized-deallocation>)
-  add_compile_options($<$<COMPILE_LANGUAGE:C>:-fsized-deallocation>)
+  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-fsized-deallocation>)

    # Prevent build fail.
-  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-narrowing>)
-  add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wno-narrowing>)
-  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:-Wno-non-pod-vararg>)
-  add_compile_options($<$<COMPILE_LANGUAGE:C>:-Wno-non-pod-vararg>)
+  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-narrowing>)
+  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:-Wno-non-pod-vararg>)
 elseif (CMAKE_CXX_COMPILER_ID STREQUAL "MSVC")
-  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/MP>)
-  add_compile_options($<$<COMPILE_LANGUAGE:C>:/MP>)
-  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/permissive->)
-  add_compile_options($<$<COMPILE_LANGUAGE:C>:/permissive->)
-  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/Zc:twoPhase->)
-  add_compile_options($<$<COMPILE_LANGUAGE:C>:/Zc:twoPhase->)
-  add_compile_options($<$<COMPILE_LANGUAGE:CXX>:/utf-8>)
-  add_compile_options($<$<COMPILE_LANGUAGE:C>:/utf-8>)
+  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:/MP>)
+  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:/permissive->)
+  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:/Zc:twoPhase->)
+  add_compile_options($<$<COMPILE_LANGUAGE:C,CXX>:/utf-8>)
   add_compile_definitions("NOMINMAX")
 else ()
   message(FATAL_ERROR "Unsupported compiler specified: '${CMAKE_CXX_COMPILER_ID}'")


Fix dependency for XDC files.

Fix dependency for XDC files.

Signed-off-by: Keith Rothman <1bc19627a439baf17510dc2d0b2d250c96d445a5@users.noreply.github.com>

--- common/cmake/devices.cmake
+++ common/cmake/devices.cmake
@@ -1043,8 +1043,11 @@
     endif()
   endif()

+  set(SOURCE_FILES_DEPS "")
+  set(SOURCE_FILES "")
   if(NOT "${ADD_FPGA_TARGET_INPUT_XDC_FILE}" STREQUAL "")
     get_file_location(INPUT_XDC_FILE ${ADD_FPGA_TARGET_INPUT_XDC_FILE})
+    append_file_dependency(SOURCE_FILES_DEPS ${ADD_FPGA_TARGET_INPUT_XDC_FILE})
   endif()

   #
@@ -1056,8 +1059,6 @@
   set(OUT_SYNTH_V_REL ${OUT_LOCAL_REL}/${TOP}_synth.v)
   set(OUT_FASM_EXTRA ${OUT_LOCAL}/${TOP}_fasm_extra.fasm)

-  set(SOURCE_FILES_DEPS "")
-  set(SOURCE_FILES "")
   foreach(SRC ${ADD_FPGA_TARGET_SOURCES})
     append_file_location(SOURCE_FILES ${SRC})
     append_file_dependency(SOURCE_FILES_DEPS ${SRC})
@@ -1081,7 +1082,7 @@

     add_custom_command(
       OUTPUT ${OUT_JSON_SYNTH} ${OUT_SYNTH_V} ${OUT_FASM_EXTRA}
-      DEPENDS ${SOURCE_FILES} ${SOURCE_FILES_DEPS} ${INPUT_XDC_FILE}
+      DEPENDS ${SOURCE_FILES_DEPS}
               ${YOSYS} ${YOSYS_TARGET} ${QUIET_CMD} ${QUIET_CMD_TARGET}
               ${YOSYS_SYNTH_SCRIPT}
       COMMAND


fix android need not link with -lpthread

--- project/cmake/ProjectBuildOption.cmake
+++ project/cmake/ProjectBuildOption.cmake
@@ -26,7 +26,9 @@
 find_package(Threads)
 if (CMAKE_USE_PTHREADS_INIT)
     set(THREAD_TLS_USE_PTHREAD 1)
-    list(APPEND COMPILER_OPTION_EXTERN_CXX_LIBS pthread)
+    if(NOT ANDROID)
+        list(APPEND COMPILER_OPTION_EXTERN_CXX_LIBS pthread)
+    endif ()
     if (THREADS_PREFER_PTHREAD_FLAG)
         add_definitions(${THREADS_PREFER_PTHREAD_FLAG})
     endif ()


PKG: avoid chmod +x on output file

PKG: avoid chmod +x on output file

--- Packaging/create_package.cmake
+++ Packaging/create_package.cmake
@@ -9,7 +9,7 @@
       )
     else()
       execute_process(
-        COMMAND ${CMAKE_CURRENT_SOURCE_DIR}/makeself/makeself.sh
+        COMMAND sh ${CMAKE_CURRENT_SOURCE_DIR}/makeself/makeself.sh
         \"--quiet\"
         \"--target\"
         \"${PKG_STAGE_DIR}\"


[CMake] LLVMProcessSources.cmake: Prune add_file_dependencies to ${TABLEGEN_OUTPUT}.

I am sure it'd not be required any more.
In trunk, all of tablegen's users depend on ${TABLEGEN_OUTPUT} as not file dependency but inter-target dependency.

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

--- cmake/modules/LLVMProcessSources.cmake
+++ cmake/modules/LLVMProcessSources.cmake
@@ -42,14 +42,6 @@
   cmake_parse_arguments(ARG "" "" "ADDITIONAL_HEADERS" ${ARGN})
   set(sources ${ARG_UNPARSED_ARGUMENTS})
   llvm_check_source_file_list( ${sources} )
-  # Create file dependencies on the tablegenned files, if any.  Seems
-  # that this is not strictly needed, as dependencies of the .cpp
-  # sources on the tablegenned .inc files are detected and handled,
-  # but just in case...
-  foreach( s ${sources} )
-    set( f ${CMAKE_CURRENT_SOURCE_DIR}/${s} )
-    add_file_dependencies( ${f} ${TABLEGEN_OUTPUT} )
-  endforeach(s)
   if( MSVC_IDE OR XCODE )
     # This adds .td and .h files to the Visual Studio solution:
     add_td_sources(sources)


Package PostgreSQL: enable cache

Package PostgreSQL: enable cache

--- cmake/projects/PostgreSQL/hunter.cmake
+++ cmake/projects/PostgreSQL/hunter.cmake
@@ -4,6 +4,7 @@
 # !!! DO NOT PLACE HEADER GUARDS HERE !!!

 include(hunter_add_version)
+include(hunter_cacheable)
 include(hunter_configuration_types)
 include(hunter_pick_scheme)
 include(hunter_download)
@@ -21,5 +22,13 @@

 hunter_configuration_types(PostgreSQL CONFIGURATION_TYPES Release)
 hunter_pick_scheme(DEFAULT url_sha1_autotools)
-hunter_download(PACKAGE_NAME PostgreSQL)
+hunter_cacheable(PostgreSQL)
+hunter_download(PACKAGE_NAME PostgreSQL
+    PACKAGE_UNRELOCATABLE_TEXT_FILES
+    "lib/pkgconfig/libecpg.pc"
+    "lib/pkgconfig/libecpg_compat.pc"
+    "lib/pkgconfig/libpgtypes.pc"
+    "lib/pkgconfig/libpq.pc"
+    "lib/postgresql/pgxs/src/Makefile.global"
+)


MAINT: add some directories to exclude in the packaging.

--- cmake/sara_installation_settings.cmake
+++ cmake/sara_installation_settings.cmake
@@ -107,9 +107,17 @@
   /usr
   /usr/include
   /usr/lib
+  /usr/share
   /usr/local
+  /usr/local/include
+  /usr/local/lib
   /usr/local/share
-  /usr/share
+  ${SARA_INSTALL_DIR}
+  ${SARA_INSTALL_DIR}/include
+  ${SARA_INSTALL_DIR}/lib
+  ${SARA_INSTALL_DIR}/share
+  ${SARA_INSTALL_DIR}/python
+  ${SARA_INSTALL_DIR}/python/do
   $ENV{WORKON_HOME}
   $ENV{VIRTUAL_ENV}
   $ENV{VIRTUAL_ENV}/lib


[Build] Now check for the Xapian version as well.

--- config/project_config_embeddable.cmake
+++ config/project_config_embeddable.cmake
@@ -486,7 +486,13 @@
     message (STATUS "Requires Xapian without specifying any version")
   endif (${ARGC} GREATER 0)

-  find_package (Xapian ${_required_version} REQUIRED)
+  # The first check is to get Xapian installation details
+  find_package (Xapian)
+
+  # The second check is for the required version (FindXapianWrapper.cmake is
+  # provided by us). Indeed, the Fedora/RedHat xapian-config.cmake does not seem
+  # to provide version enforcement.
+  find_package (XapianWrapper ${_required_version} REQUIRED)

   if (XAPIAN_FOUND)
     # Update the list of include directories for the project


Update configure_version_cpp_file.in.cmake

--- cmake/configure_version_cpp_file.in.cmake
+++ cmake/configure_version_cpp_file.in.cmake
@@ -9,7 +9,7 @@
 set(Zinc_VERSION_PATCH @Zinc_VERSION_PATCH@)
 string(TOLOWER ${ACTIVE_BUILD_TYPE} CMAKE_BUILD_TYPE_LOWER)

-list(APPEND CMAKE_MODULE_PATH "@ZINC_CMAKE_MODULE_PATH@")
+set(CMAKE_MODULE_PATH @CMAKE_MODULE_PATH@)
 find_package(Git QUIET)

 set(ZINC_REVISION_LONG "no-revision")


[buildsystem] also install json files that can be provided in plugin pythn package

Former-commit-id: 005f13e2c3f75fba4c18d9f6438ca8f581a8272d

--- SofaFramework/SofaMacros.cmake
+++ SofaFramework/SofaMacros.cmake
@@ -201,7 +201,9 @@
 macro(sofa_set_python_directory plugin_name directory)
     ## Install python scripts, preserving the file tree
     file(GLOB_RECURSE PYTHON_FILES "${CMAKE_CURRENT_SOURCE_DIR}/${directory}/*.py")
-    foreach(python_file ${PYTHON_FILES})
+    file(GLOB_RECURSE JSON_FILES   "${CMAKE_CURRENT_SOURCE_DIR}/${directory}/*.json")
+    LIST(APPEND ALL_FILES ${PYTHON_FILES} ${JSON_FILES})
+    foreach(python_file ${ALL_FILES})
         file(RELATIVE_PATH script "${CMAKE_CURRENT_SOURCE_DIR}/${directory}" "${python_file}")
         get_filename_component(path ${script} DIRECTORY)
         install(FILES ${directory}/${script}


confict fixed

confict fixed

--- core/modules/findNTL.cmake
+++ core/modules/findNTL.cmake
@@ -43,4 +43,4 @@
 INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(NTL DEFAULT_MSG NTL_LIBRARY NTL_INCLUDE_DIR)

-# MARK_AS_ADVANCED(NTL_LIBRARY NTL_INCLUDE_DIR)
+MARK_AS_ADVANCED(NTL_LIBRARY NTL_INCLUDE_DIR)


do not automoc yet as qt5_wrapp_cpp is still in use

--- manageQt5.cmake
+++ manageQt5.cmake
@@ -36,7 +36,7 @@
   if(NOT "${_MODULES}" STREQUAL "" )
     #Use find_package to get includes and libraries directories
     set(CMAKE_INCLUDE_CURRENT_DIR ON)
-    set(CMAKE_AUTOMOC ON)
+    #set(CMAKE_AUTOMOC ON)
     find_package(Qt5 REQUIRED ${_MODULES})

     #Add Qt5 include and libraries paths to the sets


SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

--- src/vlc.desktop.cmake
+++ src/vlc.desktop.cmake
@@ -25,7 +25,6 @@
 Name[eu]=VLC
 Name[fa]=وی‌ال‌سی (VLC)
 Name[fi]=VLC
-Name[fr]=VLC
 Name[ga]=VLC
 Name[gl]=VLC
 Name[hu]=VLC
@@ -73,7 +72,6 @@
 Comment[eu]=Phonon-en VLC bizkarraldekoa
 Comment[fa]=پسانه‌ی وی‌ال‌سی برای فنون (Phonon VLC backend)
 Comment[fi]=Phonon VLC -taustajärjestelmä
-Comment[fr]=Module VLC pour Phonon
 Comment[ga]=Inneall VLC Phonon
 Comment[gl]=Infraestrutura de VLC para Phonon
 Comment[hu]=Phonon VLC-backend


use OS X 10.11 as minimum deployment target

--- toolchains/osx.toolchain.cmake
+++ toolchains/osx.toolchain.cmake
@@ -20,7 +20,7 @@
 set( CMAKE_OSX_ARCHITECTURES           "$(ARCHS_STANDARD_32_64_BIT)" )
 set( CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS "$(ARCHS_STANDARD_32_64_BIT)" )
 set( CMAKE_OSX_SYSROOT                 "macosx"                      ) #"Latest Mac OS X"
-set( CMAKE_OSX_DEPLOYMENT_TARGET       "10.7"                        )
+set( CMAKE_OSX_DEPLOYMENT_TARGET       "10.11"                       )
 set( CPACK_SYSTEM_NAME                 "OSX"                         )

 # Implementation note:


FIX (#4432): install MITK libraries for all configurations

--- CMake/CoreHelpers.cmake
+++ CMake/CoreHelpers.cmake
@@ -437,7 +437,7 @@
      RUNTIME DESTINATION bin
    )
   ELSE()
-   INSTALL(TARGETS ${_install_TARGETS} ${_install_EXECUTABLES} CONFIGURATIONS Release
+   INSTALL(TARGETS ${_install_TARGETS} ${_install_EXECUTABLES}
      BUNDLE DESTINATION .
      RUNTIME DESTINATION bin
      # LIBRARY DESTINATION lib/mitk/


a few fixes to apf_stk

a few fixes to apf_stk

--- stk/pkg_tribits.cmake
+++ stk/pkg_tribits.cmake
@@ -1,9 +1,9 @@
 # determine if Trilinos has been configured with stk
-SET(HAS_STK OFF)
+SET(ENABLE_STK_MESH OFF)
 if(Trilinos_ENABLE_STKIO AND
    Trilinos_ENABLE_STKMesh AND
    Trilinos_ENABLE_SEACASIoss)
-  SET(HAS_STK ON)
+  SET(ENABLE_STK_MESH ON)
 endif()

 tribits_package(SCORECapf_stk)
@@ -12,8 +12,8 @@

 configure_file(
     "${CMAKE_CURRENT_SOURCE_DIR}/apf_stkConfig.h.in"
-    "${PROJECT_BINARY_DIR}/apf_stkConfig.h")
-include_directories("${PROJECT_BINARY_DIR}")
+    "${CMAKE_CURRENT_BINARY_DIR}/apf_stkConfig.h")
+include_directories("${CMAKE_CURRENT_BINARY_DIR}")

 #Sources & Headers
 set(SOURCES


Importing images either as a single image or as a stack of images causes a segfault. The newer ITKImageProcessing plugin has the same functionality. The filters are being disabled but still compiled. They will NOT show up to the end user.

--- ImageProcessingFilters/SourceList.cmake
+++ ImageProcessingFilters/SourceList.cmake
@@ -31,7 +31,7 @@
   ItkHoughCircles
   ItkImageCalculator
   ItkImageMath
-  IPItkImportImageStack
+  #IPItkImportImageStack
   #ItkImageRegistration
   ItkKdTreeKMeans
   ItkKMeans
@@ -41,7 +41,7 @@
   ItkMultiOtsuThreshold
   #ItkRegionGrowing
   ItkRGBToGray
-  ItkReadImage
+  #ItkReadImage
   ItkSobelEdge
   ItkStitchImages
   ItkWatershed


ENH: exclude unnecessary dcmtk modules to cut on build time

--- CMakeExternals/DCMTK.cmake
+++ CMakeExternals/DCMTK.cmake
@@ -72,6 +72,7 @@
       -DBUILD_APPS:BOOL=OFF
       -DDCMTK_ENABLE_BUILTIN_DICTIONARY:BOOL=ON
       -DDCMTK_ENABLE_PRIVATE_TAGS:BOOL=ON
+      -DCMTK_MODULES:STRING=ofstd;oflog;dcmdata;dcmimgle;dcmimage;dcmsr;dcmiod;dcmfg;dcmseg
     DEPENDS
       ${${proj}_DEPENDENCIES}
     )


New version: 0.3.1

New version: 0.3.1

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


Physx cmake module correction

Physx cmake module correction

--- Tools/CMake/modules/module_physx3.cmake
+++ Tools/CMake/modules/module_physx3.cmake
@@ -141,10 +141,10 @@
 #Install dll files
 if( WIN32 )
 	# File Copy for Release
-	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Optimized")
-	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3CharacterKinematic${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Optimized")
-	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3Common${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Optimized")
-	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3Cooking${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Optimized")
+	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Release")
+	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3CharacterKinematic${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Release")
+	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3Common${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Release")
+	INSTALL(FILES "${PHYSX3_PATH}/Bin/${PHYSX3_LIBPATH_PREFIX}/PhysX3Cooking${PHYSX3_LIBNAME_POSTFIX}.dll"             DESTINATION "${projectOutDir}" CONFIGURATIONS "Release")

 	# File Copy for Debug
 	if(TORQUE_CPU_X32)


videoio: reduce min libavcodec version

videoio: reduce min libavcodec version

--- modules/videoio/cmake/detect_ffmpeg.cmake
+++ modules/videoio/cmake/detect_ffmpeg.cmake
@@ -51,7 +51,7 @@
 #=================================
 # Versions check.
 if(HAVE_FFMPEG AND NOT HAVE_FFMPEG_WRAPPER)
-  set(_min_libavcodec_version 54.35.1)
+  set(_min_libavcodec_version 54.35.0)
   set(_min_libavformat_version 54.20.4)
   set(_min_libavutil_version 52.3.0)
   set(_min_libswscale_version 2.1.1)


find dependencies in globjects-config.cmake

- find dependencies glm and glbinding
- find glbinding dependency before MODULE_NAMES declaration, otherwise
  the variable MODULE_NAMES is set to glbinding instead of globjects

--- globjects-config.cmake
+++ globjects-config.cmake
@@ -3,6 +3,13 @@
 # or from an install location.
 #
 # Please adjust the list of submodules to search for.
+
+# find dependencies for globjects
+# - glbindings must searched for before MODULE_NAMES declaration, otherwise it
+#   glbinding-config.cmake overwrites the variable MODULE_NAMES
+include(CMakeFindDependencyMacro)
+find_dependency(glm)
+find_dependency(glbinding)

 # List of modules
@@ -30,7 +37,6 @@
     endforeach(module_name)
 endmacro()

-
 # Try install location
 set(MODULE_FOUND FALSE)
 find_modules("cmake")
@@ -48,5 +54,6 @@
     find_modules("build-debug/cmake")
 endif()

+
 # Signal success/failure to CMake
 set(globjects_FOUND ${MODULE_FOUND})


Update cmake find script after project changes

--- gloperate-config.cmake
+++ gloperate-config.cmake
@@ -16,18 +16,6 @@
 # GLOPERATE_QT_INCLUDE_DIR
 # GLOPERATE_QT_BINARIES
 # GLOPERATE_QT_BINARY_[RELEASE|DEBUG]
-
-# GLOPERATE_QTWIDGETS_LIBRARIES
-# GLOPERATE_QTWIDGETS_LIBRARY_[RELEASE|DEBUG]
-# GLOPERATE_QTWIDGETS_INCLUDE_DIR
-# GLOPERATE_QTWIDGETS_BINARIES
-# GLOPERATE_QTWIDGETS_BINARY_[RELEASE|DEBUG]
-
-# GLOPERATE_QTAPPLICATION_LIBRARIES
-# GLOPERATE_QTAPPLICATION_LIBRARY_[RELEASE|DEBUG]
-# GLOPERATE_QTAPPLICATION_INCLUDE_DIR
-# GLOPERATE_QTAPPLICATION_BINARIES
-# GLOPERATE_QTAPPLICATION_BINARY_[RELEASE|DEBUG]

 # GLOPERATE_GLFW_LIBRARIES
 # GLOPERATE_GLFW_LIBRARY_[RELEASE|DEBUG]
@@ -162,8 +150,6 @@

 find(gloperate gloperate/gloperate_api.h ${LIB_PATHS})
 find(gloperate-qt gloperate-qt/gloperate-qt_api.h ${LIB_PATHS})
-find(gloperate-qtwidgets gloperate-qtwidgets/gloperate-qtwidgets_api.h ${LIB_PATHS})
-find(gloperate-qtapplication gloperate-qtapplication/gloperate-qtapplication_api.h ${LIB_PATHS})
 find(gloperate-glfw gloperate-glfw/gloperate-glfw_api.h ${LIB_PATHS})
 find(gloperate-osg gloperate-osg/gloperate-osg_api.h ${LIB_PATHS})
 find(gloperate-assimp gloperate-assimp/gloperate-assimp_api.h ${LIB_PATHS})


add support for libuv uv_a

add support for libuv uv_a

--- project/cmake/modules/FindLibuv.cmake
+++ project/cmake/modules/FindLibuv.cmake
@@ -55,7 +55,7 @@
 endif()

 # Normal search.
-set(Libuv_NAMES uv libuv)
+set(Libuv_NAMES uv libuv uv_a)

 # Try each search configuration.
 find_path(Libuv_INCLUDE_DIRS    NAMES uv.h            ${_LIBUV_SEARCH_ROOT_INC})