Update android toolchain

Update android toolchain

--- toolchain-android.cmake
+++ toolchain-android.cmake
@@ -1,16 +1,25 @@
+if("$ENV{ARMv8}") # GCC 4.9
+  set(BUILD_ANDROID64 1)
+  set(C_COMPILER aarch64-linux-android)
+  set(CXX_COMPILER aarch64-linux-android)
+  set(IDENTIFIER -4.9-aarch64)
+else() # GCC 4.8
+  set(BUILD_ANDROID 1)
+  set(ARM_TARGET "armeabi-v7a")
+  set(C_COMPILER arm-linux-androideabi)
+  set(CXX_COMPILER arm-linux-androideabi)
+endif()
 set(CMAKE_SYSTEM_NAME Linux)
 set(CMAKE_SYSTEM_PROCESSOR arm)
 set(CMAKE_SYSTEM_VERSION 1)
-set(BUILD_ARM 0)
-set(BUILD_ANDROID 1)
-set(ARM_TARGET "armeabi-v7a")
+set(BUILD_ARM 1)
 set(LOCAL_ARM_NEON "true")
-set(ANDROID_COMMON_FLAGS " --sysroot=${LLVM_ANDROID_TOOLCHAIN_DIR}/sysroot -B${LLVM_ANDROID_TOOLCHAIN_DIR} ")
+set(ANDROID_COMMON_FLAGS " --sysroot=${LLVM_ANDROID_TOOLCHAIN_DIR}${IDENTIFIER}/sysroot -B${LLVM_ANDROID_TOOLCHAIN_DIR}${IDENTIFIER} ")
+set(CMAKE_C_COMPILER ${LLVM_ANDROID_TOOLCHAIN_DIR}${IDENTIFIER}/bin/${C_COMPILER}-gcc)
+set(CMAKE_CXX_COMPILER ${LLVM_ANDROID_TOOLCHAIN_DIR}${IDENTIFIER}/bin/${CXX_COMPILER}-g++)
 set(CMAKE_C_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cflags" FORCE)
 set(CMAKE_CXX_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cxxflags" FORCE)
 set(CMAKE_LINK_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_linkflags" FORCE)
-set(CMAKE_C_COMPILER ${LLVM_ANDROID_TOOLCHAIN_DIR}/bin/arm-linux-androideabi-gcc)
-set(CMAKE_CXX_COMPILER ${LLVM_ANDROID_TOOLCHAIN_DIR}/bin/arm-linux-androideabi-g++)
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


up the version of hdf5 in meshkit to match the rgg superbuild

--- meshkit/versions.cmake
+++ meshkit/versions.cmake
@@ -40,8 +40,8 @@
   URL_MD5 40c0e53433fc5dc59296ee257ff4a813)

 add_revision(hdf5
-  URL "http://www.hdfgroup.org/ftp/HDF5/releases/hdf5-1.8.8/src/hdf5-1.8.8.tar.gz"
-  URL_MD5 1196e668f5592bfb50d1de162eb16cff)
+  URL "http://paraview.org/files/dependencies/hdf5-1.8.9.tar.gz"
+  URL_MD5 d1266bb7416ef089400a15cc7c963218)

 add_revision(moab
   GIT_REPOSITORY https://bitbucket.org/fathomteam/moab.git


make/env.cmake: Setup target properties for all binaries

When using the add_conda_package function but not using conda setup all
the target properties for each binary the package is providing.

Signed-off-by: Nathan Rossi <2e8aa918660411855c6d44d5bb2da677aa033255@nathanrossi.com>

--- make/env.cmake
+++ make/env.cmake
@@ -159,11 +159,15 @@
         ${binary_upper} ${${binary_upper}}
         ${binary_upper}_TARGET ${TARGET})
     endforeach()
-  elseif()
-    set(${binary_upper} ${NAME})
-    replace_with_env_if_set(${binary_upper})
-    set_target_properties(env PROPERTIES ${binary_upper} ${${binary_upper}})
-    set_target_properties(env PROPERTIES ${binary_upper}_TARGET "")
+  else()
+    foreach(OUTPUT ${ADD_CONDA_PACKAGE_PROVIDES})
+      string(TOUPPER ${OUTPUT} binary_upper)
+      set(${binary_upper} ${OUTPUT})
+      replace_with_env_if_set(${binary_upper})
+      set_target_properties(env PROPERTIES
+        ${binary_upper} ${${binary_upper}}
+        ${binary_upper}_TARGET "")
+    endforeach()
   endif()
 endfunction()


Changed cmake file back to where it was one commit ago due to strange merge, should be OK but not 100% sure

--- capi/cmake/FindMantisAPI.cmake
+++ capi/cmake/FindMantisAPI.cmake
@@ -31,7 +31,6 @@
 else(WIN32)
     find_library(MantisAPI_LIBRARIES NAMES MantisAPI
       PATHS
-      ${CMAKE_INSTALL_PREFIX}/lib
       ${CMAKE_LIB_PATH}
       /usr/lib
       /usr/lib/mantis


SVN_SILENT made messages (.desktop file)

--- xine/xine.desktop.cmake
+++ xine/xine.desktop.cmake
@@ -70,7 +70,7 @@
 Comment[bs]=Xine kao pozadina za Phonon
 Comment[ca]=Dorsal del Xine pel Phonon
 Comment[ca@valencia]=Dorsal del Xine pel Phonon
-Comment[cs]=Phonon Xine backend
+Comment[cs]=Podpůrná vrstva Phonon Xine
 Comment[da]=Xine-backend til Phonon
 Comment[de]=Phonon-Treiber für Xine
 Comment[el]=Σύστημα υποστήριξης του Phonon Xine


Properly install executables into bin

Properly install executables into bin

--- cmake/GTClangDefinitions.cmake
+++ cmake/GTClangDefinitions.cmake
@@ -58,7 +58,7 @@
 set(GTCLANG_UNITTEST_INCLUDES ${CMAKE_SOURCE_DIR}/src)

 # Installation definitions
-set(GTCLANG_INSTALL_BIN_DIR cmake
+set(GTCLANG_INSTALL_BIN_DIR bin
     CACHE INTERNAL "Relative path of the binary install location" FORCE)
 set(GTCLANG_INSTALL_INCLUDE_DIR include
     CACHE INTERNAL "Relative path of the include install location" FORCE)


one more ugly commit to fix libusb related problems in MacOS

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

--- cmake/Modules/FindOpenNI.cmake
+++ cmake/Modules/FindOpenNI.cmake
@@ -28,7 +28,11 @@
              PATHS "$ENV{PROGRAMFILES}/OpenNI/Lib${OPENNI_SUFFIX}" "$ENV{PROGRAMW6432}/OpenNI/Lib${OPENNI_SUFFIX}")

 set(OPENNI_INCLUDE_DIRS ${OPENNI_INCLUDE_DIR})
-set(OPENNI_LIBRARIES ${OPENNI_LIBRARY})
+if(APPLE)
+  set(OPENNI_LIBRARIES ${OPENNI_LIBRARY} usb-1.0)
+else()
+  set(OPENNI_LIBRARIES ${OPENNI_LIBRARY})
+endif()

 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(OpenNI DEFAULT_MSG


cmake: update Halide detection

cmake: update Halide detection

--- cmake/OpenCVDetectHalide.cmake
+++ cmake/OpenCVDetectHalide.cmake
@@ -9,9 +9,14 @@
 if(NOT HAVE_HALIDE)
   find_package(Halide QUIET) # Try CMake-based config files
   if(Halide_FOUND)
-    set(HALIDE_INCLUDE_DIRS "${Halide_INCLUDE_DIRS}" CACHE PATH "Halide include directories" FORCE)
-    set(HALIDE_LIBRARIES "${Halide_LIBRARIES}" CACHE PATH "Halide libraries" FORCE)
-    set(HAVE_HALIDE TRUE)
+    if(TARGET Halide::Halide)  # modern Halide scripts defines imported target
+      set(HALIDE_INCLUDE_DIRS "")
+      set(HALIDE_LIBRARIES "Halide::Halide")
+      set(HAVE_HALIDE TRUE)
+    else()
+      # using HALIDE_INCLUDE_DIRS / Halide_LIBRARIES
+      set(HAVE_HALIDE TRUE)
+    endif()
   endif()
 endif()

@@ -28,18 +33,15 @@
   )
   if(HALIDE_LIBRARY AND HALIDE_INCLUDE_DIR)
     # TODO try_compile
-    set(HALIDE_INCLUDE_DIRS "${HALIDE_INCLUDE_DIR}" CACHE PATH "Halide include directories" FORCE)
-    set(HALIDE_LIBRARIES "${HALIDE_LIBRARY}" CACHE PATH "Halide libraries" FORCE)
+    set(HALIDE_INCLUDE_DIRS "${HALIDE_INCLUDE_DIR}")
+    set(HALIDE_LIBRARIES "${HALIDE_LIBRARY}")
     set(HAVE_HALIDE TRUE)
-  endif()
-  if(NOT HAVE_HALIDE)
-    ocv_clear_vars(HALIDE_LIBRARIES HALIDE_INCLUDE_DIRS CACHE)
   endif()
 endif()

 if(HAVE_HALIDE)
-  include_directories(${HALIDE_INCLUDE_DIRS})
+  if(HALIDE_INCLUDE_DIRS)
+    include_directories(${HALIDE_INCLUDE_DIRS})
+  endif()
   list(APPEND OPENCV_LINKER_LIBS ${HALIDE_LIBRARIES})
-else()
-  ocv_clear_vars(HALIDE_INCLUDE_DIRS HALIDE_LIBRARIES)
 endif()


Use FIND_PACKAGE_HANDLE_STANDARD_ARGS
Remove not necessary path
Fix typo

svn path=/trunk/KDE/kdepim/; revision=700311

--- cmake/modules/FindGNOKII.cmake
+++ cmake/modules/FindGNOKII.cmake
@@ -5,36 +5,17 @@
 #  GNOKII_INCLUDE_DIR - the GNOKII include directory
 #  GNOKII_LIBRARIES - The libraries needed to use GNOKII

-if (GNOKII_INCLUDE_DIR)
+if (GNOKII_INCLUDE_DIR AND GNOKII_LIBRARIES)
   # Already in cache, be silent
   set(GNOKII_FIND_QUIETLY TRUE)
-endif (GNOKII_INCLUDE_DIR)
+endif (GNOKII_INCLUDE_DIR AND GNOKII_LIBRARIES)

 FIND_PATH(GNOKII_INCLUDE_DIR gnokii.h
-   /usr/include
-   /usr/local/include
 )

 FIND_LIBRARY(GNOKII_LIBRARIES NAMES gnokii
-   PATHS
-   /usr/lib
-   /usr/local/lib
 )
-
-
-if (GNOKII_INCLUDE_DIR AND GNOKII_LIBRARIES)
-   set(GNOKII_FOUND TRUE)
-endif (GNOKII_INCLUDE_DIR AND GNOKII_LIBRARIES)
-
-
-if (GNOKII_FOUND)
-   if (NOT GNOKII_FIND_QUIETLY)
-      message(STATUS "Found gnokii: ${GNOKII_LIBRARIES}")
-   endif (NOT GNOKII_FIND_QUIETLY)
-else(GNOKII_FOUND)
-   if (GNOKII_FIND_REQUIRED)
-      message(FATAL_ERROR "Could NOT find gnokii")
-   endif (GNOKII_FIND_REQUIRED)
-endif (GNOKII_FOUND)
+include(FindPackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(GNOKII DEFAULT_MSG GNOKII_INCLUDE_DIR GNOKII_LIBRARIES )

 MARK_AS_ADVANCED(GNOKII_INCLUDE_DIR GNOKII_LIBRARIES)


[cmake] remove unused windows part in ROOT_LINKER_LIBRARY

--- cmake/modules/RootMacros.cmake
+++ cmake/modules/RootMacros.cmake
@@ -861,30 +861,8 @@
     set(library ${library}_new)
   endif()
   if(WIN32 AND ARG_TYPE STREQUAL SHARED AND NOT ARG_DLLEXPORT)
-    #---create a list of all the object files-----------------------------
     if(CMAKE_GENERATOR MATCHES "Visual Studio")
       set(library_name ${libprefix}${library})
-      #foreach(src1 ${lib_srcs})
-      #  if(NOT src1 MATCHES "[.]h$|[.]icc$|[.]hxx$|[.]hpp$")
-      #    string (REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "" src2 ${src1})
-      #    string (REPLACE ${CMAKE_CURRENT_BINARY_DIR} "" src3 ${src2})
-      #    string (REPLACE ".." "__" src ${src3})
-      #    get_filename_component(name ${src} NAME_WE)
-      #    set(lib_objs ${lib_objs} ${library}.dir/${CMAKE_CFG_INTDIR}/${name}.obj)
-      #  endif()
-      #endforeach()
-      set(lib_objs ${lib_objs} ${library}.dir/${CMAKE_CFG_INTDIR}/*.obj)
-    else()
-      foreach(src1 ${lib_srcs})
-        if(NOT src1 MATCHES "[.]h$|[.]icc$|[.]hxx$|[.]hpp$")
-          string (REPLACE ${CMAKE_CURRENT_SOURCE_DIR} "" src2 ${src1})
-          string (REPLACE ${CMAKE_CURRENT_BINARY_DIR} "" src3 ${src2})
-          string (REPLACE ".." "__" src ${src3})
-          get_filename_component(name ${src} NAME)
-          get_filename_component(path ${src} PATH)
-          set(lib_objs ${lib_objs} ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/${library}.dir/${path}/${name}.obj)
-        endif()
-      endforeach()
     endif()
     #---create a shared library with the .def file------------------------
     add_library(${library} ${_all} SHARED ${lib_srcs})


CMake: use lower case function names.

CMake: use lower case function names.

Makes it easier to search things when we assume that everything is lower case...

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -12,7 +12,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.cmake_minimum_required (VERSION 3.1)

-function(TARGET_WARNINGS_AS_ERRORS _TARGET)
+function(target_warnings_as_errors _TARGET)
   set(_COMPILER_WAE)

   set(_GNU_FLAGS_COMPILER_COMPAT "GNU" "AppleClang" "Clang")
@@ -29,7 +29,7 @@
   unset(_COMPILER_WAE)
 endfunction()

-function(INTERNALISE_CMAKE_VARIABLES)
+function(internalise_cmake_variables)
   # internalise some CMake variables
   file(TO_CMAKE_PATH ${LIBCELLML_INSTALL_PREFIX} _CMAKE_INSTALL_PREFIX)
   set(CMAKE_INSTALL_PREFIX ${_CMAKE_INSTALL_PREFIX} CACHE INTERNAL "Internalise CMAKE_INSTALL_PREFIX, manipulate via LIBCELLML_INSTALL_PREFIX" FORCE)
@@ -37,7 +37,7 @@
   set(BUILD_SHARED_LIBS ${LIBCELLML_BUILD_SHARED} CACHE INTERNAL "Internalise BUILD_SHARED_LIBS, manipulate via LIBCELLML_BUILD_SHARED" FORCE)
 endfunction()

-function(HIDE_DISTRACTING_VARIABLES)
+function(hide_distracting_variables)
   # Mark cache variables that aren't libCellML configuration variables as advanced
   # to hide them from the user in a CMake GUI.
   mark_as_advanced(CMAKE_CONFIGURATION_TYPES)
@@ -61,7 +61,7 @@
   endif()
 endfunction()

-function(GROUP_SOURCE_TO_DIR_STRUCTURE)
+function(group_source_to_dir_structure)
   if(MSVC)
     foreach(_FILE ${ARGN})
       # Basic test for determining if current file is a source file or header file.
@@ -87,7 +87,7 @@
   endif()
 endfunction()

-function(CONFIGURE_CLANG_AND_CLANG_TIDY_SETTINGS _TARGET)
+function(configure_clang_and_clang_tidy_settings _TARGET)
   if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"
      OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
     # The full list of diagnostic flags in Clang can be found at
@@ -202,7 +202,7 @@
   endif()
 endfunction()

-function(GET_SYSTEM_NAME RETURN_SYSTEM_NAME)
+function(get_system_name RETURN_SYSTEM_NAME)
   if(WIN32)
     set(SYSTEM_NAME "Windows" )
   elseif(APPLE)
@@ -250,7 +250,7 @@
   set(${RETURN_SYSTEM_NAME} ${SYSTEM_NAME} PARENT_SCOPE)
 endfunction()

-function(DEBIAN_BASED _RESULT)
+function(debian_based _RESULT)
   set(_DEBIAN_BASED FALSE)
   string(FIND ${LIBCELLML_SYSTEM} "Ubuntu" INDEX)
   if(INDEX EQUAL 0)
@@ -261,7 +261,7 @@
   set(${_RESULT} ${_DEBIAN_BASED} PARENT_SCOPE)
 endfunction()

-function(REDHAT_BASED _RESULT)
+function(redhat_based _RESULT)
   set(_REDHAT_BASED FALSE)
   if(EXISTS "/etc/redhat-release")
     set(_REDHAT_BASED TRUE)


Make Clang-Tidy happy.

Make Clang-Tidy happy.

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -187,6 +187,7 @@
       -performance-inefficient-string-concatenation
       readability-*
       -readability-convert-member-functions-to-static
+      -readability-function-cognitive-complexity
       -readability-magic-numbers
       -readability-qualified-auto
       ${_DISABLED_READABILITY_CHECKS}


- cotire v1.7.10.

- cotire v1.7.10.

--- cmake/cotire.cmake
+++ cmake/cotire.cmake
@@ -3,7 +3,7 @@
 # See the cotire manual for usage hints.
 #
 #=============================================================================
-# Copyright 2012-2016 Sascha Kratky
+# Copyright 2012-2017 Sascha Kratky
 #
 # Permission is hereby granted, free of charge, to any person
 # obtaining a copy of this software and associated documentation
@@ -43,7 +43,7 @@
 endif()

 set (COTIRE_CMAKE_MODULE_FILE "${CMAKE_CURRENT_LIST_FILE}")
-set (COTIRE_CMAKE_MODULE_VERSION "1.7.9")
+set (COTIRE_CMAKE_MODULE_VERSION "1.7.10")

 # activate select policies
 if (POLICY CMP0025)
@@ -104,6 +104,11 @@
 if (POLICY CMP0054)
 	# only interpret if() arguments as variables or keywords when unquoted
 	cmake_policy(SET CMP0054 NEW)
+endif()
+
+if (POLICY CMP0055)
+	# strict checking for break() command
+	cmake_policy(SET CMP0055 NEW)
 endif()

 include(CMakeParseArguments)
@@ -293,7 +298,7 @@
 	set (${_valuesVar} ${_values} PARENT_SCOPE)
 endfunction()

-function (cotire_resolve_config_properites _configurations _propertiesVar)
+function (cotire_resolve_config_properties _configurations _propertiesVar)
 	set (_properties "")
 	foreach (_property ${ARGN})
 		if ("${_property}" MATCHES "<CONFIG>")
@@ -309,8 +314,8 @@
 	set (${_propertiesVar} ${_properties} PARENT_SCOPE)
 endfunction()

-function (cotire_copy_set_properites _configurations _type _source _target)
-	cotire_resolve_config_properites("${_configurations}" _properties ${ARGN})
+function (cotire_copy_set_properties _configurations _type _source _target)
+	cotire_resolve_config_properties("${_configurations}" _properties ${ARGN})
 	foreach (_property ${_properties})
 		get_property(_isSet ${_type} ${_source} PROPERTY ${_property} SET)
 		if (_isSet)
@@ -320,13 +325,18 @@
 	endforeach()
 endfunction()

-function (cotire_get_target_usage_requirements _target _targetRequirementsVar)
+function (cotire_get_target_usage_requirements _target _config _targetRequirementsVar)
 	set (_targetRequirements "")
 	get_target_property(_librariesToProcess ${_target} LINK_LIBRARIES)
 	while (_librariesToProcess)
 		# remove from head
 		list (GET _librariesToProcess 0 _library)
 		list (REMOVE_AT _librariesToProcess 0)
+		if (_library MATCHES "^\\$<\\$<CONFIG:${_config}>:([A-Za-z0-9_:-]+)>$")
+			set (_library "${CMAKE_MATCH_1}")
+		elseif (_config STREQUAL "None" AND _library MATCHES "^\\$<\\$<CONFIG:>:([A-Za-z0-9_:-]+)>$")
+			set (_library "${CMAKE_MATCH_1}")
+		endif()
 		if (TARGET ${_library})
 			list (FIND _targetRequirements ${_library} _index)
 			if (_index LESS 0)
@@ -441,7 +451,7 @@
 	# interface compile options from linked library targets
 	if (_target)
 		set (_linkedTargets "")
-		cotire_get_target_usage_requirements(${_target} _linkedTargets)
+		cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets)
 		foreach (_linkedTarget ${_linkedTargets})
 			get_target_property(_targetOptions ${_linkedTarget} INTERFACE_COMPILE_OPTIONS)
 			if (_targetOptions)
@@ -573,7 +583,7 @@
 	# interface include directories from linked library targets
 	if (_target)
 		set (_linkedTargets "")
-		cotire_get_target_usage_requirements(${_target} _linkedTargets)
+		cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets)
 		foreach (_linkedTarget ${_linkedTargets})
 			get_target_property(_linkedTargetType ${_linkedTarget} TYPE)
 			if (CMAKE_INCLUDE_CURRENT_DIR_IN_INTERFACE AND NOT CMAKE_VERSION VERSION_LESS "3.4.0" AND
@@ -627,7 +637,7 @@
 	if (CMAKE_${_language}_IMPLICIT_INCLUDE_DIRECTORIES)
 		list (REMOVE_ITEM _includeDirs ${CMAKE_${_language}_IMPLICIT_INCLUDE_DIRECTORIES})
 	endif()
-	if (WIN32)
+	if (WIN32 AND NOT MINGW)
 		# convert Windows paths in include directories to CMake paths
 		if (_includeDirs)
 			set (_paths "")
@@ -703,7 +713,7 @@
 	endif()
 	# interface compile definitions from linked library targets
 	set (_linkedTargets "")
-	cotire_get_target_usage_requirements(${_target} _linkedTargets)
+	cotire_get_target_usage_requirements(${_target} ${_config} _linkedTargets)
 	foreach (_linkedTarget ${_linkedTargets})
 		get_target_property(_definitions ${_linkedTarget} INTERFACE_COMPILE_DEFINITIONS)
 		if (_definitions)
@@ -859,6 +869,9 @@
 		list (APPEND ${_cmdVar} "--warn-uninitialized")
 	endif()
 	list (APPEND ${_cmdVar} "-DCOTIRE_BUILD_TYPE:STRING=$<CONFIGURATION>")
+	if (XCODE)
+		list (APPEND ${_cmdVar} "-DXCODE:BOOL=TRUE")
+	endif()
 	if (COTIRE_VERBOSE)
 		list (APPEND ${_cmdVar} "-DCOTIRE_VERBOSE:BOOL=ON")
 	elseif("${CMAKE_GENERATOR}" MATCHES "Makefiles")
@@ -902,16 +915,16 @@
 		foreach (_include ${_includeDirs})
 			if (WIN32 AND CMAKE_${_language}_COMPILER_ID MATCHES "MSVC|Intel")
 				file (TO_NATIVE_PATH "${_include}" _include)
-				list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_${_language}_SEP}${_include}")
+				list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}")
 			else()
 				set (_index -1)
 				if ("${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}" MATCHES ".+")
 					list (FIND ${_systemIncludesVar} "${_include}" _index)
 				endif()
 				if (_index GREATER -1)
-					list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}${_include}")
+					list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_SYSTEM_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}")
 				else()
-					list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_${_language}_SEP}${_include}")
+					list (APPEND ${_cmdVar} "${CMAKE_INCLUDE_FLAG_${_language}}${CMAKE_INCLUDE_FLAG_SEP_${_language}}${_include}")
 				endif()
 			endif()
 		endforeach()
@@ -1657,6 +1670,10 @@
 			get_filename_component(_pchName "${_pchFile}" NAME)
 			set (_xLanguage_C "c-header")
 			set (_xLanguage_CXX "c++-header")
+			set (_pchSuppressMessages FALSE)
+			if ("${CMAKE_${_language}_FLAGS}" MATCHES ".*-Wno-pch-messages.*")
+				set(_pchSuppressMessages TRUE)
+			endif()
 			if (_flags)
 				# append to list
 				if ("${_language}" STREQUAL "CXX")
@@ -1664,13 +1681,17 @@
 				endif()
 				list (APPEND _flags "-include" "${_prefixFile}" "-pch-dir" "${_pchDir}" "-pch-create" "${_pchName}" "-fsyntax-only" "${_hostFile}")
 				if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
-					list (APPEND _flags "-Wpch-messages")
+					if (NOT _pchSuppressMessages)
+						list (APPEND _flags "-Wpch-messages")
+					endif()
 				endif()
 			else()
 				# return as a flag string
 				set (_flags "-include \"${_prefixFile}\" -pch-dir \"${_pchDir}\" -pch-create \"${_pchName}\"")
 				if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
-					set (_flags "${_flags} -Wpch-messages")
+					if (NOT _pchSuppressMessages)
+						set (_flags "${_flags} -Wpch-messages")
+					endif()
 				endif()
 			endif()
 		endif()
@@ -1781,17 +1802,25 @@
 			if (_pchFile)
 				get_filename_component(_pchDir "${_pchFile}" DIRECTORY)
 				get_filename_component(_pchName "${_pchFile}" NAME)
+				set (_pchSuppressMessages FALSE)
+				if ("${CMAKE_${_language}_FLAGS}" MATCHES ".*-Wno-pch-messages.*")
+					set(_pchSuppressMessages TRUE)
+				endif()
 				if (_flags)
 					# append to list
 					list (APPEND _flags "-include" "${_prefixFile}" "-pch-dir" "${_pchDir}" "-pch-use" "${_pchName}")
 					if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
-						list (APPEND _flags "-Wpch-messages")
+						if (NOT _pchSuppressMessages)
+							list (APPEND _flags "-Wpch-messages")
+						endif()
 					endif()
 				else()
 					# return as a flag string
 					set (_flags "-include \"${_prefixFile}\" -pch-dir \"${_pchDir}\" -pch-use \"${_pchName}\"")
 					if (NOT "${_compilerVersion}" VERSION_LESS "13.1.0")
-						set (_flags "${_flags} -Wpch-messages")
+						if (NOT _pchSuppressMessages)
+							set (_flags "${_flags} -Wpch-messages")
+						endif()
 					endif()
 				endif()
 			else()
@@ -1839,6 +1868,14 @@
 	if (_option_COMPILER_ID MATCHES "MSVC")
 		# cl.exe messes with the output streams unless the environment variable VS_UNICODE_OUTPUT is cleared
 		unset (ENV{VS_UNICODE_OUTPUT})
+	elseif (_option_COMPILER_ID MATCHES "GNU|Clang")
+		if (_option_COMPILER_LAUNCHER MATCHES "ccache" OR
+			_option_COMPILER_EXECUTABLE MATCHES "ccache")
+			# Newer versions of Clang and GCC seem to embed a compilation timestamp into the precompiled header binary,
+			# which results in "file has been modified since the precompiled header was built" errors if ccache is used.
+			# We work around the problem by disabling ccache upon pre-compiling the prefix header.
+			set (ENV{CCACHE_DISABLE} "true")
+		endif()
 	endif()
 	execute_process(
 		COMMAND ${_cmd}
@@ -2191,7 +2228,7 @@
 		XCODE MSVC CMAKE_GENERATOR CMAKE_BUILD_TYPE CMAKE_CONFIGURATION_TYPES
 		CMAKE_${_language}_COMPILER_ID CMAKE_${_language}_COMPILER_VERSION
 		CMAKE_${_language}_COMPILER_LAUNCHER CMAKE_${_language}_COMPILER CMAKE_${_language}_COMPILER_ARG1
-		CMAKE_INCLUDE_FLAG_${_language} CMAKE_INCLUDE_FLAG_${_language}_SEP
+		CMAKE_INCLUDE_FLAG_${_language} CMAKE_INCLUDE_FLAG_SEP_${_language}
 		CMAKE_INCLUDE_SYSTEM_FLAG_${_language}
 		CMAKE_${_language}_FRAMEWORK_SEARCH_FLAG
 		CMAKE_${_language}_SYSTEM_FRAMEWORK_SEARCH_FLAG
@@ -3036,8 +3073,8 @@
 			set (_outputDir "${COTIRE_UNITY_OUTPUT_DIRECTORY}")
 		else()
 			# append relative COTIRE_UNITY_OUTPUT_DIRECTORY to target's actual output directory
-			cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName} ${_outputDirProperties})
-			cotire_resolve_config_properites("${_configurations}" _properties ${_outputDirProperties})
+			cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName} ${_outputDirProperties})
+			cotire_resolve_config_properties("${_configurations}" _properties ${_outputDirProperties})
 			foreach (_property ${_properties})
 				get_property(_outputDir TARGET ${_target} PROPERTY ${_property})
 				if (_outputDir)
@@ -3057,11 +3094,11 @@
 				RUNTIME_OUTPUT_DIRECTORY "${_outputDir}")
 		endif()
 	else()
-		cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+		cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 			${_outputDirProperties})
 	endif()
 	# copy output name
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		ARCHIVE_OUTPUT_NAME ARCHIVE_OUTPUT_NAME_<CONFIG>
 		LIBRARY_OUTPUT_NAME LIBRARY_OUTPUT_NAME_<CONFIG>
 		OUTPUT_NAME OUTPUT_NAME_<CONFIG>
@@ -3069,7 +3106,7 @@
 		PREFIX <CONFIG>_POSTFIX SUFFIX
 		IMPORT_PREFIX IMPORT_SUFFIX)
 	# copy compile stuff
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		COMPILE_DEFINITIONS COMPILE_DEFINITIONS_<CONFIG>
 		COMPILE_FLAGS COMPILE_OPTIONS
 		Fortran_FORMAT Fortran_MODULE_DIRECTORY
@@ -3081,12 +3118,12 @@
 		C_VISIBILITY_PRESET CXX_VISIBILITY_PRESET VISIBILITY_INLINES_HIDDEN
 		C_CLANG_TIDY CXX_CLANG_TIDY)
 	# copy compile features
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		C_EXTENSIONS C_STANDARD C_STANDARD_REQUIRED
 		CXX_EXTENSIONS CXX_STANDARD CXX_STANDARD_REQUIRED
 		COMPILE_FEATURES)
 	# copy interface stuff
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		COMPATIBLE_INTERFACE_BOOL COMPATIBLE_INTERFACE_NUMBER_MAX COMPATIBLE_INTERFACE_NUMBER_MIN
 		COMPATIBLE_INTERFACE_STRING
 		INTERFACE_COMPILE_DEFINITIONS INTERFACE_COMPILE_FEATURES INTERFACE_COMPILE_OPTIONS
@@ -3094,7 +3131,7 @@
 		INTERFACE_POSITION_INDEPENDENT_CODE INTERFACE_SYSTEM_INCLUDE_DIRECTORIES
 		INTERFACE_AUTOUIC_OPTIONS NO_SYSTEM_FROM_IMPORTED)
 	# copy link stuff
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		BUILD_WITH_INSTALL_RPATH INSTALL_RPATH INSTALL_RPATH_USE_LINK_PATH SKIP_BUILD_RPATH
 		LINKER_LANGUAGE LINK_DEPENDS LINK_DEPENDS_NO_SHARED
 		LINK_FLAGS LINK_FLAGS_<CONFIG>
@@ -3103,18 +3140,18 @@
 		LINK_SEARCH_START_STATIC LINK_SEARCH_END_STATIC
 		STATIC_LIBRARY_FLAGS STATIC_LIBRARY_FLAGS_<CONFIG>
 		NO_SONAME SOVERSION VERSION
-		LINK_WHAT_YOU_USE)
+		LINK_WHAT_YOU_USE BUILD_RPATH)
 	# copy cmake stuff
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		IMPLICIT_DEPENDS_INCLUDE_TRANSFORM RULE_LAUNCH_COMPILE RULE_LAUNCH_CUSTOM RULE_LAUNCH_LINK)
 	# copy Apple platform specific stuff
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		BUNDLE BUNDLE_EXTENSION FRAMEWORK FRAMEWORK_VERSION INSTALL_NAME_DIR
 		MACOSX_BUNDLE MACOSX_BUNDLE_INFO_PLIST MACOSX_FRAMEWORK_INFO_PLIST MACOSX_RPATH
 		OSX_ARCHITECTURES OSX_ARCHITECTURES_<CONFIG> PRIVATE_HEADER PUBLIC_HEADER RESOURCE XCTEST
-		IOS_INSTALL_COMBINED)
+		IOS_INSTALL_COMBINED XCODE_EXPLICIT_FILE_TYPE XCODE_PRODUCT_TYPE)
 	# copy Windows platform specific stuff
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		GNUtoMS
 		COMPILE_PDB_NAME COMPILE_PDB_NAME_<CONFIG>
 		COMPILE_PDB_OUTPUT_DIRECTORY COMPILE_PDB_OUTPUT_DIRECTORY_<CONFIG>
@@ -3128,9 +3165,9 @@
 		VS_WINRT_COMPONENT VS_WINRT_EXTENSIONS VS_WINRT_REFERENCES
 		WIN32_EXECUTABLE WINDOWS_EXPORT_ALL_SYMBOLS
 		DEPLOYMENT_REMOTE_DIRECTORY VS_CONFIGURATION_TYPE
-		VS_SDK_REFERENCES)
+		VS_SDK_REFERENCES VS_USER_PROPS VS_DEBUGGER_WORKING_DIRECTORY)
 	# copy Android platform specific stuff
-	cotire_copy_set_properites("${_configurations}" TARGET ${_target} ${_unityTargetName}
+	cotire_copy_set_properties("${_configurations}" TARGET ${_target} ${_unityTargetName}
 		ANDROID_API ANDROID_API_MIN ANDROID_GUI
 		ANDROID_ANT_ADDITIONAL_OPTIONS ANDROID_ARCH ANDROID_ASSETS_DIRECTORIES
 		ANDROID_JAR_DEPENDENCIES ANDROID_JAR_DIRECTORIES ANDROID_JAVA_SOURCE_DIR


Call the find PythonInterp with version in the arguments (fix #898) (#899)

--- cmake/python.cmake
+++ cmake/python.cmake
@@ -2,10 +2,11 @@

 set(PYTHON_VERSION "" CACHE STRING "Specify specific Python version to use ('major.minor' or 'major')")
 if(PYTHON_VERSION)
-  set(PythonInterp_FIND_VERSION "${PYTHON_VERSION}")
+  find_package(PythonInterp "${PYTHON_VERSION}" REQUIRED)
+else()
+  find_package(PythonInterp REQUIRED)
 endif()

-find_package(PythonInterp REQUIRED)
 message(STATUS "Using PYTHON_EXECUTABLE: ${PYTHON_EXECUTABLE}")

 set(_PYTHON_PATH_VERSION_SUFFIX "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}")


Add compiler options for sse/sse2/ssse3/sse4.1

--- cmake/system.cmake
+++ cmake/system.cmake
@@ -70,8 +70,20 @@
       set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
     endif()
   endif()
+  if (DEFINED HAVE_SSE)
+    set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse")
+  endif()
+  if (DEFINED HAVE_SSE2)
+    set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse2")
+  endif()
   if (DEFINED HAVE_SSE3)
     set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse3")
+  endif()
+    if (DEFINED HAVE_SSSE3)
+    set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mssse3")
+  endif()
+    if (DEFINED HAVE_SSE4_1)
+    set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -msse4.1")
   endif()
 endif()


CI: update to android NDK r17

CI: update to android NDK r17

--- ci-build.cmake
+++ ci-build.cmake
@@ -55,9 +55,9 @@

 if(DEFINED ENV{ANDROID})
     set(CROSS
-        -DANDROID_NATIVE_API_LEVEL=16
-        -DANDROID_NDK=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r15c
-        -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CMake/toolchain/android.toolchain.cmake
+        -DANDROID_PLATFORM=android-16
+        -DANDROID_NDK=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r17
+        -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r17/build/cmake/android.toolchain.cmake
         "-DANDROID_ABI=armeabi-v7a with NEON")

     set(RENDERSYSTEMS
@@ -71,13 +71,13 @@
         -DOGRE_DEPENDENCIES_DIR=${CMAKE_CURRENT_SOURCE_DIR}/ogredeps)
     set(BUILD_DEPS TRUE)

-    if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r15c)
+    if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r17)
         message(STATUS "Downloading Android NDK")
         file(DOWNLOAD
-            http://dl.google.com/android/repository/android-ndk-r15c-linux-x86_64.zip
-            ./android-ndk-r15c-linux-x86_64.zip)
+            http://dl.google.com/android/repository/android-ndk-r17-linux-x86_64.zip
+            ./android-ndk-r17-linux-x86_64.zip)
         message(STATUS "Extracting Android NDK")
-        execute_process(COMMAND unzip android-ndk-r15c-linux-x86_64.zip OUTPUT_QUIET)
+        execute_process(COMMAND unzip android-ndk-r17-linux-x86_64.zip OUTPUT_QUIET)
     endif()
 endif()


CI: update NDK to latest LTS

CI: update NDK to latest LTS

--- ci-build.cmake
+++ ci-build.cmake
@@ -70,8 +70,8 @@
     set(CMAKE_BUILD_TYPE RelWithDebInfo)
     set(CROSS
         -DANDROID_PLATFORM=android-16
-        -DANDROID_NDK=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r21e
-        -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r21e/build/cmake/android.toolchain.cmake
+        -DANDROID_NDK=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r25b
+        -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r25b/build/cmake/android.toolchain.cmake
         -DANDROID_ARM_NEON=TRUE
         -DANDROID_ABI=arm64-v8a)

@@ -86,17 +86,17 @@
         -DOGRE_DEPENDENCIES_DIR=${CMAKE_CURRENT_SOURCE_DIR}/ogredeps)
     set(BUILD_DEPS TRUE)

-    if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r21e)
+    if(NOT EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r25b)
         message(STATUS "Downloading Android NDK")
         file(DOWNLOAD
-            https://dl.google.com/android/repository/android-ndk-r21e-linux-x86_64.zip
-            ./android-ndk-r21e-linux-x86_64.zip)
+            https://dl.google.com/android/repository/android-ndk-r25b-linux.zip
+            ./android-ndk-r25b-linux.zip)
         message(STATUS "Extracting Android NDK")
-        execute_process(COMMAND unzip android-ndk-r21e-linux-x86_64.zip OUTPUT_QUIET)
+        execute_process(COMMAND unzip android-ndk-r25b-linux.zip OUTPUT_QUIET)
         message(STATUS "Building Shaderc")
         execute_process(COMMAND
             ../../../ndk-build -j2 NDK_PROJECT_PATH=. APP_BUILD_SCRIPT=Android.mk APP_STL=c++_static APP_ABI=arm64-v8a libshaderc_combined
-            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r21e/sources/third_party/shaderc/)
+            WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r25b/sources/third_party/shaderc/)
     endif()
 endif()


BUG: GDAL: deactivate webp support by default

--- SuperBuild/CMake/External_gdal.cmake
+++ SuperBuild/CMake/External_gdal.cmake
@@ -100,6 +100,7 @@
     --with-xerces=no
     --with-xml2=no
     --with-pg=no
+    --with-webp=no
     ${GDAL_SB_CONFIG}
     ${GDAL_SB_EXTRA_OPTIONS}
     )


CI: New URL for PCRE

CI: New URL for PCRE

--- SuperBuild/CMake/External_pcre.cmake
+++ SuperBuild/CMake/External_pcre.cmake
@@ -25,7 +25,7 @@
 else()
   ExternalProject_Add(PCRE
     PREFIX PCRE
-    URL "https://ftp.pcre.org/pub/pcre/pcre-8.44.tar.gz"
+    URL "https://sourceforge.net/projects/pcre/files/pcre/8.44/pcre-8.44.tar.gz"
     URL_MD5 3bcd2441024d00009a5fee43f058987c
     BINARY_DIR ${PCRE_SB_BUILD_DIR}
     INSTALL_DIR ${SB_INSTALL_PREFIX}


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -12,10 +12,10 @@
 #=============================================================================

 # KWSys version date year component.  Format is CCYY.
-SET(KWSYS_DATE_STAMP_YEAR  2010)
+SET(KWSYS_DATE_STAMP_YEAR  2011)

 # KWSys version date month component.  Format is MM.
-SET(KWSYS_DATE_STAMP_MONTH 12)
+SET(KWSYS_DATE_STAMP_MONTH 01)

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


Missed an instance of DISABLE -> ENABLE changes

--- CMake/ConfigureBuild.cmake
+++ CMake/ConfigureBuild.cmake
@@ -17,8 +17,8 @@
   set(OGRE_SET_BUILD_PLATFORM_IPHONE 1)
   set(OGRE_STATIC 1)
   set(OGRE_STATIC_LIB 1)
-  set(OGRE_CONFIG_DISABLE_VIEWPORT_ORIENTATIONMODE FALSE)
-  set(OGRE_CONFIG_DISABLE_PVRTC FALSE)
+  set(OGRE_CONFIG_ENABLE_VIEWPORT_ORIENTATIONMODE TRUE)
+  set(OGRE_CONFIG_ENABLE_PVRTC TRUE)
 endif()

 # should we build static libs?


Fix detection of Azure build to fix IDF build (#2426)

--- CMake/binutils.ESP32.cmake
+++ CMake/binutils.ESP32.cmake
@@ -423,8 +423,8 @@
     include(${IDF_PATH_CMAKED}/tools/cmake/idf.cmake)

     # if running on Azure Pipeline, tweak the reported version so it doesn't show '-dirty'
-    # because it is not!
-    if((DEFINED $ENV{Agent_HomeDirectory}) AND (DEFINED $ENV{Build_BuildNumber}))
+    if(DEFINED ENV{Agent_HomeDirectory} AND DEFINED ENV{Build_BuildNumber})
+
         get_property(MY_IDF_VER TARGET __idf_build_target PROPERTY IDF_VER )

         string(REPLACE "-dirty" "" MY_IDF_VER_FIXED "${MY_IDF_VER}")
@@ -439,6 +439,8 @@
         set_property(TARGET __idf_build_target PROPERTY COMPILE_DEFINITIONS ${IDF_COMPILE_DEFINITIONS_FIXED})

         message(STATUS "Fixing IDF version. It is now: ${MY_IDF_VER_FIXED}")
+    else()
+        message(STATUS "SKIP Fixing IDF version.")
     endif()

     target_sources(${NANOCLR_PROJECT_NAME}.elf PUBLIC


Fix missing fftw include dir to MKL::RT imported target

--- CMakeModules/FindMKL.cmake
+++ CMakeModules/FindMKL.cmake
@@ -393,6 +393,12 @@
   mark_as_advanced(M_LIB)
 endif()

+if(TARGET MKL::RT)
+  set_target_properties(MKL::RT
+  PROPERTIES
+    INTERFACE_INCLUDE_DIRECTORIES "${MKL_INCLUDE_DIR};${MKL_FFTW_INCLUDE_DIR}")
+endif()
+
 if(MKL_Shared_FOUND AND NOT TARGET MKL::Shared)
   add_library(MKL::Shared SHARED IMPORTED)
   if(MKL_THREAD_LAYER STREQUAL "Sequential")


Remove patch level from doc page

Remove patch level from doc page

--- CMakeModules/doxygen.cmake
+++ CMakeModules/doxygen.cmake
@@ -5,7 +5,7 @@
 if(NOT DOXYGEN_FOUND)
   message(STATUS "Doxygen not found.  Contract documentation will not be generated.")
 else()
-  set(DOXY_EOS_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}" CACHE INTERNAL "Version string used in PROJECT_NUMBER.")
+  set(DOXY_EOS_VERSION "${VERSION_MAJOR}.${VERSION_MINOR}" CACHE INTERNAL "Version string used in PROJECT_NUMBER.")
   # CMake strips trailing path separators off of variables it knows are paths,
   # so the trailing '/' Doxygen expects is embedded in the doxyfile.
   set(DOXY_DOC_DEST_DIR "${CMAKE_BINARY_DIR}/docs" CACHE PATH "Path to the doxygen output")


STYLE: some formatting

STYLE: some formatting

--- CoreUI/Qmitk/files.cmake
+++ CoreUI/Qmitk/files.cmake
@@ -57,10 +57,11 @@
 QmitkStdMultiWidget.h
 )
 SET(UI_FILES
-QmitkLevelWindowPresetDefinition.ui  QmitkLevelWindowWidget.ui
+QmitkLevelWindowPresetDefinition.ui
+QmitkLevelWindowWidget.ui
 QmitkLevelWindowRangeChange.ui
 )

 SET(RES_FILES
   #icon/Rendering.qrc
-)+)


[fixed] #58 to add SET_TARGET_PROPERTIES if botgLibrary name provided

--- cmake/BOTG.cmake
+++ cmake/BOTG.cmake
@@ -163,13 +163,26 @@
 # PUBLIC
 # Define a library (including headers) to build.
 # botgLibrary( <name>
+#    LANGUAGE <lang>
 #    SOURCES
-#        ..
+#        <src1>
+#        <src2>
+#        ...
 #    HEADERS
-#        ..
+#        <hdr1>
+#        <hdr2>
+#        ...
 #    LINK_TO
-#        ..
+#        <lib-target1> <lib-target2>
 # )
+#
+# FLAGS
+# - HEADERS - listing of header files to follow
+# - SOURCES - listing of source files to follow
+# - LANGUAGE - optional language specification <lang>=C|CXX|Fortran
+#              For header-only libraries (i.e. empty SOURCES), it is required.
+#              If provided, does SET_TARGET_PROPERTIES( <name> PROPERTIES LINKER_LANGUAGE <lang> )
+# - LINK_TO - list of library names to apply TARGET_LINK_LIBRARIES
 #
 MACRO( botgLibrary name )
     # parse arguments
@@ -190,6 +203,7 @@
         ELSE()
             MESSAGE( FATAL_ERROR "[BootsOnTheGround] botgLibrary LANGUAGE ${libraryLanguage} is unknown (Fortran|C|CXX)")
         ENDIF()
+        SET_TARGET_PROPERTIES( "${name}" PROPERTIES LINKER_LANGUAGE "${library_LANGUAGE}" )
     ENDIF()

     IF( enabled )


CMake: adjust cmake/LLVM.cmake for upcoming LLVM 3.6

--- cmake/LLVM.cmake
+++ cmake/LLVM.cmake
@@ -36,10 +36,11 @@
   # search for any version
   find_program(LLVM_CONFIG
     NAMES "llvm-config"
+      "llvm-config-mp-3.2" "llvm-config-3.2" "llvm-config32"
       "llvm-config-mp-3.3" "llvm-config-3.3" "llvm-config33"
       "llvm-config-mp-3.4" "llvm-config-3.4" "llvm-config34"
       "llvm-config-mp-3.5" "llvm-config-3.5" "llvm-config35"
-      "llvm-config-mp-3.2" "llvm-config-3.2" "llvm-config32"
+      "llvm-config-mp-3.6" "llvm-config-3.6" "llvm-config36"
     DOC "llvm-config executable")
 endif()

@@ -120,9 +121,7 @@
 if(LLVM_VERSION MATCHES "3[.]([0-9]+)")
   string(STRIP "${CMAKE_MATCH_1}" LLVM_MINOR)
   message(STATUS "Minor llvm version: ${LLVM_MINOR}")
-  if(LLVM_MINOR STREQUAL "1")
-    set(LLVM_3_1 1)
-  elseif(LLVM_MINOR STREQUAL "2")
+  if(LLVM_MINOR STREQUAL "2")
     set(LLVM_3_2 1)
   elseif(LLVM_MINOR STREQUAL "3")
     set(LLVM_3_3 1)
@@ -130,9 +129,13 @@
     set(LLVM_3_4 1)
   elseif(LLVM_MINOR STREQUAL "5")
     set(LLVM_3_5 1)
-  else()
-    message(WARNING "Unknown minor llvm version.")
-  endif()
+  elseif(LLVM_MINOR STREQUAL "6")
+    set(LLVM_3_6 1)
+  else()
+    message(FATAL_ERROR "Unknown/unsupported minor llvm version: ${LLVM_MINOR}")
+  endif()
+else()
+  message(FATAL_ERROR "LLVM version 3.x required, found: ${LLVM_VERSION}")
 endif()

 ####################################################################
@@ -189,8 +192,16 @@
   clangStaticAnalyzerFrontend
   clangStaticAnalyzerCore
   clangAnalysis
-  clangCodeGen
+  clangCodeGen
   clangAST)
+
+if(LLVM_3_6)
+  list(APPEND CLANG_LIB_NAMES clangToolingCore)
+endif()
+
+list(APPEND CLANG_LIB_NAMES
+  clangASTMatchers
+  clangBasic)

 # Strip -l from LLVM libnames to use list e.g. for windows build
 foreach(LIBFLAG ${LLVM_LIBS})


fix empy path on windows (#276)

fix empy path on windows (#276)

--- cmake/empy.cmake
+++ cmake/empy.cmake
@@ -27,6 +27,7 @@
   if(NOT PY_EM)
     message(FATAL_ERROR "Unable to find either executable 'empy' or Python module 'em'... try installing package 'python-empy'")
   else()
+    file(TO_CMAKE_PATH "${PY_EM}" PY_EM)
     set(EMPY_EXECUTABLE "${PYTHON_EXECUTABLE};${PY_EM}" CACHE STRING "Executable string for empy" FORCE)
   endif()
 else()


JSON is header only, do not need to add dir.

--- cmake/json.cmake
+++ cmake/json.cmake
@@ -1,7 +1,6 @@

 set(JSON_BuildTests OFF CACHE INTERNAL "")
-add_subdirectory(json)

 function(AddJsonSupport projectTarget)
 	target_include_directories(${projectTarget} PRIVATE ${CMAKE_SOURCE_DIR}/json/include)


fix avx512f flag (#14041)

fix avx512f flag (#14041)


CTest enables testing

CTest enables testing

--- cmake/test.cmake
+++ cmake/test.cmake
@@ -22,7 +22,6 @@
 #     group targets based on `testname'. The test instance is automatically
 #     passed as the first argument to the test.

-enable_testing()
 include(CTest)

 add_custom_target(tooling)


templates: clarify why some orb was found.

Signed-off-by: Peter Soetens <4b8373d016f277527198385ba72fda0feb5da015@thesourceworks.com>

--- lib/orogen/templates/config/FindOrocosCORBA.cmake
+++ lib/orogen/templates/config/FindOrocosCORBA.cmake
@@ -31,7 +31,7 @@
     STRING(REGEX MATCH "Typekit" _orocos_corba_typekit "${OrocosCORBA_FIND_COMPONENTS}")
     IF (_orocos_corba_typekit)
         IF (CORBA_IMPLEMENTATION STREQUAL "TAO")
-            MESSAGE(STATUS "Orocos uses the TAO ORB")
+	    MESSAGE(STATUS "Orocos reports in ${OrocosCORBA_config} to use the TAO ORB")

             FIND_PROGRAM(OrocosCORBA_IDL_EXECUTABLE tao_idl)
             IF (OrocosCORBA_IDL_EXECUTABLE )
@@ -48,7 +48,7 @@
             ENDIF (OrocosCORBA_IDL_EXECUTABLE)

         ELSEIF (CORBA_IMPLEMENTATION STREQUAL "OMNIORB")
-            MESSAGE(STATUS "Orocos uses the OmniORB")
+	    MESSAGE(STATUS "Orocos reports in ${OrocosCORBA_config} to use the OMNIORB")

             FIND_PROGRAM(OrocosCORBA_IDL_EXECUTABLE omniidl)
             IF (OrocosCORBA_IDL_EXECUTABLE)


fix pch for case when COMPILE_LANGUAGE generator expression is nested

--- pch.cmake
+++ pch.cmake
@@ -86,12 +86,11 @@
 endmacro()

 function( filter_item filtered_item item )
+#    message( STATUS "Filtering ${item}" )
     set(append_item true)
     if( ${item} MATCHES ".*COMPILE_LANGUAGE.*" )
-        if( ${item} MATCHES ".*\\\$<\\\$<COMPILE_LANGUAGE:CXX>.*")
-            string( REPLACE ":" ";" item ${item} )
-            list( GET item 2 item ) # 0 is COMPILE_LANGUAGE, 1 is CXX, 2 is value
-            string( REPLACE ">" "" item ${item} )
+        if( ${item} MATCHES ".*\\\$<\\\$<COMPILE_LANGUAGE:CXX>:(.*)>$")
+            set( item ${CMAKE_MATCH_1} )
         else()
             set(append_item false)
         endif()
@@ -110,8 +109,10 @@
     endif()
     if( ${append_item} )
         set( ${filtered_item} ${item} PARENT_SCOPE )
+#        message( STATUS "    -> filtered to ${item}" )
     else()
         unset( ${filtered_item} PARENT_SCOPE )
+#        message( STATUS "    -> filtered out" )
     endif()
 endfunction()

@@ -180,7 +181,7 @@
             set( depsIncludeDirectories "" )
             set( depsSystemIncludeDirectories "" )
             get_dependencies_compile_options( ${_targetName} depsCompileOptions depsCompileDefinitions depsIncludeDirectories depsSystemIncludeDirectories visited )
-    #        message("Additional compile flags for ${_targetName}: ${targetCompileFlags}")
+#            message("Additional compile flags for ${_targetName}: ${targetCompileFlags}")

             get_directory_property( _directory_flags INCLUDE_DIRECTORIES )
             get_target_property( _target_include_dirs ${_targetName} INCLUDE_DIRECTORIES )


pass MAKEFLAGS to openssl build

pass MAKEFLAGS to openssl build

--- deps/openssl.cmake
+++ deps/openssl.cmake
@@ -25,7 +25,12 @@
       set(OPENSSL_BUILD_COMMAND nmake)
   else()
       set(OPENSSL_CONFIGURE_COMMAND ./config ${OPENSSL_CONFIG_OPTIONS})
-      set(OPENSSL_BUILD_COMMAND make)
+
+      if(DEFINED $ENV{MAKEFLAGS})
+        set(OPENSSL_BUILD_COMMAND make $ENV{MAKEFLAGS})
+      else()
+        set(OPENSSL_BUILD_COMMAND make)
+      endif()
   endif()

   ExternalProject_Add(openssl


remove hardcoded full path for orogen in the regen target

--- lib/orogen/templates/config/Base.cmake
+++ lib/orogen/templates/config/Base.cmake
@@ -1,8 +1,7 @@
 include(OrogenPkgCheckModules)
 ADD_CUSTOM_TARGET(regen
-    <% ruby_bin   = RbConfig::CONFIG['RUBY_INSTALL_NAME']
-       orogen_bin = File.expand_path('../bin/orogen', Orocos::Generation.base_dir) %>
-    <%= ruby_bin %> <%= orogen_bin %> <%= Orocos::Generation.command_line_options.join(" ") %> <%= component.deffile %>
+    <% ruby_bin   = RbConfig::CONFIG['RUBY_INSTALL_NAME'] %>
+    <%= ruby_bin %> -S orogen <%= Orocos::Generation.command_line_options.join(" ") %> <%= component.deffile %>
     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})

 add_custom_command(


Fix 'FindCapnProto.cmake' for CMake versions <2.8.12.

--- cmake/FindCapnProto.cmake
+++ cmake/FindCapnProto.cmake
@@ -81,7 +81,7 @@
   set(${HEADERS})
   foreach(schema_file ${ARGN})
     get_filename_component(file_path ${schema_file} ABSOLUTE)
-    get_filename_component(file_dir ${file_path} DIRECTORY)
+    get_filename_component(file_dir ${file_path} PATH)

     # Figure out where the output files will go
     if (NOT DEFINED CAPNPC_OUTPUT_DIR)


updates Verilator integration to support FST if available

--- cmake/FindVerilator.cmake
+++ cmake/FindVerilator.cmake
@@ -70,10 +70,17 @@
 set(SOURCES
     ${VERILATOR_INCLUDE_DIR}/verilated.cpp
     ${VERILATOR_INCLUDE_DIR}/verilated_cov.cpp
+    # ${VERILATOR_INCLUDE_DIR}/verilated_threads.cpp
     ${VERILATOR_INCLUDE_DIR}/verilated_dpi.cpp
     ${VERILATOR_INCLUDE_DIR}/verilated_vcd_c.cpp
     ${VERILATOR_INCLUDE_DIR}/verilated_vcd_sc.cpp
 )
+if(EXISTS ${VERILATOR_INCLUDE_DIR}/verilated_fst_sc.cpp)
+    list(APPEND SOURCES
+        ${VERILATOR_INCLUDE_DIR}/verilated_fst_c.cpp
+        ${VERILATOR_INCLUDE_DIR}/verilated_fst_sc.cpp
+    )
+endif()

 add_library(verilated STATIC ${SOURCES})


Remove fixed FIXME.

Remove fixed FIXME.

--- cmake/add_benchmark.cmake
+++ cmake/add_benchmark.cmake
@@ -54,7 +54,6 @@
       add_custom_command(TARGET ${benchmark_target}
         POST_BUILD
         COMMAND ${WLLVM_EXTRACT_BC_TOOL} "$<TARGET_FILE:${benchmark_target}>" -o "$<TARGET_FILE:${benchmark_target}>.bc"
-        # FIXME: BYPRODUCTS can't take a generator expression so the clean target won't delete the LLVM bitcode files.
         COMMENT "Running ${WLLVM_EXTRACT_BC_TOOL} on ${benchmark_target}"
         ${ADD_CUSTOM_COMMAND_USES_TERMINAL_ARG}
       )


Change to use brpc rdma branch instead of personal branch. (#18683)

--- cmake/external/brpc.cmake
+++ cmake/external/brpc.cmake
@@ -39,9 +39,8 @@
 ExternalProject_Add(
     extern_brpc
     ${EXTERNAL_PROJECT_LOG_ARGS}
-    # TODO(gongwb): change to de newst repo when they changed.
-    GIT_REPOSITORY  "https://github.com/gongweibao/brpc"
-    GIT_TAG         "e9b67ec1b7458f2af5fae76451afe1e27e01b4b4"
+    GIT_REPOSITORY  "https://github.com/apache/incubator-brpc"
+    GIT_TAG         "ad00fe940b4f05225b214131959293bbed8744a0" #rdma branch's head now.
     PREFIX          ${BRPC_SOURCES_DIR}
     UPDATE_COMMAND  ""
     CMAKE_ARGS      -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}


Fix version string parsing

Fix version string parsing

--- cmake/mysql_version.cmake
+++ cmake/mysql_version.cmake
@@ -55,10 +55,12 @@

   SET(VERSION ${VERSION_STRING})

+  # Remove trailing (non-numeric) part of the version string
+  STRING(REGEX REPLACE "[^\\.0-9].*" "" VERSION_STRING ${VERSION_STRING})
+
   STRING(REGEX REPLACE "([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" MAJOR_VERSION "${VERSION_STRING}")
   STRING(REGEX REPLACE "[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" MINOR_VERSION "${VERSION_STRING}")
   STRING(REGEX REPLACE "[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" PATCH "${VERSION_STRING}")
-
   SET(MYSQL_BASE_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}" CACHE INTERNAL "MySQL Base version")
   SET(MYSQL_NO_DASH_VERSION "${MAJOR_VERSION}.${MINOR_VERSION}.${PATCH}")
   MATH(EXPR MYSQL_VERSION_ID "10000*${MAJOR_VERSION} + 100*${MINOR_VERSION} + ${PATCH}")


Android: No longer copy system shared libs into APK

--- cmake/oryol_android.cmake
+++ cmake/oryol_android.cmake
@@ -23,17 +23,6 @@
     set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${ANDROID_SO_OUTDIR})
     set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_RELEASE ${ANDROID_SO_OUTDIR})
     set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY_DEBUG ${ANDROID_SO_OUTDIR})
-
-    # copy shared libraries over from the Android toolchain directory
-    # FIXME: this should be automated as post-build-step by invoking the ndk-depends command
-    # to find out the .so's, and copy them over
-    file(COPY ${ANDROID_SYSROOT_LIB}/libm.so DESTINATION ${ANDROID_SO_OUTDIR})
-    file(COPY ${ANDROID_SYSROOT_LIB}/liblog.so DESTINATION ${ANDROID_SO_OUTDIR})
-    file(COPY ${ANDROID_SYSROOT_LIB}/libdl.so DESTINATION ${ANDROID_SO_OUTDIR})
-    file(COPY ${ANDROID_SYSROOT_LIB}/libc.so DESTINATION ${ANDROID_SO_OUTDIR})
-    file(COPY ${ANDROID_SYSROOT_LIB}/libandroid.so DESTINATION ${ANDROID_SO_OUTDIR})
-    file(COPY ${ANDROID_SYSROOT_LIB}/libGLESv2.so DESTINATION ${ANDROID_SO_OUTDIR})
-    file(COPY ${ANDROID_SYSROOT_LIB}/libEGL.so DESTINATION ${ANDROID_SO_OUTDIR})

     # override AndroidManifest.xml
     file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/android/AndroidManifest.xml


enable Cilk with GCC/Clang if it is forced by the user (warn when doing so)

--- cmake/ospray_macros.cmake
+++ cmake/ospray_macros.cmake
@@ -506,6 +506,12 @@
       ENDIF()
     ELSEIF(OSPRAY_TASKING_CILK)
       ADD_DEFINITIONS(-DOSPRAY_TASKING_CILK)
+      IF (OSPRAY_COMPILER_GCC OR OSPRAY_COMPILER_CLANG)
+        OSPRAY_WARN_ONCE(UNSAFE_USE_OF_CILK
+            "You are using Cilk with GCC or Clang...use at your own risk!")
+        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcilkplus")
+        SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcilkplus")
+      ENDIF()
     ELSEIF(OSPRAY_TASKING_INTERNAL)
       ADD_DEFINITIONS(-DOSPRAY_TASKING_INTERNAL)
     ELSE()#Debug


Fix filename for snap package

Fix filename for snap package

--- cmake/packages/snap.cmake
+++ cmake/packages/snap.cmake
@@ -5,7 +5,7 @@
 endif()

 if(SNAPCRAFT_FOUND)
-  set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}.${ARANGODB_PACKAGE_ARCHITECTURE}")
+  set(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}-${ARANGODB_PACKAGE_REVISION}_${ARANGODB_PACKAGE_ARCHITECTURE}")
   set(SNAPCRAFT_TEMPLATE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Ubuntu")
   set(CPACK_PACKAGE_TGZ "${CMAKE_BINARY_DIR}/${CPACK_PACKAGE_FILE_NAME}.tar.gz")
   set(SNAPCRAFT_SOURCE_DIR "${CMAKE_BINARY_DIR}/_CPack_Packages/SNAP")


Tweak image size

Tweak image size

--- Doxygit.cmake
+++ Doxygit.cmake
@@ -75,7 +75,7 @@
 "
\n"
 "
\n"
 "
Project Dependencies
"
-"  "
+"  "
 "  \n"
 "\n"
 )


FIX: Ensure samples/samples.xml is available in the app bundle.

--- cmake/CEGUIMacros.cmake
+++ cmake/CEGUIMacros.cmake
@@ -290,7 +290,7 @@
         set (_ACTIONCMD ln -sf)
         set (_ACTIONMSG "symlinks to")
     else()
-        set (_ACTIONCMD cp -Rf)
+        set (_ACTIONCMD rsync -r)
         set (_ACTIONMSG "copies of")
     endif()

@@ -330,6 +330,16 @@
     add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD
         COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; ${_ACTIONCMD} ${CMAKE_SOURCE_DIR}/datafiles \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources/\"
         COMMENT "Creating ${_ACTIONMSG} sample datafiles ${_TARGET_NAME}.app")
+
+    # When CEGUI_APPLE_SYMLINK_DEPENDENCIES_TO_SAMPLE_APPS is TRUE, this
+    # command symlinks from the build dir back into the source dir, which is
+    # not ideal, however under that scenario there is no other option. Do
+    # not whine about it, if you don't want that, then set
+    # CEGUI_APPLE_SYMLINK_DEPENDENCIES_TO_SAMPLE_APPS to false and the thing
+    # will be copied to the output app bundle instead.
+    add_custom_command(TARGET ${_TARGET_NAME} POST_BUILD
+        COMMAND if [ x${_CEGUI_BUILD_CONFIG} == xDebug ]\; then ce_ext=\"${CEGUI_BUILD_SUFFIX}\"\; else ce_ext=\"\"\; fi\; ${_ACTIONCMD} ${CMAKE_BINARY_DIR}/datafiles/samples \"${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${_TARGET_NAME}$$ce_ext.app/Contents/Resources/datafiles\"
+        COMMENT "Creating ${_ACTIONMSG} samples.xml ${_TARGET_NAME}.app")
 endmacro()

 #


Fix for findopentxs.cmake

Fix for findopentxs.cmake

Signed-off-by: FellowTraveler <71f9e3635dd61a511a33df5b0216634229abc0cb@gmail.com>

--- cmake/Findopentxs.cmake
+++ cmake/Findopentxs.cmake
@@ -9,7 +9,7 @@

   find_library(
       OPENTXS_LIBRARIES
-      NAMES libopentxs.so libopentxs.a libopentxs.dynlib
+      NAMES libopentxs.dylib libopentxs.so libopentxs.a
       HINTS ${PC_OPENTXS_LIBRARY_DIRS}
   )


cmake: fix pkg-config generation for MacOSX

--- cmake/OpenCVUtils.cmake
+++ cmake/OpenCVUtils.cmake
@@ -1001,7 +1001,10 @@

 macro(ocv_get_libname var_name)
   get_filename_component(__libname "${ARGN}" NAME)
-  string(REGEX REPLACE "^lib(.+).(a|so)(.[.0-9]+)?$" "\\1" __libname "${__libname}")
+  # libopencv_core.so.3.3 -> opencv_core
+  string(REGEX REPLACE "^lib(.+)\\.(a|so)(\\.[.0-9]+)?$" "\\1" __libname "${__libname}")
+  # MacOSX: libopencv_core.3.3.1.dylib -> opencv_core
+  string(REGEX REPLACE "^lib(.+[^.0-9])\\.([.0-9]+\\.)?dylib$" "\\1" __libname "${__libname}")
   set(${var_name} "${__libname}")
 endmacro()


Remove the unused define.

Remove the unused define.

--- cmake/TbagModules.cmake
+++ cmake/TbagModules.cmake
@@ -31,9 +31,9 @@
 ## -----------------

 macro (tbag_modules__apply_default)
-    string (TOUPPER "${TBAG_PROJECT_CONST_NAME}" __tbag_project_upper_name)
-    list (APPEND TBAG_PROJECT_DEFINITIONS  ${__tbag_project_upper_name})
-    list (APPEND TBAG_PROJECT_INCLUDE_DIRS ${TBAG_PROJECT_CONST_DIR_PATH})
+    #string (TOUPPER "${TBAG_PROJECT_CONST_NAME}" __tbag_project_upper_name)
+    #list (APPEND TBAG_PROJECT_DEFINITIONS  ${__tbag_project_upper_name})
+    list  (APPEND TBAG_PROJECT_INCLUDE_DIRS ${TBAG_PROJECT_CONST_DIR_PATH})

     if (UNIX AND APPLE AND IS_DIRECTORY "${THIRD_PREFIX}")
         list (APPEND TBAG_PROJECT_LDFLAGS "-Wl,-rpath,${THIRD_PREFIX}/lib"


fix mac library path

fix mac library path

--- cmake/findCppUnit.cmake
+++ cmake/findCppUnit.cmake
@@ -41,9 +41,9 @@
 	get_filename_component(CPPUNIT_DYN_LIB_DEBUG ${CPPUNIT_DEBUG_DIR}/msvc${VS_VER}/cppunitd_dll.dll ABSOLUTE)
 else()
 	#Release lib
-	get_filename_component(CPPUNIT_LIBRARIES_RELEASE ${CPPUNIT_RELEASE_DIR}/clang/libcppunit.a ABSOLUTE)
-	get_filename_component(CPPUNIT_DYN_LIB_RELEASE ${CPPUNIT_RELEASE_DIR}/clang/libcppunit.so ABSOLUTE)
+	get_filename_component(CPPUNIT_LIBRARIES_RELEASE ${CPPUNIT_RELEASE_DIR}/clang/libcppunit.dylib ABSOLUTE)
+	get_filename_component(CPPUNIT_DYN_LIB_RELEASE ${CPPUNIT_RELEASE_DIR}/clang/libcppunit.dylib ABSOLUTE)
 	#Debug lib
-	get_filename_component(CPPUNIT_LIBRARIES_DEBUG ${CPPUNIT_DEBUG_DIR}/clang/libcppunit.a ABSOLUTE)
-	get_filename_component(CPPUNIT_DYN_LIB_DEBUG ${CPPUNIT_DEBUG_DIR}/clang/libcppunit.so ABSOLUTE)
+	get_filename_component(CPPUNIT_LIBRARIES_DEBUG ${CPPUNIT_DEBUG_DIR}/clang/libcppunit.dylib ABSOLUTE)
+	get_filename_component(CPPUNIT_DYN_LIB_DEBUG ${CPPUNIT_DEBUG_DIR}/clang/libcppunit.dylib ABSOLUTE)
 endif(WIN32)


cmake: set.cmake: cleanup deprecation messages

Do not recommend usage of non-existing functions or macros in the
deprecation messages.

Change-Id: I94987710a430ce9914025578be6568c35085f988
Reviewed-on: http://gerrit.aldebaran.lan:8080/9749
Reviewed-by: cgestes <ddb78fe00abb42f91254c16a0860e38eb0781789@aldebaran-robotics.com>
Reviewed-by: smartin <edaf33f3e53483e687d304aa81a03bb5a17b9ddf@aldebaran-robotics.com>
Tested-by: smartin <edaf33f3e53483e687d304aa81a03bb5a17b9ddf@aldebaran-robotics.com>

--- cmake/qibuild/set.cmake
+++ cmake/qibuild/set.cmake
@@ -86,19 +86,19 @@
 endmacro()

 macro(qi_append_global _name _value)
-  qi_deprecated("qi_append_global is deprecated use 'qi_persistent_append' or 'qi_global_append' instead")
+  qi_deprecated("qi_append_global is deprecated use 'qi_persistent_append' instead")
   list(APPEND "${_name}" ${_value} ${ARGN})
   set("${_name}" "${${_name}}" CACHE INTERNAL "" FORCE)
 endmacro()

 macro(qi_prepend_global _name _value)
-  qi_deprecated("qi_prepend_global is deprecated use 'qi_persistent_prepend' or 'qi_global_prepend' instead")
+  qi_deprecated("qi_prepend_global is deprecated use 'qi_persistent_prepend' instead")
   list(INSERT "${_name}" 0 ${_value} ${ARGN})
   set("${_name}" "${${_name}}" CACHE INTERNAL "" FORCE)
 endmacro()

 macro(qi_append_uniq_global _name)
-  qi_deprecated("qi_append_uniq_global is deprecated use 'qi_persistent_append_uniq' or 'qi_global_append_uniq' instead")
+  qi_deprecated("qi_append_uniq_global is deprecated use 'qi_persistent_append_uniq' instead")
   foreach(_value ${ARGN})
     list(FIND "${_name}" ${_value} _found)
     if (_found STREQUAL "-1")
@@ -109,7 +109,7 @@
 endmacro()

 macro(qi_prepend_uniq_global _name _value)
-  qi_deprecated("qi_prepend_uniq_global is deprecated use 'qi_persistent_prepend_uniq' or 'qi_global_prepend_uniq' instead")
+  qi_deprecated("qi_prepend_uniq_global is deprecated use 'qi_persistent_prepend_uniq' instead")
   list(FIND "${_name}" ${_value} _found)
   if (_found STREQUAL "-1")
     list(INSERT "${_name}" 0 ${_value} ${ARGN})


fix MY_PROJECT_BINARY_DIR in case of icx compiler

--- common/cmake/test.cmake
+++ common/cmake/test.cmake
@@ -4,7 +4,11 @@
 INCLUDE(CTest)

 IF (WIN32)
-    SET(MY_PROJECT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
+    IF(${CMAKE_CXX_COMPILER} MATCHES ".*icx")
+      SET(MY_PROJECT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
+    ELSE()
+      SET(MY_PROJECT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_BUILD_TYPE}")
+    ENDIF()
 ELSE()
     SET(MY_PROJECT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
 ENDIF()


changing dependency rules between code format and code analysis

--- dist/WkBuild.cmake
+++ dist/WkBuild.cmake
@@ -227,7 +227,7 @@
 	#TODO : automatic detectino on windows ( preinstalled with wkcmake... )
 	FIND_PACKAGE(WKCMAKE_AStyle)
 	IF ( WKCMAKE_AStyle_FOUND )
-		option (${PROJECT_NAME}_CODE_FORMAT "Enable Code Formatting" ON)
+		option (${PROJECT_NAME}_CODE_FORMAT "Enable Code Formatting" OFF)
 		IF ( ${PROJECT_NAME}_CODE_FORMAT )
 			set(${PROJECT_NAME}_CODE_FORMAT_STYLE "ansi" CACHE STRING "Format Style for AStyle")
 			#converting to system path ( needed because command line call later )
@@ -307,17 +307,17 @@
 		ENDIF ( ${PROJECT_NAME}_CODE_ANALYSIS )
 	ENDIF ( WKCMAKE_Cppcheck_FOUND)

-	if( WKCMAKE_AStyle_FOUND )
-		add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_format)
-		if ( WKCMAKE_Cppcheck_FOUND)
-			add_dependencies(${PROJECT_NAME}_format ${PROJECT_NAME}_cppcheck)
-		endif ( WKCMAKE_Cppcheck_FOUND)
-	else( WKCMAKE_AStyle_FOUND )
-		if ( WKCMAKE_Cppcheck_FOUND)
-			add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_cppcheck)
-		endif ( WKCMAKE_Cppcheck_FOUND)
-	endif( WKCMAKE_AStyle_FOUND )
-
+    #setting up dependencies between formatting and code analysis target
+	if ( WKCMAKE_Cppcheck_FOUND AND ${PROJECT_NAME}_CODE_ANALYSIS )
+		add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_cppcheck)
+    	if( WKCMAKE_AStyle_FOUND AND ${PROJECT_NAME}_CODE_FORMAT )
+    		add_dependencies(${PROJECT_NAME}_cppcheck ${PROJECT_NAME}_format)
+        endif( WKCMAKE_AStyle_FOUND AND ${PROJECT_NAME}_CODE_FORMAT )
+    else ( WKCMAKE_Cppcheck_FOUND AND ${PROJECT_NAME}_CODE_ANALYSIS )
+    	if( WKCMAKE_AStyle_FOUND AND ${PROJECT_NAME}_CODE_FORMAT )
+    		add_dependencies(${PROJECT_NAME} ${PROJECT_NAME}_format)
+        endif( WKCMAKE_AStyle_FOUND AND ${PROJECT_NAME}_CODE_FORMAT )
+    endif( WKCMAKE_Cppcheck_FOUND AND ${PROJECT_NAME}_CODE_ANALYSIS )

 	#
 	# Defining where to put what has been built


Improve UDT finder for Ubuntu packages

Improve UDT finder for Ubuntu packages

--- FindUDT.cmake
+++ FindUDT.cmake
@@ -1,6 +1,7 @@
 find_path(_udt_INCLUDE_DIR udt.h
   HINTS ${UDT_ROOT}/include
-  PATHS /usr/include /usr/local/include /opt/local/include)
+  PATHS /usr/include /usr/local/include /opt/local/include /usr/include/udt)
+
 find_library(_udt_LIBRARY NAMES udt
   HINTS ${UDT_ROOT}/lib
   PATHS /usr/lib /usr/local/lib /opt/local/lib)
@@ -11,6 +12,9 @@

 set(UDT_INCLUDE_DIRS ${_udt_INCLUDE_DIR})
 set(UDT_LIBRARIES ${_udt_LIBRARY})
+if(_udt_INCLUDE_DIR)
+  file(STRINGS "${_udt_INCLUDE_DIR}/udt.h" UDT_HAS_RCVDATA REGEX UDT_RCVDATA)
+endif()

 if(UDT_FOUND)
   message(STATUS "Found UDT in ${UDT_INCLUDE_DIRS};${UDT_LIBRARIES}")


add FIND_PACKAGE(PythonLibs) for boost python

--- CMake/Dependencies.cmake
+++ CMake/Dependencies.cmake
@@ -380,6 +380,13 @@
 ENDIF()

 ##########################################################################
+# Find "PythonLibs"
+FIND_PACKAGE(PythonLibs)
+IF( PYTHONLIBS_FOUND )
+    message( "-- Found PythonLibs" )
+ENDIF()
+
+##########################################################################
 # Add build-enable preprocessors to global compilation definition
 IF(APRCORE_FOUND)
 	ADD_DEFINITIONS(-DBUILD_WITH_APRCORE)
@@ -468,6 +475,10 @@
 IF(JUSTTHREAD_FOUND)
 	ADD_DEFINITIONS(-DBUILD_WITH_JUSTTHREAD)
 ENDIF(JUSTTHREAD_FOUND)
+
+IF(PYTHONLIBS_FOUND)
+    ADD_DEFINITIONS(-DBUILD_WITH_PYTHONLIBS)
+ENDIF(PYTHONLIBS_FOUND)

 ##########################################################################
 # Add all header paths to default search
@@ -562,6 +573,10 @@
 	LIST(APPEND ZILLIANS_INCLUDE_DIRS ${JUSTTHREAD_INCLUDE_DIR})
 ENDIF(JUSTTHREAD_FOUND)

+IF(PYTHONLIBS_FOUND)
+    LIST(APPEND ZILLIANS_INCLUDE_DIRS ${PYTHON_INCLUDE_DIRS})
+ENDIF(PYTHONLIBS_FOUND)
+
 INCLUDE_DIRECTORIES(
 		${ZILLIANS_INCLUDE_DIRS}
 		)
@@ -634,6 +649,10 @@
 #        ADD_DEFINITIONS(-DBUILD_WITH_RDMA)
 #ENDIF()

+IF(PYTHONLIBS_FOUND)
+    LIST(APPEND ZILLIANS_DEP_LIBS ${PYTHON_LIBRARIES})
+ENDIF(PYTHONLIBS_FOUND)
+
 SET(ZILLIANS_DEP_LIBS ${ZILLIANS_DEP_LIBS} CACHE STRING "Gloabl depencent libraries" FORCE)
 MESSAGE(STATUS "The global dependecies: ${ZILLIANS_DEP_LIBS}")


Add every generated idl file to _dependency_files and _dependencies

--- rosidl_typesupport_opensplice_cpp/cmake/rosidl_typesupport_opensplice_cpp_generate_interfaces.cmake
+++ rosidl_typesupport_opensplice_cpp/cmake/rosidl_typesupport_opensplice_cpp_generate_interfaces.cmake
@@ -110,9 +110,22 @@
       endif()
     elseif("${_extension}" STREQUAL ".srv")
       get_filename_component(name "${_idl_file}" NAME_WE)
+
       set(_abs_idl_file "${${_pkg_name}_DIR}/../dds_opensplice/Sample${name}Request_.idl")
+      normalize_path(_abs_idl_file "${_abs_idl_file}")
+      list(APPEND _dependency_files "${_abs_idl_file}")
+      list(APPEND _dependencies "${_pkg_name}:${_abs_idl_file}")
+
       set(_abs_idl_file "${${_pkg_name}_DIR}/../dds_opensplice/Sample${name}Response_.idl")
+      normalize_path(_abs_idl_file "${_abs_idl_file}")
+      list(APPEND _dependency_files "${_abs_idl_file}")
+      list(APPEND _dependencies "${_pkg_name}:${_abs_idl_file}")
+
       set(_abs_idl_file "${${_pkg_name}_DIR}/../dds_opensplice/WriteSample${name}Request_.idl")
+      normalize_path(_abs_idl_file "${_abs_idl_file}")
+      list(APPEND _dependency_files "${_abs_idl_file}")
+      list(APPEND _dependencies "${_pkg_name}:${_abs_idl_file}")
+
       set(_abs_idl_file "${${_pkg_name}_DIR}/../dds_opensplice/WriteSample${name}Response_.idl")
       normalize_path(_abs_idl_file "${_abs_idl_file}")
       list(APPEND _dependency_files "${_abs_idl_file}")


use WebChimera.org as project home

use WebChimera.org as project home

--- src/PluginConfig.cmake
+++ src/PluginConfig.cmake
@@ -11,7 +11,7 @@
 set(PLUGIN_DESCRIPTION "Web Plugin powered by Firebreath/Qt Qml/Vlc")
 set(PRODUCT_NAME "Chimera Web Plugin")
 set(COMPANY_NAME "RSATom")
-set(COMPANY_DOMAIN "RSATom.name")
+set(COMPANY_DOMAIN "WebChimera.org")
 set(COPYRIGHT_YEARS "2014")
 set(PLUGIN_MIMETYPE "application/x-chimera-plugin")


adapt copyscript for fabric changes

adapt copyscript for fabric changes

--- copyScript.cmake
+++ copyScript.cmake
@@ -48,6 +48,10 @@
         "copy \"${WIN_BIN_DIR}\\bin\\debug\\EqualizerAdmin.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}debug\"\n"
         "copy \"${WIN_BIN_DIR}\\libs\\admin\\debug\\EqualizerAdmin.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}debug\"\n\n"

+        "copy \"${WIN_BIN_DIR}\\bin\\debug\\EqualizerFabric.dll\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}debug\"\n"
+        "copy \"${WIN_BIN_DIR}\\bin\\debug\\EqualizerFabric.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}debug\"\n"
+        "copy \"${WIN_BIN_DIR}\\libs\\admin\\debug\\EqualizerFabric.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}debug\"\n\n"
+
         "copy \"${WIN_BIN_DIR}\\bin\\debug\\Collage.dll\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}debug\"\n"
         "copy \"${WIN_BIN_DIR}\\bin\\debug\\Collage.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}debug\"\n"
         "copy \"${WIN_BIN_DIR}\\libs\\collage\\debug\\Collage.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}debug\"\n\n"
@@ -65,6 +69,8 @@
         "copy \"${WIN_BIN_DIR}\\libs\\server\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerServer.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerAdmin.dll\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\libs\\admin\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerAdmin.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}release\"\n\n"
+        "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerFabric.dll\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
+        "copy \"${WIN_BIN_DIR}\\libs\\admin\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerFabric.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}release\"\n\n"
         "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\Collage.dll\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\libs\\collage\\${COPY_TARGET_RELEASE_TYPE}\\Collage.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}release\"\n\n"
     )
@@ -77,6 +83,7 @@
         "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\Equalizer.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerServer.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerAdmin.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
+        "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\EqualizerFabric.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\Collage.pdb\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\bin\\${COPY_TARGET_RELEASE_TYPE}\\pthread.dll\" \"${COPY_TARGET}\\bin\\${PLATFORM_TYPE}release\"\n"
         "copy \"${WIN_BIN_DIR}\\${COPY_TARGET_RELEASE_TYPE}\\pthread.lib\" \"${COPY_TARGET}\\lib\\${PLATFORM_TYPE}release\"\n\n"


Make compilation of rigid_docking dependent on FFTW.

--- source/APPLICATIONS/UTILITIES/BALLUtilities.cmake
+++ source/APPLICATIONS/UTILITIES/BALLUtilities.cmake
@@ -19,12 +19,15 @@
 	pdb2dcd
 	pdb2hin
 	reconstruct_fragment
-	rigid_docking
 	solvent_accessibility
 )

-IF (BALL_HAS_MPI)
-	LIST(APPEND EXECUTABLES_LIST geometricFit_slave)
+IF (BALL_HAS_FFTW)
+	LIST(APPEND EXECUTABLES_LIST rigid_docking)
+
+	IF (BALL_HAS_MPI)
+		LIST(APPEND EXECUTABLES_LIST geometricFit_slave)
+	ENDIF()
 ENDIF()

 SET(UTILITIES_EXECUTABLES ${UTILITIES_EXECUTABLES} ${EXECUTABLES_LIST})


Fix DEAL_II_COMPILER_USE_VECTOR_ARITHMETICS with AVX512 and Intel.

--- cmake/checks/check_01_compiler_features.cmake
+++ cmake/checks/check_01_compiler_features.cmake
@@ -51,6 +51,9 @@
 CHECK_CXX_SOURCE_COMPILES(
   "
   #include <emmintrin.h>
+#ifdef __AVX512F__
+  #include <immintrin.h>
+#endif
   int main()
   {
     __m128d a, b;
@@ -60,6 +63,16 @@
     __m128d d = b - c;
     __m128d e = c * a + d;
     __m128d f = e/a;
+#ifdef __AVX512F__
+    __m512d g, h;
+    g = _mm512_set1_pd (1.0);
+    h = _mm512_set1_pd (2.1);
+    __m512d i = g + h;
+    g = i - g;
+    h *= i;
+    i = h/i;
+    (void)i;
+#endif
     (void)f;
   }
   "


Fix ctests build

Fix ctests build

--- CommonCPPCTest.cmake
+++ CommonCPPCTest.cmake
@@ -36,6 +36,7 @@

   list(APPEND ALL_CPP_TESTS ${NAME})
   add_executable(${PROJECT_NAME}_${NAME} ${FILE})
+  add_custom_target(${NAME} DEPENDS ${PROJECT_NAME}_${NAME})
   set_target_properties(${PROJECT_NAME}_${NAME} PROPERTIES FOLDER "Tests")

   # Per target INCLUDE_DIRECTORIES if supported


MacOS packaging: disable the 64-bit build inside package.cmake itself to
avoid external scripts failing b/c they forgot to pass the 32_only
parameter to package.cmake.

SVN-Revision: 2117

--- package.cmake
+++ package.cmake
@@ -50,6 +50,11 @@
 set(arg_cpackappend "")# string to append to CPackConfig.cmake before packaging
 set(arg_32_only OFF)   # do not include 64-bit

+if (APPLE)
+  # DRi#58: core DR does not yet support 64-bit Mac
+  set(arg_32_only ON)
+endif ()
+
 foreach (arg ${CTEST_SCRIPT_ARG})
   if (${arg} MATCHES "^build=")
     string(REGEX REPLACE "^build=" "" arg_build "${arg}")


PKG: don't search and package boost date time as it is not used anymore

--- Modules/ThirdParty/Boost/otb-module-init.cmake
+++ Modules/ThirdParty/Boost/otb-module-init.cmake
@@ -33,11 +33,11 @@
   set(Boost_NO_SYSTEM_PATHS OFF)
 endif()

-find_package (Boost 1.35.0 REQUIRED COMPONENTS filesystem date_time serialization)
+find_package (Boost 1.35.0 REQUIRED COMPONENTS filesystem serialization)
 if (BUILD_TESTING)
-  find_package (Boost 1.35.0 QUIET COMPONENTS filesystem date_time serialization unit_test_framework)
+  find_package (Boost 1.35.0 QUIET COMPONENTS filesystem serialization unit_test_framework)
   if (NOT Boost_UNIT_TEST_FRAMEWORK_FOUND)
-    message(STATUS "Boost unit_test_framework not found. Hence otbOGRTests will be skipped")
+    message(STATUS "Boost unit_test_framework not found. Hence test depending on this framework will be skipped")
   else()
     message(STATUS "Found Boost components: unit_test_framework")
   endif()


Use debug mode for GTest

Use debug mode for GTest

--- cmake.modules/build-googletest.cmake
+++ cmake.modules/build-googletest.cmake
@@ -12,7 +12,7 @@
       -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
       -DBUILD_GMOCK:BOOL=OFF
       -DBUILD_GTEST:BOOL=ON
-      -DCMAKE_BUILD_TYPE:STRING=Release
+      -DCMAKE_BUILD_TYPE:STRING=Debug
   )
 endif()


compiler: arcmwdt: Add ccac version checking

After recent changes Zephyr became incompatible with old
MWDT versions (older than 2022.06).
Version checking may help to avoid build errors
related this incompatibility.

Signed-off-by: Nikolay Agishev <6c2929e41328162725e2d4b78c7f0e5ee539d0f4@synopsys.com>

--- cmake/compiler/arcmwdt/generic.cmake
+++ cmake/compiler/arcmwdt/generic.cmake
@@ -29,7 +29,7 @@
 execute_process(
   COMMAND ${CMAKE_C_COMPILER} --version
   RESULT_VARIABLE ret
-  OUTPUT_QUIET
+  OUTPUT_VARIABLE full_version_output
   ERROR_QUIET
   )

@@ -37,4 +37,19 @@
   message(FATAL_ERROR "Executing the below command failed. Are permissions set correctly?
   '${CMAKE_C_COMPILER} --version'"
   )
+else()
+  set(ARCMWDT_MIN_REQUIRED_VERS "2022.06")
+#
+# Regular version have format: "T-2022.06"
+# Engineering builds: "ENG-2022.06-001"
+#
+  string(REGEX MATCH "\ (ENG|[A-Z])-[0-9][0-9][0-9][0-9]\.[0-9][0-9]+((\ |\n|\r|\t)|(-[0-9][0-9][0-9]))"
+   vers_string "${full_version_output}")
+
+  string(REGEX MATCH "[0-9][0-9][0-9][0-9]\.[0-9][0-9]"
+     reduced_version "${vers_string}")
+
+  if("${reduced_version}" VERSION_LESS ${ARCMWDT_MIN_REQUIRED_VERS})
+    message(FATAL_ERROR "Could NOT find ccac: Found unsuitable version \"${reduced_version}\", but required is at least \"${ARCMWDT_MIN_REQUIRED_VERS}\" (found ${CROSS_COMPILE}ccac)")
+  endif()
 endif()


Remove cxx17 until cling supports it.

Remove cxx17 until cling supports it.

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -99,7 +99,7 @@
 ROOT_BUILD_OPTION(cuda OFF "Use CUDA if it is found in the system")
 ROOT_BUILD_OPTION(cxx11 ON "Build using C++11 compatible mode, requires gcc > 4.7.x or clang")
 ROOT_BUILD_OPTION(cxx14 OFF "Build using C++14 compatible mode, requires gcc > 4.9.x or clang")
-ROOT_BUILD_OPTION(cxx17 OFF "Build using C++17 compatible mode, requires gcc >= 7.1.0 or clang")
+#ROOT_BUILD_OPTION(cxx17 OFF "Build using C++17 compatible mode, requires gcc >= 7.1.0 or clang")
 ROOT_BUILD_OPTION(cxxmodules "Compile with C++ modules enabled." OFF)
 ROOT_BUILD_OPTION(davix ON "DavIx library for HTTP/WEBDAV access")
 ROOT_BUILD_OPTION(dcache ON "dCache support, requires libdcap from DESY")


Activate implicit parallelism by default.

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -118,7 +118,7 @@
 ROOT_BUILD_OPTION(gsl_shared OFF "Enable linking against shared libraries for GSL (default no)")
 ROOT_BUILD_OPTION(hdfs ON "HDFS support; requires libhdfs from HDFS >= 0.19.1")
 ROOT_BUILD_OPTION(http OFF "HTTP Server support")
-ROOT_BUILD_OPTION(imt OFF "Implicit multi-threading support")
+ROOT_BUILD_OPTION(imt ON "Implicit multi-threading support")
 ROOT_BUILD_OPTION(jemalloc OFF "Using the jemalloc allocator")
 ROOT_BUILD_OPTION(krb5 ON "Kerberos5 support, requires Kerberos libs")
 ROOT_BUILD_OPTION(ldap ON "LDAP support, requires (Open)LDAP libs")


Fixed indentation

Fixed indentation

--- cmake/usFunctionEmbedResources.cmake
+++ cmake/usFunctionEmbedResources.cmake
@@ -154,15 +154,15 @@

   if(US_RESOURCE_LINK)
     if(APPLE)
-        # This resolves an issue where passing in CMAKE_CXX_FLAGS using
-       # -D CMAKE_CXX_FLAGS:STRING="..." results in a quoted string being passed to
-       # the command below which results in the command being:
-       #  >> clang "..." -c ... -o stub.o
-       # when it should really be:
-       #  >> clang ... -c ... -o stub.o
-       # (pardon the elipsis for abbreviation)
-
-       separate_arguments(_us_resource_cxx_flags UNIX_COMMAND ${CMAKE_CXX_FLAGS})
+      # This resolves an issue where passing in CMAKE_CXX_FLAGS using
+      # -D CMAKE_CXX_FLAGS:STRING="..." results in a quoted string being passed to
+      # the command below which results in the command being:
+      #  >> clang "..." -c ... -o stub.o
+      # when it should really be:
+      #  >> clang ... -c ... -o stub.o
+      # (pardon the elipsis for abbreviation)
+      separate_arguments(_us_resource_cxx_flags UNIX_COMMAND ${CMAKE_CXX_FLAGS})
+
       # section name is "us_resources" because max length for section names in Mach-O format is 16 characters.
       add_custom_command(
         OUTPUT ${_source_output}


New version: 0.4.7

New version: 0.4.7

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


Update JSONValidate.py path for doxygen cmake code

--- CMake/sitkGenerateFilterSource.cmake
+++ CMake/sitkGenerateFilterSource.cmake
@@ -155,7 +155,7 @@

   # validate json files if python is available
   if ( PYTHON_EXECUTABLE AND NOT PYTHON_VERSION_STRING VERSION_LESS 2.6 )
-    set ( JSON_VALIDATE_COMMAND COMMAND "${PYTHON_EXECUTABLE}" "${SimpleITK_SOURCE_DIR}/Utilities/JSONValidate.py" "${input_json_file}" )
+    set ( JSON_VALIDATE_COMMAND COMMAND "${PYTHON_EXECUTABLE}" "${SimpleITK_SOURCE_DIR}/Utilities/JSON/JSONValidate.py" "${input_json_file}" )
   endif ()

   # header


attempt to suppress VC warnings

attempt to suppress VC warnings

--- CMakeModules/FindCompilerFlags.cmake
+++ CMakeModules/FindCompilerFlags.cmake
@@ -33,4 +33,8 @@
   else()
     message(STATUS "Old clang")
   endif()
+endif()
+
+if (DEFINED MSVC)
+add_definitions("/ignore:4503")
 endif()


re-fix regexp to parse also older versions, now tested with 2.9.11 and 3.0.0

--- CMakeModules/parse_OSG_version.cmake
+++ CMakeModules/parse_OSG_version.cmake
@@ -11,13 +11,13 @@

 	string(REGEX MATCH "#define[\t ]+OPENSCENEGRAPH_MAJOR_VERSION[\t ]+([0-9]+)" version_major ${text})
 	string(REGEX MATCH "#define[\t ]+OPENSCENEGRAPH_MINOR_VERSION[\t ]+([0-9]+)" version_minor ${text})
-	string(REGEX MATCH "#define[\t ]+OPENSCENEGRAPH_PATCH_VERSION[\t ]+([0-9][0-9]*)" version_patch ${text})
+	string(REGEX MATCH "#define[\t ]+OPENSCENEGRAPH_PATCH_VERSION[\t ]+([0-9]*)" version_patch ${text})
 	string(REGEX MATCH "#define[\t ]+OPENSCENEGRAPH_SOVERSION[\t ]+([0-9][0-9])" version_so ${text})

 	string(REGEX REPLACE ".*([0-9]+).*" "\\1" version_major ${version_major})
 	string(REGEX REPLACE ".*([0-9]+).*" "\\1" version_minor ${version_minor})
-	string(REGEX REPLACE ".*([0-9][0-9]*).*" "\\1" version_patch ${version_patch})
+	string(REGEX REPLACE "[^0-9]*([0-9]+)[^0-9]*" "\\1" version_patch ${version_patch})
 	string(REGEX REPLACE ".*([0-9][0-9]).*" "\\1" version_so ${version_so})

 	set(OSG_VERSION_MAJOR ${version_major})


fixing data copy to be done on configure, post build is too late and wont be done if the project is uptodate.

--- WkBuild.cmake
+++ WkBuild.cmake
@@ -30,9 +30,9 @@
 #debug
 message ( STATUS "== Loading WkBuild.cmake ..." )

-if ( CMAKE_BACKWARDS_COMPATIBILITY LESS 2.6 )
-	message ( FATAL_ERROR " CMAKE MINIMUM BACKWARD COMPATIBILITY REQUIRED : 2.6 !" )
-endif( CMAKE_BACKWARDS_COMPATIBILITY LESS 2.6 )
+if ( CMAKE_BACKWARDS_COMPATIBILITY LESS 2.8 )
+	message ( FATAL_ERROR " CMAKE MINIMUM BACKWARD COMPATIBILITY REQUIRED : 2.8 !" )
+endif( CMAKE_BACKWARDS_COMPATIBILITY LESS 2.8 )

 #test to make sure necessary variables have been set.

@@ -386,14 +386,11 @@
 	WkTargetSetProperties (${target_name})

 	#
-	# Copying data directory after build ( for use by project later )
+	# Copying data directory during configure
 	#
-	ADD_CUSTOM_COMMAND( TARGET ${target_name} POST_BUILD
-		COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory
-		"${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR}" "${PROJECT_BINARY_DIR}/${${PROJECT_NAME}_DATA_DIR}"
-		COMMENT
-		"Copying ${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR} to ${PROJECT_BINARY_DIR}/${${PROJECT_NAME}_DATA_DIR}"
-	)
+	if (EXISTS "${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR}")
+		file(COPY "${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR}" DESTINATION "${PROJECT_BINARY_DIR}")
+	endif()

 CMAKE_POLICY(POP)
 endmacro(WkLibraryBuild)
@@ -513,14 +510,11 @@
 	WkPlatformConfigure()

 	#
-	# Copying data directory after build ( for use by project later )
+	# Copying data directory during configure
 	#
-	ADD_CUSTOM_COMMAND( TARGET ${target_name} POST_BUILD
-		COMMAND ${CMAKE_COMMAND} ARGS -E copy_directory
-		"${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR}" "${PROJECT_BINARY_DIR}/${${PROJECT_NAME}_DATA_DIR}"
-		COMMENT
-		"Copying ${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR} to ${PROJECT_BINARY_DIR}/${${PROJECT_NAME}_DATA_DIR}"
-	)
+	if (EXISTS "${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR}")
+		file(COPY "${PROJECT_SOURCE_DIR}/${${PROJECT_NAME}_DATA_DIR}" DESTINATION "${PROJECT_BINARY_DIR}")
+	endif()

 CMAKE_POLICY(POP)
 endmacro(WkExecutableBuild)


ENH: ExternalData: Improve series matching using an explicit syntax

Automatic series recognition can generate false positives too easily
when the default series configuration is flexible enough to handle
common cases.  Avoid false positives by requiring an explicit syntax to
activate series recognition.  Choose the syntax DATA{<name>,:} to be
short, simple, and look like a vertical ellipsis.

This allows us to improve the default series match configuration.  Allow
series references to contain one of the numbered file names.  Allow '-'
as a separator in addition to '.' and '_'.  Document what the default
configuration matches.  Also provide more options to configure series
<name> parsing.

Change-Id: I3c6874646458b021cea6c04f723bfc61b00267ad

--- CMake/ExternalData.cmake
+++ CMake/ExternalData.cmake
@@ -66,18 +66,26 @@
 # the source tree contains a content link such as "MyInput.png.md5" then the
 # "MyData" target creates a real "MyInput.png" in the build tree.
 #
-# The DATA{} syntax can automatically recognize and fetch a file series.  If
-# the source tree contains a group of files or content links named like a
-# series then a DATA{} reference to one member adds rules to fetch all of
-# them.  Although all members of a series are fetched, only the file
-# originally named by the DATA{} argument is substituted for it.  Two
-# variables configure recognition of a series from DATA{<name>}.  First,
-# ExternalData_SERIES_PARSE is a regex of the form "^(...)(...)(...)$" to
-# parse <prefix>, <number>, and <suffix> parts from <name>.  Second,
-# ExternalData_SERIES_MATCH is a regex matching the <number> part of series
-# members named <prefix><number><suffix>.  Note that the <suffix> of a series
-# does not include a hash-algorithm extension.  Both series configuration
-# variables have default values that work well for common cases.
+# The DATA{} syntax can be told to fetch a file series using the form
+# "DATA{<name>,:}", where the ":" is literal.  If the source tree contains a
+# group of files or content links named like a series then a reference to one
+# member adds rules to fetch all of them.  Although all members of a series
+# are fetched, only the file originally named by the DATA{} argument is
+# substituted for it.  The default configuration recognizes file series names
+# ending with "#.ext", "_#.ext", ".#.ext", or "-#.ext" where "#" is a sequence
+# of decimal digits and ".ext" is any single extension.  Configure it with a
+# regex that parses <number> and <suffix> parts from the end of <name>:
+#  ExternalData_SERIES_PARSE = regex of the form (<number>)(<suffix>)$
+# For more complicated cases set:
+#  ExternalData_SERIES_PARSE = regex with at least two () groups
+#  ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any
+#  ExternalData_SERIES_PARSE_NUMBER = <number> regex group number
+#  ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number
+# Configure series number matching with a regex that matches the
+# <number> part of series members named <prefix><number><suffix>:
+#  ExternalData_SERIES_MATCH = regex matching <number> in all series members
+# Note that the <suffix> of a series does not include a hash-algorithm
+# extension.
 #
 # The DATA{} syntax can alternatively match files associated with the named
 # file and contained in the same directory.  Associated files may be specified
@@ -376,6 +384,7 @@
   set(have_original 0)

   # Process options.
+  set(series_option "")
   set(associated_files "")
   set(associated_regex "")
   foreach(opt ${options})
@@ -383,6 +392,9 @@
       # Regular expression to match associated files.
       string(REGEX REPLACE "^REGEX:" "" regex "${opt}")
       list(APPEND associated_regex "${regex}")
+    elseif("x${opt}" MATCHES "^x:$")
+      # Activate series matching.
+      set(series_option "${opt}")
     elseif("x${opt}" MATCHES "^[^][:/*?]+$")
       # Specific associated file.
       list(APPEND associated_files "${opt}")
@@ -392,16 +404,19 @@
     endif()
   endforeach()

-  if(associated_files OR associated_regex)
-    # Load the named data file and listed/matching associated files.
+  if(series_option)
+    # Load a whole file series.
+    _ExternalData_arg_series()
+    if(associated_files OR associated_regex)
+      message(FATAL_ERROR "Series option \"${series_option}\" not allowed with associated files.")
+    endif()
+  else()
+    # Load the named data file.
     _ExternalData_arg_single()
-    _ExternalData_arg_associated()
-  elseif("${reldata}" MATCHES "(^|/)[^/.]+$")
-    # Files with no extension cannot be a series.
-    _ExternalData_arg_single()
-  else()
-    # Match a whole file series by default.
-    _ExternalData_arg_series()
+    if(associated_files OR associated_regex)
+      # Load listed/matching associated files.
+      _ExternalData_arg_associated()
+    endif()
   endif()

   if(NOT have_original)
@@ -457,27 +472,40 @@

 macro(_ExternalData_arg_series)
   # Configure series parsing and matching.
+  set(series_parse_prefix "")
+  set(series_parse_number "\\1")
+  set(series_parse_suffix "\\2")
   if(ExternalData_SERIES_PARSE)
-    if(NOT "${ExternalData_SERIES_PARSE}" MATCHES
-        "^\\^\\([^()]*\\)\\([^()]*\\)\\([^()]*\\)\\$$")
+    if(ExternalData_SERIES_PARSE_NUMBER AND ExternalData_SERIES_PARSE_SUFFIX)
+      if(ExternalData_SERIES_PARSE_PREFIX)
+        set(series_parse_prefix "\\${ExternalData_SERIES_PARSE_PREFIX}")
+      endif()
+      set(series_parse_number "\\${ExternalData_SERIES_PARSE_NUMBER}")
+      set(series_parse_suffix "\\${ExternalData_SERIES_PARSE_SUFFIX}")
+    elseif(NOT "x${ExternalData_SERIES_PARSE}" MATCHES "^x\\([^()]*\\)\\([^()]*\\)\\$$")
       message(FATAL_ERROR
         "ExternalData_SERIES_PARSE is set to\n"
         "  ${ExternalData_SERIES_PARSE}\n"
         "which is not of the form\n"
-        "  ^(...)(...)(...)$\n")
+        "  (<number>)(<suffix>)$\n"
+        "Fix the regular expression or set variables\n"
+        "  ExternalData_SERIES_PARSE_PREFIX = <prefix> regex group number, if any\n"
+        "  ExternalData_SERIES_PARSE_NUMBER = <number> regex group number\n"
+        "  ExternalData_SERIES_PARSE_SUFFIX = <suffix> regex group number\n"
+        )
     endif()
     set(series_parse "${ExternalData_SERIES_PARSE}")
   else()
-    set(series_parse "^(.*)()(\\.[^./]*)$")
+    set(series_parse "([0-9]*)(\\.[^./]*)$")
   endif()
   if(ExternalData_SERIES_MATCH)
     set(series_match "${ExternalData_SERIES_MATCH}")
   else()
-    set(series_match "[_.]?[0-9]*")
+    set(series_match "[_.-]?[0-9]*")
   endif()

   # Parse the base, number, and extension components of the series.
-  string(REGEX REPLACE "${series_parse}" "\\1;\\2;\\3" tuple "${reldata}")
+  string(REGEX REPLACE "${series_parse}" "${series_parse_prefix};${series_parse_number};${series_parse_suffix}" tuple "${reldata}")
   list(LENGTH tuple len)
   if(NOT "${len}" EQUAL 3)
     message(FATAL_ERROR "Data file referenced by argument\n"


If the original file is missing, make it non-fatal

The external data code makes it hard to add a new test as the test
is used to generate the baseline. Make the missing original a status
message rather than a fatal error. This allows you to add a new test,
compile it, generate the baseline and then add it as we did before the
move the external data.

Change-Id: I7cf25270c59ec1055c9e4c37d9e328f9f696f236

--- CMake/ExternalData.cmake
+++ CMake/ExternalData.cmake
@@ -449,7 +449,7 @@
   endif()

   if(NOT have_original)
-    message(FATAL_ERROR "Data file referenced by argument\n"
+    message(STATUS "Data file referenced by argument\n"
       "  ${arg}\n"
       "corresponds to source tree path\n"
       "  ${reldata}\n"


plugins/browser: mozilla-esteid -> esteid-browser-plugin

git-svn-id: af919ac7fdf0be26aaa017563ec94cac29b44150@2586 0d7e1ef0-d974-fc83-f0b3-ccc071561e0e

--- X11/projectDef.cmake
+++ X11/projectDef.cmake
@@ -6,7 +6,7 @@
 # Windows template platform definition CMake file
 # Included from ../CMakeLists.txt

-set(GLADE_INSTALL_DIR ${SHARE_INSTALL_PREFIX}/mozilla-esteid)
+set(GLADE_INSTALL_DIR ${SHARE_INSTALL_PREFIX}/esteid-browser-plugin)
 set(GLADE_FILE ${GLADE_INSTALL_DIR}/whitelist.ui)

 # remember that the current source dir is the project root; this file is in ${PLATFORM_NAME}/


minor fix

minor fix

--- ThirdParty/CV3/CV3.cmake
+++ ThirdParty/CV3/CV3.cmake
@@ -4,7 +4,7 @@
 		set(THIRD_PARTY_INCLUDE_DIRS ${THIRD_PARTY_INCLUDE_DIRS} CV3/include)
 		set(THIRD_PARTY_TRACKERS ${THIRD_PARTY_TRACKERS} CV3/src/CV3)
 	else()
-		set(THIRD_PARTY_DEFINITIONS ${THIRD_PARTY_DEFINITIONS} DISABLE_VISP)
+		set(THIRD_PARTY_DEFINITIONS ${THIRD_PARTY_DEFINITIONS} DISABLE_CV3)
 		message(STATUS "OpenCV 3 not found so its tracking module cannot be enabled")
 	endif()
 else(WITH_CV3)


Improve logging in FLP

Improve logging in FLP

--- FindLibraryPackage.cmake
+++ FindLibraryPackage.cmake
@@ -253,7 +253,7 @@
         if(_flp_${name}_out)
           message(${_flp_version_output_type}
             "Version ${${name}_FIND_VERSION} of ${name} is required exactly. "
-            "Version ${${_flp_${name}_UC}_VERSION} was found.")
+            "Version ${${_flp_${name}_UC}_VERSION} was found in ${${_flp_${name}_UC}_INCLUDE_DIR}.")
         endif()
       endif()
     else()


MOD: Have cmake detect various 'multiple build config' situations a bit better

--- cmake/CEGUIMacros.cmake
+++ cmake/CEGUIMacros.cmake
@@ -597,31 +597,44 @@
     unset(_FPHSA_LIBS)

     if (WIN32 OR APPLE)
-        if (CMAKE_GENERATOR MATCHES ".*Makefiles")
-            set (_BUILDCFG ${CMAKE_BUILD_TYPE})
+        if (CMAKE_CONFIGURATION_TYPES)
+            if (CMAKE_CONFIGURATION_TYPES MATCHES "Debug")
+                set (_WANT_DBG_LIBS TRUE)
+            else()
+                unset (_WANT_DBG_LIBS)
+            endif()
+            if (CMAKE_CONFIGURATION_TYPES MATCHES "Release" OR CMAKE_CONFIGURATION_TYPES MATCHES "Rel[A-Z]")
+                set (_WANT_REL_LIBS TRUE)
+            else()
+                unset (_WANT_REL_LIBS)
+            endif()
+        elseif (NOT CMAKE_BUILD_TYPE OR NOT CMAKE_BUILD_TYPE STREQUAL Debug)
+            set (_WANT_REL_LIBS TRUE)
+            unset (_WANT_DBG_LIBS)
         else()
-            unset (_BUILDCFG)
+            set (_WANT_DBG_LIBS TRUE)
+            unset (_WANT_REL_LIBS)
         endif()

         if (CEGUI_BUILD_SHARED_LIBS_WITH_STATIC_DEPENDENCIES)
-            if (NOT _BUILDCFG OR NOT _BUILDCFG STREQUAL Debug)
+            if (_WANT_REL_LIBS)
                 list(APPEND _FPHSA_LIBS ${_LIBBASENAMEVAR}_STATIC)
             endif()
-            if (NOT _BUILDCFG OR _BUILDCFG STREQUAL Debug)
+            if (_WANT_DBG_LIBS)
                 list(APPEND _FPHSA_LIBS ${_LIBBASENAMEVAR}_STATIC_DBG)
             endif()
         else()
-            if (NOT _BUILDCFG OR NOT _BUILDCFG STREQUAL Debug)
+            if (_WANT_REL_LIBS)
                 list(APPEND _FPHSA_LIBS ${_LIBBASENAMEVAR})
             endif()
-            if (NOT _BUILDCFG OR _BUILDCFG STREQUAL Debug)
+            if (_WANT_DBG_LIBS)
                 list(APPEND _FPHSA_LIBS ${_LIBBASENAMEVAR}_DBG)
             endif()
             if (CEGUI_BUILD_STATIC_CONFIGURATION)
-                if (NOT _BUILDCFG OR NOT _BUILDCFG STREQUAL Debug)
+                if (_WANT_REL_LIBS)
                     list(APPEND _FPHSA_LIBS ${_LIBBASENAMEVAR}_STATIC)
                 endif()
-                if (NOT _BUILDCFG OR _BUILDCFG STREQUAL Debug)
+                if (_WANT_DBG_LIBS)
                     list(APPEND _FPHSA_LIBS ${_LIBBASENAMEVAR}_STATIC_DBG)
                 endif()
             endif()
@@ -633,4 +646,3 @@
     find_package_handle_standard_args(${_PKGNAME} DEFAULT_MSG ${_FPHSA_LIBS} ${ARGN})
 endmacro()

-


Update tbag_project() cmake macro.

Update tbag_project() cmake macro.

--- cmake/TbagProject.cmake
+++ cmake/TbagProject.cmake
@@ -235,10 +235,12 @@
     tbag_debug_list (tbag_project/lang_list ${__lang_list})
     tbag_debug_list (tbag_project/proj_list ${__proj_list})

-    project (${__name} ${__lang_list})
     foreach (__cursor ${__proj_list})
         tbag_project__build ("${__root_dir}" "${__cursor}")
     endforeach ()
+
+    # Used as the default project name to be output from CLion.
+    project (${__name} ${__lang_list})
     add_custom_target (${__name} DEPENDS ${__proj_list})

     unset (__name)


Update: make explanatory statement when a subsystem is disabled

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

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -595,8 +595,8 @@
     string(TOUPPER "pcl_${_subsys}_dependies" PCL_SUBSYS_DEPENDIES)
     if(NOT ("${${PCL_SUBSYS_DEPENDIES}}" STREQUAL ""))
         foreach(dep ${${PCL_SUBSYS_DEPENDIES}})
-            PCL_SET_SUBSYS_HYPERSTATUS(${_subsys} ${dep} AUTO_OFF "Automatically disabled.")
-            set(BUILD_${dep} OFF CACHE BOOL "Automatically disabled ${dep}" FORCE)
+            PCL_SET_SUBSYS_HYPERSTATUS(${_subsys} ${dep} AUTO_OFF "Disabled: ${_subsys} missing.")
+            set(BUILD_${dep} OFF CACHE BOOL "Disabled: ${_subsys} missing." FORCE)
         endforeach(dep)
     endif(NOT ("${${PCL_SUBSYS_DEPENDIES}}" STREQUAL ""))
 endmacro(PCL_DISABLE_DEPENDIES subsys)


install cub under external/cub_archive to fix windows gpu build (#11246)

--- tensorflow/contrib/cmake/external/cub.cmake
+++ tensorflow/contrib/cmake/external/cub.cmake
@@ -18,6 +18,7 @@
 set(cub_HASH SHA256=966d0c4f41e2bdc81aebf9ccfbf0baffaac5a74f00b826b06f4dee79b2bb8cee)
 set(cub_BUILD ${CMAKE_CURRENT_BINARY_DIR}/cub/src/cub)
 set(cub_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/cub/src/cub)
+set(cub_ARCHIVE_DIR ${CMAKE_CURRENT_BINARY_DIR}/external/cub_archive)

 ExternalProject_Add(cub
     PREFIX cub
@@ -26,4 +27,4 @@
     DOWNLOAD_DIR "${DOWNLOAD_LOCATION}"
     BUILD_IN_SOURCE 1
     PATCH_COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/patches/cub/CMakeLists.txt ${cub_BUILD}
-    INSTALL_COMMAND "")
+    INSTALL_COMMAND  ${CMAKE_COMMAND} -E copy_directory  ${cub_INCLUDE_DIR}/cub ${cub_ARCHIVE_DIR}/cub)


update FindGSL.cmake

update FindGSL.cmake

--- CMake/FindGSL.cmake
+++ CMake/FindGSL.cmake
@@ -66,7 +66,7 @@
 #  License text for the above reference.)

 # Include these modules to handle the QUIETLY and REQUIRED arguments.
-include(${CMAKE_CURRENT_LIST_DIR}/FindPackageHandleStandardArgs.cmake)
+include(FindPackageHandleStandardArgs)

 #=============================================================================
 # If the user has provided ``GSL_ROOT_DIR``, use it!  Choose items found