Change product GUID for MSI installer.

Change product GUID for MSI installer.

--- build/cmake/CondorPackageConfig.cmake
+++ build/cmake/CondorPackageConfig.cmake
@@ -185,7 +185,7 @@
 	set (CPACK_PACKAGE_ICON ${CONDOR_WIX_LOC}/Bitmaps/dlgbmp.bmp)
 	set (CPACK_RESOURCE_FILE_LICENSE "${CONDOR_SOURCE_DIR}/msconfig/license.rtf")

-	set (CPACK_WIX_PRODUCT_GUID "792D07D2-0D3B-46C4-ABBE-849374A8E0B3")
+	set (CPACK_WIX_PRODUCT_GUID "61F15EF4-0C24-4240-8706-3EB2EA0AF62C")
 	set (CPACK_WIX_UPGRADE_GUID "ef96d7c4-29df-403c-8fab-662386a089a4")

 	set (CPACK_WIX_WXS_FILES ${CONDOR_WIX_LOC}/xml/CondorCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorPoolCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorExecCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorDomainCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorEmailCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorJavaCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorPermCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorVMCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorHDFSCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorUpHostDlg.wxs)


Switch to pkgconfig metadata for cURL OpenSSL lookup

The pkgconfig style is the preferred way to correctly set the library
and include search paths for building cURL with OpenSSL support.  This
style has the distinct advantage of supporting multilib [1].

  1. https://github.com/TileDB-Inc/TileDB-Java/commit/3ecd3436297a3952137eb07f464fae6855fe835c

--- cmake/Modules/FindCurl_EP.cmake
+++ cmake/Modules/FindCurl_EP.cmake
@@ -99,7 +99,8 @@
     set(DEPENDS)
     if (TARGET ep_openssl)
       list(APPEND DEPENDS ep_openssl)
-      set(WITH_SSL "--with-ssl=${TILEDB_EP_INSTALL_PREFIX}")
+      set(WITH_SSL "--with-ssl")
+      set(SSL_PKG_CONFIG_PATH "${TILEDB_EP_INSTALL_PREFIX}/lib/pkgconfig:${TILEDB_EP_INSTALL_PREFIX}/lib64/pkgconfig")
     elseif (TILEDB_OPENSSL_DIR)
       # ensure that curl links against the same libSSL
       set(WITH_SSL "--with-ssl=${TILEDB_OPENSSL_DIR}")
@@ -126,7 +127,7 @@
       URL "https://curl.haxx.se/download/curl-7.71.1.tar.gz"
       URL_HASH SHA1=9c032e134c7684f34f98afaf9974f048da893930
       CONFIGURE_COMMAND
-        ${TILEDB_EP_BASE}/src/ep_curl/configure
+        ${CMAKE_COMMAND} -E env PKG_CONFIG_PATH=${SSL_PKG_CONFIG_PATH} ${TILEDB_EP_BASE}/src/ep_curl/configure
           --prefix=${TILEDB_EP_INSTALL_PREFIX}
           --enable-optimize
           --enable-shared=no


cmake: Qt5QGCConfiguration: Check for FOUND_QT_VERSIONS before continue

Signed-off-by: Patrick José Pereira <c2b7559029b4032a4ce95718d7d3bc36c8a1d7c1@gmail.com>

--- cmake/Qt5QGCConfiguration.cmake
+++ cmake/Qt5QGCConfiguration.cmake
@@ -9,6 +9,9 @@
 		$ENV{HOME}/Qt/5.12.*
 		$ENV{HOME}/Qt/5.15.*
 	)
+	if(NOT FOUND_QT_VERSIONS)
+		return()
+	endif()
 	list(SORT FOUND_QT_VERSIONS) # prefer 5.12
 	list(GET FOUND_QT_VERSIONS 0 QT_VERSION_PATH)
 	get_filename_component(QT_VERSION ${QT_VERSION_PATH} NAME)


newer CEF Version

newer CEF Version

--- cmake/external/FindCEFLib.cmake
+++ cmake/external/FindCEFLib.cmake
@@ -10,12 +10,12 @@

         # Determine the platform.
         if("${CMAKE_SYSTEM_NAME}" STREQUAL "Darwin")
-            set(CEF_URL "http://opensource.spotify.com/cefbuilds/cef_binary_3.3239.1710.g85f637a_macosx64.tar.bz2")
+            set(CEF_URL "http://opensource.spotify.com/cefbuilds/cef_binary_3.3282.1733.g9091548_macosx64.tar.bz2")
         elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux")
-            set(CEF_URL "http://opensource.spotify.com/cefbuilds/cef_binary_3.3239.1710.g85f637a_linux64.tar.bz2")
+            set(CEF_URL "http://opensource.spotify.com/cefbuilds/cef_binary_3.3282.1733.g9091548_linux64.tar.bz2")
         elseif("${CMAKE_SYSTEM_NAME}" STREQUAL "Windows")
         set(OS_WINDOWS 1)
-            set(CEF_URL "http://opensource.spotify.com/cefbuilds/cef_binary_3.3239.1709.g093cae4_windows64.tar.bz2")
+            set(CEF_URL "http://opensource.spotify.com/cefbuilds/cef_binary_3.3282.1733.g9091548_windows64.tar.bz2")
         endif()

         if(NOT DEFINED CEF_URL)


Implement CTestCustom.cmake files in sources. Attempt to fix ROOT-6529

--- cmake/modules/CTestCustom.cmake
+++ cmake/modules/CTestCustom.cmake
@@ -20,6 +20,11 @@
         "fatal error: cannot open file")

 #---Include other CTest Custom files----------------------------------------
-include(test/CTestCustom.cmake OPTIONAL)
-include(roottest/CTestCustom.cmake OPTIONAL)
-include(tutorials/CTestCustom.cmake OPTIONAL)
+if(DEFINED CTEST_BINARY_DIRECTORY)
+  set(dir ${CTEST_BINARY_DIRECTORY})
+else()
+  set(dir .)
+endif()
+include(${dir}/test/CTestCustom.cmake OPTIONAL)
+include(${dir}/roottest/CTestCustom.cmake OPTIONAL)
+include(${dir}/tutorials/CTestCustom.cmake OPTIONAL)


Fix the previous fix

Fix the previous fix

--- cmake/modules/FindOpenVDB.cmake
+++ cmake/modules/FindOpenVDB.cmake
@@ -520,7 +520,7 @@
   if(NOT TARGET OpenVDB::${COMPONENT})
     if (${COMPONENT} STREQUAL openvdb)
       include (${CMAKE_CURRENT_LIST_DIR}/CheckAtomic.cmake)
-      set(_LINK_LIBS _OPENVDB_VISIBLE_DEPENDENCIES ${CMAKE_REQUIRED_LIBRARIES})
+      set(_LINK_LIBS ${_OPENVDB_VISIBLE_DEPENDENCIES} ${CMAKE_REQUIRED_LIBRARIES})
     else ()
       set(_LINK_LIBS _OPENVDB_VISIBLE_DEPENDENCIES)
     endif ()


x86: qemu: add -no-acpi to QEMU if CONFIG_ACPI=n

Tell QEMU not to use ACPI if CONFIG_ACPI=n. This gives
us back 128K at the end of memory.

Signed-off-by: Daniel Leung <d94e04d205b5962d7873a139ef298b03c1717f72@intel.com>

--- boards/x86/qemu_x86/board.cmake
+++ boards/x86/qemu_x86/board.cmake
@@ -27,6 +27,10 @@
   -nographic
   )

+if(NOT CONFIG_ACPI)
+  list(APPEND QEMU_FLAGS_${ARCH} -no-acpi)
+endif()
+
 # TODO: Support debug
 # board_set_debugger_ifnset(qemu)
 # debugserver: QEMU_EXTRA_FLAGS += -s -S


CMake: Disable MPI autodetection

CMake: Disable MPI autodetection

--- cmake/configure/configure_1_mpi.cmake
+++ cmake/configure/configure_1_mpi.cmake
@@ -12,6 +12,13 @@
 ## the top level of the deal.II distribution.
 ##
 ## ---------------------------------------------------------------------
+
+#
+# Never autodetect MPI support. This forces the user to explicitly enable
+# MPI support with -DWITH_MPI=ON (or -DDEAL_II_WITH_MPI=ON) on the command
+# line.
+#
+SET(DEAL_II_WITH_MPI OFF CACHE BOOL "")

 #
 # Configuration for mpi support:


Since some time clang itself figures out the default for ms-compatibility-version  and uses it. Trying to figure it out during build is redundant and also will not work when the environment variable VSINSTALLDIR is not defined (which is not defined if you don't install whole Visual Studio but use Visual C++ Build Tools package).

Tested by bootstrapping clang with clang-cl.

Differential Revision: http://reviews.llvm.org/D20672

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -353,19 +353,6 @@
   append("/Zc:rvalueCast" CMAKE_CXX_FLAGS)

   if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-    # Find and run MSVC (not clang-cl) and get its version. This will tell
-    # clang-cl what version of MSVC to pretend to be so that the STL works.
-    execute_process(COMMAND "$ENV{VSINSTALLDIR}/VC/bin/cl.exe"
-      OUTPUT_QUIET
-      ERROR_VARIABLE MSVC_COMPAT_VERSION
-      )
-    string(REGEX REPLACE "^.*Compiler Version ([0-9.]+) for .*$" "\\1"
-      MSVC_COMPAT_VERSION "${MSVC_COMPAT_VERSION}")
-    append("-fms-compatibility-version=${MSVC_COMPAT_VERSION}"
-      CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
-  endif()
-
-  if (CMAKE_CXX_COMPILER_ID MATCHES "Clang")
     # clang-cl and cl by default produce non-deterministic binaries because
     # link.exe /incremental requires a timestamp in the .obj file.  clang-cl
     # has the flag /Brepro to force deterministic binaries. We want to pass that


Remove cmake module support for Visual C++ 2010 (MSVC10)
but keep the MSVC11 (Visual C++ 2012) support.

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -205,14 +205,8 @@
     if( LLVM_COMPILER_JOBS STREQUAL "0" )
       add_llvm_definitions( /MP )
     else()
-      if (MSVC10)
-        message(FATAL_ERROR
-          "Due to a bug in CMake only 0 and 1 is supported for "
-          "LLVM_COMPILER_JOBS when generating for Visual Studio 2010")
-      else()
-        message(STATUS "Number of parallel compiler jobs set to " ${LLVM_COMPILER_JOBS})
-        add_llvm_definitions( /MP${LLVM_COMPILER_JOBS} )
-      endif()
+      message(STATUS "Number of parallel compiler jobs set to " ${LLVM_COMPILER_JOBS})
+      add_llvm_definitions( /MP${LLVM_COMPILER_JOBS} )
     endif()
   else()
     message(STATUS "Parallel compilation disabled")
@@ -231,13 +225,7 @@
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /STACK:10000000")
   endif()

-  if( MSVC10 )
-    # MSVC 10 will complain about headers in the STL not being exported, but
-    # will not complain in MSVC 11.
-    add_llvm_definitions(
-      -wd4275 # Suppress 'An exported class was derived from a class that was not exported.'
-    )
-  elseif( MSVC11 )
+  if( MSVC11 )
     add_llvm_definitions(-D_VARIADIC_MAX=10)
   endif()


[CMake] Stop requiring ${SDK}/System/Library/Frameworks/module.modulemap

Remove anachronistic check for a "blanket" module map in
/System/Library/Frameworks from Darwin SDK configuration. We already
extract other information from the SDK that we actually need, so check
for that directly instead.

Fixes rdar://problem/60084609.

--- cmake/modules/SwiftConfigureSDK.cmake
+++ cmake/modules/SwiftConfigureSDK.cmake
@@ -127,12 +127,9 @@
         COMMAND "xcrun" "--sdk" "${xcrun_name}" "--show-sdk-path"
         OUTPUT_VARIABLE SWIFT_SDK_${prefix}_PATH
         OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if(NOT EXISTS "${SWIFT_SDK_${prefix}_PATH}/System/Library/Frameworks/module.map")
-      message(FATAL_ERROR "${name} SDK not found at ${SWIFT_SDK_${prefix}_PATH}.")
-    endif()
-  endif()
-
-  if(NOT EXISTS "${SWIFT_SDK_${prefix}_PATH}/System/Library/Frameworks/module.map")
+  endif()
+
+  if(NOT EXISTS "${SWIFT_SDK_${prefix}_PATH}/SDKSettings.plist")
     message(FATAL_ERROR "${name} SDK not found at SWIFT_SDK_${prefix}_PATH.")
   endif()


updated copyright info

updated copyright info

--- BasisProject.cmake
+++ BasisProject.cmake
@@ -95,7 +95,7 @@
   DIVISION_NAME    #<division-name>
   DIVISION_LOGO    #<division-logo>
   DIVISION_WEBSITE "http://www.github.com/ahundt/grl"
-  COPYRIGHT        "2015 Andrew Hundt, Alex Strickland, Shahriar Sefati"
+  COPYRIGHT        "2015-2016 Andrew Hundt et al"
   LICENSE          "BSD license, See COPYING file for license information."
   CONTACT          "Andrew Hundt <ATHundt@gmail.com>"
   TEMPLATE         "basis/1.1"


CMake: add a check for official LLVM 3.5 of Ubuntu which is broken (really not a 3.5 but some 3.4+patches svn checkout)

--- cmake/LLVM.cmake
+++ cmake/LLVM.cmake
@@ -148,6 +148,13 @@
        See the INSTALL file for more information.")
 endif()

+# Ubuntu's LLVM 3.5 is broken
+message(STATUS "Testing for Ubuntu's broken LLVM 3.5+")
+if((LLVM_MINOR GREATER 4) AND (CMAKE_SYSTEM_NAME MATCHES "Linux"))
+  if(NOT EXISTS "${LLVM_INCLUDEDIR}/llvm/IR/CFG.h")
+    message(FATAL_ERROR "Your llvm installation is broken. This is known to be the case on Ubuntu and clones with llvm 3.5; official llvm 3.5 downloads should work though.")
+  endif()
+endif()

 # A few work-arounds for llvm-config issues


Adjusted CUDA arches for NEW_RELEASE_ALL (#40660)

--- cmake/cuda.cmake
+++ cmake/cuda.cmake
@@ -11,7 +11,7 @@
   add_definitions(-DNEW_RELEASE_ALL)
   set(paddle_known_gpu_archs "35 50 52 60 61 70 75 80 86")
   set(paddle_known_gpu_archs10 "35 50 52 60 61 70 75")
-  set(paddle_known_gpu_archs11 "35 50 52 60 61 70 75 80")
+  set(paddle_known_gpu_archs11 "35 50 60 61 70 75 80")
 elseif(NEW_RELEASE_PYPI)
   message("Using New Release Strategy - Cubin Packge")
   add_definitions(-DNEW_RELEASE_PYPI)


revert CMake bug introduced by a218f6c4

revert CMake bug introduced by a218f6c4

--- cmake/glut.cmake
+++ cmake/glut.cmake
@@ -56,7 +56,9 @@
   ENDIF()
 ELSE()
   FIND_PACKAGE(GLUT)
-  IF (NOT GLUT_FOUND)
+  IF (GLUT_FOUND)
+    SET(GLUT_LIBRARIES glut GLU m)
+  ELSE()
     FIND_PATH(GLUT_INCLUDE_DIR GL/glut.h
       $ENV{TACC_FREEGLUT_INC}
       )


Enhanced notes target using ack-grep

Enhanced notes target using ack-grep

--- cmake/Modules/MacroNotesTarget.cmake
+++ cmake/Modules/MacroNotesTarget.cmake
@@ -2,8 +2,14 @@
 # Usage:
 #   add_notes_target()
 macro(add_notes_target)
+    find_program(ACK NAMES ack ack-grep)
+    if (ACK-NOTFOUND)
+        set(command "grep -inRE 'todo|fixme|xxx' *")
+    else()
+        set(command "ack -i '(todo|fixme|xxx):?[[:space:]]+(.*)' --output=' $1 $2'")
+    endif()
     add_custom_target(notes
-        COMMAND find . | xargs grep --color=always -iRE "todo|fixme|xxx" | sort | uniq
+        COMMAND sh -c ${command} && echo
         VERBATIM
         WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
         COMMENT "Showing notes")


Fix OpenNI/Sensor Download URL

Fix OpenNI/Sensor Download URL

Fix OpenNI/Sensor Download URL

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

     if(CMAKE_CL_64)
         set(OPENNI_PACKAGE "OpenNI-Win64-1.5.4-Dev.msi")
-        set(OPENNI_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_PACKAGE}")
+        set(OPENNI_URL "http://sourceforge.net/projects/pointclouds/files/dependencies/${OPENNI_PACKAGE}")
         set(OPENNI_MD5 c8f9cbe8447a16d32572a4e2c2d00af0)
         set(OPENNI_SENSOR_PACKAGE "Sensor-Win-OpenSource64-5.1.0.msi")
-        set(OPENNI_SENSOR_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_SENSOR_PACKAGE}")
+        set(OPENNI_SENSOR_URL "http://sourceforge.net/projects/pointclouds/files/dependencies/${OPENNI_SENSOR_PACKAGE}")
         set(OPENNI_SENSOR_MD5 badb880116436870943b1b7c447dfa22)
     else(CMAKE_CL_64)
         set(OPENNI_PACKAGE "OpenNI-Win32-1.5.4-Dev.msi")
-        set(OPENNI_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_PACKAGE}")
+        set(OPENNI_URL "http://sourceforge.net/projects/pointclouds/files/dependencies/${OPENNI_PACKAGE}")
         set(OPENNI_MD5 0b7118a0581abef411b58530d4039cf0)
         set(OPENNI_SENSOR_PACKAGE "Sensor-Win-OpenSource32-5.1.0.msi")
-        set(OPENNI_SENSOR_URL "http://www.pointclouds.org/assets/files/dependencies/${OPENNI_SENSOR_PACKAGE}")
+        set(OPENNI_SENSOR_URL "http://sourceforge.net/projects/pointclouds/files/dependencies/${OPENNI_SENSOR_PACKAGE}")
         set(OPENNI_SENSOR_MD5 8bf14b2e813859f868fc316acb2d08fa)
     endif(CMAKE_CL_64)


vita.toolchain.cmake: Set pkg-config path

Make CMake use VitaSDK's pkg-config wrapper instead of the system one

--- cmake_toolchain/vita.toolchain.cmake
+++ cmake_toolchain/vita.toolchain.cmake
@@ -107,6 +107,7 @@
 # where is the target environment
 set( CMAKE_FIND_ROOT_PATH "${VITASDK}/bin" "${VITASDK}/arm-vita-eabi" "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_PREFIX}/share" )
 set( CMAKE_INSTALL_PREFIX "${VITASDK}/arm-vita-eabi" CACHE PATH "default install path" )
+set( PKG_CONFIG_EXECUTABLE "${VITASDK}/bin/arm-vita-eabi-pkg-config" )

 # only search for libraries and includes in vita toolchain
 if( NOT CMAKE_FIND_ROOT_PATH_MODE_LIBRARY )


Write noarch modules to a separate directory

Ninja says that multiple rules write to the same destination.

--- conf/sprokit-macro-python.cmake
+++ conf/sprokit-macro-python.cmake
@@ -89,11 +89,13 @@

   set(python_sitepath /site-packages)
   set(python_arch)
+  set(python_noarchdir)

   if (WIN32)
     set(python_install_path bin)
   else ()
     if (python_noarch)
+      set(python_noarchdir /noarch)
       set(python_install_path lib)
       set(python_arch u)
     else ()
@@ -105,15 +107,15 @@
     set(sprokit_configure_cmake_args
       "\"-Dconfig=${CMAKE_CFG_INTDIR}/\"")
     set(sprokit_configure_extra_dests
-      "${sprokit_python_output_path}/\${config}${python_sitepath}/${modpath}/${module}.py")
+      "${sprokit_python_output_path}/${python_noarchdir}\${config}${python_sitepath}/${modpath}/${module}.py")
   endif ()
   sprokit_configure_file("python${python_arch}-${safe_modpath}-${module}"
     "${path}"
-    "${sprokit_python_output_path}${python_sitepath}/${modpath}/${module}.py"
+    "${sprokit_python_output_path}${python_noarchdir}${python_sitepath}/${modpath}/${module}.py"
     PYTHON_EXECUTABLE)

   sprokit_install(
-    FILES       "${sprokit_python_output_path}${python_sitepath}/${modpath}/${module}.py"
+    FILES       "${sprokit_python_output_path}${python_noarchdir}${python_sitepath}/${modpath}/${module}.py"
     DESTINATION "${python_install_path}/${sprokit_python_subdir}${python_sitepath}/${modpath}"
     COMPONENT   runtime)


Fixed missing wildcard in LoadSources.cmake

--- LoadSources.cmake
+++ LoadSources.cmake
@@ -20,7 +20,7 @@
   ENDIF()
   DIRLIST_RECURSE(dir_list ${dir})
   FOREACH(subdir ${dir_list})
-    file(GLOB file_list RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${subdir}/*.h ${subdir}/*.cc ${subdir}/.cpp)
+    file(GLOB file_list RELATIVE ${CMAKE_CURRENT_SOURCE_DIR} ${subdir}/*.h ${subdir}/*.cc ${subdir}/*.cpp)
     list(APPEND ${result} ${file_list})
 	string(REGEX REPLACE "/" "\\\\\\\\" _sourcegroup "${subdir}")
     source_group("${_sourcegroup}" FILES ${file_list})


apply user provided prefix header to unity build target

--- CMake/cotire.cmake
+++ CMake/cotire.cmake
@@ -2731,6 +2731,20 @@
 	set (${_unityTargetSourcesVar} ${_unityTargetSources} PARENT_SCOPE)
 endfunction()

+function (cotire_setup_unity_target_pch_usage _languages _target)
+	foreach (_language ${_languages})
+		get_property(_unityFiles TARGET ${_target} PROPERTY COTIRE_${_language}_UNITY_SOURCE)
+		if (_unityFiles)
+			get_property(_userPrefixFile TARGET ${_target} PROPERTY COTIRE_${_language}_PREFIX_HEADER_INIT)
+			get_property(_prefixFile TARGET ${_target} PROPERTY COTIRE_${_language}_PREFIX_HEADER)
+			if (_userPrefixFile AND _prefixFile)
+				# user provided prefix header must be included unconditionally by unity sources
+				cotire_setup_prefix_file_inclusion(${_language} ${_target} "${_prefixFile}" ${_unityFiles})
+			endif()
+		endif()
+	endforeach()
+endfunction()
+
 function (cotire_setup_unity_build_target _languages _configurations _target)
 	get_target_property(_unityTargetName ${_target} COTIRE_UNITY_TARGET_NAME)
 	if (NOT _unityTargetName)
@@ -2956,6 +2970,9 @@
 	if (_targetUsePCH)
 		cotire_setup_target_pch_usage("${_targetLanguages}" ${_target} ${_wholeTarget} ${_cmds})
 		cotire_setup_pch_target("${_targetLanguages}" "${_option_CONFIGURATIONS}" ${_target})
+		if (_targetAddSCU)
+			cotire_setup_unity_target_pch_usage("${_targetLanguages}" ${_target})
+		endif()
 	endif()
 	get_target_property(_targetAddCleanTarget ${_target} COTIRE_ADD_CLEAN)
 	if (_targetAddCleanTarget)


VWR-20911 FOLLOWUP fixed indentation (cmake files use spaces only)

--- indra/cmake/Variables.cmake
+++ indra/cmake/Variables.cmake
@@ -60,12 +60,12 @@
     set(ARCH x86_64)
   else (WORD_SIZE EQUAL 32)
     if(CMAKE_SIZEOF_VOID_P MATCHES 4)
- 		set(ARCH i686)
-		set(WORD_SIZE 32)
-	else(CMAKE_SIZEOF_VOID_P MATCHES 4)
-		set(ARCH x86_64)
-		set(WORD_SIZE 64)
-	endif(CMAKE_SIZEOF_VOID_P MATCHES 4)
+      set(ARCH i686)
+      set(WORD_SIZE 32)
+    else(CMAKE_SIZEOF_VOID_P MATCHES 4)
+      set(ARCH x86_64)
+      set(WORD_SIZE 64)
+    endif(CMAKE_SIZEOF_VOID_P MATCHES 4)
   endif (WORD_SIZE EQUAL 32)

   set(LL_ARCH ${ARCH}_linux)


fix SKIP_INSTALL to affect generated files

--- cmake/rosidl_typesupport_introspection_cpp_generate_interfaces.cmake
+++ cmake/rosidl_typesupport_introspection_cpp_generate_interfaces.cmake
@@ -104,11 +104,13 @@
   ${rosidl_generate_interfaces_TARGET}__cpp
 )

-install(
-  TARGETS ${rosidl_generate_interfaces_TARGET}${_target_suffix}
-  ARCHIVE DESTINATION lib
-  LIBRARY DESTINATION lib
-  RUNTIME DESTINATION bin
-)
+if(NOT rosidl_generate_interfaces_SKIP_INSTALL)
+  install(
+    TARGETS ${rosidl_generate_interfaces_TARGET}${_target_suffix}
+    ARCHIVE DESTINATION lib
+    LIBRARY DESTINATION lib
+    RUNTIME DESTINATION bin
+  )
+endif()

 ament_export_libraries(${rosidl_generate_interfaces_TARGET}${_target_suffix})


Forgot threads

Forgot threads

Former-commit-id: 393e160cf2dc21416bca12adc9b1eaca4e6f9ff8

--- cmake-modules/Fetch_Ceres.cmake
+++ cmake-modules/Fetch_Ceres.cmake
@@ -9,7 +9,7 @@
     target_include_directories(ceres INTERFACE ${CERES_INCLUDE_DIR})
     remove_shared(ceres)
     remove_pthread(ceres)
-    target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags)
+    target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags Threads::Threads)

 else()
@@ -54,7 +54,7 @@
         message(STATUS "ceres installed successfully")
         get_target_property(cereslib  ceres IMPORTED_LOCATION_${BUILD_TYPE})
         target_link_libraries(ceres INTERFACE ${cereslib})
-        target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags)
+        target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags Threads::Threads)
         remove_shared(ceres)
         remove_pthread(ceres)
         target_include_directories(ceres INTERFACE ${CERES_INCLUDE_DIR})


MAINT: remove pedantic flag to eliminate spurious warnings with gcc.

--- cmake/DOConfigureCompiler.cmake
+++ cmake/DOConfigureCompiler.cmake
@@ -71,7 +71,6 @@

 if (UNIX)
   # Base compilation flags.
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -pedantic")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wcast-align")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wextra")


Added common search path for deb packages.

* /usr/include/openni2 is a common install location for unofficial OpenNI2 deb packages.

--- cmake/Modules/FindOpenNI2.cmake
+++ cmake/Modules/FindOpenNI2.cmake
@@ -48,8 +48,10 @@
 endif(WIN32 AND CMAKE_SIZEOF_VOID_P EQUAL 8)

 find_path(OPENNI2_INCLUDE_DIRS OpenNI.h
-          PATHS "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}"  # Linux/Windows default path, Win64 needs '64' suffix
-          )
+    PATHS
+    "$ENV{OPENNI2_INCLUDE${OPENNI2_SUFFIX}}"  # Win64 needs '64' suffix
+    /usr/include/openni2  # common path for deb packages
+)

 find_library(OPENNI2_LIBRARY
              NAMES OpenNI2  # No suffix needed on Win64


Fix variables in sqlite find module.

Fix variables in sqlite find module.

--- cmake/Modules/FindSqlite3.cmake
+++ cmake/Modules/FindSqlite3.cmake
@@ -33,7 +33,7 @@
     NAMES
       sqlite3.h
     PATHS
-      ${_Sqlite3IncDir}
+      ${__SQLITE3_INCLUDEDIR}
       /usr/include
       /usr/local/include
       /opt/local/include
@@ -44,7 +44,7 @@
     NAMES
       sqlite3
     PATHS
-      ${_Sqlite3LinkDir}
+      ${_SQLITE3_LIBDIR}
       /usr/lib
       /usr/local/lib
       /opt/local/lib


Pass all additional arguments of distortosSize() to ${CMAKE_SIZE}

--- cmake/distortos-utilities.cmake
+++ cmake/distortos-utilities.cmake
@@ -312,10 +312,12 @@
 #
 # Prints size of output file of `target`.
 #
+# All additional arguments are passed to ${CMAKE_SIZE}.
+#

 function(distortosSize target)
 	add_custom_command(TARGET ${target} POST_BUILD
-			COMMAND ${CMAKE_SIZE} -B $<TARGET_FILE:${target}>
+			COMMAND ${CMAKE_SIZE} ${ARGN} -B $<TARGET_FILE:${target}>
 			VERBATIM
 			USES_TERMINAL)
 endfunction()


Point to cpp-pm for forks in foo/hunter.cmake

--- cmake/projects/foo/hunter.cmake
+++ cmake/projects/foo/hunter.cmake
@@ -14,7 +14,7 @@
     VERSION
     1.0.0
     URL
-    "https://github.com/hunter-packages/foo/archive/v1.0.0.tar.gz"
+    "https://github.com/cpp-pm/foo/archive/v1.0.0.tar.gz"
     SHA1
     1111111111111111111111111111111111111111
 )


changed visual studio flags to keep using cmake defaults

--- dist/WkCompilerSetup.cmake
+++ dist/WkCompilerSetup.cmake
@@ -206,15 +206,15 @@
 	IF(MSVC)

 		MESSAGE( STATUS "Visual Studio Compiler detected. Adjusting C++ flags...")
-		WkSetCFlags ( All "/DWIN32 /D_WINDOWS /W3 /Zm1000" )
-		WkSetCFlags ( Debug "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1" )
-		WkSetCFlags ( Release "/MD /O2 /Ob2 /D NDEBUG" )
-		WkSetCXXFlags ( All "/DWIN32 /D_WINDOWS /W3 /Zm1000 /EHsc /GR" )
-		WkSetCXXFlags ( Debug "/D_DEBUG /MDd /Zi /Ob0 /Od /RTC1 /wd4100 /wd4290 /wd4512" )
-		WkSetCXXFlags ( Release "/MD /O2 /Ob2 /D NDEBUG /NODEFAULTLIB:msvcrt.lib" )
-		WkSetExeLinkerFlags ( All "/MANIFEST /STACK:10000000 /machine:I386" )
-		WkSetSharedLinkerFlags ( All "/MANIFEST /STACK:10000000 /machine:I386" )
-		WkSetModuleLinkerFlags ( All "/MANIFEST /STACK:10000000 /machine:I386" )
+		WkSetCFlags ( All "" )
+		WkSetCFlags ( Debug "" )
+		WkSetCFlags ( Release "" )
+		WkSetCXXFlags ( All "" )
+		WkSetCXXFlags ( Debug "/wd4100 /wd4290 /wd4512" )
+		WkSetCXXFlags ( Release "/NODEFAULTLIB:msvcrt.lib" )
+		WkSetExeLinkerFlags ( All "" )
+		WkSetSharedLinkerFlags ( All "" )
+		WkSetModuleLinkerFlags ( All "" )

 		WkSetExeLinkerFlags( Debug )
 		WkSetSharedLinkerFlags( Debug )


PackageConfig: Implement components support, bugfixes

--- CommonConfig.cmake
+++ CommonConfig.cmake
@@ -6,36 +6,115 @@
 # files. Those files are used in the config-mode of find_package which
 # supersedes the Find${CMAKE_PROJECT_NAME}.cmake file.
 #
-# TODO
-# - components
+# Input variables
+#    ${UPPER_PROJECT_NAME}_TRANSIENT_LIBRARIES - A list of dependent link libraries, format is ${CMAKE_PROJECT_NAME}
+#
+# Output variables
+#    ${UPPER_PROJECT_NAME}_FOUND - Was the project and all of the specified components found?
+#
+#    ${UPPER_PROJECT_NAME}_VERSION - The version of the project which was found
+#
+#    ${UPPER_PROJECT_NAME}_INCLUDE_DIRS - Where to find the headers
+#
+#    ${UPPER_PROJECT_NAME}_LIBRARIES - The project link libraries
+#
+#    ${UPPER_PROJECT_NAME}_LIBRARY - The produced (core) library
+#
+#    ${UPPER_PROJECT_NAME}_COMPONENTS - A list of components found
+#
+#    ${UPPER_PROJECT_NAME}_${component}_LIBRARY - The path & name of the ${component} library
+#
+#    ${UPPER_PROJECT_NAME}_DEB_DEPENDENCIES - A list of dependencies for the CPack deb generator
+

 include(CMakePackageConfigHelpers)

+# Write the ProjectConfig.cmake.in file for configure_package_config_file
 file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake.in
-  "set(${CMAKE_PROJECT_NAME}_VERSION ${VERSION})\n"
   "\n"
+# add helper stuff from CMakePackageConfigHelpers
   "@PACKAGE_INIT@\n"
   "\n"
-  "set(${UPPER_PROJECT_NAME}_LIBRARIES)\n"
-  "set(${UPPER_PROJECT_NAME}_LIBRARY_NAMES "@LIBRARY_NAMES@")\n"
-  "foreach(_libraryname \${${UPPER_PROJECT_NAME}_LIBRARY_NAMES})\n"
-  "  find_library(\${_libraryname}_libraryname NAMES \${_libraryname} NO_DEFAULT_PATH\n"
-  "               PATHS \${PACKAGE_PREFIX_DIR} PATH_SUFFIXES lib ${PYTHON_LIBRARY_PREFIX})\n"
-  "  list(APPEND ${UPPER_PROJECT_NAME}_LIBRARIES \${\${_libraryname}_libraryname})\n"
-  "endforeach()\n"
+# add transient library finding
   "@TRANSIENTS@"
-  "set_and_check(${UPPER_PROJECT_NAME}_INCLUDE_DIR "@PACKAGE_INCLUDE_INSTALL_DIR@")\n"
-  "set(${UPPER_PROJECT_NAME}_DEB_DEPENDENCIES \"${LOWER_PROJECT_NAME}${VERSION_ABI}-lib (>= ${VERSION_MAJOR}.${VERSION_MINOR})\")\n"
+  "if(_fail)\n"
+  "  set(${CMAKE_PROJECT_NAME}_FOUND)\n"
+  "else()\n"
+# setup VERSION, INCLUDE_DIRS and DEB_DEPENDENCIES
+  "  set(${CMAKE_PROJECT_NAME}_VERSION ${VERSION})\n"
+  "  set_and_check(${UPPER_PROJECT_NAME}_INCLUDE_DIRS "@PACKAGE_INCLUDE_INSTALL_DIR@")\n"
+  "  set(${UPPER_PROJECT_NAME}_DEB_DEPENDENCIES \"${LOWER_PROJECT_NAME}${VERSION_ABI} (>= ${VERSION_MAJOR}.${VERSION_MINOR})\")\n"
   "\n"
-  "if(EXISTS \${PACKAGE_PREFIX_DIR}/${CMAKE_MODULE_INSTALL_PATH}/options.cmake)\n"
-  "  include(\${PACKAGE_PREFIX_DIR}/${CMAKE_MODULE_INSTALL_PATH}/options.cmake)\n"
+# find the core library
+  "  find_library(${UPPER_PROJECT_NAME}_LIBRARY ${CMAKE_PROJECT_NAME} NO_DEFAULT_PATH\n"
+  "        PATHS \${PACKAGE_PREFIX_DIR} PATH_SUFFIXES lib ${PYTHON_LIBRARY_PREFIX})\n"
+  "  if(${UPPER_PROJECT_NAME}_LIBRARY MATCHES "${UPPER_PROJECT_NAME}_LIBRARY-NOTFOUND")\n"
+  "    set(${CMAKE_PROJECT_NAME}_FOUND)\n"
+  "    if(_out)\n"
+  "      message(\${_output_type} \"   Missing the ${CMAKE_PROJECT_NAME} \"\n"
+  "        \"library in \${PACKAGE_PREFIX_DIR}/lib.\")\n"
+  "    endif()\n"
+  "  endif()\n"
+# find components if specified
+  "  if(${CMAKE_PROJECT_NAME}_FIND_COMPONENTS)\n"
+  "    list(APPEND ${UPPER_PROJECT_NAME}_LIBRARIES \${${UPPER_PROJECT_NAME}_LIBRARY})\n"
+  "    foreach(_component \${${CMAKE_PROJECT_NAME}_FIND_COMPONENTS})\n"
+  "      find_library(\${_component}_libraryname ${CMAKE_PROJECT_NAME}_\${_component} NO_DEFAULT_PATH\n"
+  "        PATHS \${PACKAGE_PREFIX_DIR} PATH_SUFFIXES lib ${PYTHON_LIBRARY_PREFIX})\n"
+  "\n"
+  "      if(\${_component}_libraryname MATCHES "\${_component}_libraryname-NOTFOUND")\n"
+  "        set(${CMAKE_PROJECT_NAME}_\${_component}_FOUND)\n"
+  "        if(_out)\n"
+  "          message(\${_output_type} \"   ${CMAKE_PROJECT_NAME}_\${_component} \"\n"
+  "            \"not found in \${PACKAGE_PREFIX_DIR}/lib\")\n"
+  "        endif()\n"
+  "      else()\n"
+  "        set(${CMAKE_PROJECT_NAME}_\${_component}_FOUND TRUE)\n"
+  "        set(${UPPER_PROJECT_NAME}_\${_component}_LIBRARY \${\${_component}_libraryname})\n"
+  "        list(APPEND ${UPPER_PROJECT_NAME}_LIBRARIES \${\${_component}_libraryname})\n"
+  "        list(APPEND ${UPPER_PROJECT_NAME}_COMPONENTS \${_component})\n"
+  "      endif()\n"
+  "    endforeach()\n"
+  "  else()\n"
+# if no component was specified, find all produced libraries
+  "    set(${UPPER_PROJECT_NAME}_LIBRARY_NAMES "@LIBRARY_NAMES@")\n"
+  "    foreach(_libraryname \${${UPPER_PROJECT_NAME}_LIBRARY_NAMES})\n"
+  "      find_library(\${_libraryname}_LIBRARY \${_libraryname} NO_DEFAULT_PATH\n"
+  "                   PATHS \${PACKAGE_PREFIX_DIR} PATH_SUFFIXES lib ${PYTHON_LIBRARY_PREFIX})\n"
+  "      list(APPEND ${UPPER_PROJECT_NAME}_LIBRARIES \${\${_libraryname}_LIBRARY})\n"
+  "    endforeach()\n"
+  "  endif()\n"
+  "\n"
+# include options.cmake if existing
+  "  if(EXISTS \${PACKAGE_PREFIX_DIR}/${CMAKE_MODULE_INSTALL_PATH}/options.cmake)\n"
+  "    include(\${PACKAGE_PREFIX_DIR}/${CMAKE_MODULE_INSTALL_PATH}/options.cmake)\n"
+  "  endif()\n"
+  "\n"
+  "  set(${CMAKE_PROJECT_NAME}_FOUND TRUE)\n"
+  "  check_required_components(${CMAKE_PROJECT_NAME})\n"
   "endif()\n"
   "\n"
-  "check_required_components(${CMAKE_PROJECT_NAME})\n"
+# finally report about found or not found
+  "if(NOT ${CMAKE_PROJECT_NAME}_FOUND)\n"
+  "  set(${CMAKE_PROJECT_NAME}_VERSION)\n"
+  "  set(${UPPER_PROJECT_NAME}_INCLUDE_DIRS)\n"
+  "  set(${UPPER_PROJECT_NAME}_LIBRARIES)\n"
+  "  set(${UPPER_PROJECT_NAME}_DEB_DEPENDENCIES)\n"
+  "  set(${UPPER_PROJECT_NAME}_LIBRARY)\n"
+  "  set(${UPPER_PROJECT_NAME}_COMPONENTS)\n"
+  "else()\n"
+  "  if(_out)\n"
+  "    set(${UPPER_PROJECT_NAME}_FOUND TRUE)\n"
+  "    message(STATUS \"Found ${CMAKE_PROJECT_NAME} ${VERSION} in \"\n"
+  "      \"\${${UPPER_PROJECT_NAME}_INCLUDE_DIRS}:\${${UPPER_PROJECT_NAME}_LIBRARY}\")\n"
+  "  endif()\n"
+  "endif()\n"
 )

+# location of the includes
 set(INCLUDE_INSTALL_DIR include)

+# compile the list of generated libraries
 get_property(LIBRARY_TARGETS GLOBAL PROPERTY ALL_LIB_TARGETS)
 set(LIBRARY_NAMES)
 foreach(_target ${LIBRARY_TARGETS})
@@ -50,19 +129,41 @@
   list(APPEND LIBRARY_NAMES ${_libraryname})
 endforeach()

-set(TRANSIENTS "\n")
+# compile finding of transient libraries
+set(TRANSIENTS
+  "if(${CMAKE_PROJECT_NAME}_FIND_REQUIRED)\n"
+  "  set(_output_type FATAL_ERROR)\n"
+  "  set(_out 1)\n"
+  "  set(_req REQUIRED)\n"
+  "else()\n"
+  "  set(_output_type STATUS)\n"
+  "  if(NOT ${CMAKE_PROJECT_NAME}_FIND_QUIETLY)\n"
+  "    set(_out 1)\n"
+  "  endif()\n"
+  "endif()\n"
+  "if(${CMAKE_PROJECT_NAME}_FIND_QUIETLY)\n"
+  "  set(_quiet QUIET)\n"
+  "endif()\n\n"
+)
 foreach(_transient ${${UPPER_PROJECT_NAME}_TRANSIENT_LIBRARIES})
-  list(APPEND TRANSIENTS "find_package(${_transient} ${${${_transient}_name}_VERSION} EXACT REQUIRED)
-list(APPEND ${UPPER_PROJECT_NAME}_LIBRARIES \${${${_transient}_name}_LIBRARIES})\n\n")
+  list(APPEND TRANSIENTS
+    "find_package(${_transient} ${${${_transient}_name}_VERSION} EXACT \${_req} \${_quiet})\n"
+    "list(APPEND ${UPPER_PROJECT_NAME}_LIBRARIES \${${${_transient}_name}_LIBRARIES})\n"
+    "string(TOUPPER ${_transient} _TRANSIENT)\n"
+    "if(NOT \${_TRANSIENT}_FOUND)\n"
+    "  set(_fail TRUE)\n"
+    "endif()\n\n")
 endforeach()
 string(REGEX REPLACE ";" " " TRANSIENTS ${TRANSIENTS})

+# create ProjectConfig.cmake
 configure_package_config_file(
   ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake.in
   ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}Config.cmake
   INSTALL_DESTINATION ${CMAKE_MODULE_INSTALL_PATH}
   PATH_VARS INCLUDE_INSTALL_DIR LIBRARY_NAMES TRANSIENTS)

+# create ProjectConfigVersion.cmake
 write_basic_package_version_file(
   ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_PROJECT_NAME}ConfigVersion.cmake
   VERSION ${VERSION} COMPATIBILITY AnyNewerVersion)


COMP: new reference images due to changed text rendering in VTK7

--- CMakeExternals/MITKData.cmake
+++ CMakeExternals/MITKData.cmake
@@ -12,7 +12,7 @@
 set(MITK-Data_DEPENDS ${proj})

 if(BUILD_TESTING)
-  set(revision_tag 93141b32) # first 8 characters of hash-tag
+  set(revision_tag e2d97a94) # first 8 characters of hash-tag
 #                  ^^^^^^^^  these are just to check correct length of hash part

   ExternalProject_Add(${proj}


Build from source configuration

Build from source configuration

When a library is built from source, the user can now configure the
location with CMAKE_THIRD_PARTY_SOURCE. The default behaviour now is
to supress the output of the build but that can be toggled with
CMAKE_THIRD_PARTY_OUTPUT.

--- FindLibCheck.cmake
+++ FindLibCheck.cmake
@@ -53,24 +53,34 @@

 set(LIBCHECK_BUILT_FROM_SOURCE NO)
 if((NOT LIBCHECK_FOUND))
+    if(CMAKE_ENABLE_THIRD_PARTY_OUTPUT)
+      set(THIRD_PARTY_LOGGING 0)
+    else()
+      set(THIRD_PARTY_LOGGING 1)
+    endif()
+    if(CMAKE_ENABLE_THIRD_PARTY_DIR)
+      set(THIRD_PARTY_DIR "${CMAKE_ENABLE_THIRD_PARTY_DIR}")
+    else()
+      set(THIRD_PARTY_DIR third-party)
+    endif()
     set(LIBCHECK_BUILT_FROM_SOURCE YES)
     include(ExternalProject)
     message(STATUS "Check Unit Testing Framework Version - ${LIBCHECK_VERSION}")
     ExternalProject_Add(libcheck
         URL "https://downloads.sourceforge.net/project/check/check/${LIBCHECK_VERSION}/check-${LIBCHECK_VERSION}.tar.gz"
         URL_MD5 ${LIBCHECK_MD5_HASH}
-        PREFIX third-party
+        PREFIX ${THIRD_PARTY_DIR}
         BUILD_IN_SOURCE 1
         CMAKE_ARGS
           "-DCMAKE_BUILD_TYPE=Release"
           "-DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}"
           "-DCMAKE_INSTALL_PREFIX=<INSTALL_DIR>"
-        LOG_DOWNLOAD 0
-        LOG_UPDATE 0
-        LOG_CONFIGURE 0
-        LOG_BUILD 0
-        LOG_TEST 0
-        LOG_INSTALL 0)
+        LOG_DOWNLOAD ${THIRD_PARTY_LOGGING}
+        LOG_UPDATE ${THIRD_PARTY_LOGGING}
+        LOG_CONFIGURE ${THIRD_PARTY_LOGGING}
+        LOG_BUILD ${THIRD_PARTY_LOGGING}
+        LOG_TEST ${THIRD_PARTY_LOGGING}
+        LOG_INSTALL ${THIRD_PARTY_LOGGING})
     ExternalProject_Get_Property(libcheck INSTALL_DIR)
     set(LIBCHECK_ROOT ${INSTALL_DIR})
     unset(INSTALL_DIR)


Closes #73: Missing spacemouse support for Windows

[ ] May break build
[ ] May break existing applications (see CHANGES.txt)
[x] Bugfix
[ ] New Feature
[ ] Cleanup
[ ] Optimization
[ ] Documentation

--- FindMAGELLAN.cmake
+++ FindMAGELLAN.cmake
@@ -12,6 +12,6 @@
   endif()
 endif()

-if(EQ_WGL_USED)
+if(MSVC)
   set(MAGELLAN_FOUND 1) # always on
 endif()


Better support for external boost (especially on windows)

--- Superbuild/Projects/boost.use.system.cmake
+++ Superbuild/Projects/boost.use.system.cmake
@@ -0,0 +1,12 @@
+set(BOOST_INCLUDEDIR "${BOOST_INCLUDEDIR}" CACHE PATH "Location of boost header files" FORCE)
+set(BOOST_LIBRARYDIR "${BOOST_LIBRARYDIR}" CACHE PATH "Location of boost library files" FORCE)
+
+set(Boost_NO_BOOST_CMAKE ON)
+find_package(Boost REQUIRED)
+
+# This is a hack.  If boost was found by some other mechanism then the
+# assumptions here would fail.
+add_extra_cmake_args(
+  -DBOOST_INCLUDEDIR:PATH=${BOOST_INCLUDEDIR}
+  -DBOOST_LIBRARYDIR:PATH=${BOOST_LIBRARYDIR}
+)


Update repository test classification SS (deprecated) -> ST

--- PackagesList.cmake
+++ PackagesList.cmake
@@ -4,7 +4,7 @@

 SET( DataTransferKit_PACKAGES_AND_DIRS_AND_CLASSIFICATIONS
-  DataTransferKit         .     SS
+  DataTransferKit         .     ST
   )

 TRIBITS_DISABLE_PACKAGE_ON_PLATFORMS(DataTransferKit Windows)


CMake: and find petsc again ;-)

CMake: and find petsc again ;-)

git-svn-id: 31d9d2f6432a47c86a3640814024c107794ea77c@32908 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/cmake/modules/FindPETSC.cmake
+++ deal.II/cmake/modules/FindPETSC.cmake
@@ -38,7 +38,7 @@
 SET_IF_EMPTY(PETSC_ARCH "$ENV{PETSC_ARCH}")

 DEAL_II_FIND_LIBRARY(PETSC_LIBRARY
-  NAMES petscbob
+  NAMES petsc
   HINTS ${PETSC_DIR} ${PETSC_DIR}/${PETSC_ARCH}
   PATH_SUFFIXES lib${LIB_SUFFIX} lib64 lib
   )


Took out windows BOOST dependencies

Took out windows BOOST dependencies

--- CMakeModules/KlamptDependencies.cmake
+++ CMakeModules/KlamptDependencies.cmake
@@ -5,7 +5,6 @@
 # - KLAMPT_INCLUDE_DIRS
 # - KLAMPT_DEFINITIONS
 #
-# May also need to set BOOST_ROOT on Windows

 IF(NOT KLAMPT_ROOT)
   MESSAGE("KLAMPT_ROOT not defined, setting to .")
@@ -18,12 +17,6 @@
   #Assume ode is double
   SET(KRISLIBRARY_ROOT ${KLAMPT_ROOT}/Library CACHE PATH "Library subdirectory")
   SET(KLAMPT_DEFINITIONS -DHAVE_GLUI=1 -DHAVE_GLUT=1 -DHAVE_TIXML=1 -DTIXML_USE_STL -DdDOUBLE -DNOMINMAX -DGLUI_NO_LIB_PRAGMA -DHAVE_GLEW)
-
-  # Boost threads vs pthreads
-  SET(Boost_USE_STATIC_LIBS ON)
-  SET(Boost_USE_MULTITHREADED ON)
-  SET(Boost_USE_STATIC_RUNTIME OFF)
-  FIND_PACKAGE(Boost REQUIRED )

   include(FindPackageHandleStandardArgs)
   FIND_PATH(KRISLIBRARY_INCLUDE_DIR KrisLibrary/myfile.h
@@ -108,7 +101,7 @@
   endif( )

   SET(KLAMPT_LIBRARIES debug ${KRISLIBRARY_LIBRARY_DEBUG} optimized ${KRISLIBRARY_LIBRARY_RELEASE} debug ${ODE_LIBRARY_DEBUG} optimized ${ODE_LIBRARY_RELEASE} ${GLPK_LIBRARY} debug ${GLUI_LIBRARY_DEBUG} optimized ${GLUI_LIBRARY_RELEASE} debug ${TINYXML_LIBRARY_DEBUG} optimized ${TINYXML_LIBRARY_RELEASE} ${KRISLIBRARY_ROOT}/glut32.lib opengl32 Ws2_32 winmm Gdiplus)
-  SET(KLAMPT_INCLUDE_DIRS ${KRISLIBRARY_INCLUDE_DIR} ${Boost_INCLUDE_DIR} ${ODE_INCLUDE_DIR} ${GLPK_INCLUDE_DIR} ${GLUI_INCLUDE_DIR} ${TINYXML_INCLUDE_DIR})
+  SET(KLAMPT_INCLUDE_DIRS ${KRISLIBRARY_INCLUDE_DIR} ${ODE_INCLUDE_DIR} ${GLPK_INCLUDE_DIR} ${GLUI_INCLUDE_DIR} ${TINYXML_INCLUDE_DIR})

   #GL Extension Wrangler package (GLEW)
   SET(GLEW_INCLUDE_DIR ${KRISLIBRARY_ROOT}/glew-2.0.0/include CACHE PATH "GLEW include directory" FORCE)


output BUILD_CONFIGS in target message on MSW

* allows builder of externpro to quickly see which projects are being built as Debug
* issue https://github.com/smanders/externpro/issues/132

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -332,6 +332,7 @@
       -DCMAKE_MODULE_PATH:PATH=${MODULES_DIR}
       -DCMAKE_INSTALL_PREFIX:PATH=${STAGE_DIR}
       )
+    set(XP_BUILD_CONFIGS_MSG " [${BUILD_CONFIGS}]")
     # BUILD and INSTALL commands broken into additional steps
     # (see foreach in ipAddProject below)
     set(XP_BUILD_CMD ${CMAKE_COMMAND} -E echo "Build MSVC...")
@@ -387,7 +388,7 @@
       list(APPEND XP_CONFIGURE_CMD ${XP_CONFIGURE_APPEND})
     endif()
     if(XP_BUILD_VERBOSE)
-      message(STATUS "target ${XP_TARGET}")
+      message(STATUS "target ${XP_TARGET}${XP_BUILD_CONFIGS_MSG}")
       xpVerboseListing("[CONFIGURE]" "${XP_CONFIGURE_CMD}")
       if(NOT "${XP_CONFIGURE_GEN}" STREQUAL "")
         xpVerboseListing("[GEN]" "${XP_CONFIGURE_GEN}")
@@ -396,7 +397,7 @@
         xpVerboseListing("[DEPS]" "${ADDITIONAL_DEPENDS}")
       endif()
     else()
-      message(STATUS "target ${XP_TARGET}")
+      message(STATUS "target ${XP_TARGET}${XP_BUILD_CONFIGS_MSG}")
     endif()
     ExternalProject_Get_Property(${XP_DEPS} SOURCE_DIR)
     ExternalProject_Add(${XP_TARGET} DEPENDS ${XP_DEPS} ${ADDITIONAL_DEPENDS}


geotranz GIT_TRACKING_BRANCH to xp2.4.2

geotranz GIT_TRACKING_BRANCH to xp2.4.2

issue https://github.com/smanders/externpro/issues/245

--- projects/geotranz.cmake
+++ projects/geotranz.cmake
@@ -14,6 +14,7 @@
   REPO "repo" ${REPO} "geotranz repo on github"
   VER ${VER}
   GIT_ORIGIN git://github.com/smanders/geotranz.git
+  GIT_TRACKING_BRANCH xp2.4.2 # not master, to avoid Git-LFS bandwidth
   GIT_TAG xp${VER} # what to 'git checkout'
   GIT_REF v${VER} # create patch from this tag to 'git checkout'
   PATCH ${PATCH_DIR}/geotranz.patch


CMake: Fix ClangFormat not using right binary

Previously a variable was set up to choose the right binary, but it
wasn't actually used. This should fix that issue.


Try to fix cmake - openvdb on mac

Try to fix cmake - openvdb on mac


fixed composite query test

fixed composite query test

--- tests/package/package_source_tests/package_source_query_composite_test.cmake
+++ tests/package/package_source_tests/package_source_query_composite_test.cmake
@@ -46,7 +46,7 @@
   assign(res = uut.query("source1:pkg1" --package-handle))
   ans(res)
   assert(res)
-  assertf("{res.package_source}" STREQUAL "${source1}")
+  assertf("{res.package_source_name}" STREQUAL "source1")


Updated FindTBB.cmake to correctly identify the version of Visual Studio used

--HG--
branch : v1-7

--- CMake/Packages/FindTBB.cmake
+++ CMake/Packages/FindTBB.cmake
@@ -49,13 +49,16 @@
 # to detect the "best" version to use. The user will have to manually
 # select the right files. (Chances are the distributions are shipping their
 # custom version of tbb, anyway, so the problem is probably nonexistant.)
-if (WIN32)
+if (WIN32 AND MSVC)
   set(COMPILER_PREFIX "vc7.1")
-  if (MSVC80)
+  if (MSVC_VERSION EQUAL 1400)
     set(COMPILER_PREFIX "vc8")
   endif ()
-  if (MSVC90)
+  if (MSVC_VERSION EQUAL 1500)
     set(COMPILER_PREFIX "vc9")
+  endif ()
+  if (MSVC_VERSION EQUAL 1600)
+    set(COMPILER_PREFIX "vc10")
   endif ()

   # for each prefix path, add ia32/64\${COMPILER_PREFIX}\lib to the lib search path


- updated find module

- updated find module

--- CMakeModules/FindEXPAT.cmake
+++ CMakeModules/FindEXPAT.cmake
@@ -25,91 +25,71 @@
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.

-
-MACRO (FIND_EXPAT)
-
-ENDMACRO ()
+include(CheckCSourceCompiles)

 string(TOUPPER ${PROJECT_NAME} _UPPER_PROJECT_NAME)
 set(_PROJECT_DEPENDENCY_DIR ${_UPPER_PROJECT_NAME}_DEPENDENCY_DIR)

+find_path(EXPAT_INCLUDE_DIR expat.h
+    PATHS $ENV{EXPAT_DIR}/include
+            $ENV{EXPAT_DIR}
+            ${${_PROJECT_DEPENDENCY_DIR}}/include
+            ~/Library/Frameworks
+            /Library/Frameworks
+            /sw/include        # Fink
+            /opt/local/include # MacPorts
+            /opt/csw/include   # Blastwave
+            /opt/include
+            /usr/freeware/include
+            NO_DEFAULT_PATH)

-# Check if we have cached results in case the last round was successful.
-if (NOT (EXPAT_INCLUDE_DIR AND EXPAT_LIBRARY) OR NOT EXPAT_FOUND)
+if (NOT EXPAT_INCLUDE_DIR)
+    find_path(EXPAT_INCLUDE_DIR expat.h)
+endif ()

-    set(EXPAT_LDFLAGS)
-
-    find_path(EXPAT_INCLUDE_DIR expat.h
-	    PATHS $ENV{EXPAT_DIR}/include
-	          $ENV{EXPAT_DIR}
-              ${${_PROJECT_DEPENDENCY_DIR}}/include
-	          ~/Library/Frameworks
-	          /Library/Frameworks
-	          /sw/include        # Fink
-	          /opt/local/include # MacPorts
-	          /opt/csw/include   # Blastwave
-	          /opt/include
-	          /usr/freeware/include
-             NO_DEFAULT_PATH)
+find_library(EXPAT_LIBRARY
+    NAMES expat libexpat
+    PATHS $ENV{EXPAT_DIR}/${CMAKE_INSTALL_LIBDIR}
+            $ENV{EXPAT_DIR}/lib-dbg
+            $ENV{EXPAT_DIR}
+            ${${_PROJECT_DEPENDENCY_DIR}}/${CMAKE_INSTALL_LIBDIR}
+            ${${_PROJECT_DEPENDENCY_DIR}}
+            ~/Library/Frameworks
+            /Library/Frameworks
+            /sw/lib        # Fink
+            /opt/local/lib # MacPorts
+            /opt/csw/lib   # Blastwave
+            /opt/lib
+            /usr/freeware/lib64
+            NO_DEFAULT_PATH)

-    if (NOT EXPAT_INCLUDE_DIR)
-        find_path(EXPAT_INCLUDE_DIR expat.h)
-    endif ()
+if (NOT EXPAT_LIBRARY)
+    find_library(EXPAT_LIBRARY NAMES expat libexpat)
+endif ()

-    find_library(EXPAT_LIBRARY
-	    NAMES expat
-	    PATHS $ENV{EXPAT_DIR}/${CMAKE_INSTALL_LIBDIR}
-	          $ENV{EXPAT_DIR}/lib-dbg
-	          $ENV{EXPAT_DIR}
-              ${${_PROJECT_DEPENDENCY_DIR}}/${CMAKE_INSTALL_LIBDIR}
-              ${${_PROJECT_DEPENDENCY_DIR}}
-	          ~/Library/Frameworks
-	          /Library/Frameworks
-	          /sw/lib        # Fink
-	          /opt/local/lib # MacPorts
-	          /opt/csw/lib   # Blastwave
-	          /opt/lib
-	          /usr/freeware/lib64
-             NO_DEFAULT_PATH)
-
-    if (NOT EXPAT_LIBRARY)
-        find_library(EXPAT_LIBRARY NAMES expat)
-    endif ()
-
-    if (NOT WIN32)
-        find_package(PkgConfig)
-        pkg_check_modules(PC_EXPAT QUIET expat)
-
-        message(VERBOSE "${PC_EXPAT_STATIC_LDFLAGS}")
-
-        if (PC_EXPAT_FOUND)
-            set(EXPAT_DEFINITIONS ${PC_EXPAT_CFLAGS_OTHER})
-            set(EXPAT_VERSION ${PC_EXPAT_VERSION} CACHE STRING "Expat Version found" )
-        endif (PC_EXPAT_FOUND)
-    endif (NOT WIN32)
-
-    mark_as_advanced(EXPAT_INCLUDE_DIR EXPAT_LIBRARY)
-
-endif () # Check for cached values
+mark_as_advanced(EXPAT_INCLUDE_DIR EXPAT_LIBRARY)

 if (EXPAT_INCLUDE_DIR AND EXISTS "${EXPAT_INCLUDE_DIR}/expat.h")
 file(STRINGS "${EXPAT_INCLUDE_DIR}/expat.h" expat_version_str
      REGEX "^#[\t ]*define[\t ]+XML_(MAJOR|MINOR|MICRO)_VERSION[\t ]+[0-9]+$")

-unset(EXPAT_VERSION)
+unset(EXPAT_VERSION CACHE)
+set(_STARTED FALSE)
 foreach(VPART MAJOR MINOR MICRO)
     foreach(VLINE ${expat_version_str})
         if(VLINE MATCHES "^#[\t ]*define[\t ]+XML_${VPART}_VERSION[\t ]+([0-9]+)$")
             set(EXPAT_VERSION_PART "${CMAKE_MATCH_1}")
-            if(EXPAT_VERSION)
+            if(_STARTED)
                 string(APPEND EXPAT_VERSION ".${EXPAT_VERSION_PART}")
             else()
                 set(EXPAT_VERSION "${EXPAT_VERSION_PART}")
+                set(_STARTED TRUE)
             endif()
         endif()
     endforeach()
 endforeach()
+unset(_STARTED)
 endif ()

@@ -122,6 +102,53 @@
     INTERFACE_INCLUDE_DIRECTORIES "${EXPAT_INCLUDE_DIR}")
 endif()

+# figure out if we need XML_STATIC flag
+if (EXPAT_INCLUDE_DIR AND EXPAT_LIBRARY)
+  enable_language(C)
+  set(EXPAT_EXPAT_CODE
+"
+#include <expat.h>
+#include <stdio.h>
+
+int
+main(void)
+{
+    printf(XML_ExpatVersion());
+    return 0;
+}
+"
+)
+
+set(CMAKE_REQUIRED_LIBRARIES_CACHE ${CMAKE_REQUIRED_LIBRARIES})
+set(CMAKE_REQUIRED_INCLUDES_CACHE ${CMAKE_REQUIRED_INCLUDES})
+set(CMAKE_REQUIRED_DEFINITIONS_CACHE ${CMAKE_REQUIRED_DEFINITIONS})
+
+set(EXPAT_EXPAT_TEST)
+set(CMAKE_REQUIRED_LIBRARIES "${EXPAT_LIBRARY}")
+set(CMAKE_REQUIRED_INCLUDES "${EXPAT_INCLUDE_DIR}")
+CHECK_C_SOURCE_COMPILES("${EXPAT_EXPAT_CODE}" EXPAT_EXPAT_TEST)
+
+if (NOT EXPAT_EXPAT_TEST)
+set(CMAKE_REQUIRED_LIBRARIES "${EXPAT_LIBRARY}")
+set(CMAKE_REQUIRED_INCLUDES "${EXPAT_INCLUDE_DIR}")
+set(CMAKE_REQUIRED_DEFINITIONS "-DXML_STATIC=1")
+
+CHECK_C_SOURCE_COMPILES("${EXPAT_EXPAT_CODE}" EXPAT_EXPAT_TEST2)
+if (EXPAT_EXPAT_TEST2)
+  set_target_properties(EXPAT::EXPAT PROPERTIES
+    INTERFACE_COMPILE_DEFINITIONS "XML_STATIC=1"
+    )
+else()
+  message(FATAL_ERROR "Unable to compile a test executable against expat")
+endif()
+
+endif()
+
+set(CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES_CACHE})
+set(CMAKE_REQUIRED_INCLUDES ${CMAKE_REQUIRED_INCLUDES_CACHE})
+set(CMAKE_REQUIRED_DEFINITIONS ${CMAKE_REQUIRED_DEFINITIONS_CACHE})
+endif()
+
 include(FindPackageHandleStandardArgs)

 find_package_handle_standard_args(


build BUGFIX vasprintf detection on BSD

build BUGFIX vasprintf detection on BSD

--- CMakeModules/UseCompat.cmake
+++ CMakeModules/UseCompat.cmake
@@ -7,6 +7,7 @@
     # compatibility checks
     set(CMAKE_REQUIRED_DEFINITIONS -D_POSIX_C_SOURCE=200809L)
     list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_GNU_SOURCE)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS -D__BSD_VISIBLE=1)
     check_symbol_exists(vdprintf "stdio.h;stdarg.h" HAVE_VDPRINTF)
     check_symbol_exists(asprintf "stdio.h" HAVE_ASPRINTF)
     check_symbol_exists(vasprintf "stdio.h" HAVE_VASPRINTF)


Fix relative install paths

Fix relative install paths

--- src/tool/config/install.cmake
+++ src/tool/config/install.cmake
@@ -1,3 +1,4 @@
-execute_process(COMMAND cmake . -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/tool/config/config)
+get_filename_component(INSTALL_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_INSTALL_PREFIX} ABSOLUTE)
+execute_process(COMMAND cmake . -DCMAKE_INSTALL_PREFIX:PATH=${INSTALL_PREFIX} WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/tool/config/config)
 execute_process(COMMAND make WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/tool/config/config)
 execute_process(COMMAND make install WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/src/tool/config/config)


VigraAddTest: added test options

VigraAddTest: added test options

--- VigraAddTest.cmake
+++ VigraAddTest.cmake
@@ -17,6 +17,9 @@
 if(VigraAddTestIncluded)
     return()
 endif()
+
+OPTION(AUTOEXEC_TESTS "Automatically execute each test after compilation ?" ON)
+OPTION(AUTOBUILD_TESTS "Compile tests as part of target 'all' (resp. 'ALL_BUILD') ?" OFF)

 ADD_CUSTOM_TARGET(check)
 ADD_CUSTOM_TARGET(ctest COMMAND ${CMAKE_CTEST_COMMAND})
@@ -59,8 +62,9 @@

     ADD_DEPENDENCIES(check_cpp ${target})
     ADD_DEPENDENCIES(ctest ${target})
+    ADD_DEPENDENCIES(${target} foundation)

-    TARGET_LINK_LIBRARIES(${target} unittest)
+    TARGET_LINK_LIBRARIES(${target} foundation)
     if(AT_LIBRARIES)
         TARGET_LINK_LIBRARIES(${target} ${AT_LIBRARIES})
     endif()


typofix in pkg-config file for XzeroBase

--- XzeroBase.pc.cmake
+++ XzeroBase.pc.cmake
@@ -5,5 +5,5 @@
 Version: @PACKAGE_VERSION@
 Requires: libpcre >= 7.0
 # Conflicts:
-Libs: -L@LIBDIR@ @LIBS_RPATH@ -lXzeroBase -lpthread @POSIX_RT_LIBS@ @MYSQL_LIBS@
+Libs: -L@LIBDIR@ @LIBS_RPATH@ -lXzeroBase -lpthread @POSIX_RT_LIBS@ @MYSQL_LDFLAGS@
 Cflags: -I@INCLUDEDIR@ -pthread @CFLAGS_RDYNAMIC@ @MYSQL_CFLAGS@ @CXXFLAGS@


Revert "remove whitespace from package description"

This reverts commit 6f5703a5fe3d184fbe56050c3bf927603ea57c1b.

--- cmake/CPackDebianConfig.cmake
+++ cmake/CPackDebianConfig.cmake
@@ -32,7 +32,7 @@
 SET(CPACK_DEBIAN_PACKAGE_PRIORITY    "optional")
 SET(CPACK_DEBIAN_PACKAGE_SECTION     "devel")
 SET(CPACK_DEBIAN_PACKAGE_DESCRIPTION "Open Source Routing Machine (OSRM) is a high-performance routing engine.
-It combines sophisticated routing algorithms with the open and free data of the OpenStreetMap."
+  It combines sophisticated routing algorithms with the open and free data of the OpenStreetMap."
 )
 SET(CPACK_DEBIAN_PACKAGE_DEPENDS     "libc6-dev, libprotobuf-dev, libosmpbf-dev, libbz2-1.0, libstxxl1, libxml2, libzip2, liblua5.1-0, libtbb2, libboost-all-dev")


Update: enable finding debug libraries and source generated libraries
Note: naming rules of CMakeLists.txt of qhull are a bit weird

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

--- cmake/Modules/FindQhull.cmake
+++ cmake/Modules/FindQhull.cmake
@@ -1,5 +1,5 @@
 ###############################################################################
-# Find QHULL
+# Find QHULL 2011.1
 #
 # This sets the following variables:
 # QHULL_FOUND - True if QHULL was found.
@@ -7,24 +7,34 @@
 # QHULL_LIBRARIES - Libraries needed to use QHULL.
 # QHULL_DEFINITIONS - Compiler flags for QHULL.

+set(QHULL_MAJOR_VERSION 6)
+
 find_path(QHULL_INCLUDE_DIR qhull.h
           HINTS ${QHULL_ROOT}
           PATH_SUFFIXES qhull src/libqhull libqhull)

-find_library(QHULL_LIBRARY qhull
+find_library(QHULL_LIBRARY qhull qhull${QHULL_MAJOR_VERSION}
              HINTS ${QHULL_ROOT}
-             PATH_SUFFIXES project)
+             PATH_SUFFIXES project build bin)
+
+find_library(QHULL_LIBRARY_DEBUG qhull_d qhull_d${QHULL_MAJOR_VERSION}
+             HINTS ${QHULL_ROOT}
+             PATH_SUFFIXES project build bin)

 set(QHULL_INCLUDE_DIRS ${QHULL_INCLUDE_DIR})
-set(QHULL_LIBRARIES ${QHULL_LIBRARY})
+if(QHULL_LIBRARY_DEBUG)
+	set(QHULL_LIBRARIES optimized ${QHULL_LIBRARY} debug ${QHULL_LIBRARY_DEBUG})
+else(QHULL_LIBRARY_DEBUG)
+	set(QHULL_LIBRARIES ${QHULL_LIBRARY})
+endif(QHULL_LIBRARY_DEBUG)
+

 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(Qhull DEFAULT_MSG QHULL_LIBRARY
     QHULL_INCLUDE_DIR)

-mark_as_advanced(QHULL_LIBRARY QHULL_INCLUDE_DIR)
+mark_as_advanced(QHULL_LIBRARY QHULL_LIBRARY_DEBUG QHULL_INCLUDE_DIR)

 if(QHULL_FOUND)
   message(STATUS "QHULL found (include: ${QHULL_INCLUDE_DIRS}, lib: ${QHULL_LIBRARIES})")
 endif(QHULL_FOUND)
-


Enable online compilation of openblas on windows (#19602)

* test=develop, Support for online compilation of openblas

* test=develop, Modify the prefix of openblas static library

--- cmake/external/openblas.cmake
+++ cmake/external/openblas.cmake
@@ -58,7 +58,41 @@
         UPDATE_COMMAND      ""
         CONFIGURE_COMMAND   ""
     )
-    ELSE()
+    ELSE(NOT WIN32)
+        SET(CBLAS_FOUND false)
+        SET(CBLAS_LIBRARIES
+            "${CBLAS_INSTALL_DIR}/lib/openblas${CMAKE_STATIC_LIBRARY_SUFFIX}"
+            CACHE FILEPATH "openblas library." FORCE)
+        INCLUDE_DIRECTORIES(${CBLAS_INC_DIR}/openblas) # For openbals code to include its own headers.
+        INCLUDE_DIRECTORIES(${THIRD_PARTY_PATH}/install)
+        ExternalProject_Add(
+            extern_openblas
+            ${EXTERNAL_PROJECT_LOG_ARGS}
+            GIT_REPOSITORY      https://github.com/xianyi/OpenBLAS.git
+            GIT_TAG            "v0.3.7"
+            PREFIX              ${CBLAS_SOURCES_DIR}
+            INSTALL_DIR         ${CBLAS_INSTALL_DIR}
+            BUILD_IN_SOURCE     0
+            UPDATE_COMMAND      ""
+            CMAKE_ARGS          -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
+                                    -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+                                    -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
+                                    -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
+                                    -DCMAKE_INSTALL_PREFIX=${CBLAS_INSTALL_DIR}
+                                    -DCMAKE_POSITION_INDEPENDENT_CODE=ON
+                                    -DCMAKE_BUILD_TYPE=${THIRD_PARTY_BUILD_TYPE}
+                                    -DBUILD_SHARED_LIBS=ON
+                                    -DMSVC_STATIC_CRT=${MSVC_STATIC_CRT}
+                                    ${EXTERNAL_OPTIONAL_ARGS}
+                CMAKE_CACHE_ARGS    -DCMAKE_INSTALL_PREFIX:PATH=${CBLAS_INSTALL_DIR}
+                                    -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
+                                    -DCMAKE_BUILD_TYPE:STRING=${THIRD_PARTY_BUILD_TYPE}
+            )
+        add_custom_command(TARGET extern_openblas POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy ${CBLAS_INSTALL_DIR}/bin/openblas${CMAKE_SHARED_LIBRARY_SUFFIX}  ${CBLAS_INSTALL_DIR}/lib )
+        ADD_LIBRARY(openblas STATIC IMPORTED GLOBAL)
+        SET_PROPERTY(TARGET openblas PROPERTY IMPORTED_LOCATION ${CBLAS_LIBRARIES})
+        ADD_DEPENDENCIES(openblas extern_openblas)
     ENDIF(NOT WIN32)
     SET(CBLAS_PROVIDER openblas)
 ENDIF(NOT ${CBLAS_FOUND})


Don't propagate warnings from GMock headers

--- cmake/modules/FindGMock.cmake
+++ cmake/modules/FindGMock.cmake
@@ -444,7 +444,9 @@

 if(GTEST_INCLUDE_DIR)
     set_target_properties(GTest::GTest PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
+        INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}"
+        INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}"
+    )
 endif()

 set_target_properties(GTest::Main PROPERTIES
@@ -459,7 +461,9 @@

 if(GMOCK_INCLUDE_DIR)
     set_target_properties(GMock::GMock PROPERTIES
-        INTERFACE_INCLUDE_DIRECTORIES "${GMOCK_INCLUDE_DIR}")
+        INTERFACE_INCLUDE_DIRECTORIES "${GMOCK_INCLUDE_DIR}"
+        INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GMOCK_INCLUDE_DIR}"
+    )
     if(GMOCK_VER VERSION_LESS "1.7")
         # GMock 1.6 still has GTest as an external link-time dependency,
         # so just specify it on the link interface.
@@ -470,6 +474,8 @@
         # so merge it's compile-time interface (include dirs) with ours.
         set_property(TARGET GMock::GMock APPEND PROPERTY
             INTERFACE_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
+        set_property(TARGET GMock::GMock APPEND PROPERTY
+            INTERFACE_SYSTEM_INCLUDE_DIRECTORIES "${GTEST_INCLUDE_DIR}")
     endif()
 endif()


gh-1160 Fix build error if Xalan built without ICU support

If Xalan was built without ICU support then libXalanMsg will not
exist. Add a check that the file exists before adding it to the
link dependencies.

This issue may cause build errors on Gentoo.

Signed-off-by: Richard Chapman <5900d56196fe29dba8e3ae556d57eae28e9f0195@hpccsystems.com>

--- cmake_modules/FindXALAN.cmake
+++ cmake_modules/FindXALAN.cmake
@@ -66,7 +66,9 @@
       set (XALAN_LIBRARIES optimized ${XALAN_LIBRARIES} debug ${XALAN_DEBUG_LIBRARIES})
     ELSE()
       STRING(REPLACE "xalan-c" "xalanMsg" XALAN_EXTRA_LIBRARIES "${XALAN_LIBRARIES}")
-      set (XALAN_LIBRARIES ${XALAN_LIBRARIES} ${XALAN_EXTRA_LIBRARIES})
+      IF (EXISTS ${XALAN_EXTRA_LIBRARIES})
+        set (XALAN_LIBRARIES ${XALAN_LIBRARIES} ${XALAN_EXTRA_LIBRARIES})
+      ENDIF()
     ENDIF()
   ENDIF()
   MARK_AS_ADVANCED(XALAN_INCLUDE_DIR XALAN_LIBRARIES)


Fixed set_directory_properties syntax

Fixed set_directory_properties syntax

--- cmake_modules/LPSCommon.cmake
+++ cmake_modules/LPSCommon.cmake
@@ -441,13 +441,6 @@

     file(GLOB_RECURSE HDF_FILES ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/*.hdf)
     file(GLOB_RECURSE JAR_FILES ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/*.jar)
-
-    message(STATUS "HDF_FILES are ${HDF_FILES}")
-
-    # Clean up the mess left by the Intel coverage tool
-    #file(GLOB_RECURSE DYN_FILES ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/*.dyn)
-    #file(GLOB_RECURSE DPI_FILES ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/*.dpi)
-    #file(GLOB_RECURSE SPI_FILES ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY}/*.spi)

     # List of files with paths for SheafScope.jar build
     file(GLOB SCOPE_FILE_LIST ${CMAKE_BINARY_DIR}/scopesrcs/*)
@@ -457,18 +450,10 @@
     list(APPEND CLEAN_FILES ${JAR_FILES})
     list(APPEND CLEAN_FILES ${SCOPE_FILE_LIST})

-    set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES ${CLEAN_FILES})
-get_directory_property(CLEANDIRS [DIRECTORY ${CMAKE_BINARY_DIR} ADDITIONAL_MAKE_CLEAN_FILES)
-message(STATUS "CLEANDIRS is: ${CLEANDIRS}")
-get_directory_property(CLEANDIRS [DIRECTORY ${CMAKE_ARCHIVE_OUTPUT_DIRECTORY} ADDITIONAL_MAKE_CLEAN_FILES)
-message(STATUS "CLEANDIRS is: ${CLEANDIRS}")
-get_directory_property(CLEANDIRS [DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY} ADDITIONAL_MAKE_CLEAN_FILES)
-message(STATUS "CLEANDIRS is: ${CLEANDIRS}")
+    set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${CLEAN_FILES}")
+
 endfunction(add_clean_files)

-#
-#  Clean up. Remove everything, not just the build products.
-#

 #$$TODO: Expand this to cover windows/intel as well.
 function(add_coverage_target)


Turn off auto linking. Force 64-bit builds on Windows for now, will need to detect to configure correctly.

--- src/CMake/BoostConfig.cmake
+++ src/CMake/BoostConfig.cmake
@@ -29,6 +29,8 @@
 # and code borrowed from ITK4 HDFMacros.cmake

 MACRO(EXTERNAL_BOOST_LIBRARY compress_type)
+  # disable auto linking
+  ADD_DEFINITIONS(-DBOOST_ALL_NO_LIB=1)

   SET(boost_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Externals/boost")
   SET(boost_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/Externals/boost")
@@ -50,6 +52,12 @@

   IF(BUILD_WITH_PYTHON)
     ADD_DEFINITIONS(-DBOOST_PYTHON_STATIC_LIB=1)
+  ENDIF()
+
+  # TODO: set up 64-bit build detection
+  # Boost Jam needs to have 64-bit build explicitly configured
+  IF(WIN32)
+    SET(FORCE_64BIT_BUILD ON)
   ENDIF()

   IF(${compress_type} MATCHES "GIT")
@@ -79,6 +87,7 @@
         -DSCI_PYTHON_INCLUDE:PATH=${SCI_PYTHON_INCLUDE}
         -DSCI_PYTHON_LIBRARY:FILEPATH=${SCI_PYTHON_LIBRARY}
         -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+        -DFORCE_64BIT_BUILD:BOOL=${FORCE_64BIT_BUILD}
     )
   ELSEIF(${compress_type} MATCHES "ZIP")
     MESSAGE(STATUS "ZIP compress_type NOT implemented")


put git branch name into CTEST_BUILD_NAME again to distinguish staging builds

--- test.cmake
+++ test.cmake
@@ -33,6 +33,12 @@
    endif()
 endif()

+file(READ "${CTEST_SOURCE_DIRECTORY}/.git/HEAD" git_branch)
+string(STRIP "${git_branch}" git_branch)
+# -> ref: refs/heads/master
+string(REGEX REPLACE "^.*/" "" git_branch "${git_branch}")
+# -> master
+
 if(arch STREQUAL "linux")
    execute_process(COMMAND lsb_release -d COMMAND cut -f2 OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE lsbRelease)
    set(CTEST_BUILD_NAME "${lsbRelease} ${chip} ${COMPILER_VERSION} $ENV{CXXFLAGS}")
@@ -46,7 +52,7 @@
    execute_process(COMMAND cmake -Darch=${arch} -P ${CTEST_SOURCE_DIRECTORY}/print_target_architecture.cmake OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE auto_target_arch ERROR_VARIABLE auto_target_arch)
    set(CTEST_BUILD_NAME "${CTEST_BUILD_NAME} ${auto_target_arch}")
 endif()
-string(REPLACE "/" "_" CTEST_BUILD_NAME "${CTEST_BUILD_NAME}")
+string(REPLACE "/" "_" CTEST_BUILD_NAME "${git_branch}: ${CTEST_BUILD_NAME}")
 string(REPLACE "+" "x" CTEST_BUILD_NAME "${CTEST_BUILD_NAME}") # CDash fails to escape '+' correctly in URIs
 string(REGEX REPLACE "[][ ()]" "_" CTEST_BINARY_DIRECTORY "${CTEST_BUILD_NAME}")
 set(CTEST_BINARY_DIRECTORY "${CTEST_SOURCE_DIRECTORY}/build-${dashboard_model}-${CTEST_BINARY_DIRECTORY}")
@@ -59,11 +65,6 @@

 Set(CTEST_START_WITH_EMPTY_BINARY_DIRECTORY_ONCE TRUE)

-file(READ "${CTEST_SOURCE_DIRECTORY}/.git/HEAD" git_branch)
-string(STRIP "${git_branch}" git_branch)
-# -> ref: refs/heads/master
-string(REGEX REPLACE "^.*/" "" git_branch "${git_branch}")
-# -> master
 set(CTEST_NOTES_FILES "${CTEST_SOURCE_DIRECTORY}/.git/HEAD" "${CTEST_SOURCE_DIRECTORY}/.git/refs/heads/${git_branch}")

 set(compiler)


Add missing file for building

Add missing file for building

--- add-sources.cmake
+++ add-sources.cmake
@@ -152,6 +152,7 @@
 set(PARSER_FILES
     ${LOMSE_SRC_DIR}/parser/lomse_analyser.cpp
     ${LOMSE_SRC_DIR}/parser/lomse_autobeamer.cpp
+    ${LOMSE_SRC_DIR}/parser/lomse_autoclef.cpp
     ${LOMSE_SRC_DIR}/parser/lomse_compiler.cpp
     ${LOMSE_SRC_DIR}/parser/lomse_ldp_elements.cpp
     ${LOMSE_SRC_DIR}/parser/lomse_ldp_factory.cpp


CMake: Added log message for coverage.

CMake: Added log message for coverage.

--- SetFlags.cmake
+++ SetFlags.cmake
@@ -28,6 +28,7 @@
 macro(set_flags)
 	# Add coverage processing, if requested:
 	if (BUILD_WITH_COVERAGE)
+		message("Including CodeCoverage")
 		set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} "${CMAKE_SOURCE_DIR}/lib/cmake-coverage/")
 		include(CodeCoverage)
 	endif()


Fix in FindGMP

Fix in FindGMP

--- Numerics/cmake/FindGMP.cmake
+++ Numerics/cmake/FindGMP.cmake
@@ -14,7 +14,7 @@
 include(LibFindMacros)

 # Use pkg-config to get hints about paths
-libfind_pkg_check_modules(GMP_PKGCONF gmp)
+pkg_check_modules(GMP_PKGCONF QUIET gmp)

 # First search library and header in GMP_DIR, if given
 if(GMP_DIR)


Update ITK version to include valgrind defect patch

This add a patch to ITK which addresses uninitialized issues with
regards to access to ConvergenceValue.

Change-Id: I83ae9c670fd25941e3a0de6343617a730e083df2

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -45,7 +45,7 @@
 endif()

 # NOTE: it is very important to update the ITK_DIR path with the ITK version
-set(ITK_TAG_COMMAND GIT_TAG 9d4a9bdc9403f2bc5107cf4c8a3463d62ff7079e ) # v4.11.0+ on release branch
+set(ITK_TAG_COMMAND GIT_TAG 742deb8906cf1cc9e02641b36e2ea6175160061e ) # v4.11.0+ on release branch

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


Pass ITK module options into Superbuild

Pass ITK module options into Superbuild

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -14,7 +14,7 @@
 get_cmake_property( _varNames VARIABLES )

 foreach (_varName ${_varNames})
-  if(_varName MATCHES "^ITK_" OR _varName MATCHES "FFTW")
+  if(_varName MATCHES "^ITK_" OR _varName MATCHES "FFTW" OR _varName MATCHES "^Module_ITK")
     message( STATUS "Passing variable \"${_varName}=${${_varName}}\" to ITK external project.")
     list(APPEND ITK_VARS ${_varName})
   endif()


futher attempt to fix osx rpath issues...

--- cmake/oskar_compiler_options.cmake
+++ cmake/oskar_compiler_options.cmake
@@ -13,11 +13,12 @@

 set(BUILD_SHARED_LIBS ON)

-# use, i.e. don't skip the full RPATH for the build tree
-SET(CMAKE_SKIP_BUILD_RPATH  FALSE)
-
-# when building, use the install RPATH already
-SET(CMAKE_BUILD_WITH_INSTALL_RPATH TRUE)
+if (APPLE)
+    # Temporary work around to rpath problems on OS X.
+    # Either as a result of changes in cmake 2.8.12 or using homebrew g++-4.6
+    # or install_name_tool from xcode 5.
+    set(CMAKE_SKIP_RPATH ON)
+endif ()

 # Set the include path to include the top-level folder and sub-folders for
 # main oskar library.


STYLE: indent-region

STYLE: indent-region

--- Packaging/prepare_file_list.cmake
+++ Packaging/prepare_file_list.cmake
@@ -24,10 +24,10 @@
   if(HAVE_PYTHON)
     list(APPEND file_list "_otbApplication${PYMODULE_EXT}")
   endif()
-
+
   foreach(exe_file "iceViewer" "otbTestDriver" "SharkVersion")
     if(EXISTS "${SUPERBUILD_INSTALL_DIR}/bin/${exe_file}${EXE_EXT}")
-        list(APPEND file_list "${exe_file}${EXE_EXT}")
+      list(APPEND file_list "${exe_file}${EXE_EXT}")
     else()
       message(STATUS "${exe_file}${EXE_EXT} not found in ${SUPERBUILD_INSTALL_DIR}/bin. (skipping)")
     endif()
@@ -44,39 +44,37 @@
     list(APPEND file_list "cs2cs${EXE_EXT}")
   endif()

+  file(GLOB otb_test_exe_list
+    "${SUPERBUILD_INSTALL_DIR}/bin/gdal*${EXE_EXT}"
+    "${OTB_BINARY_DIR}/bin/*[T|t]est*${EXE_EXT}"
+    )

-
-   file(GLOB otb_test_exe_list
-     "${SUPERBUILD_INSTALL_DIR}/bin/gdal*${EXE_EXT}"
-     "${OTB_BINARY_DIR}/bin/*[T|t]est*${EXE_EXT}"
-     )
-
-  #special items to be removed!
-   list(REMOVE_ITEM otb_test_exe_list
-     "${SUPERBUILD_INSTALL_DIR}/bin/gdal-config"
-     )
-   list(REMOVE_ITEM otb_test_exe_list
-     "${OTB_BINARY_DIR}/bin/otbcli_TestApplication")
-
-   list(REMOVE_ITEM otb_test_exe_list
-     "${OTB_BINARY_DIR}/bin/otbgui_TestApplication")
-
-   foreach(otb_test_exe   ${otb_test_exe_list})
-     get_filename_component(otb_test_exe_name ${otb_test_exe} NAME)
-     list(APPEND file_list ${otb_test_exe_name})
-   endforeach()
-
-   # special case for msvc: ucrtbase.dll must be explicitly vetted.
-   # for proj.dll, see Mantis-1424
-   if(MSVC)
-     list(APPEND file_list "ucrtbase.dll")
-     list(APPEND file_list "proj.dll")
-   endif()
+  #special items to be removed!. hackety-hack
+  list(REMOVE_ITEM otb_test_exe_list
+    "${SUPERBUILD_INSTALL_DIR}/bin/gdal-config"
+    )
+  list(REMOVE_ITEM otb_test_exe_list
+    "${OTB_BINARY_DIR}/bin/otbcli_TestApplication")
+
+  list(REMOVE_ITEM otb_test_exe_list
+    "${OTB_BINARY_DIR}/bin/otbgui_TestApplication")
+
+  foreach(otb_test_exe   ${otb_test_exe_list})
+    get_filename_component(otb_test_exe_name ${otb_test_exe} NAME)
+    list(APPEND file_list ${otb_test_exe_name})
+  endforeach()
+
+  # special case for msvc: ucrtbase.dll must be explicitly vetted.
+  # for proj.dll, see Mantis-1424
+  if(MSVC)
+    list(APPEND file_list "ucrtbase.dll")
+    list(APPEND file_list "proj.dll")
+  endif()

   set(otb_applications_dir "${SUPERBUILD_INSTALL_DIR}/lib/otb/applications")
   file(GLOB OTB_APPS_LIST "${otb_applications_dir}/otbapp_*${LIB_EXT}") # /lib/otb
   list(APPEND  file_list ${OTB_APPS_LIST})

-    set(${file_list_result} ${file_list} PARENT_SCOPE)
+  set(${file_list_result} ${file_list} PARENT_SCOPE)
 endfunction()


CastXML 0.2.0

CastXML 0.2.0

--- src/Version.cmake
+++ src/Version.cmake
@@ -1,7 +1,7 @@
 # CastXML version number components.
 set(CastXML_VERSION_MAJOR 0)
-set(CastXML_VERSION_MINOR 1)
-set(CastXML_VERSION_PATCH 20190411)
+set(CastXML_VERSION_MINOR 2)
+set(CastXML_VERSION_PATCH 0)
 set(CastXML_VERSION_RC 0)
 set(CastXML_VERSION_IS_DIRTY 0)


Drop test timeout to 2m as the longest running tests have shown to be 67s

--- scripts/dashboard/adios_common.cmake
+++ scripts/dashboard/adios_common.cmake
@@ -69,7 +69,7 @@
 endif()

 if(NOT DEFINED CTEST_TEST_TIMEOUT)
-  set(CTEST_TEST_TIMEOUT 300)
+  set(CTEST_TEST_TIMEOUT 120)
 endif()
 if(NOT DEFINED CTEST_SUBMIT_NOTES)
   set(CTEST_SUBMIT_NOTES TRUE)


x11_egl: use quotes to include glesv1_cm directories

Modifying the CMAKE_EXE_LINKER_FLAGS requires to set the new options
between quotes.

Otherwise, cmake will join the elements with semicolons, generating
incorrect linker flags.

Test: cmake . -DDEQP_TARGET=x11_egl && make
Change-Id: I4d95dc37b6d91ab787b9c2e5568cbe2f08dd472b
Signed-off-by: Juan A. Suarez Romero <af79b5692270b306571bb1d8bbe0285ae3ac93d9@igalia.com>

--- targets/x11_egl/x11_egl.cmake
+++ targets/x11_egl/x11_egl.cmake
@@ -38,7 +38,7 @@
 if (GLES1_LIBRARIES)
 	set(DEQP_SUPPORT_GLES1	ON)
 	set(DEQP_GLES1_LIBRARIES ${GLES1_LIBRARIES})
-	set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS} -L${GLES1_LIBRARY_DIRS})
+	set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -L${GLES1_LIBRARY_DIRS}")
 	if ("${PKG_GLES1_INCLUDE_DIRS}" STREQUAL "")
 		# PKG_GLES1_INCLUDE_DIRS empty, see if matching include
 		# path (GLES/gl.h) exists beside library directory


Preparing batch run

Preparing batch run

Former-commit-id: a0be5bfc45b06647d4d0cc2b5810afd0d2f2aed0

--- cmake-modules/SetupDependenciesConan.cmake
+++ cmake-modules/SetupDependenciesConan.cmake
@@ -126,13 +126,13 @@
                 # in ceres which results in a segfault on free memory.
                 # Something like "double free or corruption ..."
                 #   * EIGEN_MAX_ALIGN_BYTES=16 works on Tetralith
-                message(STATUS "Applying special Eigen compile definitions for Tetralith: EIGEN_MAX_ALIGN_BYTES=16")
-                target_compile_definitions(CONAN_PKG::Eigen3INTERFACE EIGEN_MALLOC_ALREADY_ALIGNED=0) # May work to fix CERES segfaults!!!
-                target_compile_definitions(CONAN_PKG::Eigen3 INTERFACE EIGEN_MAX_ALIGN_BYTES=16)
+#                message(STATUS "Applying special Eigen compile definitions for Tetralith: EIGEN_MAX_ALIGN_BYTES=16")
+#                target_compile_definitions(CONAN_PKG::Eigen3INTERFACE EIGEN_MALLOC_ALREADY_ALIGNED=0) # May work to fix CERES segfaults!!!
+#                target_compile_definitions(CONAN_PKG::Eigen3 INTERFACE EIGEN_MAX_ALIGN_BYTES=16)
             else()
-                message(STATUS "Applying special Eigen compile definitions for general machines: EIGEN_MAX_ALIGN_BYTES=16")
-                target_compile_definitions(CONAN_PKG::Eigen3 INTERFACE EIGEN_MALLOC_ALREADY_ALIGNED=1) # May work to fix CERES segfaults!!!
-                target_compile_definitions(CONAN_PKG::Eigen3 INTERFACE EIGEN_MAX_ALIGN_BYTES=32)
+#                message(STATUS "Applying special Eigen compile definitions for general machines: EIGEN_MAX_ALIGN_BYTES=16")
+#                target_compile_definitions(CONAN_PKG::Eigen3 INTERFACE EIGEN_MALLOC_ALREADY_ALIGNED=1) # May work to fix CERES segfaults!!!
+#                target_compile_definitions(CONAN_PKG::Eigen3 INTERFACE EIGEN_MAX_ALIGN_BYTES=32)
             endif()

     endif()


Switch TTK to Git repo on GitHub

Switch TTK to Git repo on GitHub

--- cmake/externals/projects_modules/TTK.cmake
+++ cmake/externals/projects_modules/TTK.cmake
@@ -51,9 +51,9 @@
 ## Define repository where get the sources
 ## #############################################################################

-set(url svn://scm.gforge.inria.fr/svnroot/ttk/trunk)
+set(url ${GITHUB_PREFIX}Inria-Asclepios/TTK-Public.git)
 if (NOT DEFINED ${ep}_SOURCE_DIR)
-  set(location SVN_REPOSITORY ${url})
+  set(location GIT_REPOSITORY ${url})
 endif()


build: don't always load clang/cmark

build: don't always load clang/cmark

clang/cmark are only needed for the tools, not for the runtime/SDK
overlay.  Do not attempt to configure clang and CMark in the case we do
not build the tools.  This is needed to enable the standalone standard
library only builds.

--- cmake/modules/SwiftSharedCMakeConfig.cmake
+++ cmake/modules/SwiftSharedCMakeConfig.cmake
@@ -196,13 +196,12 @@
 #   product
 #     The product name, e.g. Swift or SourceKit. Used as prefix for some
 #     cmake variables.
-#
-#   is_cross_compiling
-#     Whether this is cross-compiling host tools.
 macro(swift_common_standalone_build_config product)
   swift_common_standalone_build_config_llvm(${product})
-  swift_common_standalone_build_config_clang(${product})
-  swift_common_standalone_build_config_cmark(${product})
+  if(SWIFT_INCLUDE_TOOLS)
+    swift_common_standalone_build_config_clang(${product})
+    swift_common_standalone_build_config_cmark(${product})
+  endif()

   # Enable groups for IDE generators (Xcode and MSVC).
   set_property(GLOBAL PROPERTY USE_FOLDERS ON)


[CI] another fix

[CI] another fix

--- cmake/Docker.cmake
+++ cmake/Docker.cmake
@@ -15,20 +15,20 @@
     find_program(DOCKER_COMMAND docker)
   endif()

+  string(REPLACE ":" "-" DOCKER_DISTRIB_AS_NAME ${DOCKER_DISTRIB})
+  string(REPLACE "." "-" DOCKER_DISTRIB_AS_NAME ${DOCKER_DISTRIB_AS_NAME})
+
   if(DOCKER_TEMPLATES)
     string(REPLACE "," ";" DOCKER_TEMPLATES_LIST ${DOCKER_TEMPLATES})

     string(REPLACE "," "-" DOCKER_IMAGE ${DOCKER_TEMPLATES})
     string(REPLACE "+" "x" DOCKER_IMAGE ${DOCKER_IMAGE})

-    string(REPLACE ":" "-" DOCKER_DISTRIB_AS_NAME ${DOCKER_DISTRIB})
-    string(REPLACE "." "-" DOCKER_DISTRIB_AS_NAME ${DOCKER_DISTRIB_AS_NAME})
-
     set(DOCKER_IMAGE ${DOCKER_DISTRIB_AS_NAME}-${DOCKER_IMAGE})
   endif()

   if(DOCKER_TEMPLATE)
-    set(DOCKER_IMAGE ${DOCKER_DISTRIB}-${DOCKER_TEMPLATE})
+    set(DOCKER_IMAGE ${DOCKER_DISTRIB_AS_NAME}-${DOCKER_TEMPLATE})
     set(DOCKER_FILE ${DOCKER_IMAGE_DIR}/${DOCKER_TEMPLATE})
   endif()


Some minor cleaning up [ci skip].

Some minor cleaning up [ci skip].

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -990,14 +990,16 @@
         SET(PLUGIN_DEBUG_FILENAME ${CMAKE_SHARED_LIBRARY_PREFIX}${PLUGIN_NAME}d${CMAKE_SHARED_LIBRARY_SUFFIX})

         IF(RELEASE_MODE)
-            COPY_FILE_TO_BUILD_DIR(DIRECT_COPY ${PLUGIN_ORIG_DIRNAME} ${PLUGIN_DEST_DIRNAME} ${PLUGIN_RELEASE_FILENAME})
-        ELSE()
-            COPY_FILE_TO_BUILD_DIR(DIRECT_COPY ${PLUGIN_ORIG_DIRNAME} ${PLUGIN_DEST_DIRNAME} ${PLUGIN_DEBUG_FILENAME})
-        ENDIF()
+            SET(PLUGIN_FILENAME ${PLUGIN_RELEASE_FILENAME})
+        ELSE()
+            SET(PLUGIN_FILENAME ${PLUGIN_DEBUG_FILENAME})
+        ENDIF()
+
+        COPY_FILE_TO_BUILD_DIR(DIRECT_COPY ${PLUGIN_ORIG_DIRNAME} ${PLUGIN_DEST_DIRNAME} ${PLUGIN_FILENAME})

         # Deploy the Qt plugin

-        INSTALL(FILES ${PLUGIN_ORIG_DIRNAME}/${PLUGIN_RELEASE_FILENAME}
+        INSTALL(FILES ${PLUGIN_ORIG_DIRNAME}/${PLUGIN_FILENAME}
                 DESTINATION ${PLUGIN_DEST_DIRNAME})
     ENDFOREACH()
 ENDMACRO()


cleanup python.cmake

cleanup python.cmake

--- cmake/python.cmake
+++ cmake/python.cmake
@@ -109,7 +109,7 @@
 endif()
 list(APPEND CMAKE_SWIG_FLAGS ${FLAGS} "-I${PROJECT_SOURCE_DIR}")

-foreach(SUBPROJECT IN ITEMS algorithms graph init linear_solver constraint_solver sat data util)
+foreach(SUBPROJECT IN ITEMS init algorithms graph linear_solver constraint_solver sat data util)
   add_subdirectory(ortools/${SUBPROJECT}/python)
 endforeach()


Add CMAKE support for MAX_STACK_ALLOC setting

--- cmake/system.cmake
+++ cmake/system.cmake
@@ -295,6 +295,14 @@

 if (USE_SIMPLE_THREADED_LEVEL3)
   set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_SIMPLE_THREADED_LEVEL3")
+endif ()
+
+if (DEFINED MAX_STACK_ALLOC)
+if (NOT ${MAX_STACK_ALLOC} EQUAL 0)
+set(CCOMMON_OPT "${CCOMMON_OPT} -DMAX_STACK_ALLOC=${MAX_STACK_ALLOC}")
+endif ()
+else ()
+set(CCOMMON_OPT "${CCOMMON_OPT} -DMAX_STACK_ALLOC=2048")
 endif ()

 if (DEFINED LIBNAMESUFFIX)


Use CMake variables instead of as

Use CMake variables instead of as

--- cmake/system.cmake
+++ cmake/system.cmake
@@ -106,10 +106,16 @@
 endif ()

 if (POWER)
-  set (NO_WARMUP 1)
-  execute_process(COMMAND bash -c "as -v < /dev/null 2>&1 | grep GNU 2>&1 >/dev/null" RESULT_VARIABLE HAVE_GAS)
-  set(GETARCH_FLAGS	"${GETARCH_FLAGS} -DHAVE_GAS=${HAVE_GAS}")
-endif()
+  set(NO_WARMUP 1)
+  set(HAVE_GAS 1)
+  if (CMAKE_ASM_COMPILER_ID STREQUAL "GNU")
+    set(HAVE_GAS 0)
+  elseif (CMAKE_ASM_COMPILER_ID STREQUAL "Clang")
+    set(CCOMMON_OPT "${CCOMMON_OPT} -fno-integrated-as")
+    set(HAVE_GAS 0)
+  endif ()
+  set(GETARCH_FLAGS "${GETARCH_FLAGS} -DHAVE_GAS=${HAVE_GAS}")
+endif ()

 #if don't use Fortran, it will only compile CBLAS.
 if (ONLY_CBLAS)


module macros don't belong here

module macros don't belong here

--- src/CMake/CycamoreModuleMacros.cmake
+++ src/CMake/CycamoreModuleMacros.cmake
@@ -1,48 +0,0 @@
-macro(cyclus_init  _path _name)
-
-  SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY
-    ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}${_path})
-
-  # Build the libraries from the CYCAMORE_SRC source files
-  ADD_LIBRARY( ${_name}       ${_name}.cpp )
-  # Link the libraries to libcycluscore
-  TARGET_LINK_LIBRARIES(${_name} dl ${LIBS})
-  SET(CYCAMORE_LIBRARIES ${CYCAMORE_LIBRARIES} ${_name} )
-
-
-  CONFIGURE_FILE(
-    ${CYCAMORE_SOURCE_DIR}${_path}/${_name}.rng
-    ${PROJECT_BINARY_DIR}/lib${_path}/${_name}.rng
-    COPYONLY
-    )
-
-  install(TARGETS ${_name}
-    LIBRARY DESTINATION cyclus/lib${_path}
-    COMPONENT ${_path}
-    )
-
-  SET(RNG_INCLUDES ${RNG_INCLUDES}
-    "<include href='../lib${_path}/${_name}.rng'/>"
-    PARENT_SCOPE)
-
-  install(FILES "${_name}.rng"
-    DESTINATION cyclus/lib${_path}
-    COMPONENT "${_path}.rng"
-    )
-endmacro()
-
-
-macro(cyclus_init_model _type _name)
-  SET(MODEL_PATH "/Models/${_type}/${_name}")
-  cyclus_init(${MODEL_PATH} ${_name})
-
-  SET(${_type}TestSource ${${_type}TestSource}
-    ${CMAKE_CURRENT_SOURCE_DIR}/${_name}.cpp
-    ${CMAKE_CURRENT_SOURCE_DIR}/${_name}Tests.cpp
-    PARENT_SCOPE)
-
-  SET(${_type}_REFS ${${_type}_REFS}
-    "<ref name='${_name}'/>"
-    PARENT_SCOPE)
-endmacro()
-


modification to uniformize the different dependencies and their variable notation... handled by WkCMake more than cmake along the dependency tree.

--- dist/WkBuild.cmake
+++ dist/WkBuild.cmake
@@ -319,9 +319,9 @@

 find_package( ${package_name} REQUIRED )
 if ( ${package_var_name}_FOUND )
-	set(${PROJECT_NAME}_INCLUDE_DIRS \${${PROJECT_NAME}_INCLUDE_DIRS} \${${package_var_name}_INCLUDE_DIRS} )
-	set(${PROJECT_NAME}_LIBRARIES \${${PROJECT_NAME}_LIBRARIES} \${${package_var_name}_LIBRARIES} )
-	set(${PROJECT_NAME}_RUN_LIBRARIES \${${PROJECT_NAME}_RUN_LIBRARIES} \${${package_var_name}_RUN_LIBRARIES} )
+	set(${PROJECT_NAME}_INCLUDE_DIRS \${${PROJECT_NAME}_INCLUDE_DIRS} ${${package_var_name}_INCLUDE_DIRS} )
+	set(${PROJECT_NAME}_LIBRARIES \${${PROJECT_NAME}_LIBRARIES} ${${package_var_name}_LIBRARIES} )
+	set(${PROJECT_NAME}_RUN_LIBRARIES \${${PROJECT_NAME}_RUN_LIBRARIES} ${${package_var_name}_RUN_LIBRARIES} )
 endif ( ${package_var_name}_FOUND )

 CMAKE_POLICY(POP)


meilleure prise en charge de la cache

meilleure prise en charge de la cache

--- tbb/FindTBB.cmake
+++ tbb/FindTBB.cmake
@@ -15,21 +15,33 @@
 #
 # autodetection:
 #    succeeds if tbb.dll/tbb_debug.dll are in the PATH/LD_LIBRARY_PATH
-#    otherwise, you may set TBB_LIB_PATH, TBB_LIB_PATH manually
+#    otherwise, you may set TBB_LIB_PATH, TBB_LIB_PATH_DEBUG manually
 #
 # main advantage:
-#    the link wilkl be performed with a library in the PATH
+#    the link will be always performed with the library corresponding
+#    to dynamic lib the PATH
 #    => avoids problem when 2 sets of libs are installed in the system
+#
+# remarks:
+#    $ENV{TBBROOT} is *not* used here because it is rather difficult
+#    to guess the wanted target architecture
+#
+# tested on:
+#    win7-msvc + official tbb binaries
+#    winxp-mingw32 + tbb compiled from src
+#    linux + installed parallel studio
 #
 # memo:
 #    http://www.cmake.org/Wiki/CMake:How_To_Find_Libraries#Writing_find_modules
 # ----------------------------------------------------------------------------

+set (_VERB 0)
+
 OPTION(ENABLE_TBBMALLOC "Use TBBMALLOC" ON)

 # clean cache from previous runs
-unset(TBB_TBBDLL       CACHE)
-unset(TBB_TBBDLL_DEBUG CACHE)
+unset(_TBB_TBBDLL       CACHE)
+unset(_TBB_TBBDLL_DEBUG CACHE)

 IF(0)  # Debug
 	MESSAGE(STATUS "-------------------------------------")
@@ -46,7 +58,14 @@
 	MESSAGE(STATUS "MINGW=${MINGW}")
 ENDIF()

-# --- Liste des bibliothèques à trouver ---
+# --- List of libraries to be found ---
+
+set(_TBB_LIB_NAME    "tbb")
+set(_TBB_MALLOC_NAME "tbbmalloc")
+set(_TBB_PROXY_NAME  "tbbmalloc_proxy")
+
+
+

 SET(TBB_LIBRARIES  optimized tbb debug tbb_debug)
 IF(ENABLE_TBBMALLOC)
@@ -63,65 +82,68 @@
 #     on linux or win/mingw; this path is correct
 #   - on win/msvc, replace "bin" => "lib" in the path previously found

-SET(TBB_LIB_PATH TBB_LIB_PATH-NOTFOUND CACHE PATH "where the optimized .so/.lib are")
-
-IF(NOT TBB_LIB_PATH)
+SET(_TBB_LIB_PATH ${TBB_LIB_PATH})                              # copy cached value
+IF(NOT _TBB_LIB_PATH)                                           # work on copy
 	# try to find "tbb.dll/so" from the env variables
 	IF(MSVC)
-		find_file(TBB_TBBDLL "tbb.dll" PATHS "" )
-	ELSE()
-		find_library(TBB_TBBDLL "tbb" PATHS "" ENV LD_LIBRARY_PATH)
-	ENDIF()
-	MESSAGE(STATUS "TBB_TBBDLL=${TBB_TBBDLL}")
-	IF("${TBB_TBBDLL}" STREQUAL "TBB_TBBDLL-NOTFOUND")
+		find_file(_TBB_TBBDLL "tbb.dll" PATHS "" )
+	ELSE()
+		find_library(_TBB_TBBDLL "tbb" PATHS "" ENV LD_LIBRARY_PATH)
+	ENDIF()
+	MESSAGE(STATUS "_TBB_TBBDLL=${_TBB_TBBDLL}")
+	IF("${_TBB_TBBDLL}" STREQUAL "_TBB_TBBDLL-NOTFOUND")
 		MESSAGE(FATAL_ERROR "!!!!!!!! tbb${CMAKE_SHARED_LIBRARY_SUFFIX} should be in PATH/LD_LIBRARY_PATH !!!!!!!!!")
 	ENDIF()

-	get_filename_component(TBB_DLL_PATH ${TBB_TBBDLL} PATH CACHE)
-	unset(TBB_TBBDLL CACHE)
-
-	IF(MSVC)
-		STRING(REPLACE "/bin/" "/lib/" TBB_LIB_PATH ${TBB_DLL_PATH})
-		SET(TBB_LIB_PATH ${TBB_LIB_PATH} CACHE PATH "where the optimized .so/.lib are" FORCE)
-	ELSE()
-		SET(TBB_LIB_PATH ${TBB_DLL_PATH} CACHE PATH "where the optimized .so/.lib are" FORCE)
-	ENDIF()
-	unset(TBB_DLL_PATH CACHE)
-
-	MESSAGE(STATUS "TBB_LIB_PATH=${TBB_LIB_PATH}")
-ENDIF()
+	get_filename_component(_TBB_DLL_PATH ${_TBB_TBBDLL} PATH CACHE)
+	unset(_TBB_TBBDLL CACHE)
+
+	IF(MSVC)
+		STRING(REPLACE "/bin/" "/lib/" _TBB_LIB_PATH ${_TBB_DLL_PATH})
+	ELSE()
+		SET(_TBB_LIB_PATH ${_TBB_DLL_PATH})
+	ENDIF()
+	unset(_TBB_DLL_PATH CACHE)
+
+	MESSAGE(STATUS "_TBB_LIB_PATH=${_TBB_LIB_PATH}")
+ENDIF()
+IF(NOT TBB_LIB_PATH) # set cache if needed
+	SET(TBB_LIB_PATH ${_TBB_LIB_PATH} CACHE PATH "where the optimized .so/.lib are")
+ENDIF()
+

 # ----------------------------------------------------------------------------
 # --- TBB_LIB_PATH_DEBUG ---
 # ----------------------------------------------------------------------------
 #   same method for debug libs

-SET(TBB_LIB_PATH_DEBUG TBB_LIB_PATH_DEBUG-NOTFOUND CACHE PATH "where the debug .so/.lib are")
-
-IF(NOT TBB_LIB_PATH_DEBUG)
+SET(_TBB_LIB_PATH_DEBUG ${TBB_LIB_PATH_DEBUG})                              # copy cached value
+IF(NOT _TBB_LIB_PATH_DEBUG)                                                 # work on copy
 	# try to find "tbb_debug.dll/so" from the env variables
 	IF(MSVC)
-		find_file(TBB_TBBDLL_DEBUG "tbb_debug.dll" PATHS "" )
-	ELSE()
-		find_library(TBB_TBBDLL_DEBUG "tbb_debug" PATHS "" ENV LD_LIBRARY_PATH)
-	ENDIF()
-	MESSAGE(STATUS "TBB_TBBDLL_DEBUG=${TBB_TBBDLL_DEBUG}")
-	IF(NOT TBB_TBBDLL_DEBUG)
+		find_file(_TBB_TBBDLL_DEBUG "tbb_debug.dll" PATHS "" )
+	ELSE()
+		find_library(_TBB_TBBDLL_DEBUG "tbb_debug" PATHS "" ENV LD_LIBRARY_PATH)
+	ENDIF()
+	MESSAGE(STATUS "_TBB_TBBDLL_DEBUG=${_TBB_TBBDLL_DEBUG}")
+	IF(NOT _TBB_TBBDLL_DEBUG)
 		MESSAGE(FATAL_ERROR "!!!!!!!! tbb_debug${CMAKE_SHARED_LIBRARY_SUFFIX} should be in PATH/LD_LIBRARY_PATH !!!!!!!!!")
 	ENDIF()

-	get_filename_component(TBB_DLL_PATH_DEBUG ${TBB_TBBDLL_DEBUG} PATH CACHE)
-	unset(TBB_TBBDLL_DEBUG CACHE)
-
-	IF(MSVC)
-		STRING(REPLACE "/bin/" "/lib/" TBB_LIB_PATH_DEBUG ${TBB_DLL_PATH_DEBUG})
-		SET(TBB_LIB_PATH_DEBUG ${TBB_LIB_PATH_DEBUG} CACHE PATH "where the debug .so/.lib are" FORCE)
-	ELSE()
-		SET(TBB_LIB_PATH_DEBUG ${TBB_DLL_PATH_DEBUG} CACHE PATH "where the debug .so/.lib are" FORCE)
-	ENDIF()
-	unset(TBB_DLL_PATH_DEBUG CACHE)
-
-	MESSAGE(STATUS "TBB_LIB_PATH_DEBUG=${TBB_LIB_PATH_DEBUG}")
+	get_filename_component(_TBB_DLL_PATH_DEBUG ${_TBB_TBBDLL_DEBUG} PATH CACHE)
+	unset(_TBB_TBBDLL_DEBUG CACHE)
+
+	IF(MSVC)
+		STRING(REPLACE "/bin/" "/lib/" _TBB_LIB_PATH_DEBUG ${_TBB_DLL_PATH_DEBUG})
+	ELSE()
+		SET(_TBB_LIB_PATH_DEBUG ${_TBB_DLL_PATH_DEBUG})
+	ENDIF()
+	unset(_TBB_DLL_PATH_DEBUG CACHE)
+
+	MESSAGE(STATUS "_TBB_LIB_PATH_DEBUG=${_TBB_LIB_PATH_DEBUG}")
+ENDIF()
+IF(NOT TBB_LIB_PATH_DEBUG) # set cache if needed
+	SET(TBB_LIB_PATH_DEBUG ${_TBB_LIB_PATH_DEBUG} CACHE PATH "where the debug .so/.lib are")
 ENDIF()

 # ----------------------------------------------------------------------------
@@ -171,3 +193,14 @@
 # a voir + tard si necessaire
 #mark_as_advanced(TBB_INCLUDE_DIRS TBB_LIBRARIES )

+# ----------------------------------------------------------------------------
+# Version
+# ----------------------------------------------------------------------------
+
+IF(TBB_INCLUDE_DIRS)
+	set(TBB_INTERFACE_VERSION 0)
+	FILE(READ "${TBB_INCLUDE_DIRS}/tbb/tbb_stddef.h" _TBB_VERSION_CONTENTS)
+	STRING(REGEX REPLACE ".*#define TBB_INTERFACE_VERSION ([0-9]+).*" "\\1" TBB_INTERFACE_VERSION "${_TBB_VERSION_CONTENTS}")
+	set(TBB_INTERFACE_VERSION "${TBB_INTERFACE_VERSION}")
+	MESSAGE(STATUS "TBB_INTERFACE_VERSION=${TBB_INTERFACE_VERSION}")
+ENDIF()


[TASK] Update dependency to the latest C++ SDK

Related: CLI-117

--- ext/virgil_sdk/virgil_sdk.cmake
+++ ext/virgil_sdk/virgil_sdk.cmake
@@ -52,8 +52,8 @@

 ExternalProject_Add (${PROJECT_NAME}
     DOWNLOAD_DIR "@VIRGIL_DEPENDS_PACKAGE_DOWNLOAD_DIR@"
-    URL "https://github.com/VirgilSecurity/virgil-sdk-cpp/archive/38a9f6497abce55ee79f9a4547607fb055b5bf63.tar.gz"
-    URL_HASH SHA1=3a0d5a485ac1237a901136b89ffc05513cbf87cd
+    URL "https://github.com/VirgilSecurity/virgil-sdk-cpp/archive/c6efe5e3d9126c8989ad2a473158855d57b49923.tar.gz"
+    URL_HASH SHA1=471c87e52385b28fe75678c79ee85202b5d8f48c
     PREFIX "@VIRGIL_DEPENDS_PACKAGE_BUILD_DIR@"
     CMAKE_ARGS "@VIRGIL_DEPENDS_CMAKE_ARGS@"
 )


recovering lost changes

recovering lost changes

--- WkBuild.cmake
+++ WkBuild.cmake
@@ -60,8 +60,7 @@
 endmacro(WkIncludeDir dir)

 macro(WkSrcDir dir)
-	message (DEPRECATED "WkSrcDir is deprecated since multi target support has been added.")
-	message (DEPRECATED "You can now specify the source directory directly when calling WkLibraryBuild() or WkExecutableBuild().")
+	message (AUTHOR_WARNING "WkSrcDir is deprecated since multi target support has been added. You can now specify the source directory directly when calling WkLibraryBuild() or WkExecutableBuild().")
 	if (${PROJECT_NAME} STREQUAL "Project")
 		message(FATAL_ERROR "WkSrcDir has to be called after WkProject")
 	else ()
@@ -203,7 +202,8 @@
 macro (WkBuild project_type)
 CMAKE_POLICY(PUSH)
 CMAKE_POLICY(VERSION 2.6)
-
+	WkSrcDir("src")
+	message(AUTHOR_WARNING "WkBuild is deprecated. Please use WkLibraryBuild or WkExecutableBuild instead.")
 	if ( ${project_type} STREQUAL EXECUTABLE )
 		if ( ${ARGC} GREATER 1 AND EXISTS ${ARGV1} AND IS_DIRECTORY ${ARGV1} )
 			if (${PROJECT_NAME}_SRC_DIR)
@@ -211,16 +211,19 @@
 			endif(${PROJECT_NAME}_SRC_DIR)
 			set(${PROJECT_NAME}_SRC_DIR ${ARGV1} )
 		endif ( ${ARGC} GREATER 1 AND EXISTS ${ARGV1} AND IS_DIRECTORY ${ARGV1} )
+		message(STATUS "Using default Source directory : ${${PROJECT_NAME}_SRC_DIR} ")
 		WkExecutableBuild(${PROJECT_NAME} ${${PROJECT_NAME}_SRC_DIR})
 	elseif ( ${project_type} STREQUAL LIBRARY )
 		if ( ${ARGC} GREATER 1 )
 			if ( ${ARGV1} STREQUAL STATIC OR ${ARGV1} STREQUAL SHARED OR ${ARGV1} STREQUAL MODULE )
 				set(${PROJECT_NAME}_load_type ${ARGV1} )
-				if ( EXISTS ${ARGV2} AND IS_DIRECTORY ${ARGV2} )
-					if (${PROJECT_NAME}_SRC_DIR)
-						message(WARNING "${ARGV2} will override ${${PROJECT_NAME}_SRC_DIR} as source directory for ${PROJECT_NAME}")
-					endif(${PROJECT_NAME}_SRC_DIR)
-					set(${PROJECT_NAME}_SRC_DIR ${ARGV2} )
+				if ( ${ARGC} GREATER 2)
+					if( EXISTS ${ARGV2} AND IS_DIRECTORY ${ARGV2} )
+						if (${PROJECT_NAME}_SRC_DIR)
+							message(WARNING "${ARGV2} will override ${${PROJECT_NAME}_SRC_DIR} as source directory for ${PROJECT_NAME}")
+						endif(${PROJECT_NAME}_SRC_DIR)
+						set(${PROJECT_NAME}_SRC_DIR ${ARGV2} )
+					endif( EXISTS ${ARGV2} AND IS_DIRECTORY ${ARGV2} )
 				endif()
 			elseif ( EXISTS ${ARGV1} AND IS_DIRECTORY ${ARGV1} )
 				if (${PROJECT_NAME}_SRC_DIR)
@@ -229,6 +232,7 @@
 				set(${PROJECT_NAME}_SRC_DIR ${ARGV1} )
 			endif ()
 		endif ( ${ARGC} GREATER 1 )
+		message(STATUS "Using default Source directory : ${${PROJECT_NAME}_SRC_DIR} ")
 		WkLibraryBuild(${PROJECT_NAME} ${${PROJECT_NAME}_load_type} ${${PROJECT_NAME}_SRC_DIR})
 	else()
 		message(FATAL_ERROR "WkBuild called with project_type = ${project_type}. It can be either EXECUTABLE or LIBRARY.")


Fix matplotlib build to use FBD as base directory via setup.cfg

--- matplotlib.cmake
+++ matplotlib.cmake
@@ -28,7 +28,8 @@
     URL                 ${matplotlib_URL}
     URL_MD5             ${matplotlib_MD5}
     UPDATE_COMMAND      ""
-    PATCH_COMMAND       ""
+    PATCH_COMMAND       ${CMAKE_COMMAND} -E
+	echo -e "[directories]\nbasedirlist = ${FLYEM_BUILD_DIR}" > setup.cfg
     CONFIGURE_COMMAND   ""
     BUILD_COMMAND       ${FLYEM_ENV_STRING} ${PYTHON_EXE} setup.py build
     BUILD_IN_SOURCE     1


Manually fix missing python problem, using fix from mesh code.

--- indra/cmake/LLTestCommand.cmake
+++ indra/cmake/LLTestCommand.cmake
@@ -1,3 +1,4 @@
+include(Python)
 MACRO(LL_TEST_COMMAND OUTVAR LD_LIBRARY_PATH)
   # nat wonders how Kitware can use the term 'function' for a construct that
   # cannot return a value. And yet, variables you set inside a FUNCTION are


Changed default baudrate to be ARM_AVR friendly.

--- cmake/flags.cmake
+++ cmake/flags.cmake
@@ -1,5 +1,5 @@
 set(F_CPU 11059200)
-set(CAN_BAUDRATE 204800)
+set(CAN_BAUDRATE 125000)

 # In relation to GCC Bugzilla – Bug 59396
 # https://gcc.gnu.org/bugzilla/show_bug.cgi?id=59396


if you're installed, glob up the avaiable langs CMAKE_INSTALL_PREFIX/etc

--- cmake/langs.cmake
+++ cmake/langs.cmake
@@ -1,6 +1,8 @@
 if (NOT catkin_SOURCE_DIR)
   if (NOT CATKIN_GENLANGS)
-    file(GLOB CATKIN_GENLANGS RELATIVE /opt/ros/fuerte/etc/langs /opt/ros/fuerte/etc/langs/gen*)
+    file(GLOB CATKIN_GENLANGS
+      RELATIVE ${CMAKE_INSTALL_PREFIX}/etc/langs
+      ${CMAKE_INSTALL_PREFIX}/etc/langs/gen*)
     message(STATUS "Using these generator languages from the installation: ${CATKIN_GENLANGS}")
   endif()
 endif()


erthink-cmake: minor sync/spelling.

erthink-cmake: minor sync/spelling.

--- cmake/utils.cmake
+++ cmake/utils.cmake
@@ -17,8 +17,8 @@
 cmake_policy(PUSH)
 cmake_policy(VERSION 3.8.2)

-macro(add_compile_flags langs)
-  foreach(_lang ${langs})
+macro(add_compile_flags languages)
+  foreach(_lang ${languages})
     string(REPLACE ";" " " _flags "${ARGN}")
     if(CMAKE_CXX_COMPILER_LOADED AND _lang STREQUAL "CXX")
       set("${_lang}_FLAGS" "${${_lang}_FLAGS} ${_flags}")


Add OpenCL package property description.

--- cmake/utils.cmake
+++ cmake/utils.cmake
@@ -306,6 +306,10 @@
             DESCRIPTION "GNU C library POSIX threads implementation. (REQUIRED)"
             TYPE REQUIRED
             )
+    SET_PACKAGE_PROPERTIES(OpenCL PROPERTIES
+            DESCRIPTION "Code generation for GPU acceleration. (OPTIONAL)"
+            TYPE REQUIRED
+            )
     SET_PACKAGE_PROPERTIES(Git PROPERTIES
             DESCRIPTION "Open Source Distributed Version Control System. (OPTIONAL)"
             TYPE REQUIRED


Bump WSREP_PATCH_VERSION to 18

Bump WSREP_PATCH_VERSION to 18

--- cmake/wsrep.cmake
+++ cmake/wsrep.cmake
@@ -18,7 +18,7 @@
 # so WSREP_VERSION is produced regardless

 # Set the patch version
-SET(WSREP_PATCH_VERSION "17")
+SET(WSREP_PATCH_VERSION "18")

 # MariaDB addition: Revision number of the last revision merged from
 # codership branch visible in @@visible_comment.


modified superbuild to use OpenCV 2.3

modified superbuild to use OpenCV 2.3

--- CMakeExternals/OpenCV.cmake
+++ CMakeExternals/OpenCV.cmake
@@ -3,60 +3,17 @@
 #-----------------------------------------------------------------------------

 IF(MITK_USE_OpenCV)
-if (UNIX AND NOT APPLE)

-  include(${MITK_SOURCE_DIR}/CMake/mitkMacroGetLinuxDistribution.cmake)
-  GetLinuxDistribution()
+  if (UNIX AND NOT APPLE)

-  if("${LINUX_DISTRIBUTION}" MATCHES "^[Uu][Bb][Uu][Nn][Tt][Uu].*" AND "${LINUX_RELEASE}" MATCHES "11.04")
-    set(OpenCV_DIR "/usr/share/opencv/")
-  else()
+    include(${MITK_SOURCE_DIR}/CMake/mitkMacroGetLinuxDistribution.cmake)
+    GetLinuxDistribution()

-    # Sanity checks
-    IF(DEFINED OpenCV_DIR AND NOT EXISTS ${OpenCV_DIR})
-      MESSAGE(FATAL_ERROR "OpenCV_DIR variable is defined but corresponds to non-existing directory")
-    ENDIF()
-
-    SET(proj OpenCV)
-    SET(proj_DEPENDENCIES)
-    SET(OpenCV_DEPENDS ${proj})
-
-    IF(NOT DEFINED OpenCV_DIR)
-
-      OPTION(OpenCV_BUILD_NEW_PYTHON_SUPPORT "Build OpenCV Python wrappers" OFF)
-      MARK_AS_ADVANCED(OpenCV_BUILD_NEW_PYTHON_SUPPORT)
-
-      IF(WIN32)
-	SET(opencv_url http://mitk.org/download/thirdparty/OpenCV-2.2.0-win.tar.bz2)
-      ELSE()
-	SET(opencv_url http://mitk.org/download/thirdparty/OpenCV-2.2.0.tar.bz2)
-      ENDIF()
-
-      ExternalProject_Add(${proj}
-	URL ${opencv_url}
-	BINARY_DIR ${proj}-build
-	INSTALL_COMMAND ""
-	CMAKE_GENERATOR ${gen}
-	CMAKE_ARGS
-	  ${ep_common_args}
-	  -DBUILD_TESTS:BOOL=OFF
-	  -DBUILD_EXAMPLES:BOOL=OFF
-	  -DBUILD_DOXYGEN_DOCS:BOOL=OFF
-	  -DBUILD_NEW_PYTHON_SUPPORT:BOOL=${OpenCV_BUILD_NEW_PYTHON_SUPPORT}
-	DEPENDS ${proj_DEPENDENCIES}
-	)
-
-      SET(OpenCV_DIR ${CMAKE_CURRENT_BINARY_DIR}/${proj}-build)
-
-    ELSE()
-
-      mitkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
-
-    ENDIF()
+    if("${LINUX_DISTRIBUTION}" MATCHES "^[Uu][Bb][Uu][Nn][Tt][Uu].*" AND "${LINUX_RELEASE}" MATCHES "11.04")
+      set(OpenCV_DIR "/usr/share/opencv/")
+    endif()

   endif()
-
-else()

   # Sanity checks
   IF(DEFINED OpenCV_DIR AND NOT EXISTS ${OpenCV_DIR})
@@ -72,25 +29,29 @@
     OPTION(OpenCV_BUILD_NEW_PYTHON_SUPPORT "Build OpenCV Python wrappers" OFF)
     MARK_AS_ADVANCED(OpenCV_BUILD_NEW_PYTHON_SUPPORT)

-    IF(WIN32)
-      SET(opencv_url http://mitk.org/download/thirdparty/OpenCV-2.2.0-win.tar.bz2)
-    ELSE()
-      SET(opencv_url http://mitk.org/download/thirdparty/OpenCV-2.2.0.tar.bz2)
-    ENDIF()
+    #IF(WIN32)
+      #SET(opencv_url http://mitk.org/download/thirdparty/OpenCV-2.2.0-win.tar.bz2)
+    #ELSE()
+      #SET(opencv_url http://mitk.org/download/thirdparty/OpenCV-2.3.1a.tar.bz2)
+    #ENDIF()
+
+    SET(opencv_url http://mitk.org/download/thirdparty/OpenCV-2.3.1a.tar.bz2)
+    #SET(opencv_url file:///tmp/OpenCV-2.3.0.tar.bz2)

     ExternalProject_Add(${proj}
-      URL ${opencv_url}
-      BINARY_DIR ${proj}-build
-      INSTALL_COMMAND ""
-      CMAKE_GENERATOR ${gen}
-      CMAKE_ARGS
-	${ep_common_args}
-	-DBUILD_TESTS:BOOL=OFF
-	-DBUILD_EXAMPLES:BOOL=OFF
-	-DBUILD_DOXYGEN_DOCS:BOOL=OFF
-	-DBUILD_NEW_PYTHON_SUPPORT:BOOL=${OpenCV_BUILD_NEW_PYTHON_SUPPORT}
-      DEPENDS ${proj_DEPENDENCIES}
-      )
+URL ${opencv_url}
+BINARY_DIR ${proj}-build
+INSTALL_COMMAND ""
+CMAKE_GENERATOR ${gen}
+CMAKE_ARGS
+  ${ep_common_args}
+  -DBUILD_DOCS:BOOL=OFF
+  -DBUILD_TESTS:BOOL=OFF
+  -DBUILD_EXAMPLES:BOOL=OFF
+  -DBUILD_DOXYGEN_DOCS:BOOL=OFF
+  -DBUILD_NEW_PYTHON_SUPPORT:BOOL=${OpenCV_BUILD_NEW_PYTHON_SUPPORT}
+DEPENDS ${proj_DEPENDENCIES}
+)

     SET(OpenCV_DIR ${CMAKE_CURRENT_BINARY_DIR}/${proj}-build)

@@ -100,6 +61,4 @@

   ENDIF()

-endif()
-
-endif()
+ENDIF()


we have a new server for hosting CDash reports.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -8,6 +8,6 @@
 set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC")

 set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "eigen.tuxfamily.org")
+set(CTEST_DROP_SITE "manao.inria.fr")
 set(CTEST_DROP_LOCATION "/CDash/submit.php?project=Eigen")
 set(CTEST_DROP_SITE_CDASH TRUE)


this time I really catched all of them, I hope...

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

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -10,8 +10,9 @@
   ${CTEST_CUSTOM_ERROR_EXCEPTION}
   "ICECC"
   "Segmentation fault"
-  "GConf Error: No D-BUS daemon running"
+  "GConf Error"
   "Client failed to connect to the D-BUS daemon"
+  "Failed to connect to socket"
   )

 # No coverage for these files


run more tests now that the drd_mid_* and drd_large_* tests are quicker
refs #4871
closes #5157

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

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -86,14 +86,8 @@
     ydb/drd_mid_${test}
     ydb/drd_large_${test}
     )
-  if(NOT test MATCHES "test_stress(1|3).tdb")
-    list(APPEND CTEST_CUSTOM_TESTS_IGNORE
-      ydb/drd_large_${test}
-      )
-  endif()
   if(NOT @RUN_LONG_TESTS@)
     list(APPEND CTEST_CUSTOM_TESTS_IGNORE
-      ydb/drd_mid_${test}
       ydb/drd_large_${test}
       )
   endif()


Adds google.benchmark as target for benchmarks

--- scripts/AddBenchmark.cmake
+++ scripts/AddBenchmark.cmake
@@ -25,6 +25,8 @@
   set_target_properties(benchmark_${targetname} PROPERTIES OUTPUT_NAME ${targetname})
   if(TARGET gbenchmark)
     target_link_libraries(benchmark_${targetname} gbenchmark)
+  elseif(TARGET google.benchmark)
+    target_link_libraries(benchmark_${targetname} google.benchmark)
   endif()
   if(benchmark_INCLUDES)
     target_include_directories(benchmark_${targetname} PUBLIC ${benchmark_INCLUDES})


COMP: Temporarily block vtkBoostGraphAdapter in vtkWrapHierarchy.

The file vtkBoostGraphAdapter.h uses "class X : public virtual Y"
and the wrapper's C++ parser (which is still the same one used in
VTK 5.10) does recognize this as valid syntax.  So until we merge
the new VTK 6 wrapper parser, this class must be blocked within
vtkWrapHierarchy.cmake to avoid a vtkWrapHierarchy syntax error.

Change-Id: I406bfe6abc1d2f3d0678be056e947a1ec9973a17

--- CMake/vtkWrapHierarchy.cmake
+++ CMake/vtkWrapHierarchy.cmake
@@ -80,9 +80,11 @@
     # Temporarily exclude files that cause vtkWrapHierarchy syntax errors.
     # LSDynaFamily.h has a templated inline function.
     # gl2ps.h uses an unrecognized export macro.
-    # Both issues will be resolved soon by an update to the wrapper parser.
+    # vtkBoostGraphAdapter has a helper struct with a virtual base class.
+    # These issues will be resolved soon by an update to the wrapper parser.
     if("${TMP_FILENAME}" STREQUAL "LSDynaFamily" OR
-       "${TMP_FILENAME}" STREQUAL "gl2ps")
+       "${TMP_FILENAME}" STREQUAL "gl2ps" OR
+       "${TMP_FILENAME}" STREQUAL "vtkBoostGraphAdapter")
       set(TMP_EXCLUDE_FROM_HIERARCHY ON)
     endif()