Detect build_config.hpp in build directories

--- cmake/FindCAF.cmake
+++ cmake/FindCAF.cmake
@@ -1,8 +1,8 @@
-# Try to find CAF headers and library.
+# Try to find CAF headers and libraries.
 #
 # Use this module as follows:
 #
-#     find_package(CAF)
+#     find_package(CAF [COMPONENTS <core|io|opencl|...>*] [REQUIRED])
 #
 # Variables used by this module (they can change the default behaviour and need
 # to be set before calling find_package):
@@ -18,6 +18,22 @@
 #  CAF_LIBRARY_$C         Library file for component $C
 #  CAF_INCLUDE_DIR_$C     Include path for component $C

+if(CAF_FIND_COMPONENTS STREQUAL "")
+  message(FATAL_ERROR "FindCAF requires at least one COMPONENT.")
+endif()
+
+macro(add_include_dir new_dir)
+  set(duplicate false)
+  foreach (p ${CAF_INCLUDE_DIRS})
+    if (${p} STREQUAL ${new_dir})
+      set(duplicate true)
+    endif ()
+  endforeach ()
+  if (NOT duplicate)
+    set(CAF_INCLUDE_DIRS ${CAF_INCLUDE_DIRS} ${new_dir})
+  endif()
+endmacro()
+
 # iterate over user-defined components
 foreach (comp ${CAF_FIND_COMPONENTS})
   # we use uppercase letters only for variable names
@@ -32,7 +48,9 @@
   if (CAF_ROOT_DIR)
     set(header_hints
         "${CAF_ROOT_DIR}/include"
-        "${CAF_ROOT_DIR}/../libcaf_${comp}")
+        "${CAF_ROOT_DIR}/libcaf_${comp}"
+        "${CAF_ROOT_DIR}/../libcaf_${comp}"
+        "${CAF_ROOT_DIR}/../../libcaf_${comp}")
   endif ()
   find_path(CAF_INCLUDE_DIR_${UPPERCOMP}
             NAMES
@@ -47,18 +65,28 @@
   mark_as_advanced(CAF_INCLUDE_DIR_${UPPERCOMP})
   if (NOT "${CAF_INCLUDE_DIR_${UPPERCOMP}}"
       STREQUAL "CAF_INCLUDE_DIR_${UPPERCOMP}-NOTFOUND")
-    # mark as found (set back to false in case library cannot be found)
+    # mark as found (set back to false when missing library or build header)
     set(CAF_${comp}_FOUND true)
-    # add to CAF_INCLUDE_DIRS only if path isn't already set
-    set(duplicate false)
-    foreach (p ${CAF_INCLUDE_DIRS})
-      if (${p} STREQUAL ${CAF_INCLUDE_DIR_${UPPERCOMP}})
-        set(duplicate true)
-      endif ()
-    endforeach ()
-    if (NOT duplicate)
-      set(CAF_INCLUDE_DIRS ${CAF_INCLUDE_DIRS} ${CAF_INCLUDE_DIR_${UPPERCOMP}})
+    # check for CMake-generated build header for the core component
+    if ("${comp}" STREQUAL "core")
+      find_path(caf_build_header_path
+                NAMES
+                  caf/detail/build_config.hpp
+                HINTS
+                  ${header_hints}
+                  /usr/include
+                  /usr/local/include
+                  /opt/local/include
+                  /sw/include
+                  ${CMAKE_INSTALL_PREFIX}/include)
+      if ("${caf_build_header_path}" STREQUAL "caf_build_header_path-NOTFOUND")
+        message(WARNING "Found all.hpp for CAF core, but not build_config.hpp")
+        set(CAF_${comp}_FOUND false)
+      else()
+        add_include_dir("${caf_build_header_path}")
+      endif()
     endif()
+    add_include_dir("${CAF_INCLUDE_DIR_${UPPERCOMP}}")
     # look for (.dll|.so|.dylib) file, again giving hints for non-installed CAFs
     # skip probe_event as it is header only
     if (NOT ${comp} STREQUAL "probe_event" AND NOT ${comp} STREQUAL "test")


fix for win32 build

fix for win32 build

--- cmake/FindMHD.cmake
+++ cmake/FindMHD.cmake
@@ -5,7 +5,7 @@
 #  MHD_INCLUDE_DIRS - the MHD include directory
 #  MHD_LIBRARY - Link these to use MHD

-FIND_LIBRARY (MHD_LIBRARIES NAMES microhttpd
+FIND_LIBRARY (MHD_LIBRARIES NAMES microhttpd microhttpd-10
     PATHS
     /usr/lib
     /usr/local/lib


FIX: support shared type

FIX: support shared type

--- cmake/generic.cmake
+++ cmake/generic.cmake
@@ -274,7 +274,11 @@
   # Add dummy code to support `make target_name` under Terminal Command
   set(dummyfile ${CMAKE_CURRENT_BINARY_DIR}/${TARGET_NAME}_dummy.c)
   file(WRITE ${dummyfile} "const char * dummy = \"${dummyfile}\";")
-  add_library(${TARGET_NAME} STATIC ${dummyfile})
+  if (go_library_SHARED OR go_library_shared)
+    add_library(${TARGET_NAME} SHARED ${dummyfile})
+  else()
+    add_library(${TARGET_NAME} STATIC ${dummyfile})
+  endif()
   if(go_library_DEPS)
     add_dependencies(${TARGET_NAME} ${go_library_DEPS})
   endif(go_library_DEPS)


cmake: don't lose existing linker flags when processing the mapfile

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

--- cmake/mapfile.cmake
+++ cmake/mapfile.cmake
@@ -1,5 +1,5 @@
 #
-# Copyright (c) 2016 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
+# Copyright (c) 2016-2019 Josef 'Jeff' Sipek <jeffpc@josefsipek.net>
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -40,8 +40,14 @@
 		set(ld_script "${CMAKE_CURRENT_SOURCE_DIR}/${mapfile}")
 		set(ld_flag "-Wl,-M '${ld_script}'")
 	endif()
+
+	get_target_property(${tgt}_tmp_link_flags "${tgt}" LINK_FLAGS)
+	if(NOT "${${tgt}_tmp_link_flags}")
+		set(${tgt}_tmp_link_flags "")
+	endif()
+
 	set_target_properties("${tgt}" PROPERTIES
-		LINK_FLAGS "${ld_flag}"
+		LINK_FLAGS "${ld_flag} ${${tgt}_tmp_link_flags}"
 		LINK_DEPENDS "${ld_script}"
 	)
 endmacro()


Removed unnecessary file.

Removed unnecessary file.

--- cmake_install.cmake
+++ cmake_install.cmake
@@ -1,58 +0,0 @@
-<<<<<<< HEAD
-# Install script for directory: /home/cooke/aa_sofie_code/code/bicycle-instrumentation/ros/stacks/sofie_ros
-=======
-# Install script for directory: /home/cooke/aa_sofie_code/code/bicycle-instrumentation/ros/stacks/sofie_ros/sofiehdfformat_rosdriver
->>>>>>> catkin
-
-# Set the install prefix
-IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
-  SET(CMAKE_INSTALL_PREFIX "/usr/local")
-ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
-STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
-  IF(BUILD_TYPE)
-    STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
-           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
-  ELSE(BUILD_TYPE)
-<<<<<<< HEAD
-    SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
-=======
-    SET(CMAKE_INSTALL_CONFIG_NAME "RelWithDebInfo")
->>>>>>> catkin
-  ENDIF(BUILD_TYPE)
-  MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
-
-# Set the component getting installed.
-IF(NOT CMAKE_INSTALL_COMPONENT)
-  IF(COMPONENT)
-    MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
-    SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
-  ELSE(COMPONENT)
-    SET(CMAKE_INSTALL_COMPONENT)
-  ENDIF(COMPONENT)
-ENDIF(NOT CMAKE_INSTALL_COMPONENT)
-
-# Install shared libraries without execute permission?
-IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
-  SET(CMAKE_INSTALL_SO_NO_EXE "1")
-ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
-
-IF(CMAKE_INSTALL_COMPONENT)
-  SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
-ELSE(CMAKE_INSTALL_COMPONENT)
-  SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
-ENDIF(CMAKE_INSTALL_COMPONENT)
-
-<<<<<<< HEAD
-FILE(WRITE "/home/cooke/aa_sofie_code/code/bicycle-instrumentation/ros/stacks/sofie_ros/${CMAKE_INSTALL_MANIFEST}" "")
-FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES})
-  FILE(APPEND "/home/cooke/aa_sofie_code/code/bicycle-instrumentation/ros/stacks/sofie_ros/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
-=======
-FILE(WRITE "/home/cooke/aa_sofie_code/code/bicycle-instrumentation/ros/stacks/sofie_ros/sofiehdfformat_rosdriver/${CMAKE_INSTALL_MANIFEST}" "")
-FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES})
-  FILE(APPEND "/home/cooke/aa_sofie_code/code/bicycle-instrumentation/ros/stacks/sofie_ros/sofiehdfformat_rosdriver/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
->>>>>>> catkin
-ENDFOREACH(file)


fix for lua linking

fix for lua linking

--- CMakeOlxCommon.cmake
+++ CMakeOlxCommon.cmake
@@ -370,7 +370,7 @@
 		SET(LIBS ${LIBS} zip)
 	ENDIF (NOT LIBZIP_BUILTIN)
 	IF (NOT LIBLUA_BUILTIN)
-		SET(LIBS ${LIBS} lua5.1)
+		SET(LIBS ${LIBS} lua)
 	ENDIF (NOT LIBLUA_BUILTIN)
 	IF(X11)
 		SET(LIBS ${LIBS} X11)


Attempting to fix Visual C static string limit.

--- cmake/Embed.cmake
+++ cmake/Embed.cmake
@@ -25,7 +25,21 @@
         STRING(REPLACE "\\" "\\\\" CONTENT "${CONTENT}")
         STRING(REPLACE "\n" "\\n" CONTENT "${CONTENT}")
         STRING(REPLACE "\"" "\\\"" CONTENT "${CONTENT}")
-        FILE(APPEND "${RESOURCE_FILE}" " \"${EMBED_PREFIX}${EMBED_NAME}\", \"${CONTENT}\", \n")
+
+        FILE(APPEND "${RESOURCE_FILE}" " \"${EMBED_PREFIX}${EMBED_NAME}\", \n")
+        SET(RESOURCE_POSITION 0)
+        STRING(LENGTH "${CONTENT}" RESOURCE_LENGTH)
+        WHILE (RESOURCE_POSITION LESS RESOURCE_LENGTH)
+            MATH(EXPR RESOURCE_PART "${RESOURCE_LENGTH} - ${RESOURCE_POSITION}")
+            IF (RESOURCE_PART GREATER 15999)
+                SET(RESOURCE_PART 16000)
+            ENDIF()
+            STRING(SUBSTRING "${CONTENT}" ${RESOURCE_POSITION} ${RESOURCE_PART} PARTIAL_CONTENT)
+            FILE(APPEND "${RESOURCE_FILE}" " \"${PARTIAL_CONTENT}\"")
+            MATH(EXPR RESOURCE_POSITION "${RESOURCE_POSITION} + ${RESOURCE_PART}" )
+        ENDWHILE()
+
+        FILE(APPEND "${RESOURCE_FILE}" ",\n")

     ENDFOREACH(EMBED_FILE)


Set ITK package install path to be version free

Always install the ITK package files in "lib/cmake/ITK" without the
version. This fixes the common problem of using a different version of
ITK than what is specified in the CMake files and also enables an
arbitrary version to be specified with by setting ITK_GIT_TAG.

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -93,6 +93,7 @@
   -DITK_LEGACY_REMOVE:BOOL=ON
   -DITK_USE_KWSTYLE:BOOL=OFF
   -DITK_USE_GIT_PROTOCOL:BOOL=${ITK_USE_GIT_PROTOCOL}
+  -DITK_INSTALL_PACKAGE_DIR=lib/cmake/ITK
   BUILD_COMMAND ${BUILD_COMMAND_STRING}
   DEPENDS
     ${ITK_DEPENDENCIES}
@@ -100,5 +101,5 @@
   )

-ExternalProject_Get_Property(ITK install_dir)
-set(ITK_DIR "${install_dir}/lib/cmake/ITK-4.12" )
+ExternalProject_Get_Property(${proj} install_dir)
+set(ITK_DIR "${install_dir}/cmake/ITK")


Updating ITK v4.8 along release branch

Updating ITK v4.8 along release branch

192495a BUG: Removed an unguarded print statement.
6c3baad BUG: Initialize mutex for 32 bit AtomicInt.
b13509d DOC: Expanded TreeContainer Example
e29bf9a BUG: LBFGSB was printing messages even with debug switched off.
d38900a COMP: Changing the order of HDF5 library components
11c73b6 BUG: Implement UpdateLargestPossibleRegion for
ImageToVTKImageFilter.
5f6353e BUG: Missing ITKIOMINC_EXPORT on __Private()

Change-Id: I901c6249d17ca14d05a477c6275b344621930048

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -35,7 +35,7 @@
 set(ITK_REPOSITORY git://itk.org/ITK.git)

 # NOTE: it is very important to update the ITK_DIR path with the ITK version
-set(ITK_TAG_COMMAND GIT_TAG v4.8.0)
+set(ITK_TAG_COMMAND GIT_TAG 059fd61a4629034d65ab9d7e0a44f928481f0f12 )

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


cache cxx flags in 32bit fake toolchain file

--- i386-toolchain.cmake
+++ i386-toolchain.cmake
@@ -5,7 +5,7 @@
 SET(CMAKE_SYSTEM_VERSION generic)

 # not actually cross compiling, just -m32
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -m32")
+SET(CMAKE_CXX_FLAGS "-m32" CACHE STRING "...")

 #this isn't detected for some compiler versions
 set(CMAKE_LIBRARY_ARCHITECTURE i386-linux-gnu)


Revert "BUG: Exclude ITKReview when ITK_USE_REVIEW if off."

This reverts commit 7fed47bf9e72042493a6cc023c81bce5515df1da.

--- Modules/Nonunit/Review/itk-module.cmake
+++ Modules/Nonunit/Review/itk-module.cmake
@@ -90,5 +90,4 @@
     ITKIOMesh
   DESCRIPTION
     "${DOCUMENTATION}"
-  EXCLUDE_FROM_ALL
- )
+)


Enable RC lib

Enable RC lib

--- cmake/configs/nuttx_tap-v1_default.cmake
+++ cmake/configs/nuttx_tap-v1_default.cmake
@@ -95,6 +95,7 @@
 	lib/runway_takeoff
 	lib/tailsitter_recovery
 	lib/DriverFramework/framework
+	lib/rc
 	platforms/nuttx

 	# had to add for cmake, not sure why wasn't in original config


Fix some warnings :-)

Fix some warnings :-)

-Wlong-long is on by default when compiling with -pedantic

--- cmake/modules/DeskvoxHandleOptions.cmake
+++ cmake/modules/DeskvoxHandleOptions.cmake
@@ -68,6 +68,9 @@
   add_definitions(-Wwrite-strings)
   add_definitions(-Woverloaded-virtual)

+  # Disable -Wlong-long...
+  add_definitions(-Wno-long-long)
+
   if(DESKVOX_ENABLE_WARNINGS)
     add_definitions(-Wall -Wextra)
     if(DESKVOX_ENABLE_PEDANTIC)


physx support for vs 2017 round 2

physx support for vs 2017 round 2

--- Tools/CMake/modules/module_physx3.cmake
+++ Tools/CMake/modules/module_physx3.cmake
@@ -46,14 +46,11 @@
 # Windows/ Visual Studio
 if(MSVC)
 if(TORQUE_CPU_X32)
-   if(MSVC11)
-      set(PHYSX3_LIBPATH_PREFIX vc11win32)
-   elseif(MSVC12)
+   if(MSVC_VERSION EQUAL 1800 )
       set(PHYSX3_LIBPATH_PREFIX vc12win32)
-   elseif(MSVC14)
+   elseif(MSVC_VERSION EQUAL 1900)
       set(PHYSX3_LIBPATH_PREFIX vc14win32)
-   #VS 2017 uses 14.x toolchain so can't use MSVC15
-   elseif(MSVC_VERSION GREATER_OR_EQUAL_TO 1910)
+   elseif(MSVC_VERSION GREATER_EQUAL 1910)
       set(PHYSX3_LIBPATH_PREFIX vc15win32)
    else()
       message(FATAL_ERROR "This version of VS is not supported")
@@ -62,14 +59,11 @@
 set(PHYSX3_LIBNAME_POSTFIX _x86)

 elseif(TORQUE_CPU_X64)
-   if(MSVC11)
-      set(PHYSX3_LIBPATH_PREFIX vc11win64)
-   elseif(MSVC12)
+   if(MSVC_VERSION EQUAL 1800 )
       set(PHYSX3_LIBPATH_PREFIX vc12win64)
-   elseif(MSVC14)
+   elseif(MSVC_VERSION EQUAL 1900)
       set(PHYSX3_LIBPATH_PREFIX vc14win64)
-   #VS 2017 uses 14.x toolchain so can't use MSVC15
-   elseif(MSVC_VERSION GREATER_OR_EQUAL_TO 1910)
+   elseif(MSVC_VERSION GREATER_EQUAL 1910)
       set(PHYSX3_LIBPATH_PREFIX vc15win64)
    else()
       message(FATAL_ERROR "This version of VS is not supported")


cmake: improved Python and boost_python configuration

--- config/FindVIGRANUMPY_DEPENDENCIES.cmake
+++ config/FindVIGRANUMPY_DEPENDENCIES.cmake
@@ -77,7 +77,9 @@
     # boost_python for the wrong Python version
     IF(Boost_FOUND)
         FIND_LIBRARY(Boost_PYTHON_LIBRARY
-                     NAMES boost_python-py${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR} boost_python
+                     NAMES boost_python-py${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}
+                           boost_python-mt
+                           boost_python
                      HINTS "${Boost_LIBRARY_DIR}"
                      DOC "boost_python libraries")
     ENDIF()


create_environment tests to work on older cmake

Also simplified how path is checked.

--- tests/create_environment_script.cmake
+++ tests/create_environment_script.cmake
@@ -4,6 +4,7 @@
 include(CMakeParseArguments)
 include(EnvironmentScript)

+# Executes an environment script, checks its result and output
 function(try_execute script)
     cmake_parse_arguments(try_execute "" "OUTPUT" "ARGS" ${ARGN})

@@ -19,7 +20,7 @@
         message(FATAL_ERROR "environment script failed with "
             "${result}: ${error}")
     endif()
-    if(NOT output STREQUAL try_execute_OUTPUT)
+    if(NOT "${output}" STREQUAL "${try_execute_OUTPUT}")
         message(FATAL_ERROR "environment script did not output expected"
             " result\n"
             "expected: ${try_execute_OUTPUT}\n"
@@ -28,6 +29,7 @@
     endif()
 endfunction()

+# Checks the file ldpaths contains expected paths
 function(check_ldpaths msg)
     if(NOT EXISTS "${PROJECT_BINARY_DIR}/paths/ldpaths")
         message(FATAL_ERROR "${msg}: file ldpaths does not exist")
@@ -38,12 +40,26 @@
     foreach(directory ${ARGN})
         set(expected "${expected}${directory}\n")
     endforeach()
-    if(NOT expected STREQUAL actual)
+    if(NOT "${expected}" STREQUAL "${actual}")
         message(FATAL_ERROR "${msg}\n"
             "expected: ${expected}\n"
             "actual: ${actual}"
         )
     endif()
+endfunction()
+
+# Check DYLD_ENVIRONMENT_PATH has expected path
+function(check_path)
+    unset(expected)
+    foreach(current $ENV{DYLD_LIBRARY_PATH} ${ARGN})
+        if("${expected}" STREQUAL "")
+            set(expected "${current}")
+        else()
+            set(expected "${expected}:${current}")
+        endif()
+    endforeach()
+
+    try_execute(dyld OUTPUT "${expected}")
 endfunction()

 # Without executable
@@ -66,12 +82,12 @@
 # Check dyldpath modifications
 create_environment_script(PATH "${PROJECT_BINARY_DIR}/dyld.sh"
     EXECUTABLE "echo $DYLD_LIBRARY_PATH")
-file(REMOVE "${PROJECT_BINARY_DIR}/paths/ldpaths"
-    "${PROJECT_BINARY_DIR}/lib"
-    "${PROJECT_BINARY_DIR}/lib64"
+file(REMOVE "${PROJECT_BINARY_DIR}/paths/ldpaths")
+file(REMOVE_RECURSE
+    "${PROJECT_BINARY_DIR}/lib" "${PROJECT_BINARY_DIR}/lib64"
     "${PROJECT_BINARY_DIR}/lib32"
 )
-set(expected "$ENV{DYLD_LIBRARY_PATH}")
+check_path()
 try_execute(dyld OUTPUT "${expected}")

 # add a system environment path -- should not be added to ldpaths
@@ -82,7 +98,7 @@
     message(FATAL_ERROR "Path should not have made it through")
 endif()
 # Path should be unchanged
-try_execute(dyld OUTPUT "${expected}")
+check_path()

 # add a system environment path -- should not be added to ldpaths
 # now the file will be created and have one entry
@@ -92,11 +108,10 @@
 endif()
 check_ldpaths("Paths not found in ldpaths file" "${PROJECT_BINARY_DIR}/lib")
 # Path should be unchanged because directory does not yet exist
-try_execute(dyld OUTPUT "${expected}")
+check_path()
 # Now create path
 file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/lib")
-set(expected "${expected}:${PROJECT_BINARY_DIR}/lib")
-try_execute(dyld OUTPUT "${expected}")
+check_path("${PROJECT_BINARY_DIR}/lib")

 # Add a second path and re-add the first
 add_to_ld_path("${PROJECT_BINARY_DIR}/lib64" "${PROJECT_BINARY_DIR}/lib")
@@ -104,9 +119,9 @@
     "${PROJECT_BINARY_DIR}/lib"
     "${PROJECT_BINARY_DIR}/lib64"
 )
+check_path("${PROJECT_BINARY_DIR}/lib")
 file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/lib64")
-set(expected "${expected}:${PROJECT_BINARY_DIR}/lib64")
-try_execute(dyld OUTPUT "${expected}")
+check_path("${PROJECT_BINARY_DIR}/lib" "${PROJECT_BINARY_DIR}/lib64")

 # Now add system paths and check again for good measure
 add_to_ld_path(${CMAKE_PLATFORM_IMPLICIT_LINK_DIRECTORIES}
@@ -116,6 +131,7 @@
     "${PROJECT_BINARY_DIR}/lib64"
     "${PROJECT_BINARY_DIR}/lib32"
 )
+check_path("${PROJECT_BINARY_DIR}/lib" "${PROJECT_BINARY_DIR}/lib64")
 file(MAKE_DIRECTORY "${PROJECT_BINARY_DIR}/lib32")
-set(expected "${expected}:${PROJECT_BINARY_DIR}/lib32")
-try_execute(dyld OUTPUT "${expected}")
+check_path("${PROJECT_BINARY_DIR}/lib" "${PROJECT_BINARY_DIR}/lib64"
+    "${PROJECT_BINARY_DIR}/lib32")


RaspberryPi2: added CMAKE_SYSTEM_{NAME,PROCESSOR}

--- raspberrypi2-cxx11.cmake
+++ raspberrypi2-cxx11.cmake
@@ -50,3 +50,5 @@

 polly_add_cache_flag(CMAKE_C_FLAGS ${RAPSBERRYPI2_COMPILE_FLAGS})
 polly_add_cache_flag(CMAKE_CXX_FLAGS ${RAPSBERRYPI2_COMPILE_FLAGS})
+polly_add_cache_flag(CMAKE_SYSTEM_NAME "Linux")
+polly_add_cache_flag(CMAKE_SYSTEM_PROCESSOR "armv7-a")


needless file

needless file

git-svn-id: f772d44cbf86d9968f12179c1556189f5afcea6e@863 e0ac87d7-b42b-0410-9034-8248a05cb448

--- brain/build/modules/cmake_install.cmake
+++ brain/build/modules/cmake_install.cmake
@@ -1,44 +0,0 @@
-# Install script for directory: /home/daniel/dev/elysia/trunk/brain/build
-
-# Set the install prefix
-IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
-  SET(CMAKE_INSTALL_PREFIX "/usr/local")
-ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
-STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
-  IF(BUILD_TYPE)
-    STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
-           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
-  ELSE(BUILD_TYPE)
-    SET(CMAKE_INSTALL_CONFIG_NAME "Default")
-  ENDIF(BUILD_TYPE)
-  MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
-
-# Set the component getting installed.
-IF(NOT CMAKE_INSTALL_COMPONENT)
-  IF(COMPONENT)
-    MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
-    SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
-  ELSE(COMPONENT)
-    SET(CMAKE_INSTALL_COMPONENT)
-  ENDIF(COMPONENT)
-ENDIF(NOT CMAKE_INSTALL_COMPONENT)
-
-# Install shared libraries without execute permission?
-IF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
-  SET(CMAKE_INSTALL_SO_NO_EXE "1")
-ENDIF(NOT DEFINED CMAKE_INSTALL_SO_NO_EXE)
-
-IF(CMAKE_INSTALL_COMPONENT)
-  SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
-ELSE(CMAKE_INSTALL_COMPONENT)
-  SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
-ENDIF(CMAKE_INSTALL_COMPONENT)
-
-FILE(WRITE "/home/daniel/dev/elysia/trunk/brain/build/${CMAKE_INSTALL_MANIFEST}" "")
-FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES})
-  FILE(APPEND "/home/daniel/dev/elysia/trunk/brain/build/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
-ENDFOREACH(file)


fix: change cmake include/libdir search strings for Windows from mir_sdr (API version 2.x) to sdrplay_api (API version 3.x)

--- FindLibSDRplay.cmake
+++ FindLibSDRplay.cmake
@@ -14,12 +14,12 @@
 		SET( EX_PLATFORM_NAME "x86" )
 	endif( CMAKE_SIZEOF_VOID_P EQUAL 8 )

-	  find_path(LIBSDRPLAY_INCLUDE_DIRS NAMES mir_sdr.h
+	  find_path(LIBSDRPLAY_INCLUDE_DIRS NAMES sdrplay_api.h
 		PATHS
 		"${SDRPLAY_API_DIR}/inc"
 	  )

-	  find_library(LIBSDRPLAY_LIBRARIES NAMES mir_sdr_api.lib
+	  find_library(LIBSDRPLAY_LIBRARIES NAMES sdrplay_api.lib
 		PATHS
 		"${SDRPLAY_API_DIR}/${EX_PLATFORM_NAME}"
 	  )


Determine some parameters without relying on user

--- CMake/MITKDashboardScript.TEMPLATE.cmake
+++ CMake/MITKDashboardScript.TEMPLATE.cmake
@@ -12,21 +12,29 @@
 #
 # Dashboard properties
 #
-set(MY_OPERATING_SYSTEM "Linux") # Windows, Linux, Darwin...
-set(MY_COMPILER "g++4.3.3")
-set(MY_QT_VERSION "4.6.2")
-set(QT_QMAKE_EXECUTABLE "$ENV{QTDIR}/bin/qmake")
-set(CTEST_SITE "mbi007") # for example: mymachine.kitware, mymachine.dkfz, ...
-set(CTEST_DASHBOARD_ROOT "/opt/dartclients")
 set(CTEST_CMAKE_COMMAND "/usr/bin/cmake")
 set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
+set(QT_QMAKE_EXECUTABLE "$ENV{QTDIR}/bin/qmake")
+set(CTEST_DASHBOARD_ROOT "/opt/dartclients")
+
+
+#
+# Some properties are determined by the script itself -- do not modify
+#
+set(MY_OPERATING_SYSTEM "${CMAKE_HOST_SYSTEM}") # Windows 7, Linux-2.6.32, Darwin...
+set(MY_COMPILER ${CMAKE_BUILD_TOOL})
+site_name(CTEST_SITE)
+# TODO: query by executing qmake
+execute_process(COMMAND qmake --version
+                OUTPUT_VARIABLE MY_QT_VERSION)
+string(REGEX REPLACE ".*Qt version ([0-9.]+) .*" "\\1" MY_QT_VERSION ${MY_QT_VERSION})

 #
 # Dashboard options
 #
 set(WITH_KWSTYLE FALSE)
 set(WITH_MEMCHECK FALSE)
-set(WITH_COVERAGE TRUE)
+set(WITH_COVERAGE FALSE)
 set(WITH_DOCUMENTATION FALSE)
 #set(DOCUMENTATION_ARCHIVES_OUTPUT_DIRECTORY ) # for example: $ENV{HOME}/Projects/Doxygen
 set(CTEST_BUILD_CONFIGURATION "Release")
@@ -80,15 +88,15 @@
 # Project specific properties
 #
 set(CTEST_PROJECT_NAME "MITK")
-set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM}-${MY_COMPILER}-QT${MY_QT_VERSION}-${CTEST_BUILD_CONFIGURATION}")
+set(CTEST_BUILD_NAME "${MY_OPERATING_SYSTEM}-${MY_COMPILER}-Qt-${MY_QT_VERSION}-${CTEST_BUILD_CONFIGURATION}")

 #
 # Display build info
 #
-message("site name: ${CTEST_SITE}")
-message("build name: ${CTEST_BUILD_NAME}")
-message("script mode: ${SCRIPT_MODE}")
-message("coverage: ${WITH_COVERAGE}, memcheck: ${WITH_MEMCHECK}")
+message("Site name: ${CTEST_SITE}")
+message("Build name: ${CTEST_BUILD_NAME}")
+message("Script Mode: ${SCRIPT_MODE}")
+message("Coverage: ${WITH_COVERAGE}, MemCheck: ${WITH_MEMCHECK}")

 #
 # Convenient macro allowing to download a file
@@ -105,7 +113,7 @@
 #
 # Download and include dashboard driver script
 #
-set(url file:///home/zelzer/git/MITK/CMake/MITKDashboardDriverScript.cmake)
+set(url file:///home/maleike/lesion/MITK/CMake/MITKDashboardDriverScript.cmake)
 set(dest ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}.driver)
 downloadFile(${url} ${dest})
 INCLUDE(${dest})


allowing both 1.8.1 and 1.8.2 of ispc on non-windows

--- cmake/ispc.cmake
+++ cmake/ispc.cmake
@@ -16,8 +16,10 @@

 IF(WIN32)
   SET(ISPC_VERSION_REQUIRED "1.8.2")
+  SET(ISPC_VERSION_ALLOWED "1.8.2")
 ELSE()
-  SET(ISPC_VERSION_REQUIRED "1.8.2")
+  SET(ISPC_VERSION_REQUIRED "1.8.1")
+  SET(ISPC_VERSION_ALLOWED "1.8.2")
 ENDIF()
 SET(ISPC_VERSION_RECOMMENDED_KNC "1.8.1")

@@ -30,7 +32,10 @@
   ELSE()
     SET(ISPC_DIR_SUFFIX "linux")
   ENDIF()
-  SET(ISPC_DIR_HINT ${PROJECT_SOURCE_DIR}/../ispc-v${ISPC_VERSION_REQUIRED}-${ISPC_DIR_SUFFIX})
+  SET(ISPC_DIR_HINT
+		${PROJECT_SOURCE_DIR}/../ispc-v${ISPC_VERSION_REQUIRED}-${ISPC_DIR_SUFFIX}
+		${PROJECT_SOURCE_DIR}/../ispc-v${ISPC_VERSION_ALLOWED}-${ISPC_DIR_SUFFIX}
+		)

   FIND_PROGRAM(ISPC_EXECUTABLE ispc PATHS ${ISPC_DIR_HINT} DOC "Path to the ISPC executable.")
   IF (NOT ISPC_EXECUTABLE)


Bug#14300733 CMAKE DOES NOT CHECK FOR ZLIB VERSION

Add check for compressBound() and deflateBound()
Keep existing functionality: fallback to bundled zlib if functions not found.

--- cmake/zlib.cmake
+++ cmake/zlib.cmake
@@ -57,13 +57,17 @@
      INCLUDE(CheckFunctionExists)
       SET(CMAKE_REQUIRED_LIBRARIES z)
       CHECK_FUNCTION_EXISTS(crc32 HAVE_CRC32)
+      CHECK_FUNCTION_EXISTS(compressBound HAVE_COMPRESSBOUND)
+      CHECK_FUNCTION_EXISTS(deflateBound HAVE_DEFLATEBOUND)
       SET(CMAKE_REQUIRED_LIBRARIES)
-      IF(HAVE_CRC32)
+      IF(HAVE_CRC32 AND HAVE_COMPRESSBOUND AND HAVE_DEFLATEBOUND)
         SET(ZLIB_LIBRARY z CACHE INTERNAL "System zlib library")
-        SET(WITH_ZLIB "system" CACHE STRING "Which zlib to use (possible values are 'bundled' or 'system')")
+        SET(WITH_ZLIB "system" CACHE STRING
+          "Which zlib to use (possible values are 'bundled' or 'system')")
         SET(ZLIB_SOURCES "")
       ELSE()
         SET(ZLIB_FOUND FALSE CACHE INTERNAL "Zlib found but not usable")
+        MESSAGE(STATUS "system zlib found but not usable")
       ENDIF()
     ENDIF()
     IF(NOT ZLIB_FOUND)


OSX: set repo back to "macos"

OSX: set repo back to "macos"

--- cmake/SpecializedConfig/Config_OSX.cmake
+++ cmake/SpecializedConfig/Config_OSX.cmake
@@ -7,7 +7,7 @@

 MESSAGE(STATUS "Using OSX Configuration settings")

-set(OSX_DEPENDENCY_ROOT ${CMAKE_SOURCE_DIR}/../macos_microkernels) # can be macos or usr/local for example
+set(OSX_DEPENDENCY_ROOT ${CMAKE_SOURCE_DIR}/../macos) # can be macos or usr/local for example
 MESSAGE(STATUS "OSX_DEPENDENCY_ROOT_PATH : " ${OSX_DEPENDENCY_ROOT})
 set(OSX_SEARCH_PATH     ${OSX_DEPENDENCY_ROOT})


SVN_SILENT made messages (.desktop file)

--- plasma-runner-ktp-contact.desktop.cmake
+++ plasma-runner-ktp-contact.desktop.cmake
@@ -14,6 +14,7 @@
 Name[ia]=Messageria instantanee
 Name[it]=Messaggistica istantanea
 Name[kk]=Лезде хабарласу
+Name[ko]=인스턴트 메시지
 Name[nb]=Lynmelding
 Name[nl]=Instant Messaging
 Name[pl]=Komunikator internetowy
@@ -49,6 +50,7 @@
 Comment[ia]=Initia conversation con qualcunque de tu contactos de IM o modifica tu status de IM
 Comment[it]=Avvia una chat con un tuo contatto di MI oppure cambia il tuo stato di MI
 Comment[kk]=Кез-келген лезде хабарласу контактыңызбен чат-әңгімені бастау не күй-жайын өзгерту
+Comment[ko]=IM 대화 상대와 대화를 시작하거나 상태 바꾸기
 Comment[nb]=Start en prat med en av dine LM-kontakter eller endre din LM-status
 Comment[nl]=Begin een chat met een van uw IM-contactpersonen of wijzig uw IM-status
 Comment[pl]=Rozpocznij rozmowę z którymkolwiek z twoich kontaktów lub zmień swoja dostępność


[libcxxabi] HandleLLVMOptions in out of tree build

Differential revision: https://reviews.llvm.org/D33753

git-svn-id: 6a9f6578bdee8d959f0ed58970538b4ab6004734@304664 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/Modules/HandleOutOfTreeLLVM.cmake
+++ cmake/Modules/HandleOutOfTreeLLVM.cmake
@@ -93,6 +93,7 @@
   endif()
   if (LLVM_FOUND)
     include(AddLLVM OPTIONAL)
+    include(HandleLLVMOptions OPTIONAL)
   endif()

   # LLVM Options --------------------------------------------------------------


CELIX-400: Adds ADD_TO_MANIFEST to the bundle_libs CMake command. This can be used to fine tune the use of the Private-Library manifest statement.

--- cmake/cmake_celix/BundlePackaging.cmake
+++ cmake/cmake_celix/BundlePackaging.cmake
@@ -223,7 +223,7 @@
     ################################

     if(BUNDLE_SOURCES)
-        bundle_private_libs(${BUNDLE_TARGET_NAME} ${BUNDLE_TARGET_NAME})
+        bundle_libs(${BUNDLE_TARGET_NAME} "PRIVATE" TRUE ${BUNDLE_TARGET_NAME})
         set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_ACTIVATOR" "$<TARGET_SONAME_FILE_NAME:${BUNDLE_TARGET_NAME}>")
         set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUILD_WITH_INSTALL_RPATH" true)

@@ -235,7 +235,7 @@
     elseif(BUNDLE_NO_ACTIVATOR)
         #do nothing
     else() #ACTIVATOR
-        bundle_private_libs(${BUNDLE_TARGET_NAME} ${BUNDLE_ACTIVATOR})
+        bundle_libs(${BUNDLE_TARGET_NAME} "PRIVATE" TRUE ${BUNDLE_ACTIVATOR})

         if(TARGET ${BUNDLE_ACTIVATOR})
             set_target_properties(${BUNDLE_TARGET_NAME} PROPERTIES "BUNDLE_ACTIVATOR" "$<TARGET_SONAME_FILE_NAME:${BUNDLE_ACTIVATOR}>")
@@ -263,23 +263,27 @@
 function(bundle_export_libs)
     list(GET ARGN 0 BUNDLE)
     list(REMOVE_AT ARGN 0)
-    bundle_libs(${BUNDLE} "EXPORT" ${ARGN})
+    bundle_libs(${BUNDLE} "EXPORT" TRUE ${ARGN})
 endfunction()

 function(bundle_private_libs)
     list(GET ARGN 0 BUNDLE)
     list(REMOVE_AT ARGN 0)
-    bundle_libs(${BUNDLE} "PRIVATE" ${ARGN})
+    bundle_libs(${BUNDLE} "PRIVATE" FALSE ${ARGN})
 endfunction()

 function(bundle_libs)
     #0 is bundle TARGET
-    #1 is type (PRIVATE,EXPORT
+    #1 is TYPE, e.g PRIVATE,EXPORT or IMPORT
+    #2 is ADD_TO_MANIFEST
     #2..n is libs
     list(GET ARGN 0 BUNDLE)
     list(REMOVE_AT ARGN 0)

     list(GET ARGN 0 TYPE)
+    list(REMOVE_AT ARGN 0)
+
+    list(GET ARGN 0 ADD_TO_MANIFEST)
     list(REMOVE_AT ARGN 0)

     #check if arg 0 is corrent
@@ -298,7 +302,9 @@
             add_custom_command(OUTPUT ${OUT}
                 COMMAND ${CMAKE_COMMAND} -E copy_if_different ${LIB} ${OUT}
             )
-            list(APPEND LIBS ${LIB_NAME})
+            if (ADD_TO_MANIFEST)
+                list(APPEND LIBS ${LIB_NAME})
+            endif()
             list(APPEND DEPS ${OUT})
         else()
             #Assuming target
@@ -310,8 +316,10 @@
                 COMMAND ${CMAKE_COMMAND} -E copy_if_different "$<TARGET_FILE:${LIB}>" "${BUNDLE_DIR}/$<TARGET_SONAME_FILE_NAME:${LIB}>"
                 DEPENDS ${LIB}
             )
-            list(APPEND DEPS "${OUT}") #NOTE depending on ${OUT} not on $<TARGET_FILE:${LIB}>.
-            list(APPEND LIBS "$<TARGET_SONAME_FILE_NAME:${LIB}>")
+            if (ADD_TO_MANIFEST)
+                list(APPEND LIBS "$<TARGET_SONAME_FILE_NAME:${LIB}>")
+            endif()
+                list(APPEND DEPS "${OUT}") #NOTE depending on ${OUT} not on $<TARGET_FILE:${LIB}>.
         endif()

         get_target_property(IS_LIB ${BUNDLE} "BUNDLE_TARGET_IS_LIB")
@@ -432,4 +440,4 @@
         install (FILES ${INSTALL_RESOURCES} DESTINATION share/${INSTALL_PROJECT_NAME}/${INSTALL_BUNDLE_NAME} COMPONENT ${BUNDLE})
     endif()

-endfunction()+endfunction()


Correct a typo in a comment.

Correct a typo in a comment.

--- cmake-modules/FindMesos.cmake
+++ cmake-modules/FindMesos.cmake
@@ -28,7 +28,7 @@
 #

-# Finds particular version (debug | release, .a | .so) of the Bö library.
+# Finds particular version (debug | release, .a | .so) of Mesos.
 FUNCTION (FindMesosLibrary libvar libname)
     FIND_LIBRARY (${libvar}
         NAMES ${libname}


find vlf library

find vlf library

--- cmake/FindFaceEngineSDK.cmake
+++ cmake/FindFaceEngineSDK.cmake
@@ -7,6 +7,8 @@
 # This is the directory where the Face SDK is located.
 # By default FSDKDIR environment variable value is taken.
 set(FSDK_ROOT "$ENV{FSDKDIR}" CACHE PATH "Vision Labs Face SDK root directory.")
+
+option(FSDK_FIND_VLF OFF)

 # Look for headers.
 find_path(FSDK_INCLUDE_DIRS
@@ -76,6 +78,27 @@
 	list(APPEND FSDK_LIBD ${LIB_PATH})
 endforeach()

+if(${FSDK_FIND_VLF})
+	# Find vlf release
+	set(VLF_LIB "VLF-NOTFOUND")
+	find_library(VLF_LIB
+				 NAMES vlf
+				 HINTS $ENV{FSDKDIR}
+				 PATHS ${FSDK_ROOT}
+				 PATH_SUFFIXES	lib/${FSDK_LIB_PREFIX}
+								bin/${FSDK_LIB_PREFIX})
+
+	# Find vlf debug
+	set(VLF_LIBD "VLFD-NOTFOUND")
+	find_library(VLF_LIBD
+				 NAMES vlf
+				 HINTS $ENV{FSDKDIR}
+				 PATHS ${FSDK_ROOT}
+				 PATH_SUFFIXES	lib/${FSDK_LIB_PREFIX}
+								bin/${FSDK_LIB_PREFIX})
+endif()
+
+
 #message(STATUS "FSDK [DEBUG]: FSDK_LIB = ${FSDK_LIB}.")
 #message(STATUS "FSDK [DEBUG]: FSDK_LIBD = ${FSDK_LIBD}.")

@@ -104,6 +127,13 @@
 		endforeach()
 		message(STATUS "FSDK [WARN]: Debug libraries are NOT available.")
 	endif()
+	# add vlf
+	if(${FSDK_FIND_VLF})
+		list(APPEND FSDK_LIBRARIES optimized ${VLF_LIB})
+		list(APPEND FSDK_LIBRARIES debug ${VLF_LIBD})
+		message("Find vlf")
+	endif()
+
 	message(STATUS "FSDK [INFO]: Found SDK in ${FSDK_ROOT}.")
 else()
 	message(STATUS "FSDK [WARN]: SDK was NOT found.")


ENH: Bump WikiExamples version

ENH: Bump WikiExamples version

Bump the Wiki Examples version. Also change the env variable name for
the remote tag from RemoteGitTag to WikiExamplesTag.

Change-Id: Ic893f6538b33d7280fcd2d8e9004420da4eb0a2e

--- Modules/Remote/WikiExamples.remote.cmake
+++ Modules/Remote/WikiExamples.remote.cmake
@@ -2,12 +2,12 @@
 # ITK WikiExamples
 #

-# If the environment var RemoteGitTag exists, use it
-if (NOT DEFINED ENV{RemoteGitTag})
-  # October 19, 2016
-  set(GIT_TAG 8958c5b37a7c16794e69aafa9389253098021809)
+# If the environment var WikiExamplesTag exists, use it
+if (NOT DEFINED ENV{WikiExamplesTag})
+  # December 26, 2016
+  set(GIT_TAG 93b266b8b8a1443ed1dfd47b9b427fce4aebf3b0)
 else()
-  set(GIT_TAG $ENV{RemoteGitTag})
+  set(GIT_TAG $ENV{WikiExamplesTag})
 endif()

 itk_fetch_module(WikiExamples


CMake: Removed `GroupSource.cmake`.

CMake: Removed `GroupSource.cmake`.

While we want to group sources, this current solution is not
working as intended.  We will consider looking into grouping
source again in future.

Review: https://reviews.apache.org/r/61351/

--- 3rdparty/stout/cmake/GroupSource.cmake
+++ 3rdparty/stout/cmake/GroupSource.cmake
@@ -1,110 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-###############################################################
-# GROUP_SOURCE takes a directory root and recursively groups source files by
-# folder, so they can be displayed hierarchically in IDEs such as XCode or
-# Visual Studio. NOTE: Source files are only displayed if they are added for
-# compilation. If a file is not compiled, it will not show up in the IDE.
-#
-# Parameters:
-#   GROUP_NAME     Specifies group name of this directory tree. For example,
-#                  the directory tree `src/slave/` would fall under the group
-#                  name "Agent Source Files".
-#   ROOT_DIRECTORY Root of the directory tree to generate source groups for.
-#   RELATIVE_TO    Directory to create source group tree relative to. For
-#                  example, if you want to the code in `src/slave` to show up
-#                  in the directory tree under a folder called `slave/` (i.e.,
-#                  omitting the `src/` component), then you would provite a
-#                  ROOT_DIRECTORY `src/slave` RELATIVE_TO `slave/`.
-#   SOURCE_PATTERN Pattern (glob) of source files to match (e.g, *.cpp).
-function(GROUP_SOURCE GROUP_NAME ROOT_DIRECTORY RELATIVE_TO SOURCE_PATTERN)
-  file(
-    GLOB_RECURSE
-    SOURCE_FILES
-    RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
-    "${ROOT_DIRECTORY}/${SOURCE_PATTERN}"
-    )
-
-  # Extremely inefficient method of recursively creating a source group for
-  # every subdirectory that contains a source file. In other words, if we have
-  # a folder structure like `slave/containerizer/`, we want a source group for
-  # both `slave/` and `slave/containerizer/`, so that the IDE structures the
-  # source tree hierarchically. This loop is so inefficient because CMake does
-  # not support a set data structure, it is hard to do better than this and
-  # still be cross-platform.
-  #
-  # The way this loop functions is to:
-  # (1) Loop over every source file found in any subdirectory rooted at
-  #     `ROOT_DIRECTORY`
-  # (2) For each source file, obtain the directory it exists in. For example if
-  #     the source file is `slave/containerizer/containerizer.cpp`, then the
-  #     directory `slave/containerizer/`.
-  # (3) Create a source group for the directory. The source group for the
-  #     directory consists of any file that is in the directory, not including
-  #     files that are in subdirectories. In the example above, this would be
-  #     something like `slave/containerizer/*.cpp`.
-  #
-  #     NOTE: This operation is so inefficient because it occurs for every
-  #     source file, rather than every unique directory. So, every time we
-  #     encounter a source file in any directory, we will add a source group
-  #     for its source directory.
-  #
-  #     NOTE: This operation will also add every source file to the source
-  #     group, but only the source files that both appear in this source group,
-  #     and which users actually pass to the target for compilation will appear
-  #     in the IDE's source group.
-  foreach (SOURCE_FILE ${SOURCE_FILES})
-    # Get relative directory of source file, use to generate a source group
-    # that resembles the directory tree.
-    get_filename_component(SOURCE_FILE_REALPATH ${SOURCE_FILE} REALPATH)
-
-    file(RELATIVE_PATH SOURCE_FILE_RELATIVE
-      ${RELATIVE_TO} ${SOURCE_FILE_REALPATH})
-
-    get_filename_component(
-      SOURCE_DIRECTORY_RELATIVE
-      ${SOURCE_FILE_RELATIVE}
-      PATH)
-
-    set(SOURCE_GROUP "${GROUP_NAME}\\${SOURCE_DIRECTORY_RELATIVE}")
-
-    # This is necessary because source group names require '\' rather than '/'
-    # as separators, in order to make a hierarchical source tree. This is
-    # primarily because the source group construct was originally designed for
-    # Visual Studio projects.
-    string(REGEX REPLACE "/" "\\\\" SOURCE_GROUP ${SOURCE_GROUP})
-
-    # Get all files in `SOURCE_DIRECTORY`, and create a source group for it.
-    # NOTE: It is important concatinate `SOURCE_FILE` with the relative-to root
-    # we passed to `file` above; if we don't, we will get an empty string when
-    # `RELATIVE_TO` is the same as the current source directory, which in turn
-    # will cause the call to `file` below to return no source files.
-    get_filename_component(
-      SOURCE_DIRECTORY
-      "${CMAKE_CURRENT_SOURCE_DIR}/${SOURCE_FILE}"
-      PATH)
-
-    file(
-      GLOB
-      SOURCE_GROUP_FILES
-      RELATIVE "${CMAKE_CURRENT_SOURCE_DIR}"
-      "${SOURCE_DIRECTORY}/${SOURCE_PATTERN}"
-      )
-
-    source_group(${SOURCE_GROUP} FILES ${SOURCE_GROUP_FILES})
-  endforeach ()
-endfunction()


Bumping TubeTK to include addition of binary dir into include directories

to fix tubetkConfigure.h not found error

--- CMake/Superbuild/External_TubeTK.cmake
+++ CMake/Superbuild/External_TubeTK.cmake
@@ -44,8 +44,8 @@
     ${${proj}_EP_ARGS}
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
     BINARY_DIR ${${proj}_DIR}
-    GIT_REPOSITORY "https://github.com/KitwareMedical/TubeTK.git"
-    GIT_TAG "303c6009a02f638b625d9108fe1d88ad139b8167"
+    GIT_REPOSITORY "git@github.com:KitwareMedical/TubeTK.git"
+    GIT_TAG "7da1697ed6beadbac3be46ae39b74cebc3fac393"
     CMAKE_CACHE_ARGS
       -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
       -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}


PKG: filter out directories when checking for .so

--- SuperBuild/Packaging/PackageHelper.cmake
+++ SuperBuild/Packaging/PackageHelper.cmake
@@ -751,7 +751,7 @@
                   # message("${sofile} is a symlink to ${linked_to_file}")
                 else() # is_symlink
                   if(NOT "${basename_of_sofile}" MATCHES "otbapp_")
-                    if( EXISTS ${SEARCHDIR}/${sofile} )
+                    if( NOT IS_DIRECTORY ${sofile} )
                       file(APPEND ${CMAKE_BINARY_DIR}/install_to_${DEST_LIB_DIR} "${sofile}\n")
                       #just install the so file to <staging-dir>/lib
                       #install(FILES "${sofile}" DESTINATION ${PKG_STAGE_DIR}/lib MESSAGE_NEVER)


fix config.cmake

fix config.cmake

--- libzeug-config.cmake
+++ libzeug-config.cmake
@@ -61,11 +61,12 @@
 		PATHS ${HINT_PATHS}
 		DOC "The ${LIB_NAME} debug library")

-	if(${LIB_NAME_UPPER}_LIBRARY_DEBUG)
-		set(${LIB_NAME_UPPER}_LIBRARIES optimized ${${LIB_NAME_UPPER}_LIBRARY} debug ${${LIB_NAME_UPPER}_LIBRARY_DEBUG})
-	else()
-		set(${LIB_NAME_UPPER}_LIBRARIES ${${LIB_NAME_UPPER}_LIBRARY})
+	if(${LIB_NAME_UPPER}_LIBRARY AND ${LIB_NAME_UPPER}_LIBRARY_DEBUG)
+		set(debug "debug")
+		set(optimized "optimized")
 	endif()
+
+	set(${LIB_NAME_UPPER}_LIBRARIES ${optimized} ${${LIB_NAME_UPPER}_LIBRARY} ${debug} ${${LIB_NAME_UPPER}_LIBRARY_DEBUG})

 endmacro()


fix config.cmakfix config.cmakee

fix config.cmakfix config.cmakee

--- libzeug-config.cmake
+++ libzeug-config.cmake
@@ -61,7 +61,11 @@
 		PATHS ${HINT_PATHS}
 		DOC "The ${LIB_NAME} debug library")

-	set(${LIB_NAME_UPPER}_LIBRARIES optimized ${${LIB_NAME_UPPER}_LIBRARY} debug ${${LIB_NAME_UPPER}_LIBRARY_DEBUG})
+	if(${${LIB_NAME_UPPER}_LIBRARY_DEBUG})
+		set(${LIB_NAME_UPPER}_LIBRARIES optimized ${${LIB_NAME_UPPER}_LIBRARY} debug ${${LIB_NAME_UPPER}_LIBRARY_DEBUG})
+	else()
+		set(${LIB_NAME_UPPER}_LIBRARIES ${${LIB_NAME_UPPER}_LIBRARY})
+	endif()

 endmacro()


Add OpenCV-Extra 3.4.1

Add OpenCV-Extra 3.4.1

--- cmake/projects/OpenCV-Extra/hunter.cmake
+++ cmake/projects/OpenCV-Extra/hunter.cmake
@@ -6,6 +6,17 @@
 include(hunter_add_version)
 include(hunter_download)
 include(hunter_pick_scheme)
+
+hunter_add_version(
+    PACKAGE_NAME
+    OpenCV-Extra
+    VERSION
+    "3.4.1"
+    URL
+    "https://github.com/opencv/opencv_contrib/archive/3.4.1.tar.gz"
+    SHA1
+    638d6f0e0afe0fef511c0889c766f3350457ca94
+)

 hunter_add_version(
     PACKAGE_NAME


apparently --icf=all does not work for mips targets

--- toolchains/android-studio.toolchain.cmake
+++ toolchains/android-studio.toolchain.cmake
@@ -50,10 +50,10 @@
 # apparently gold is not supported on mips
 if( NOT ( ANDROID_ABI STREQUAL "mips" OR ANDROID_ABI STREQUAL "mips64" ) )
     link_libraries( -fuse-ld=gold )
+    link_libraries( $<$<CONFIG:RELEASE>:-Wl,--icf=all>     ) # http://research.google.com/pubs/pub36912.html Safe ICF: Pointer Safe and Unwinding Aware Identical Code Folding in Gold
 endif()

 link_libraries( $<$<CONFIG:RELEASE>:-Wl,--gc-sections> )
-link_libraries( $<$<CONFIG:RELEASE>:-Wl,--icf=all>     ) # http://research.google.com/pubs/pub36912.html Safe ICF: Pointer Safe and Unwinding Aware Identical Code Folding in Gold

 ################################################################################
 # TNUN_setup_target_for_arch()


Update common_utils external to mainline revision

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -60,7 +60,7 @@
 set(occ-map_depends libbot opencv)

 set(common_utils_url https://github.com/openhumanoids/common_utils.git)
-set(common_utils_revision f935b05424898b4e798c11b3400c8d5dbd8b446e)
+set(common_utils_revision 90df348c8acb7fde57920f4bd3edeb903ac42667)
 set(common_utils_depends Eigen_pod libbot occ-map octomap)

 set(frsm_url ssh://git@github.com/openhumanoids/frsm.git)


fix prev commit

fix prev commit

--- Modules/private/CakePrivateSession.cmake
+++ Modules/private/CakePrivateSession.cmake
@@ -6,7 +6,7 @@
   endif()

   if(NOT CAKE_LOAD_CONFIG_INCLUDED)
-    include(${CMAKE_CURRENT_LIST_DIR}/CakeLoadConfig.cmake)
+    include(${CMAKE_CURRENT_LIST_DIR}/../CakeLoadConfig.cmake)
   endif()

   # there is run-once code after the definitions


BUG: Mantis-1364: mach-o bundle not detected caused missing libraries in package

--- SuperBuild/Packaging/PackageMacros.cmake
+++ SuperBuild/Packaging/PackageMacros.cmake
@@ -241,6 +241,13 @@
       return()
     endif()

+    # detect shared libraries on Mac OSX
+    # where "file" gives "Mach-O 64-bit x86_64 bundle"
+    if("${file_ov}" MATCHES "mach-o.*bundle")
+      set(${result_var} 1 PARENT_SCOPE)
+      return()
+    endif()
+
   endif(APPLE)

 endfunction()


link the sync dir

link the sync dir

--- phSolver/compressible/test/testing.cmake
+++ phSolver/compressible/test/testing.cmake
@@ -1,6 +1,9 @@
 set(CDIR ${CASES}/compressible)
 add_test(copyInpCfg
   cp ${PHASTA_SOURCE_DIR}/phSolver/common/input.config ${CDIR})
+
+add_test(linkProcsDir-sync
+  ln -snf ${CDIR}/2-procs_case-SyncIO-1 ${CDIR}/2-procs_case)
 add_test(compressibleResetNumStart-sync
   cp ${CDIR}/numstart.dat ${CDIR}/2-procs_case/numstart.dat)
 add_test(


Disable tensorboard/plugins/images/images_plugin_test.py from windows cmake.

PiperOrigin-RevId: 157169680

--- tensorflow/contrib/cmake/tf_tests.cmake
+++ tensorflow/contrib/cmake/tf_tests.cmake
@@ -209,6 +209,7 @@
       # Broken tensorboard test due to cmake issues.
       "${tensorflow_source_dir}/tensorflow/tensorboard/plugins/debugger/plugin_test.py"
       "${tensorflow_source_dir}/tensorflow/contrib/data/python/kernel_tests/dataset_constructor_op_test.py"
+      "${tensorflow_source_dir}/tensorflow/tensorboard/plugins/images/images_plugin_test.py"
       # tensor_forest tests (also note that we exclude the hybrid tests for now)
       "${tensorflow_source_dir}/tensorflow/contrib/tensor_forest/python/kernel_tests/count_extremely_random_stats_op_test.py"  # Results in wrong order.
       "${tensorflow_source_dir}/tensorflow/contrib/tensor_forest/python/kernel_tests/sample_inputs_op_test.py"  # Results in wrong order.


Changed the precedence of systemd-hournal library variants

--- cmake/Modules/FindSystemdJournal.cmake
+++ cmake/Modules/FindSystemdJournal.cmake
@@ -35,17 +35,18 @@
     /usr/local/include
   )

-  find_library (LIBSYSTEMD_JOURNAL_LIBRARIES NAMES systemd-journal systemd-id128
+  # try to use the merged library libsystemd
+  find_library (LIBSYSTEMD_JOURNAL_LIBRARIES NAMES systemd
     PATHS
-    ${_LIBSYSTEMD_JOURNAL_PC_LIBDIR}
-    ${_LIBSYSTEMD_ID128_PC_LIBDIR}
+    ${_LIBSYSTEMD_PC_LIBDIR}
   )

-  # at least on newer versions of debian the libraries have been merged
+  # if the merged library was not found try to use the old split library
   if (NOT LIBSYSTEMD_JOURNAL_LIBRARIES)
-    find_library (LIBSYSTEMD_JOURNAL_LIBRARIES NAMES systemd
+    find_library (LIBSYSTEMD_JOURNAL_LIBRARIES NAMES systemd-journal systemd-id128
       PATHS
-      ${_LIBSYSTEMD_PC_LIBDIR}
+      ${_LIBSYSTEMD_JOURNAL_PC_LIBDIR}
+      ${_LIBSYSTEMD_ID128_PC_LIBDIR}
     )
   endif (NOT LIBSYSTEMD_JOURNAL_LIBRARIES)


build: upgrade driver version to 17f5d

build: upgrade driver version to 17f5d

Signed-off-by: Leonardo Grasso <b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@leonardograsso.com>

--- cmake/modules/falcosecurity-libs.cmake
+++ cmake/modules/falcosecurity-libs.cmake
@@ -20,8 +20,8 @@
 # default below In case you want to test against another falcosecurity/libs version just pass the variable - ie., `cmake
 # -DFALCOSECURITY_LIBS_VERSION=dev ..`
 if(NOT FALCOSECURITY_LIBS_VERSION)
-  set(FALCOSECURITY_LIBS_VERSION "13ec67ebd23417273275296813066e07cb85bc91")
-  set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=c2cc1c17af98cef1fa958841da3cfc480774190b5cebc503faf4184cf2b2abfa")
+  set(FALCOSECURITY_LIBS_VERSION "17f5df52a7d9ed6bb12d3b1768460def8439936d")
+  set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=34a2a466f1e5045591f102de2bc812d9b4f0d5874094cc73b97a7970fb2a3a18")
 endif()

 # cd /path/to/build && cmake /path/to/source


build(cmake): bump libs version to 3aa7a83

Signed-off-by: Michele Zuccala <47483730395cccb6448ad7313d5cedb48de25e40@zuccala.com>

--- cmake/modules/falcosecurity-libs.cmake
+++ cmake/modules/falcosecurity-libs.cmake
@@ -20,8 +20,8 @@
 # default below In case you want to test against another falcosecurity/libs version just pass the variable - ie., `cmake
 # -DFALCOSECURITY_LIBS_VERSION=dev ..`
 if(NOT FALCOSECURITY_LIBS_VERSION)
-  set(FALCOSECURITY_LIBS_VERSION "5727c456ce22f3c1da8c3b1d7d6b6937a9b2126b")
-  set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=549d2dd29109d12cc3eb261d86b35c637ac16796f6d88c39dce02f6d1cdf737d")
+  set(FALCOSECURITY_LIBS_VERSION "3aa7a83bf7b9e6229a3824e3fd1f4452d1e95cb4")
+  set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=1edb535b3778fcfb46bbeeda891f176a1bd591bebd7b89c27f04837e55a52beb")
 endif()

 # cd /path/to/build && cmake /path/to/source


[Build] Generalised the module_python_add CMake macro to any type of scripts (Shell, Python, Perl, Ruby, etc).

--- config/project_config_embeddable.cmake
+++ config/project_config_embeddable.cmake
@@ -1483,8 +1483,15 @@
 endmacro (module_binary_add)

 ##
-# Add a Python script to be installed
-macro (module_python_add _script_file)
+# Add a (Shell, Python, Perl, Ruby, etc) script to be installed.
+#
+# The parameter is the relative file path of the (template) script to
+# be installed. That template file must end with the '.in' suffix.
+# Indeed, the project variables (wrapped by @@ signs) of the template file
+# are evaluated and expanded thanks to the configure command.
+# The '.in' extension of the script is dropped once installed.
+#
+macro (module_script_add _script_file)
   #
   set (_full_script_src_path ${CMAKE_CURRENT_SOURCE_DIR}/${_script_file}.in)
   set (_full_script_path ${CMAKE_CURRENT_BINARY_DIR}/${_script_file})
@@ -1492,11 +1499,14 @@
 	#
     configure_file (${_full_script_src_path} ${_full_script_path} @ONLY)

-    # Add the 'scripts_${MODULE_NAME}' target, depending on the
-    # converted (Python) scripts
-    add_custom_target (scripts_${MODULE_NAME} ALL DEPENDS ${_full_script_path})
-
-    # Install the (Python) script file
+	# Extract the file name (only) from the full file path
+	get_filename_component (_script_alone ${_script_file} NAME)
+
+	# Add the 'scripts_${MODULE_NAME}' target, depending on the
+    # converted (Shell, Python, Perl, Ruby, etc) scripts
+    add_custom_target (${_script_alone}_script ALL DEPENDS ${_full_script_path})
+
+    # Install the (Shell, Python, Perl, Ruby, etc) script file
     install (PROGRAMS ${_full_script_path} DESTINATION bin COMPONENT devel)

   else (EXISTS ${_full_script_src_path})
@@ -1505,7 +1515,6 @@
   endif (EXISTS ${_full_script_src_path})

   # Register the binary target in the project (for reporting purpose)
-  get_filename_component (_script_alone ${_script_file} NAME)
   list (APPEND PROJ_ALL_BIN_TARGETS ${_script_alone})
   set (PROJ_ALL_BIN_TARGETS ${PROJ_ALL_BIN_TARGETS} PARENT_SCOPE)

@@ -1514,7 +1523,7 @@
   list (APPEND ${MODULE_NAME}_ALL_EXECS ${_script_alone})
   set (${MODULE_NAME}_ALL_EXECS ${${MODULE_NAME}_ALL_EXECS} PARENT_SCOPE)

-endmacro (module_python_add)
+endmacro (module_script_add)

 ##
 # Installation of the CMake import helper, so that third party projects


CMake: documenting FindMEDFile.cmake

CMake: documenting FindMEDFile.cmake

--- salome_adm/cmake_files/FindMEDFile.cmake
+++ salome_adm/cmake_files/FindMEDFile.cmake
@@ -1,3 +1,15 @@
+# - Find MED file installation
+#
+# The following variable are set:
+#   MEDFILE_INCLUDE_DIRS
+#   MEDFILE_LIBRARIES
+#   MEDFILE_C_LIBRARIES
+#   MEDFILE_F_LIBRARIES
+#
+#  The CMake (or environment) variable MEDFILE_ROOT_DIR can be set to
+#  guide the detection and indicate a root directory to look into.
+#
+############################################################################
 # Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or


cmake: add symlink kdb.1 to kdb-static.1

--- scripts/cmake/Modules/LibAddMacros.cmake
+++ scripts/cmake/Modules/LibAddMacros.cmake
@@ -15,7 +15,7 @@
 # - JAVA: install symlink for Java in share/java
 # - otherwise: install symlink for normal libraries
 #
-# create_lib_symlink src dest - create a symbolic link from src -> dest
+# create_lib_symlink src dest component - create a symbolic link from src -> dest
 # ~~~
 macro (create_lib_symlink src dest component)

@@ -67,6 +67,50 @@
 		"
 		COMPONENT "${component}")
 endmacro (create_lib_symlink src dest component)
+
+
+# ~~~
+# Create a symlink for man1 files at installation
+#
+# create_lib_symlink src dest component - create a symbolic link from src -> dest
+# ~~~
+macro (create_doc_symlink src dest component)
+
+	cmake_parse_arguments (
+		ARG
+		"" # optional keywords
+		"" # one value keywords
+		"" # multi value keywords
+		${ARGN})
+
+	set (DOC_INSTALL_DIR "${CMAKE_INSTALL_PREFIX}/share/man/man1")
+
+	install (
+		CODE "
+		message (STATUS \"Installing symlink: \$ENV{DESTDIR}${DOC_INSTALL_DIR}/${dest} -> ${src}\")
+		execute_process (COMMAND \"${CMAKE_COMMAND}\" -E make_directory
+			\"\$ENV{DESTDIR}${DOC_INSTALL_DIR}\"
+			RESULT_VARIABLE RET
+			)
+		if (RET)
+			message (WARNING \"Could not create directory\")
+		endif ()
+		execute_process (COMMAND \"${CMAKE_COMMAND}\" -E create_symlink
+			\"${src}\"
+			\"${dest}\"
+			WORKING_DIRECTORY \"\$ENV{DESTDIR}${DOC_INSTALL_DIR}\"
+			RESULT_VARIABLE RET
+			)
+
+		# for uninstall:
+		file (APPEND \"${CMAKE_BINARY_DIR}/extra_install_manifest.txt\" \"\$ENV{DESTDIR}${DOC_INSTALL_DIR}/${dest}\\n\")
+
+		if (RET)
+			message (WARNING \"Could not install symlink\")
+		endif ()
+		"
+		COMPONENT "${component}")
+endmacro (create_doc_symlink src dest component)

 # ~~~
 # Make a directory
@@ -608,6 +652,12 @@
 				FILES ${OUTFILE}
 				DESTINATION share/man/man${SECTION}
 				COMPONENT "${ARG_COMPONENT}")
+
+			if (BUILD_STATIC)
+				if (SECTION EQUAL 1)
+					create_doc_symlink("kdb.${SECTION}" "kdb-static.${SECTION}" "${ARG_COMPONENT}")
+				endif()
+			endif ()
 		endif ()
 	endif (BUILD_DOCUMENTATION)
 endfunction ()


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"

--- plasma-runner-ktp-contact.desktop.cmake
+++ plasma-runner-ktp-contact.desktop.cmake
@@ -1,7 +1,6 @@
 [Desktop Entry]
 Name=Instant Messaging
 Name[ar]=التّراسل المباشر
-Name[ast]=Mensaxería nel intre
 Name[bs]=Brze poruke
 Name[ca]=Missatgeria instantània
 Name[ca@valencia]=Missatgeria instantània
@@ -46,7 +45,6 @@
 Name[zh_TW]=即時訊息
 Comment=Start a chat with any of your IM contacts or change your IM status
 Comment[ar]=ابدأ محادثة بأيّ من متراسلي ت‌م أو غيّر حالة ت‌م
-Comment[ast]=Anicia una charra con cualesquiera de los tos contautos de MI o camuda'l to estáu
 Comment[bs]=Pokrenite ćaskanje s bilo kojim od vaših IM kontakta ili promijenite svoj IM status
 Comment[ca]=Inicia un xat amb qualsevol dels vostres contactes de MI o canvia el vostre estat a la MI
 Comment[ca@valencia]=Inicia un xat amb qualsevol dels vostres contactes de MI o canvia el vostre estat a la MI


also detect muparser

also detect muparser

git-svn-id: 37f353f404879454aa15afbdf2633a8cba6774db@32010 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/cmake/modules/FindMUPARSER.cmake
+++ deal.II/cmake/modules/FindMUPARSER.cmake
@@ -32,7 +32,7 @@
 SET_IF_EMPTY(MUPARSER_DIR "$ENV{MUPARSER_DIR}")

 FIND_LIBRARY(MUPARSER_LIBRARY
-  NAMES muparser
+  NAMES muparser muparserd
   HINTS ${MUPARSER_DIR}
   PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib
   )


[CMake] Test existence of python entries (#15602)

--- tensorflow/contrib/cmake/tf_python.cmake
+++ tensorflow/contrib/cmake/tf_python.cmake
@@ -127,6 +127,9 @@

 foreach(python_proto ${python_protos})
   if(NOT python_proto MATCHES "\#")
+    if(NOT EXISTS "${tensorflow_source_dir}/${python_proto}")
+      message(SEND_ERROR "Python proto directory not found: ${python_proto}")
+    endif()
     file(GLOB_RECURSE tf_python_protos_src RELATIVE ${tensorflow_source_dir}
         "${tensorflow_source_dir}/${python_proto}/*.proto"
     )
@@ -145,6 +148,9 @@

 foreach(python_proto_cc ${python_protos_cc})
   if(NOT python_proto_cc MATCHES "\#")
+    if(NOT EXISTS "${tensorflow_source_dir}/${python_proto_cc}")
+      message(SEND_ERROR "Python proto CC directory not found: ${python_proto_cc}")
+    endif()
     file(GLOB_RECURSE tf_python_protos_cc_src RELATIVE ${tensorflow_source_dir}
         "${tensorflow_source_dir}/${python_proto_cc}/*.proto"
     )
@@ -204,6 +210,9 @@

 foreach(python_module ${python_modules})
   if(NOT python_module MATCHES "\#")
+    if(NOT EXISTS "${tensorflow_source_dir}/${python_module}")
+      message(SEND_ERROR "Python module not found: ${python_module}")
+    endif()
     add_python_module(${python_module})
   endif()
 endforeach(python_module)


docs: Update example config

docs: Update example config

--- doc/config.cmake
+++ doc/config.cmake
@@ -18,31 +18,27 @@
 secondary = #e60053
 alert = #bd2c40

-[global/wm]
-margin-top = 5
-margin-bottom = 5
-
 [bar/example]
 ;monitor = ${env:MONITOR:HDMI-1}
 width = 100%
 height = 27
-offset-x = 0
-offset-y = 0
+;offset-x = 1%
+;offset-y = 1%
+radius = 6.0
 fixed-center = false

 background = ${colors.background}
 foreground = ${colors.foreground}

-overline-size = 2
-overline-color = #f00
-underline-size = 2
-underline-color = #00f
-
-border-bottom-size = 2
-border-bottom-color = #333
+line-size = 3
+line-color = #f00
+
+border-size = 4
+border-color = #00000000

 padding-left = 0
 padding-right = 2
+
 module-margin-left = 1
 module-margin-right = 2

@@ -69,7 +65,6 @@

 ;scroll-up = i3wm-wsnext
 ;scroll-down = i3wm-wsprev
-

 [module/xwindow]
 type = internal/xwindow
@@ -356,4 +351,15 @@
 menu-2-1 = cancel
 menu-2-1-exec = menu-open-0

+[settings]
+screenchange-reload = true
+;compositing-background = xor
+;compositing-background = screen
+;compositing-foreground = source
+;compositing-border = over
+
+[global/wm]
+margin-top = 5
+margin-bottom = 5
+
 ; vim:ft=dosini


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


handle mixed-case bin

handle mixed-case bin

SVN-Revision: 377

--- suite/runsuite.cmake
+++ suite/runsuite.cmake
@@ -244,7 +244,7 @@
       if (NOT "$ENV{LIB}" MATCHES "[Aa][Mm][Dd]64")
         # Note that we can't set ENV{PATH} as the output var of the replace:
         # it has to be its own set().
-        string(REGEX REPLACE "VC([/\\\\])Bin" "VC\\1Bin\\1amd64"
+        string(REGEX REPLACE "VC([/\\\\])([Bb][Ii][Nn])" "VC\\1\\2\\1amd64"
           newpath "$ENV{PATH}")
         set(ENV{PATH} "${newpath}")
         string(REGEX REPLACE "([/\\\\])([Ll][Ii][Bb])" "\\1\\2\\1amd64"
@@ -256,7 +256,7 @@
       endif (NOT "$ENV{LIB}" MATCHES "[Aa][Mm][Dd]64")
     else (is64)
       if ("$ENV{LIB}" MATCHES "[Aa][Mm][Dd]64")
-        string(REGEX REPLACE "(VC[/\\\\]Bin[/\\\\])amd64" "\\1"
+        string(REGEX REPLACE "(VC[/\\\\][Bb][Ii][Nn][/\\\\])amd64" "\\1"
           newpath "$ENV{PATH}")
         set(ENV{PATH} "${newpath}")
         string(REGEX REPLACE "([Ll][Ii][Bb])[/\\\\]amd64" "\\1"


cmake TAP config: add topic_listener

cmake TAP config: add topic_listener

--- cmake/configs/nuttx_tap-v1_default.cmake
+++ cmake/configs/nuttx_tap-v1_default.cmake
@@ -40,6 +40,7 @@
 	systemcmds/mtd
 	systemcmds/dumpfile
 	systemcmds/ver
+	systemcmds/topic_listener

 	#
 	# General system control


Fix module name

Fix module name

--- cmake/modules/hunter_http_password.cmake
+++ cmake/modules/hunter_http_password.cmake
@@ -2,6 +2,8 @@
 # All rights reserved.

 include(CMakeParseArguments) # cmake_parse_arguments
+
+include(hunter_internal_error)

 function(hunter_http_password package_name)
   set(one USERNAME PASSWORD)
@@ -12,7 +14,7 @@

   string(COMPARE NOTEQUAL "${x_UNPARSED_ARGUMENTS}" "" has_unparsed)
   if(has_unparsed)
-    hunter_internale_error("Unparsed arguments: ${x_UNPARSED_ARGUMENTS}")
+    hunter_internal_error("Unparsed arguments: ${x_UNPARSED_ARGUMENTS}")
   endif()

   string(COMPARE EQUAL "${HUNTER_PACKAGE_NAME}" "${package_name}" hit)


seeing if flag will fix clang issue

seeing if flag will fix clang issue

--- cmake/platform/unix/compiler/Clang.cmake
+++ cmake/platform/unix/compiler/Clang.cmake
@@ -1,14 +1,13 @@
 message("-- using clang")

 add_compiler_flags(-std=c++17)
+add_compiler_flags(-frelaxed-template-template-args)
 add_compiler_flags(-Wno-keyword-compat -Wno-unused-command-line-argument)

-if( ${CMAKE_CXX_COMPILER_ID} STREQUAL Clang )
-  if(APPLE)
-    add_compiler_flags(-ftemplate-depth=900 -Wno-macro-redefined)
-  else()
-    add_compiler_flags(-ftemplate-depth=900 -Wno-expansion-to-defined)
-  endif()
+if(APPLE)
+  add_compiler_flags(-ftemplate-depth=900 -Wno-macro-redefined)
+else()
+  add_compiler_flags(-ftemplate-depth=900 -Wno-expansion-to-defined)
 endif()

 set(CLANG TRUE)


Fix to cope with Microsoft VC arbitrary versioning numer policy (sigh)

--- cmakemodules/script_version_number.cmake
+++ cmakemodules/script_version_number.cmake
@@ -17,11 +17,12 @@
 		# 1800 = VC 12.0 (2013)
 		#           ... (13 was skipped!)
 		# 1900 = VC 14.0 (2015)
-		math(EXPR MSVC_VERSION_2D "(${MSVC_VERSION}/100)-6")
-		IF (MSVC_VERSION_2D GREATER 12)
-			math(EXPR MSVC_VERSION_2D "${MSVC_VERSION_2D}+1")
+		# 1910 = VC 14.1 (2017)
+		math(EXPR MSVC_VERSION_3D "(${MSVC_VERSION}/10)-60")
+		IF (MSVC_VERSION_3D GREATER 120)
+			math(EXPR MSVC_VERSION_3D "${MSVC_VERSION_3D}+10")
 		ENDIF()
-		SET(CMAKE_MRPT_COMPILER_NAME "_msvc${MSVC_VERSION_2D}")
+		SET(CMAKE_MRPT_COMPILER_NAME "_msvc${MSVC_VERSION_3D}")
 	ELSE()
 		SET(CMAKE_MRPT_COMPILER_NAME "_${CMAKE_CXX_COMPILER_ID}")
 	ENDIF()


git{clone,update} script generated by a same dashboard script should be unique

Append ${GIT_TAG} and ${SCRIPT_MODE}

--- CMake/VisomicsDashboardDriverScript.cmake
+++ CMake/VisomicsDashboardDriverScript.cmake
@@ -198,7 +198,7 @@

 if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
   _write_gitclone_script(
-    ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-gitclone.cmake # script_filename
+    ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-${GIT_TAG}-${SCRIPT_MODE}-gitclone.cmake # script_filename
     ${CTEST_SOURCE_DIRECTORY} # source_dir
     ${CTEST_GIT_COMMAND} # git_EXECUTABLE
     ${GIT_REPOSITORY} # git_repository
@@ -207,11 +207,11 @@
     ${work_dir} # work_dir
   )
   # Note: The following command should be specified as a string.
-  set(CTEST_CHECKOUT_COMMAND "${CMAKE_COMMAND} -P ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-gitclone.cmake")
+  set(CTEST_CHECKOUT_COMMAND "${CMAKE_COMMAND} -P ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-${GIT_TAG}-${SCRIPT_MODE}-gitclone.cmake")
 endif()

 _update_gitclone_script(
-  ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-gitupdate.cmake # script_filename
+  ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-${GIT_TAG}-${SCRIPT_MODE}-gitupdate.cmake # script_filename
   ${CTEST_SOURCE_DIRECTORY} # source_dir
   ${CTEST_GIT_COMMAND} # git_EXECUTABLE
   ${GIT_REPOSITORY} # git_repository
@@ -223,7 +223,7 @@
 #set(CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")

 # Note: The following command should be specified as a list.
-set(CTEST_GIT_UPDATE_CUSTOM ${CMAKE_COMMAND} -P ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-gitupdate.cmake)
+set(CTEST_GIT_UPDATE_CUSTOM ${CMAKE_COMMAND} -P ${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}-${GIT_TAG}-${SCRIPT_MODE}-gitupdate.cmake)

 #
 # run_ctest macro


Fix typo in cmake message

Fix typo in cmake message

--- src/cmake/modules/FindOpenImageIO.cmake
+++ src/cmake/modules/FindOpenImageIO.cmake
@@ -73,7 +73,7 @@
     message ( STATUS "OpenImageIO includes     = ${OPENIMAGEIO_INCLUDE_DIR}" )
     message ( STATUS "OpenImageIO libraries    = ${OPENIMAGEIO_LIBRARIES}" )
     message ( STATUS "OpenImageIO library_dirs = ${OPENIMAGEIO_LIBRARY_DIRS}" )
-    message ( STATUS "OpenImageIO oiiiotool    = ${OIIOTOOL_BIN}" )
+    message ( STATUS "OpenImageIO oiiotool     = ${OIIOTOOL_BIN}" )
 endif ()

 include (FindPackageHandleStandardArgs)


Disable 'missing braces' warning message (caused by Clang bug)

--- Builds/CMake/CompileOptions.cmake
+++ Builds/CMake/CompileOptions.cmake
@@ -103,6 +103,7 @@
 if (CMAKE_CXX_COMPILER_ID MATCHES "GNU" OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
 	set(DEFAULT_COMPILE_OPTIONS ${DEFAULT_COMPILE_OPTIONS}
 		-Wall
+		-Wno-missing-braces
 		${WARN_AS_ERROR_FLAGS}
 		-std=c++1z
 	)


Incorporated automatic dependency generation for .cfg files into the cmake file.

--HG--
extra : convert_revision : svn%3Aeb33c2ac-9c88-4c90-87e0-44a10359b0c3/stacks/driver_common/trunk%4028179

--- dynamic_reconfigure/cmake/cfgbuild.cmake
+++ dynamic_reconfigure/cmake/cfgbuild.cmake
@@ -58,9 +58,17 @@
     # Add the rule to build the .h the .cfg and the .msg
     # FIXME Horrible hack. Can't get CMAKE to add dependencies for anything
     # but the first output in add_custom_command.
+    execute_process(
+      COMMAND ${dynamic_reconfigure_PACKAGE_PATH}/cmake/gendeps ${_input}
+      OUTPUT_VARIABLE __gencfg_autodeps
+      ERROR_VARIABLE __gencfg_cpp_err_ignore
+      OUTPUT_STRIP_TRAILING_WHITESPACE)
+    string(REPLACE "\n" " " ${_input}_AUTODEPS ${__gencfg_autodeps})
+    separate_arguments(${_input}_AUTODEPS)
+    #message("MSG: " ${${_input}_AUTODEPS})
     add_custom_command(OUTPUT ${_output_cpp} ${_output_dox} ${_output_usage} ${_output_py} ${_output_wikidoc}
                        COMMAND ${gencfg_cpp_exe} ${_input}
-                       DEPENDS ${_input} ${gencfg_cpp_exe} ${ROS_MANIFEST_LIST} ${gencfg_build_files} ${gencfg_extra_deps})
+                       DEPENDS ${_input} ${gencfg_cpp_exe} ${ROS_MANIFEST_LIST} ${gencfg_build_files} ${gencfg_extra_deps} ${${_input}_AUTODEPS})
     list(APPEND _autogen ${_output_cpp} ${_output_msg} ${_output_getsrv} ${_output_setsrv}
       ${_output_dox} ${_output_usage} ${_output_py})
   endforeach(_cfg)


Fixup matching of system and non-system paths

Binary dirs starting with "MITK" were not recognized correctly

--- CMake/mitkFunctionUseModules.cmake
+++ CMake/mitkFunctionUseModules.cmake
@@ -171,7 +171,7 @@

   if(ALL_INCLUDE_DIRECTORIES)
     foreach(_include_dir ${ALL_INCLUDE_DIRECTORIES})
-      if(_include_dir MATCHES "^${CMAKE_SOURCE_DIR}" OR _include_dir MATCHES "^${CMAKE_BINARY_DIR}")
+      if(_include_dir MATCHES "^${CMAKE_SOURCE_DIR}/" OR _include_dir STREQUAL "${CMAKE_SOURCE_DIR}" OR _include_dir MATCHES "^${CMAKE_BINARY_DIR}")
         include_directories(${_include_dir})
       else()
         include_directories(SYSTEM ${_include_dir})


globbing file lists instead of directories to work with the nsis installer

--- CMake/mitkMacroInstallPython.cmake
+++ CMake/mitkMacroInstallPython.cmake
@@ -72,11 +72,6 @@
   endforeach()

   # install vtk python. This folder contains all *.py files for VTK module loading.
-  #install(DIRECTORY "${VTK_DIR}/Wrapping/Python/vtk"
-  #        DESTINATION bin/Python
-  #        USE_SOURCE_PERMISSIONS
-  #        COMPONENT Runtime)
-
   # glob through all files, NSIS can't use directories
   file(GLOB_RECURSE item RELATIVE "${VTK_DIR}/Wrapping/Python/vtk" "${VTK_DIR}/Wrapping/Python/vtk/*.py")
   foreach(f ${item})
@@ -95,29 +90,28 @@
             DESTINATION bin/Python/lib
             USE_SOURCE_PERMISSIONS
             COMPONENT Runtime)
-      install(FILES "${Python_DIR}/include/python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}/pyconfig.h" DESTINATION bin/Python/include/python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION})
+      install(FILES "${Python_DIR}/include/python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION}/pyconfig.h"
+              DESTINATION bin/Python/include/python${PYTHON_MAJOR_VERSION}.${PYTHON_MINOR_VERSION})
     else()
       list(APPEND _python_dirs "${Python_DIR}/libs")
       list(APPEND _python_dirs "${Python_DIR}/bin")

-      install(DIRECTORY "${Python_DIR}/Lib"
-            DESTINATION bin/Python
-            USE_SOURCE_PERMISSIONS
-            COMPONENT Runtime)
-      install(DIRECTORY "${Python_DIR}/include"
-            DESTINATION bin/Python
-            USE_SOURCE_PERMISSIONS
-            COMPONENT Runtime)
+      file(GLOB_RECURSE item RELATIVE "${Python_DIR}/Lib" "${Python_DIR}/Lib/*")
+      foreach(f ${item})
+        get_filename_component(_filepath "${f}" PATH)
+        install(FILES "${Python_DIR}/Lib/${f}" DESTINATION bin/Python/Lib/${_filepath})
+      endforeach()
+      file(GLOB_RECURSE item RELATIVE "${Python_DIR}/include" "${Python_DIR}/include/*")
+      foreach(f ${item})
+        get_filename_component(_filepath "${f}" PATH)
+        install(FILES "${Python_DIR}/include/${f}" DESTINATION bin/Python/include/${_filepath})
+      endforeach()
     endif()
   endif()

   if(Numpy_DIR)
-    #install(DIRECTORY "${Numpy_DIR}/numpy"
-    #        DESTINATION bin/Python
-    #        USE_SOURCE_PERMISSIONS
-    #        COMPONENT Runtime)
-    ## glob through all files, NSIS can't use directories
-    #file(GLOB_RECURSE item RELATIVE "${Numpy_DIR}/numpy" "${Numpy_DIR}/numpy/*")
+    # glob through all files, NSIS can't use directories
+    file(GLOB_RECURSE item RELATIVE "${Numpy_DIR}/numpy" "${Numpy_DIR}/numpy/*")
     foreach(f ${item})
       get_filename_component(_filepath "${f}" PATH)
       install(FILES "${Numpy_DIR}/numpy/${f}" DESTINATION bin/Python/numpy/${_filepath})


cmake: added VOTCA_TOOLS_HAS_SQLITE3 to FindVOTCA_TOOLS.cmake module

--- CMakeModules/FindVOTCA_TOOLS.cmake
+++ CMakeModules/FindVOTCA_TOOLS.cmake
@@ -4,6 +4,7 @@
 #  VOTCA_TOOLS_INCLUDE_DIRS - where to find votca/tools/version.h, etc.
 #  VOTCA_TOOLS_LIBRARIES    - List of libraries when using expat.
 #  VOTCA_TOOLS_FOUND        - True if expat found.
+#  VOTCA_TOOLS_HAS_SQLITE3  - True if votca tools was build with sqlite3 support
 #
 # Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org)
 #
@@ -24,6 +25,14 @@

 pkg_check_modules(PC_VOTCA_TOOLS libvotca_tools)
 find_path(VOTCA_TOOLS_INCLUDE_DIR votca/tools/version.h HINTS ${PC_VOTCA_TOOLS_INCLUDE_DIRS})
+
+find_path(VOTCA_TOOLS_HAS_SQLITE3 votca/tools/database.h HINTS ${PC_VOTCA_TOOLS_INCLUDE_DIRS})
+if (VOTCA_TOOLS_HAS_SQLITE3)
+  set(VOTCA_TOOLS_HAS_SQLITE3 TRUE)
+else(VOTCA_TOOLS_HAS_SQLITE3)
+  set(VOTCA_TOOLS_HAS_SQLITE3 FALSE)
+endif(VOTCA_TOOLS_HAS_SQLITE3)
+
 find_library(VOTCA_TOOLS_LIBRARY NAMES votca_tools HINTS ${PC_VOTCA_TOOLS_LIBRARY_DIRS} )

 #add deps


-BUG: to hasty...

-BUG: to hasty...

--- Testing/Dashboard/pxDashboardCommon.cmake
+++ Testing/Dashboard/pxDashboardCommon.cmake
@@ -75,7 +75,7 @@

 # Select a source directory name.
 if( NOT DEFINED CTEST_SOURCE_DIRECTORY )
-  set( CTEST_SOURCE_DIRECTORY "${CTEST_TOOLS_DIRECTORY}/src" )
+  set( CTEST_SOURCE_DIRECTORY "${CTEST_ITKTOOLS_DIRECTORY}/src" )
 endif()

 # Select a build directory name.


Some changes on the output of setup_finalize.cmake

git-svn-id: fbbf69ba8011aca0e74e1c67904b11cccbdbe66b@26484 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/contrib/cmake/setup_finalize.cmake
+++ deal.II/contrib/cmake/setup_finalize.cmake
@@ -19,23 +19,26 @@
     *                                        *

-    CMAKE_BUILD_TYPE:     ${CMAKE_BUILD_TYPE}
-    CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}
-    CMAKE_SOURCE_DIR:     ${CMAKE_SOURCE_DIR}
-    CMAKE_BINARY_DIR:     ${CMAKE_BINARY_DIR}
+      CMAKE_BUILD_TYPE:     ${CMAKE_BUILD_TYPE}
+      CMAKE_INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX}
+      CMAKE_SOURCE_DIR:     ${CMAKE_SOURCE_DIR}
+      CMAKE_BINARY_DIR:     ${CMAKE_BINARY_DIR}
+
+      CMAKE_CXX_COMPILER:   ${CMAKE_CXX_COMPILER_ID} ${CMAKE_CXX_COMPILER_VERSION}
+    ( CMAKE_C_COMPILER:     ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION} )

 General compiler flags (used by all build targets):

-    CMAKE_C_FLAGS:       ${CMAKE_C_FLAGS}
-    CMAKE_CXX_FLAGS:     ${CMAKE_CXX_FLAGS}
+      CMAKE_CXX_FLAGS:     ${CMAKE_CXX_FLAGS}
+    ( CMAKE_C_FLAGS:       ${CMAKE_C_FLAGS} )
 ")

 IF(CMAKE_BUILD_TYPE MATCHES "Release")
   MESSAGE("
 Additional compiler flags used for the Release target:

-    CMAKE_C_FLAGS_RELEASE:   ${CMAKE_C_FLAGS_RELEASE}
-    CMAKE_CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE}
+      CMAKE_CXX_FLAGS_RELEASE: ${CMAKE_CXX_FLAGS_RELEASE}
+    ( CMAKE_C_FLAGS_RELEASE:   ${CMAKE_C_FLAGS_RELEASE} )
 ")
 ENDIF()

@@ -43,13 +46,15 @@
   MESSAGE("
 Additional compiler flags used for the Debug target:

-    CMAKE_C_FLAGS_DEBUG:   ${CMAKE_C_FLAGS_DEBUG}
-    CMAKE_CXX_FLAGS_DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}
+      CMAKE_CXX_FLAGS_DEBUG: ${CMAKE_CXX_FLAGS_DEBUG}
+    ( CMAKE_C_FLAGS_DEBUG:   ${CMAKE_C_FLAGS_DEBUG} )
 ")
 ENDIF()

 MESSAGE("
-(Note: Flags set with ccmake or the command line will be appended at the end of the default configuration)
+Configured linker flags:
+
+      CMAKE_SHARED_LINKER_FLAGS: ${CMAKE_SHARED_LINKER_FLAGS}

 Configured Features (DEAL_II_FEATURE_AUTODETECTION = ${DEAL_II_FEATURE_AUTODETECTION}):


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
+++ Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 11)

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


Add -lm when using GCC with MKL

Add -lm when using GCC with MKL

--- tests/find_mkl.cmake
+++ tests/find_mkl.cmake
@@ -35,3 +35,18 @@

 add_executable(mkl_sgemm mkl_sgemm.c)
 target_link_libraries(mkl_sgemm ${MKL_LIBRARIES})
+
+# Using GCC requires -lm
+include(CheckFunctionExists)
+
+CHECK_FUNCTION_EXISTS(logf LOGF_EXISTS)
+if(NOT LOGF_EXISTS)
+  unset(LOGF_EXISTS)
+  list(APPEND CMAKE_REQUIRED_LIBRARIES m)
+  CHECK_FUNCTION_EXISTS(logf LOGF_EXISTS)
+  if(LOGF_EXISTS)
+    target_link_libraries(mkl_sgemm m)
+  else()
+    message(FATAL_ERROR "No logf() found")
+  endif()
+endif()


BUG: Bump TubeTK to fix use of ArrayFire and installation command

Two major fixes in this bump:
TubeTK was missing specification of ArrayFire paths needed for
outside application to compile if ArrayFire was turned on when
ITK/TubeTK was compiled.

TubeTK attempted to install a file that is no longer included with
TubeTK

TubeTK can now build its applications. Requires building ITK with
TubeTK, building SlicerExecutionModel (which depends on ITK), and
then re-building ITK with it pointing to the build of
SlicerExecutionModel.   Ugly, but it works.

--- Modules/Remote/TubeTK.remote.cmake
+++ Modules/Remote/TubeTK.remote.cmake
@@ -49,5 +49,5 @@
 "
   MODULE_COMPLIANCE_LEVEL 3
   GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKTubeTK.git
-  GIT_TAG e3eb8677e802812c06a4a3fe19f39d3c6756cf59
+  GIT_TAG 707fa9f67d073739a14cd9b3d05b680271022240
   )


Enable cppunit tests in shared libraries.

--- build_settings.cmake
+++ build_settings.cmake
@@ -101,3 +101,6 @@
 # Don't allow unresolved symbols in executables or shared libraries
 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -Wl,--no-undefined")
 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-undefined")
+
+# Enable cppunit tests in shared libraries
+set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,--no-as-needed")


Enable sized deallocation for clang.

Enable sized deallocation for clang.

--- build_settings.cmake
+++ build_settings.cmake
@@ -37,7 +37,7 @@
 # Note: this is not a union of C_WARN_OPTS, since CMAKE_CXX_FLAGS already includes CMAKE_C_FLAGS, which in turn includes C_WARN_OPTS transitively
 if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
   set(CXX_SPECIFIC_WARN_OPTS "-Wnon-virtual-dtor -Wformat-security -Wno-overloaded-virtual")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-delete-null-pointer-checks")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-delete-null-pointer-checks -fsized-deallocation")
   if(CMAKE_HOST_SYSTEM_NAME STREQUAL "Darwin")
     set(VESPA_ATOMIC_LIB "")
     set(VESPA_GCC_LIB "")


Fix KWSYS_PLATFORM_INFO_TEST when user removes tree

In commit 'Create KWSYS_PLATFORM_INFO_TEST macro' (2009-11-20) we
implemented the macro to use a cache entry to avoid re-running the
try_compile().  However, the output copied from the try_compile is
needed on every configure.  If the user wipes out the build tree but not
the cache file then the try_compile() will not re-run to recreate the
needed file.  We address the problem by teaching the macro to run the
try_compile() whenever its output file does not exist.

--- Utilities/kwsys/kwsysPlatformTests.cmake
+++ Utilities/kwsys/kwsysPlatformTests.cmake
@@ -177,7 +177,7 @@
       ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_FILES_DIRECTORY}/${var}.bin)

     # Compile the test binary.
-    IF(NOT DEFINED ${var}_COMPILED)
+    IF(NOT EXISTS ${KWSYS_PLATFORM_INFO_FILE})
       MESSAGE(STATUS "${description}")
       TRY_COMPILE(${var}_COMPILED
         ${CMAKE_CURRENT_BINARY_DIR}


[cmake] fix missing include, again

[cmake] fix missing include, again

--- Numerics/cmake/SiconosCTest.cmake
+++ Numerics/cmake/SiconosCTest.cmake
@@ -76,6 +76,7 @@
   SET(BUILD_SHARED_LIBS)
   SET(CMAKE_BUILD_TYPE Debug)
   INCLUDE(TestCXXAcceptsFlag)
+  INCLUDE(CheckCCompilerFlag)
   CHECK_CXX_ACCEPTS_FLAG(-ftest-coverage CXX_HAVE_FTEST_COVERAGE)
   CHECK_CXX_ACCEPTS_FLAG(-fprofile-arcs CXX_HAVE_PROFILE_ARCS)
   CHECK_C_COMPILER_FLAG(-ftest-coverage C_HAVE_FTEST_COVERAGE)


build: set OS_ID_LIKE on to be OS_ID on Debian proper

OS_ID_LIKE from /etc/os-release is used to determine
the type of packaging. On Debian it ends up being empty,
so the "ninja package" does not work for out of tree plugin
builds.

Solution: if OS_ID_LIKE is not set, set it to OS_ID

Type: fix
Signed-off-by: Andrew Yourtchenko <eb6233fe2fbd585844f4fb8426b53b186ab379b1@gmail.com>
Change-Id: I077d4fdb509ea94b187d11391b1f49edb94c4e30
Signed-off-by: Andrew Yourtchenko <eb6233fe2fbd585844f4fb8426b53b186ab379b1@gmail.com>

--- src/cmake/pack.cmake
+++ src/cmake/pack.cmake
@@ -64,6 +64,11 @@
   set(CPACK_${type}_PACKAGE_DESCRIPTION "${ARG_DESCRIPTION}")
   set(CPACK_${type}_PACKAGE_RELEASE 1)

+  # Pure Debian does not set the "OS_ID_LIKE", it only sets "OS_ID"
+  if (OS_ID_LIKE MATCHES "")
+    set(OS_ID_LIKE "${OS_ID}")
+  endif()
+
   if(OS_ID_LIKE MATCHES "debian")
     set(CPACK_GENERATOR "DEB")
     set(type "DEBIAN")


CompilerSettings: Use 'gold' linker if not explicitly disabled

--- cmake/modules/CompilerSettings.cmake
+++ cmake/modules/CompilerSettings.cmake
@@ -27,3 +27,19 @@
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall")
 endif()
+
+if(UNIX AND NOT APPLE)
+    if(NOT DEFINED USE_GOLD)
+        execute_process(COMMAND ${CMAKE_C_COMPILER} -fuse-ld=gold -Wl,--version ERROR_QUIET OUTPUT_VARIABLE ld_version)
+        if("${ld_version}" MATCHES "GNU gold")
+            set(USE_GOLD TRUE CACHE BOOL "Use GNU gold linker")
+        else()
+            set(USE_GOLD FALSE CACHE BOOL "Use GNU gold linker")
+        endif()
+    endif()
+    message(STATUS "GNU gold linker enabled: ${USE_GOLD}")
+    if(USE_GOLD)
+        set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=gold -Wl,--disable-new-dtags")
+        set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fuse-ld=gold -Wl,--disable-new-dtags")
+    endif()
+endif()


qt-tools: add qi_generate_qt_conf

qt-tools: add qi_generate_qt_conf

Change-Id: I87aa1ac63e5ca7fcd567f0a46bc81e56f10429dc

Conflicts:
	cmake/qibuild/modules/qt-tools.cmake

--- cmake/qibuild/modules/qt-tools.cmake
+++ cmake/qibuild/modules/qt-tools.cmake
@@ -24,14 +24,41 @@
   # Use upstream cmake files:
   find_package(Qt4 COMPONENTS "")
   include(Qt4Macros)
-  return()
+else()
+  # Using a qt package from a desktop toolchain:
+  # look for moc, uic and rcc in the package before
+  # including Qt4Macros
+  find_program(QT_MOC_EXECUTABLE moc)
+  find_program(QT_UIC_EXECUTABLE uic)
+  find_program(QT_RCC_EXECUTABLE rcc)
+  include(Qt4Macros)
 endif()

-# Using a qt package from a desktop toolchain:
-# look for moc, uic and rcc in the package before
-# including Qt4Macros
-find_program(QT_MOC_EXECUTABLE moc)
-find_program(QT_UIC_EXECUTABLE uic)
-find_program(QT_RCC_EXECUTABLE rcc)
-include(Qt4Macros)
+#! Generate qt.conf. Assumes qi_use_lib(... QT_QTCORE) has been called
+#
+function(qi_generate_qt_conf)
+  # First, find qt and generate qt.conf
+  # containing paths in the toolchain
+
+  list(GET QT_QTCORE_LIBRARIES 0 _lib)
+  if("${_lib}" STREQUAL "debug" OR "${_lib}" STREQUAL "optimized")
+    list(GET QT_QTCORE_LIBRARIES 1 _lib)
+  endif()
+
+  get_filename_component(_lib_path ${_lib} PATH)
+  set(_plugins_path ${_lib_path}/qt4/plugins)
+  file(WRITE "${QI_SDK_DIR}/${QI_SDK_BIN}/qt.conf"
+"[Paths]
+Plugins = ${_plugins_path}
+")
+
+  # Then, generate and install a qt.conf
+  # containing relative paths
+  file(WRITE "${CMAKE_BINARY_DIR}/qt.conf"
+"[Paths]
+Plugins = ../lib/qt4/plugins
+")
+  install(FILES "${CMAKE_BINARY_DIR}/qt.conf" DESTINATION bin COMPONENT runtime)
+
+endfunction()


ENH: Update elastix revision to 5210

ENH: Update elastix revision to 5210

--- SuperBuild/External_Elastix.cmake
+++ SuperBuild/External_Elastix.cmake
@@ -2,7 +2,7 @@

 file( WRITE "${CMAKE_CURRENT_BINARY_DIR}/${proj}-build/CMakeCacheInit.txt" "${ep_common_cache}" )
 set( ELASTIX_REPOSITORY https://svn.bigr.nl/elastix/trunkpublic/ )
-set( ELASTIX_REVISION 5201 )
+set( ELASTIX_REVISION 5210 )

 ExternalProject_Add( ${proj}
   SVN_REPOSITORY ${ELASTIX_REPOSITORY}


Source and binary directory parameterized

--- TestScenarios/ctest-command.cmake
+++ TestScenarios/ctest-command.cmake
@@ -1,8 +1,16 @@
 SET (CTEST_PROJECT_NAME TestScenarios)
 SET (CTEST_CMAKE_GENERATOR "Unix Makefiles")

-SET (CTEST_SOURCE_DIRECTORY "/home/yorn/runtime-New_configuration/TestScenarios")
-SET (CTEST_BINARY_DIRECTORY "/tmp/build")
+SET (CTEST_BINARY_DIRECTORY $ENV{CTEST_BINARY_DIRECTORY})
+IF (NOT CTEST_BINARY_DIRECTORY)
+  SET (CTEST_BINARY_DIRECTORY "/tmp/build")
+ENDIF (NOT CTEST_BINARY_DIRECTORY)
+
+SET (CTEST_SOURCE_DIRECTORY $ENV{CTEST_SOURCE_DIRECTORY})
+MESSAGE ("BINARY: ${CTEST_BINARY_DIRECTORY}")
+IF (NOT CTEST_SOURCE_DIRECTORY)
+  SET (CTEST_SOURCE_DIRECTORY "/home/yorn/runtime-New_configuration/TestScenarios")
+ENDIF (NOT CTEST_SOURCE_DIRECTORY)

 # which ctest command to use for running the dashboard
 SET (CTEST_COMMAND


ENH: disabling still reachable memory report in valgrind

--- src/Testing/Dashboard/elxDashboard_LKEB_linux64_gcc_Debug.cmake
+++ src/Testing/Dashboard/elxDashboard_LKEB_linux64_gcc_Debug.cmake
@@ -40,7 +40,7 @@
 set( dashboard_do_memcheck ON )

 # Valgrind options
-#set( CTEST_MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --quiet --tool=memcheck --leak-check=yes --show-reachable=yes --num-callers=100 --verbose --demangle=yes --gen-suppressions=all" )
+set( CTEST_MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes --tool=memcheck --leak-check=yes --show-reachable=no --num-callers=100 --verbose --demangle=yes" )
 #set( CTEST_MEMORYCHECK_SUPPRESSIONS_FILE ${CTEST_SOURCE_DIRECTORY}/CMake/InsightValgrind.supp )

 # Dashboard settings


Update hunter.cmake

Update hunter.cmake

--- cmake/projects/puffin-buffer/hunter.cmake
+++ cmake/projects/puffin-buffer/hunter.cmake
@@ -5,6 +5,17 @@
 include(hunter_pick_scheme)

 # List of versions here...
+
+hunter_add_version(
+    PACKAGE_NAME
+    puffin-buffer
+    VERSION
+    "0.2.0.0"
+    URL
+    "https://github.com/designerror/puffin-buffer/archive/v0.2.0.0.tar.gz"
+    SHA1
+    7fd581fe0e1a12f3567ee1f867e6fee225aa49a0
+)

 hunter_add_version(
     PACKAGE_NAME


update niftyreg version

update niftyreg version

--- version_config.cmake
+++ version_config.cmake
@@ -92,7 +92,7 @@

 ## NiftyReg
 set(NiftyReg_URL https://github.com/KCL-BMEIS/niftyreg.git )
-set(NiftyReg_TAG 731a565bd42ca97ff5968adb1c06133ea72f0856 )
+set(NiftyReg_TAG 33434c963e35e69fe0b1a3c5bf9057ff53288bc4 )

 ## ISMRMRD
 set(DEFAULT_ISMRMRD_URL https://github.com/ismrmrd/ismrmrd )


fixed typo

fixed typo

Former-commit-id: 640fb5e55e5e8f3edba88a43a20d2f1074f1d31d

--- cmake-modules/Fetch_OpenBLAS.cmake
+++ cmake-modules/Fetch_OpenBLAS.cmake
@@ -9,7 +9,7 @@
 # Otherwise, arpack-ng will complain later about undefined references.

 enable_language(Fortran)
-include(cmake_modules/FindGFortran.cmake)
+include(cmake-modules/FindGFortran.cmake)

 message(STATUS "SEARCHING FOR OpenBLAS IN SYSTEM...")
 set(BLA_VENDOR Open)


fix cmake for sles11

fix cmake for sles11

--- cmake/Modules/FindLibArchive.cmake
+++ cmake/Modules/FindLibArchive.cmake
@@ -46,11 +46,11 @@
   set(_LibArchive_VERSION_STRING)
 endif()

-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
-find_package_handle_standard_args(LibArchive
-                                  REQUIRED_VARS LibArchive_LIBRARY LibArchive_INCLUDE_DIR
-                                  VERSION_VAR LibArchive_VERSION
-  )
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LibArchive
+	DEFAULT_MSG LibArchive_LIBRARY
+	LibArchive_INCLUDE_DIR)
+
 set(LIBARCHIVE_FOUND)

 if(LibArchive_FOUND)


Fix for test  roottest-root-aclic-misc-assertmyfun

--- cmake/modules/RootTestDriver.cmake
+++ cmake/modules/RootTestDriver.cmake
@@ -161,7 +161,7 @@

     if(_errvar0)
       # Filter messages in stderr that are expected
-      string(STRIP ${_errvar0} _errvar0)
+      string(STRIP "${_errvar0}" _errvar0)
       string(REPLACE "\n" ";" _lines "${_errvar0}")
       if(CMAKE_VERSION VERSION_GREATER 3.6)
         list(FILTER _lines EXCLUDE REGEX "^Info in <.+::ACLiC>: creating shared library.+")


Modified the code to generate the SDK.

Modified the code to generate the SDK.

- The SFrame SDK example does not work because a file in process was
missing. This file is now added to the sdk-generation.

--- oss_src/unity/ReplicateSDKSourceTree.cmake
+++ oss_src/unity/ReplicateSDKSourceTree.cmake
@@ -25,6 +25,7 @@
   endif()
 endforeach()

+
 ## Copy sdk examples, and patch the source code include path
 file(COPY sdk/sdk_example DESTINATION "${CMAKE_ARGV3}/sdk" )
 execute_process(COMMAND find ./graphlab \( -name "*.cpp" -or -name "*.hpp" \) -exec ${CMAKE_ARGV4}/oss_local_scripts/patch_sdk.py {} \; WORKING_DIRECTORY ${CMAKE_ARGV3}/sdk)
@@ -47,3 +48,8 @@

 ## Copy doxygen files
 file(COPY sdk/doxygen DESTINATION "${CMAKE_ARGV3}/sdk")
+
+#FIXME: The 'process' directory has to be included to make sure SDK works with
+# SFrame 1.8. This has to be fixed soon.
+execute_process(COMMAND mkdir -p ${CMAKE_ARGV3}/sdk/process)
+execute_process(COMMAND cp ${CMAKE_CURRENT_SOURCE_DIR}/../process/process_util.hpp ${CMAKE_ARGV3}/sdk/process)


Improved libpython search. Now works inside a virtualenv, too.

1. Use HINTS instead of PATHS (other than PATHS, HINTS are searched
   before the system defaults)
2. Searching the default paths, too. Required inside a virtualenv.

--- config/FindVIGRANUMPY_DEPENDENCIES.cmake
+++ config/FindVIGRANUMPY_DEPENDENCIES.cmake
@@ -40,8 +40,8 @@
         execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
                          "import sys; skip = 2 if sys.platform.startswith('win') else 1; print 'python' + sys.version[0:3:skip]"
                           OUTPUT_VARIABLE PYTHON_LIBRARY_NAME OUTPUT_STRIP_TRAILING_WHITESPACE)
-        FIND_LIBRARY(PYTHON_LIBRARIES ${PYTHON_LIBRARY_NAME} PATHS "${PYTHON_PREFIX}"
-                     PATH_SUFFIXES lib lib64 libs DOC "Python libraries" NO_DEFAULT_PATH)
+        FIND_LIBRARY(PYTHON_LIBRARIES ${PYTHON_LIBRARY_NAME} HINTS "${PYTHON_PREFIX}"
+                     PATH_SUFFIXES lib lib64 libs DOC "Python libraries")
     ENDIF()

     # find Python includes


Fix ros/catkin#694 by modifying rosbuild to strip leading -l: from libraries.

--- core/rosbuild/core/rosbuild/public.cmake
+++ core/rosbuild/core/rosbuild/public.cmake
@@ -258,6 +258,25 @@
       list(REVERSE ${_prefix}_LIBRARIES)
     endif()

+    # Strip the leading ':' from any library that was given to us as
+    # ':/path/to/lib'.  Those kinds of libraries generally come from
+    # catkin-generated .pc files that are parsed by rospack via pkg-config.
+    # Newer versions of ld (and gold) don't accept the '-l:/path/to/lib'
+    # syntax.  They've long accepted the '/path/to/lib' syntax, so it
+    # should be safe to just strip the ':' here.  We could remove it at
+    # the source, from the .pc file, but the lib argument needs to start
+    # with '-l' to ensure proper ordering of libs in the return from
+    # pkg-config.
+    # https://github.com/ros/catkin/issues/694
+    if(${_prefix}_LIBRARIES)
+      set(_${_prefix}_LIBRARIES ${${_prefix}_LIBRARIES})
+      set(${_prefix}_LIBRARIES "")
+      foreach(_lib ${_${_prefix}_LIBRARIES})
+        string(REGEX REPLACE "^:/" "/" _lib_nocolon ${_lib})
+        list(APPEND ${_prefix}_LIBRARIES ${_lib_nocolon})
+      endforeach(_lib)
+    endif()
+
     # Also throw in the libs that we want to link everything against (only
     # use case for this so far is -lgcov when building with code coverage
     # support).


Adapted CreateBlueBerryApplication function for usage of Qt5.

--- BlueBerry/CMake/FunctionCreateBlueBerryApplication.cmake
+++ BlueBerry/CMake/FunctionCreateBlueBerryApplication.cmake
@@ -109,7 +109,7 @@
 else()
   add_executable(${_APP_NAME} MACOSX_BUNDLE WIN32 ${_APP_SOURCES} ${WINDOWS_ICON_RESOURCE_FILE})
 endif()
-mitk_use_modules(TARGET ${_APP_NAME} MODULES mbilog PACKAGES Poco Qt4|QtCore)
+mitk_use_modules(TARGET ${_APP_NAME} MODULES mbilog PACKAGES Poco Qt4|QtCore Qt5|Core)

 set_target_properties(${_APP_NAME} PROPERTIES
                       COMPILE_FLAGS "${_app_compile_flags}")


px4_fmu-v2_fixedwing: disable vmount to save flash

--- boards/px4/fmu-v2/fixedwing.cmake
+++ boards/px4/fmu-v2/fixedwing.cmake
@@ -57,7 +57,7 @@
 		rc_update
 		sensors
 		temperature_compensation
-		vmount
+		#vmount
 	SYSTEMCMDS
 		#bl_update
 		#config


fix dependency declarations for some externals

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -17,7 +17,7 @@

 set(pcl_drc_url https://svn.csail.mit.edu/drc/trunk/software/externals/pcl_drc)
 set(pcl_drc_revision 8298)
-set(pcl_drc_depends Eigen_pod)
+set(pcl_drc_depends Eigen_pod pcl_dep)

 set(octomap-drc_url https://svn.csail.mit.edu/drc/trunk/software/externals/octomap-drc)
 set(octomap-drc_revision 8298)
@@ -65,7 +65,7 @@

 set(fovis-git_url https://svn.csail.mit.edu/drc/trunk/software/externals/fovis-git)
 set(fovis-git_revision 8298)
-set(fovis-git_depends libbot-drc Eigen_pod)
+set(fovis-git_depends libbot-drc Eigen_pod kinect)

 set(estimate-pose_url https://svn.csail.mit.edu/rrg_pods/estimate-pose)
 set(estimate-pose_revision 827)


Ensure ccache is used for LLVM

Ensure ccache is used for LLVM

LLVM is build using separate cmake invocation so our root ccache
setting did not propagate to it.

Enabling it speeds up "do clean && do build" user CPU time by 4x.

--- gapii/interceptor-lib/cc/CMakeBuild.cmake
+++ gapii/interceptor-lib/cc/CMakeBuild.cmake
@@ -39,6 +39,7 @@
         "-DLLVM_TARGETS_TO_BUILD:STRING=${LLVM_TARGET_ARCH}"
         "-DPYTHON_EXECUTABLE:PATH=${PYTHON_EXECUTABLE}"
         "-DLLVM_TABLEGEN:PATH=${CMAKE_BINARY_DIR}/../../../bin/llvm/llvm-tblgen${CMAKE_HOST_EXECUTABLE_SUFFIX}"
+        "-DLLVM_CCACHE_BUILD:BOOL=ON"
     )
     add_cmake_target(llvm interceptor ${dst} "libinterceptor.so"
         DEPENDS ${sources}
@@ -51,6 +52,7 @@
     add_cmake(llvm "${CMAKE_SOURCE_DIR}/third_party/llvm"
         "-DCMAKE_TOOLCHAIN_FILE:STRING=${CMAKE_CURRENT_BINARY_DIR}/toolchain.cmake"
         "-DPYTHON_EXECUTABLE:PATH=${PYTHON_EXECUTABLE}"
+        "-DLLVM_CCACHE_BUILD:BOOL=ON"
     )
     add_cmake_target(llvm llvm-tblgen ${dst} "llvm-tblgen${CMAKE_HOST_EXECUTABLE_SUFFIX}"
         DEPENDS ${sources}


Remove unused macros

Remove unused macros

--- cmake/CreatePortableHeaders.cmake
+++ cmake/CreatePortableHeaders.cmake
@@ -1,30 +0,0 @@
-# Creates portable headers; e.g.:
-#     Creates XdgAction from xdgaction.h
-#     XdgAction contents:
-#     #include "xdgaction.h"
-#
-# Use:
-# set(PUBLIC_CLASSES MyClass YourClass)
-# create_portable_headers(PORTABLE_HEADERS ${PUBLIC_CLASSES})
-# PORTABLE_HEADER is an return value that contains the full name of the
-#   generated headers.
-
-function(create_portable_headers outfiles)
-    set(options)
-    set(oneValueArgs)
-    set(multiValueArgs)
-
-    cmake_parse_arguments(_CREATE_PORTABLE_HEADERS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-    set(class_list ${_CREATE_PORTABLE_HEADERS_UNPARSED_ARGUMENTS})
-    foreach(f ${class_list})
-        string(TOLOWER "${f}.h" _filename)
-
-        file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${f}
-            "#include \"${_filename}\"")
-
-        list(APPEND ${outfiles} ${CMAKE_CURRENT_BINARY_DIR}/${f})
-    endforeach()
-
-    set(${outfiles} ${${outfiles}} PARENT_SCOPE)
-endfunction()
-


[CMake] set_target_properties doesn't append link flags

This fixes a bug I introduced in r254643.

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

--- cmake/Modules/AddCompilerRT.cmake
+++ cmake/Modules/AddCompilerRT.cmake
@@ -325,7 +325,7 @@
       OR CMAKE_CXX_FLAGS_${uppercase_CMAKE_BUILD_TYPE} MATCHES "-flto")

       set(lto_object ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/${name}-lto.o)
-      set_target_properties(${name} PROPERTIES
+      set_property(TARGET ${name} APPEND_STRING PROPERTY
         LINK_FLAGS "-Wl,-object_path_lto -Wl,${lto_object}")
     endif()
     add_custom_command(TARGET ${name} POST_BUILD


cmake: fix detection of trompeloeil

cmake: fix detection of trompeloeil

--- cmake/external_dependencies.cmake
+++ cmake/external_dependencies.cmake
@@ -101,8 +101,15 @@
 endfunction()

 function(setup_trompeloeil)
-    set(CHECK_SOURCE "#include <doctest/trompeloeil.hpp>
-                      #include <trompeloeil.hpp>")
+    set(CHECK_SOURCE "#if __has_include(<doctest/trompeloeil.hpp>)
+                      #else
+                      #error no doctest/trompeloeil.hpp
+                      #endif
+                      #if __has_include(<trompeloeil.hpp>)
+                      #else
+                      #error no trompeloeil.hpp
+                      #endif
+                      int main() { }")
     setup_library("${CHECK_SOURCE}"
                   NAME trompeloeil
                   GIT_REPOSITORY https://github.com/rollbear/trompeloeil.git


Properly treat the NO_ROOTMAP argument with genreflex

thanks Philipp Schoppe for the joint debug session!

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -166,6 +166,7 @@

   set(gensrcdict ${dictionary}.cxx)

+  message("${dictionary}: ${CMAKE_ROOTTEST_NOROOTMAP}")
   #---roottest compability---------------------------------
   if(CMAKE_ROOTTEST_NOROOTMAP)
     set(rootmapname )
@@ -174,6 +175,7 @@
     set(rootmapname ${dictionary}Dict.rootmap)
     set(rootmapopts --rootmap=${rootmapname} --rootmap-lib=${libprefix}${dictionary}Dict)
   endif()
+  message("${rootmapname}")

   set(include_dirs -I${CMAKE_CURRENT_SOURCE_DIR})
   get_directory_property(incdirs INCLUDE_DIRECTORIES)