Also attempt to query the CXX11 ABI of Houdini through its target properties.

Signed-off-by: Nick Avramoussis <ce9ae7fb000f2865db247e53b12753caeda92c74@users.noreply.github.com>

--- cmake/OpenVDBHoudiniSetup.cmake
+++ cmake/OpenVDBHoudiniSetup.cmake
@@ -94,6 +94,8 @@
 # Find the Houdini installation and use Houdini's CMake to initialize
 # the Houdini lib

+cmake_minimum_required(VERSION 3.3)
+
 set(_HOUDINI_ROOT_SEARCH_DIR)

 if(HOUDINI_ROOT)
@@ -346,7 +348,8 @@
       RESULT_VARIABLE QUERIED_GCC_CXX11_ABI_SUCCESS
       OUTPUT_VARIABLE _GCC_CXX11_ABI)

-    set(GLIBCXX_USE_CXX11_ABI -1)
+    set(GLIBCXX_USE_CXX11_ABI "UNKNOWN")
+
     if(NOT QUERIED_GCC_CXX11_ABI_SUCCESS)
       string(FIND ${_GCC_CXX11_ABI} "_GLIBCXX_USE_CXX11_ABI 0" GCC_OLD_CXX11_ABI)
       string(FIND ${_GCC_CXX11_ABI} "_GLIBCXX_USE_CXX11_ABI 1" GCC_NEW_CXX11_ABI)
@@ -358,21 +361,41 @@
       endif()
     endif()

-    if(${GLIBCXX_USE_CXX11_ABI} EQUAL 0)
-      message(STATUS "  Newer GCC CXX11 ABI already disabled - compatible for Houdini")
-    elseif(${GLIBCXX_USE_CXX11_ABI} EQUAL 1)
-      message(WARNING "GCC has been built with newer CXX11 ABI automatically enabled. "
-        "Disabling for all OpenVDB components for Houdini compatibility. Make sure all "
-        "dependencies have been built with the older GCC ABI. "
-        "See https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html and "
-        "https://vfxplatform.com/#footnote-gcc6 for more information.")
+    # Try and query the Houdini CXX11 ABI. Allow it to be provided by users to
+    # override this logic should Houdini's CMake ever change
+
+    if(NOT DEFINED HOUDINI_CXX11_ABI)
+      get_target_property(houdini_interface_compile_options
+        Houdini INTERFACE_COMPILE_OPTIONS)
+      set(HOUDINI_CXX11_ABI "UNKNOWN")
+      if("-D_GLIBCXX_USE_CXX11_ABI=0" IN_LIST houdini_interface_compile_options)
+        set(HOUDINI_CXX11_ABI 0)
+      elseif("-D_GLIBCXX_USE_CXX11_ABI=1" IN_LIST houdini_interface_compile_options)
+        set(HOUDINI_CXX11_ABI 1)
+      endif()
+    endif()
+
+    message(STATUS "  GCC CXX11 ABI     : ${GLIBCXX_USE_CXX11_ABI}")
+    message(STATUS "  Houdini CXX11 ABI : ${HOUDINI_CXX11_ABI}")
+
+    if(${HOUDINI_CXX11_ABI} STREQUAL "UNKNOWN")
+      message(WARNING "Unable to determine Houdini CXX11 ABI. Assuming newer ABI "
+        "has been used.")
+      set(HOUDINI_CXX11_ABI 1)
+    endif()
+
+    if(${GLIBCXX_USE_CXX11_ABI} EQUAL ${HOUDINI_CXX11_ABI})
+      message(STATUS "  Current CXX11 ABI matches Houdini configuration "
+        "(_GLIBCXX_USE_CXX11_ABI=${HOUDINI_CXX11_ABI}).")
     else()
-      message(WARNING "Unable to determine the current ABI configuration of GCC CXX11."
-        " Disabling for all OpenVDB components for Houdini compatibility. Make sure all "
-        "dependencies have been built with the older GCC ABI. "
-        "See https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html and "
+      message(WARNING "A problem or mismatch was detected between the CXX11 ABI "
+        "of GCC and Houdini. The following ABI configuration will be used: "
+        "-D_GLIBCXX_USE_CXX11_ABI=${HOUDINI_CXX11_ABI}. Make sure all "
+        "dependencies have been built with the same CXX11 ABI. See: "
+        "https://gcc.gnu.org/onlinedocs/libstdc++/manual/using_dual_abi.html and "
         "https://vfxplatform.com/#footnote-gcc6 for more information.")
     endif()
-    add_definitions(-D_GLIBCXX_USE_CXX11_ABI=0)
+
+    add_definitions(-D_GLIBCXX_USE_CXX11_ABI=${HOUDINI_CXX11_ABI})
   endif()
 endif()


RDSIBRM-2410: add libevent's .pc files to pkgconfig_map in bde-tools/cmake (#109)

--- cmake/bde_pkgconfig_utils.cmake
+++ cmake/bde_pkgconfig_utils.cmake
@@ -7,16 +7,19 @@
     set( _pkgconfig_to_uor_map_${pkgconfigName} ${uorName} )
 endmacro()

-_pkgconfig_map_insert(z          zlib)
-_pkgconfig_map_insert(protobuf-c libprotobuf-c)
-_pkgconfig_map_insert(xercesc    xerces-c)
-_pkgconfig_map_insert(curl       libcurl)
-_pkgconfig_map_insert(apr1       apr-1)
-_pkgconfig_map_insert(aprutil1   apr-util-1)
-_pkgconfig_map_insert(glib2      glib-2.0)
-_pkgconfig_map_insert(gobject2   gobject-2.0)
-_pkgconfig_map_insert(uv         libuv)
-_pkgconfig_map_insert(svm        libsvm)
+_pkgconfig_map_insert(z              zlib)
+_pkgconfig_map_insert(protobuf-c     libprotobuf-c)
+_pkgconfig_map_insert(xercesc        xerces-c)
+_pkgconfig_map_insert(curl           libcurl)
+_pkgconfig_map_insert(apr1           apr-1)
+_pkgconfig_map_insert(aprutil1       apr-util-1)
+_pkgconfig_map_insert(glib2          glib-2.0)
+_pkgconfig_map_insert(gobject2       gobject-2.0)
+_pkgconfig_map_insert(uv             libuv)
+_pkgconfig_map_insert(svm            libsvm)
+_pkgconfig_map_insert(event          libevent)
+_pkgconfig_map_insert(event_pthreads libevent_pthreads)
+_pkgconfig_map_insert(event_openssl  libevent_openssl)

 function(bde_uor_to_pkgconfig_name retPkgconfigName uorName)
     bde_assert_no_extra_args()


Pass all additional arguments of distortosBin() to ${CMAKE_OBJCOPY}

This can be useful if you need to pass some additional flags needed when
files get encrypted or you calculate checksums, like `--gap-fill 0xff`
or sth like this.

--- cmake/distortos-utilities.cmake
+++ cmake/distortos-utilities.cmake
@@ -18,10 +18,12 @@
 #
 # Converts output file of `target` to binary file named `binFilename`.
 #
+# All additional arguments are passed to ${CMAKE_OBJCOPY}.
+#

 function(distortosBin target binFilename)
 	add_custom_command(TARGET ${target} POST_BUILD
-			COMMAND ${CMAKE_OBJCOPY} -O binary $<TARGET_FILE:${target}> ${binFilename}
+			COMMAND ${CMAKE_OBJCOPY} ${ARGN} -O binary $<TARGET_FILE:${target}> ${binFilename}
 			BYPRODUCTS ${binFilename}
 			VERBATIM)
 endfunction()


Spin if directory is locked

Spin if directory is locked

--- cmake/modules/hunter_lock.cmake
+++ cmake/modules/hunter_lock.cmake
@@ -24,7 +24,8 @@
   set(lock_file "${HUNTER_ROOT}/Base/hunter-build.lock")
   set(binary_dir_file "${HUNTER_ROOT}/Base/binary-dir.lock")

-  if(EXISTS "${lock_file}")
+  while(EXISTS "${lock_file}")
+    string(TIMESTAMP time_now)
     if(NOT EXISTS "${binary_dir_file}")
       hunter_fatal_error("Lock file exists but `${binary_dir_file}` not found")
     endif()
@@ -43,9 +44,13 @@
         "    ${lock_file}\n\n"
         "Then run CMake again."
       )
-      hunter_fatal_error("Directory busy")
     endif()
-  endif()
+    ### Spin a little bit
+    execute_process(
+        COMMAND "${CMAKE_COMMAND}" -E echo "[${time_now}] Sleep for 5 sec..." 5
+    )
+    execute_process(COMMAND "${CMAKE_COMMAND}" -E sleep 5)
+  endwhile()

   string(TIMESTAMP time_now)


Added assimp vc120 Win version to cmake find.

--- cmake_modules/FindASSIMPM.cmake
+++ cmake_modules/FindASSIMPM.cmake
@@ -25,16 +25,16 @@
 	find_path(ASSIMP_INCLUDE_DIR assimp
 		${ASSIMP_ROOT}/include
 		)
-	find_library(ASSIMP_LIBRARIES_RELEASE NAMES assimp
+	find_library(ASSIMP_LIBRARIES_RELEASE NAMES assimp-vc120-mt assimp
 		PATHS
 		${ASSIMP_ROOT}/lib
 	)
-	find_library(ASSIMP_LIBRARIES_DEBUG NAMES assimpd
+	find_library(ASSIMP_LIBRARIES_DEBUG NAMES assimp-vc120-mtd assimpd
 		PATHS
 		${ASSIMP_ROOT}/lib
 	)
 	set(ASSIMP_LIBRARIES
-		debug ${ASSIMP_LIBRARIES_RELEASE}
+		debug ${ASSIMP_LIBRARIES_DEBUG}
 		optimized ${ASSIMP_LIBRARIES_RELEASE}
 		)
 endif()
@@ -64,7 +64,7 @@
     )

 	set(ASSIMP_LIBRARIES
-		debug ${ASSIMP_LIBRARIES_RELEASE}
+		debug ${ASSIMP_LIBRARIES_DEBUG}
 		optimized ${ASSIMP_LIBRARIES_RELEASE}
 		)
 endif(ASSIMP_INCLUDE_DIR AND ASSIMP_LIBRARIES)


Silly comment fix in script_clang.cmake

Silly comment fix in script_clang.cmake

--- cmakemodules/script_clang.cmake
+++ cmakemodules/script_clang.cmake
@@ -1,5 +1,5 @@
-# Check for the clang library. (Linux only, in win32 we use built-in
-#  version of ConvertUTF.c):
+# Check for the clang library (NOT the LLVM CLANG compiler!!!).
+# (Linux only, in win32 we use built-in version of ConvertUTF.c):
 # ===================================================

 # In any case we'll have this lib: embedded or system.


fix use script: glew

fix use script: glew

* verDir was removed previously
* issue https://github.com/smanders/externpro/issues/273

--- projects/use/usexp-glew-config.cmake
+++ projects/use/usexp-glew-config.cmake
@@ -35,7 +35,7 @@
         )
     endif()
     set_target_properties(GLEW::glew_s PROPERTIES
-      INTERFACE_INCLUDE_DIRECTORIES ${XP_ROOTDIR}/include${verDir}
+      INTERFACE_INCLUDE_DIRECTORIES ${XP_ROOTDIR}/include/${prj}_${glewVer}
       )
   endif()
   set(${PRJ}_LIBRARIES GLEW::glew_s)


Make RPM package do not replace logrotate script while update

--- build/rpm/flexisip.spec.cmake
+++ build/rpm/flexisip.spec.cmake
@@ -190,7 +190,7 @@
 %endif

 %{_sysconfdir}/flexisip
-%config %{_sysconfdir}/logrotate.d/flexisip-logrotate
+%config(noreplace) %{_sysconfdir}/logrotate.d/flexisip-logrotate

 /lib/systemd/system/flexisip.service
 /lib/systemd/system/flexisip@.service


add an option to use lto

add an option to use lto

cmake  ../../../embedded/dev/board_examples/uart/ -DCMAKE_BUILD_TYPE=Release -Darch=stm32f103 -DUSE_LTO=on

--- backends/cmake/arm-none-eabi-gcc.cmake
+++ backends/cmake/arm-none-eabi-gcc.cmake
@@ -43,6 +43,11 @@
 include_directories(${CROSS_COMPIL_TOOLS}/../arm-none-eabi/include/)
 include_directories(${CROSS_COMPIL_TOOLS}/../arm-none-eabi/include/c++/4.7.4)

+if (USE_LTO)
+	set (COMPIL_FLAGS_LTO "-flto")
+	set (LINK_FLAGS_LTO "-O3 -flto")
+endif()
+
 SET(CMAKE_ASM_FLAGS "${MCFLAGS}")
 SET(CMAKE_C_FLAGS "${MCFLAGS} -Wall -Wextra -Warray-bounds -ffunction-sections -fdata-sections")
 SET(CMAKE_CXX_FLAGS "${MCFLAGS} -std=c++11 -Wall -Wextra -Warray-bounds -fno-builtin -fno-rtti -fno-exceptions -ffunction-sections -fdata-sections")
@@ -51,12 +56,12 @@
 SET(CMAKE_CXX_FLAGS_DEBUG "-O1 -g")
 SET(CMAKE_ASM_FLAGS_DEBUG "-g")

-SET(CMAKE_C_FLAGS_RELEASE "-O3")
-SET(CMAKE_CXX_FLAGS_RELEASE "-O3")
+SET(CMAKE_C_FLAGS_RELEASE "-O3 ${COMPIL_FLAGS_LTO}")
+SET(CMAKE_CXX_FLAGS_RELEASE "-O3 ${COMPIL_FLAGS_LTO}")
 SET(CMAKE_ASM_FLAGS_RELEASE "")

-SET(CMAKE_CXX_LINK_FLAGS "${MCFLAGS} -T${LDSCRIPT} -Wl,--gc-sections --specs=nano.specs -O3")
-SET(CMAKE_C_LINK_FLAGS "${MCFLAGS} -T${LDSCRIPT} -Wl,--gc-sections --specs=nano.specs -O3")
+SET(CMAKE_CXX_LINK_FLAGS "${MCFLAGS} -T${LDSCRIPT} -Wl,--gc-sections --specs=nano.specs ${LINK_FLAGS_LTO}")
+SET(CMAKE_C_LINK_FLAGS "${MCFLAGS} -T${LDSCRIPT} -Wl,--gc-sections --specs=nano.specs ${LINK_FLAGS_LTO}")

 SET(CMAKE_CROSSCOMPILING TRUE)


Cuda.cmake: Fix a typo in a comment

Cuda.cmake: Fix a typo in a comment

--- cmake/Cuda.cmake
+++ cmake/Cuda.cmake
@@ -232,7 +232,7 @@
 ################################################################################################

 find_package(CUDA 5.5 QUIET)
-find_cuda_helper_libs(curand)  # cmake 2.8.7 compartibility which doesn't search for curand
+find_cuda_helper_libs(curand)  # cmake 2.8.7 compatibility which doesn't search for curand

 if(NOT CUDA_FOUND)
   return()


Flags for Clang.

Flags for Clang.

--- cmake/conf.cmake
+++ cmake/conf.cmake
@@ -4,12 +4,15 @@
 	set(TARGET_SUBDIR Debug)
 endif()

-if(MSVC)
+if(${CMAKE_CXX_COMPILER_ID} MATCHES "MSVC")
 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc")
+elseif(${CMAKE_CXX_COMPILER_ID} MATCHES "Clang")
+	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -m32 -std=c++1z -fvisibility=hidden -fvisibility-inlines-hidden")
+	SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -m32 -fvisibility=hidden")
 else()
 	SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -m32 -std=c++17 -fvisibility=hidden -fvisibility-inlines-hidden")
-	SET(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -g -m32 -fvisibility=hidden -fvisibility-inlines-hidden")
-endif(MSVC)
+	SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -m32 -fvisibility=hidden")
+endif()

 # Define DLLEXPORT and DLLIMPORT
 if(WIN32 OR CYGWIN )


fixed warning message for glut on stampede

--- cmake/glut.cmake
+++ cmake/glut.cmake
@@ -22,7 +22,7 @@
 		IF (${GLUT_LIBRARY} STREQUAL "GLUT_LIBRARY-NOTFOUND")
 			MESSAGE("-- Could not find GLUT library, even after trying additional search dirs")
 		ELSE()
-			MESSAGE("-- Extended search *DID* find GLUT library in ${GLUT}")
+			@MESSAGE("-- Extended search *DID* find GLUT library in ${GLUT_LIBRARY}")
 			SET(GLUT_FOUND ON)
 		ENDIF()
 	ENDIF()


ENH: Added settings for useful style checking and testing scripts.

--- vtkCMakeOptions.cmake
+++ vtkCMakeOptions.cmake
@@ -178,5 +178,9 @@
   ENDIF (JAVA_AWT_INCLUDE_PATH)
 ENDIF (VTK_WRAP_JAVA)

-# The doxygen helper perl script location.
+# VTK style script locations.
 SET(VTK_DOXYGEN_HOME ${VTK_SOURCE_DIR}/Utilities/Doxygen)
+SET(VTK_HEADER_TESTING_PY ${VTK_SOURCE_DIR}/Common/Testing/HeaderTesting.py)
+SET(VTK_FIND_STRING_TCL ${VTK_SOURCE_DIR}/Common/Testing/Tcl/FindString.tcl)
+SET(VTK_PRINT_SELF_CHECK_TCL ${VTK_SOURCE_DIR}/Common/Testing/Tcl/PrintSelfCheck.tcl)
+SET(VTK_RT_IMAGE_TEST_TCL ${VTK_SOURCE_DIR}/Common/Testing/Tcl/rtImageTest.tcl)


Remove duplicate remove regex

Remove duplicate remove regex

Former-commit-id: 59fba8e39895b88cce38ab004bd40354d661651b

--- cmake-modules/Fetch_ceres-solver.cmake
+++ cmake-modules/Fetch_ceres-solver.cmake
@@ -152,7 +152,7 @@
     #Remove any shared libraries like unwind etc which pollute static builds
     # As a matter of fact... just relink it entirely
     include(cmake-modules/TargetFilters.cmake)
-    remove_library_shallow(ceres "gcc_eh|unwind|lzma|Threads::Threads|pthread|unwind|glog|gflags")
+    remove_library_shallow(ceres "gcc_eh|unwind|lzma|Threads::Threads|pthread|glog|gflags")

 #    if(NOT BUILD_SHARED_LIBS)
 #    include(cmake-modules/TargetFilters.cmake)


cmake: guard against duplicate external deps

--- cmake/modules/ExternalDependency.cmake
+++ cmake/modules/ExternalDependency.cmake
@@ -12,7 +12,7 @@
   "conan"
   )

-macro(EXTERNAL_DEPENDENCY)
+function(EXTERNAL_DEPENDENCY)
   set(OPTS   CMAKE)
   set(SVARGS NAME LIBNAME REPO)
   set(MVARGS INCLUDE_DIRECTORIES DEPENDENCIES)
@@ -36,6 +36,24 @@
     find_package(Git REQUIRED)
   endif()

+  if(NOT DEP_LIBNAME)
+    set(DEP_LIBNAME ${DEP_NAME})
+  endif()
+
+  list(APPEND ${${PROJECT_NAME}_UPPER}_DEPS
+    ${DEP_LIBNAME}
+    )
+
+  set(${${PROJECT_NAME}_UPPER}_DEPS ${${${PROJECT_NAME}_UPPER}_DEPS} PARENT_SCOPE)
+
+  set(GUARD_TARGET "external_dep_${DEP_LIBNAME}")
+
+  if(NOT TARGET ${GUARD_TARGET})
+    add_custom_target(${GUARD_TARGET})
+  else()
+    return()
+  endif()
+
   set(CLONE_DIR "${PROJECT_SOURCE_DIR}/external")

   file(MAKE_DIRECTORY ${CLONE_DIR})
@@ -48,10 +66,6 @@
       OUTPUT_FILE "${CMAKE_BINARY_DIR}/${DEP_NAME}_git_stdout.log"
       ERROR_FILE "${CMAKE_BINARY_DIR}/${DEP_NAME}_git_stderr.log"
       )
-  endif()
-
-  if(NOT DEP_LIBNAME)
-    set(DEP_LIBNAME ${DEP_NAME})
   endif()

   if(DEP_CMAKE)
@@ -77,9 +91,5 @@
       )
   endif()

-  list(APPEND ${${PROJECT_NAME}_UPPER}_DEPS
-    ${DEP_LIBNAME}
-    )
-
   unset(CLONE_DIR)
-endmacro()
+endfunction()


ENH: Allow building shared library.

ENH: Allow building shared library.

--- itk-module.cmake
+++ itk-module.cmake
@@ -19,7 +19,8 @@
     ITKTransform
   TEST_DEPENDS
     ITKTestKernel
-  EXCLUDE_FROM_DEFAULT
   DESCRIPTION
     "${DOCUMENTATION}"
+  EXCLUDE_FROM_DEFAULT
+  ENABLE_SHARED
 )


cleanup and disable metamat_system

cleanup and disable metamat_system

Change-Id: Iba750cc36e15d6f00270fbc46dfb256abddd508a

--- VAD_MetaMat.cmake
+++ VAD_MetaMat.cmake
@@ -3,20 +3,7 @@
 set(GIT_REPO "http://hci-repo.iwr.uni-heidelberg.de/light-field/metamat.git")

 function(vad_system)
-  vad_system_default(${ARGN})
-  if(METAMAT_FOUND AND NOT TARGET METAMAT::METAMAT)
-    message(STATUS "Creating the METAMAT::METAMAT imported target.")
-    add_library(METAMAT::METAMAT UNKNOWN IMPORTED)
-    set_target_properties(METAMAT::METAMAT PROPERTIES INTERFACE_INCLUDE_DIRECTORIES "${METAMAT_INCLUDE_DIRS}")
-    # FIXME get absolute lib paths...
-    #set_target_properties(METAMAT::METAMAT PROPERTIES INTERFACE_LINK_LIBRARIES "${METAMAT_LIBRARIES}")
-
-    # FIXME search other libs?!!
-    find_library(_metamat_imported_lib NAMES metamat HINTS ${METAMAT_LIBRARY_DIRS})
-    set_property(TARGET METAMAT::METAMAT APPEND PROPERTY IMPORTED_LOCATION ${_metamat_imported_lib})
-
-    make_imported_targets_global()
-  endif()
+  vad_add_var(MetaMat_FOUND false)
 endfunction()

@@ -25,35 +12,6 @@
   vad_autodep_pkg(HDF5 "MetaMat")
   vad_autodep_pkg(OpenCV "MetaMat")
 endfunction()
-
-#Get all propreties that cmake supports
-execute_process(COMMAND cmake --help-property-list OUTPUT_VARIABLE CMAKE_PROPERTY_LIST)
-
-# Convert command output into a CMake list
-STRING(REGEX REPLACE ";" "\\\\;" CMAKE_PROPERTY_LIST "${CMAKE_PROPERTY_LIST}")
-STRING(REGEX REPLACE "\n" ";" CMAKE_PROPERTY_LIST "${CMAKE_PROPERTY_LIST}")
-
-function(print_properties)
-    message ("CMAKE_PROPERTY_LIST = ${CMAKE_PROPERTY_LIST}")
-endfunction(print_properties)
-
-function(print_target_properties tgt)
-    if(NOT TARGET ${tgt})
-      message("There is no target named '${tgt}'")
-      return()
-    endif()
-
-    foreach (prop ${CMAKE_PROPERTY_LIST})
-        string(REPLACE "<CONFIG>" "${CMAKE_BUILD_TYPE}" prop ${prop})
-        # message ("Checking ${prop}")
-        get_property(propval TARGET ${tgt} PROPERTY ${prop} SET)
-        if (propval)
-            get_target_property(propval ${tgt} ${prop})
-            message ("${tgt} ${prop} = ${propval}")
-        endif()
-    endforeach(prop)
-endfunction(print_target_properties)
-

 function(vad_live)
   message("run VAD_LIVE for METAMAT")


Small internal doc fix.

Small internal doc fix.

--- VigraAddDep.cmake
+++ VigraAddDep.cmake
@@ -186,8 +186,8 @@
   foreach(_NEWVAR ${_NEW_VARIABLES_${NAME}})
       list(FIND _OLD_VARIABLES_${NAME} "${_NEWVAR}" _NEWVARIDX)
       if(_NEWVARIDX EQUAL -1)
-          # New var was not found among the old ones. We check if it starts with
-          # ${NAME} (case insensitively), in which case we will add it to the cached variables.
+          # New var was not found among the old ones. We check if it is not an internal variable,
+          # in which case we will add it to the cached variables.
           string(TOLOWER "${_NEWVAR}" _NEWVAR_LOW)
           if(NOT _NEWVAR_LOW MATCHES "^_" AND NOT _NEWVAR_LOW MATCHES "^vad" AND NOT _NEWVAR_LOW MATCHES "^find_package")
             # Make sure we don't store multiline strings in the cache, as that is not supported.


ENH: Some cleanups, add continuous, change cvsweb to viewcvs

--- DartConfig.cmake
+++ DartConfig.cmake
@@ -7,25 +7,50 @@
   SET (DROP_SITE "public.kitware.com")
   SET (DROP_LOCATION "/cgi-bin/HTTPUploadDartFile.cgi")
 ELSE(DROP_METHOD MATCHES http)
-  SET (DROP_SITE "public.kitware.com")
-  SET (DROP_LOCATION "/incoming")
-  SET (DROP_SITE_USER "ftpuser")
-  SET (DROP_SITE_PASSWORD "public")
+  IF(DROP_METHOD MATCHES scp)
+    SET (DROP_SITE "public.kitware.com")
+    SET (DROP_LOCATION "/ftp/incoming/Xdmf")
+    SET (DROP_SITE_USER "www")
+  ELSE(DROP_METHOD MATCHES scp)
+    SET (DROP_SITE "public.kitware.com")
+    SET (DROP_LOCATION "/incoming")
+    SET (DROP_SITE_USER "ftpuser")
+    SET (DROP_SITE_PASSWORD "public")
+  ENDIF(DROP_METHOD MATCHES scp)
 ENDIF(DROP_METHOD MATCHES http)
+SET (DROP_METHOD "ftp" CACHE STRING "Select drop method for test submission")
 SET (TRIGGER_SITE
        "http://${DROP_SITE}/cgi-bin/Submit-Xdmf-TestingResults.pl")

 # Project Home Page
-SET (PROJECT_URL "http://www.arl.hpc.mil/ice/")
+SET (PROJECT_URL "http://public.kitware.com")

 # Dart server configuration
 SET (ROLLUP_URL "http://${DROP_SITE}/cgi-bin/xdmf-rollup-dashboard.sh")
-SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/cvsweb.cgi/Xdmf/")
+SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/viewcvs.cgi/")
 SET (CVS_WEB_CVSROOT "Xdmf")
 SET (USE_DOXYGEN "On")
 SET (DOXYGEN_URL "http://www.arl.hpc.mil/ice/Manuals/Xdmf/index.html" )
-SET (GNATS_WEB_URL "http://public.kitware.com/Bug/index.php")
+SET (GNATS_WEB_URL "${PROJECT_URL}/Bug/index.php")
 SET (USE_GNATS "On")

 # copy over the testing logo
 CONFIGURE_FILE(${Xdmf_SOURCE_DIR}/DiceLogo.gif ${Xdmf_BINARY_DIR}/Testing/HTML/TestingResults/Icons/Logo.gif COPYONLY)
+
+# Continuous email delivery variables
+SET (CONTINUOUS_FROM "xdmf-dashboard@public.kitware.com")
+SET (SMTP_MAILHOST "public.kitware.com")
+SET (CONTINUOUS_MONITOR_LIST "xdmf-dashboard@public.kitware.com")
+SET (CONTINUOUS_BASE_URL "${PROJECT_URL}/Testing")
+
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_FAILURES ON)
+SET (DELIVER_BROKEN_BUILD_EMAIL "Continuous Nightly")
+SET (EMAIL_FROM "xdmf-dashboard@public.kitware.com")
+SET (DARTBOARD_BASE_URL "${PROJECT_URL}/Testing")
+
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_CONFIGURE_FAILURES 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_BUILD_ERRORS 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_BUILD_WARNINGS 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_NOT_RUNS 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_FAILURES 1)
+


fix pour l'heure du nightly.

fix pour l'heure du nightly.


set find VLF  for Windows

set find VLF  for Windows

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

-option(FSDK_FIND_VLF OFF)
+if(WIN32)
+	set(FSDK_FIND_VLF ON)
+else()
+	set(FSDK_FIND_VLF OFF)
+endif()

 # Look for headers.
 find_path(FSDK_INCLUDE_DIRS


SWDEV-235875:Fix rocALUTION build error

SWDEV-235875:Fix rocALUTION build error

Change-Id: I2f2a15687e943a860ff6ca05f22422f791a36c0a

--- cmake/FindHIP/run_hipcc.cmake
+++ cmake/FindHIP/run_hipcc.cmake
@@ -35,7 +35,8 @@
 @_HIP_HCC_FLAGS@
 @_HIP_CLANG_FLAGS@
 @_HIP_NVCC_FLAGS@
-set(HIP_HIPCC_INCLUDE_ARGS "@HIP_HIPCC_INCLUDE_ARGS@") # list (needs to be in quotes to handle spaces properly)
+#Needed to bring the HIP_HIPCC_INCLUDE_ARGS variable in scope
+set(HIP_HIPCC_INCLUDE_ARGS @HIP_HIPCC_INCLUDE_ARGS@) # list

 set(cmake_dependency_file "@cmake_dependency_file@") # path
 set(source_file "@source_file@") # path


Some minor cleaning up.

Some minor cleaning up.

--- cmake/environmentchecks.cmake
+++ cmake/environmentchecks.cmake
@@ -26,8 +26,6 @@
 find_program(LLVM_COV_EXE NAMES ${PREFERRED_LLVM_COV_NAMES} llvm-cov HINTS ${LLVM_BIN_DIR} /Library/Developer/CommandLineTools/usr/bin/)
 find_program(LLVM_PROFDATA_EXE NAMES ${PREFERRED_LLVM_PROFDATA_NAMES} llvm-profdata HINTS ${LLVM_BIN_DIR} /Library/Developer/CommandLineTools/usr/bin/)
 find_program(VALGRIND_EXE NAMES ${PREFERRED_VALGRIND_NAMES} valgrind)
-#ISSUE359 -- Remove the below...
-set(CLANG_TIDY_EXE)

 find_package(Doxygen)
 find_package(Sphinx)


CMake: do not set CPACK_PACKAGING_INSTALL_PREFIX for Windows builds to avoid CPack errors (#3947)

Default value is "/", everything else can lead to an invalid temporary
path being generated (_CPack_Packages path + CPACK_PACKAGING_INSTALL_PREFIX path)

--- cmake/packages/packages.cmake
+++ cmake/packages/packages.cmake
@@ -6,7 +6,9 @@
 set(CPACK_PACKAGE_CONTACT ${ARANGODB_PACKAGE_CONTACT})
 set(CPACK_PACKAGE_VERSION "${ARANGODB_VERSION}")
 # TODO just for rpm?
-set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+if (NOT(MSVC))
+  set(CPACK_PACKAGING_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})
+endif()

 if (USE_ENTERPRISE)
   set(CPACK_RESOURCE_FILE_LICENSE "${PROJECT_SOURCE_DIR}/enterprise/LICENSE")


DOC: Added other previous list of GTM excluded.

This is from the initial list created when attempting to precompile
the routines using the debian/rules makefile.

This list of routines has now been added here for completion.

This overal file should be reviewed and updated with every FOIA release.

--- CMake/ListOfVistARoutines.cmake
+++ CMake/ListOfVistARoutines.cmake
@@ -27433,4 +27433,118 @@
   ZUVXD.m
 # ZZHLGHB1.m
 # ZZRCSUM.m
+
+#
+# Other routines that were excluded from GTM compilation
+#
+# ANRVOA.m
+# ANRVRRL.m
+# BPSOSQ2.m
+# DENTA14.m
+# DENTDSE.m
+# DGMSTAPI.m
+# DGPFUT.m
+# DINV1VXD.m
+# DINVDTM.m
+# DINVONT.m
+# DINVVXD.m
+# DVBAMVI1.m
+# DVBAMVI2.m
+# DVBCRPRT.m
+# GMTSOBI.m
+# HLCSTCPA.m
+# HLCSTCP.m
+# HLOPING.m
+# HLOSRVR.m
+# HLOSTRAC.m
+# HLOTRACE.m
+# IBCEF73.m
+# IBCNQ.m
+# IBJTCA2.m
+# KMPDU2.m
+# KMPDUTL5.m
+# LEXAR7.m
+# LR138PO.m
+# MAGVCHK.m
+# MDRPCOV.m
+# MUSMCR1.m
+# MUSMCR3.m
+# NVSMENU.m
+# NVSSTM.m
+# NVSTMPC.m
+# ORCACT01.m
+# ORRDI1.m
+# ORRDI2.m
+# ORWORR1.m
+# PRCAUDT.m
+# PRCBR1.m
+# PRCFAES1.m
+# PSBRPC2.m
+# PSJINVW.m
+# PSORELD1.m
+# PSSFDBRT.m
+# PSSHRPST.m
+# PSSHTTP.m
+# RCRJRCOR.m
+# RGUTIN0.m
+# RGUTIN16.m
+# RGUTIN18.m
+# RGUTIN8.m
+# RGUTOS1.m
+# RGUTOS.m
+# RGUTRRC.m
+# SCAPMC7.m
+# SDAMA307.m
+# SDWLRP4.m
+# TIUSRVLC.m
+# XGKB.m
+# XINDX2.m
+# XMLPC.m
+# XMRTCP.m
+# XOBUZAP.m
+# XOBVTCPL.m
+# XOBWD.m
+# XOBWENV.m
+# XOBWLIB1.m
+# XOBWLIB.m
+# XOBWPST.m
+# XOBWSSL.m
+# XOBWU1.m
+# XOBWUS1.m
+# XPDR.m
+# XQ82.m
+# XT73P133.m
+# XTRMON.m
+# XUCIIS2.m
+# XUCIMSQ.m
+# XUOAAHL7.m
+# XUSC1.m
+# ZIS4ONT.m
+# ZIS4VXD.m
+# ZISETDTM.m
+# ZISETONT.m
+# ZISG1.m
+# ZISG2.m
+# ZISG3.m
+# ZISG.m
+# ZISHMSU.m
+# _ZISTCPS.m
+# ZOSV2VXD.m
+# ZOSVDTM.m
+# ZOSVIS2.m
+# ZOSVKRV.m
+# ZOSVKSD.m
+# ZOSVMSM.m
+# ZOSVMSQ.m
+# ZOSVONT.m
+# ZOSVVXD.m
+# ZTBKCDTM.m
+# ZTBKCONT.m
+# ZTEDIT2.m
+# ZTEDIT3.m
+# ZTEDIT.m
+# ZTMB.m
+# ZUDTM.m
+# ZUMSM.m
+
   )


Do not propagate -DBOOST_ALL_DYN_LINK to MatchPoint

--- CMakeExternals/MatchPoint.cmake
+++ CMakeExternals/MatchPoint.cmake
@@ -31,12 +31,14 @@
          )
     endif()

+    string(REPLACE "-DBOOST_ALL_DYN_LINK" "" modified_ep_common_args "${ep_common_args}")
+
     ExternalProject_Add(${proj}
        ${download_step}
        # INSTALL_COMMAND "${CMAKE_COMMAND} -P cmake_install.cmake"
        CMAKE_GENERATOR ${gen}
        CMAKE_ARGS
-         ${ep_common_args}
+         ${modified_ep_common_args}
          ${additional_cmake_args}
          -DBUILD_TESTING:BOOL=OFF
          -DITK_DIR:PATH=${ITK_DIR} #/src/ITK-build


CMake: Fix build on BSD

CMake: Fix build on BSD

--- src/platform/cmake/FindFunction.cmake
+++ src/platform/cmake/FindFunction.cmake
@@ -1,6 +1,8 @@
 include(CheckFunctionExists)
 function(find_function FUNCTION_NAME)
-	set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,${FUNCTION_NAME})
+	if(CMAKE_SYSTEM_NAME STREQUAL "Generic")
+		set(CMAKE_REQUIRED_FLAGS -Wl,--require-defined,${FUNCTION_NAME})
+	endif()
 	string(TOUPPER ${FUNCTION_NAME} FLAG_NAME)
 	check_function_exists(${FUNCTION_NAME} HAVE_${FLAG_NAME})
 	unset(CMAKE_REQUIRED_FLAGS)


FIX: Windows build to use explicit osg library paths

--- external/UseOsgEarth.cmake
+++ external/UseOsgEarth.cmake
@@ -45,59 +45,59 @@
 	# way that seems to work. And it's super fun to do.
     set(OSGEARTH_ARGS
         #-DCMAKE_SHARED_LINKER_FLAGS:STRING="${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:msvcprt.lib /NODEFAULTLIB:libcpmt.lib"
-		    #-DCMAKE_LINKER_FLAGS:STRING="${CMAKE_LINKER_FLAGS} /NODEFAULTLIB:libcpmt.lib /NODEFAULTLIB:msvcprt.lib"
-			# #osg
-			# -DOSG_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSG_LIBRARY:PATH=${osg_LIBRARY}
-			# -DOSG_LIBRARY_DEBUG:PATH=${osg_LIBRARY_DEBUG}
-			# #osgGA
-			# -DOSGGA_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGGA_LIBRARY:PATH=${osgGA_LIBRARY}
-			# -DOSGGA_LIBRARY_DEBUG:PATH=${osgGA_LIBRARY_DEBUG}
-			# #osgText
-			# -DOSGTEXT_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGTEXT_LIBRARY:PATH=${osgText_LIBRARY}
-			# -DOSGTEXT_LIBRARY_DEBUG:PATH=${osgText_LIBRARY_DEBUG}
-			# #osgViewer
-			# -DOSGVIEWER_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGVIEWER_LIBRARY:PATH=${osgViewer_LIBRARY}
-			# -DOSGVIEWER_LIBRARY_DEBUG:PATH=${osgViewer_LIBRARY_DEBUG}
-			# #osgSim
-			# -DOSGSIM_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGSIM_LIBRARY:PATH=${osgSim_LIBRARY}
-			# -DOSGSIM_LIBRARY_DEBUG:PATH=${osgSim_LIBRARY_DEBUG}
-			# #osgDB
-			# -DOSGDB_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGDB_LIBRARY:PATH=${osgDB_LIBRARY}
-			# -DOSGDB_LIBRARY_DEBUG:PATH=${osgDB_LIBRARY_DEBUG}
-			# #osgUtil
-			# -DOSGUTIL_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGUTIL_LIBRARY:PATH=${osgUtil_LIBRARY}
-			# -DOSGUTIL_LIBRARY_DEBUG:PATH=${osgUtil_LIBRARY_DEBUG}
-			# #osgShadow
-			# -DOSGSHADOW_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGSHADOW_LIBRARY:PATH=${osgShadow_LIBRARY}
-			# -DOSSHADOW_LIBRARY_DEBUG:PATH=${osgShadow_LIBRARY_DEBUG}
-			# #openthreads
-			# -DOPENTHREADS_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOPENTHREADS_LIBRARY:PATH=${OpenThreads_LIBRARY}
-			# -DOPENTHREADS_LIBRARY_DEBUG:PATH=${OpenThreads_LIBRARY_DEBUG}
-			# #osgFX
-			# -DOSGFX_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGFX_LIBRARY:PATH=${osgFX_LIBRARY}
-			# -DOSGFX_LIBRARY_DEBUG:PATH=${osgFX_LIBRARY_DEBUG}
-			# #osgTerrain
-			# -DOSGTERRAIN_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGTERRAIN_LIBRARY:PATH=${osgTerrain_LIBRARY}
-			# -DOSGTERRAIN_LIBRARY_DEBUG:PATH=${osgTerrain_LIBRARY_DEBUG}
-			# #osgManipulator
-			# -DOSGMANIPULATOR_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGMANIPULATOR_LIBRARY:PATH=${osgManipulator_LIBRARY}
-			# -DOSGMANIPULATOR_LIBRARY_DEBUG:PATH=${osgManipulator_LIBRARY_DEBUG}
-			# #osgWidget
-			# -DOSGWIDGET_INCLUDE_DIR:PATH=${OSG_INCLUDES}
-			# -DOSGWIDGET_LIBRARY:PATH=${osgWidget_LIBRARY}
-			# -DOSGWIDGET_LIBRARY_DEBUG:PATH=${osgWidget_LIBRARY_DEBUG}
+		#    -DCMAKE_LINKER_FLAGS:STRING="${CMAKE_LINKER_FLAGS} /NODEFAULTLIB:libcpmt.lib /NODEFAULTLIB:msvcprt.lib"
+			#osg
+			-DOSG_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSG_LIBRARY:PATH=${osg_LIBRARY}
+			-DOSG_LIBRARY_DEBUG:PATH=${osg_LIBRARY_DEBUG}
+			#osgGA
+			-DOSGGA_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGGA_LIBRARY:PATH=${osgGA_LIBRARY}
+			-DOSGGA_LIBRARY_DEBUG:PATH=${osgGA_LIBRARY_DEBUG}
+			#osgText
+			-DOSGTEXT_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGTEXT_LIBRARY:PATH=${osgText_LIBRARY}
+			-DOSGTEXT_LIBRARY_DEBUG:PATH=${osgText_LIBRARY_DEBUG}
+			#osgViewer
+			-DOSGVIEWER_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGVIEWER_LIBRARY:PATH=${osgViewer_LIBRARY}
+			-DOSGVIEWER_LIBRARY_DEBUG:PATH=${osgViewer_LIBRARY_DEBUG}
+			#osgSim
+			-DOSGSIM_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGSIM_LIBRARY:PATH=${osgSim_LIBRARY}
+			-DOSGSIM_LIBRARY_DEBUG:PATH=${osgSim_LIBRARY_DEBUG}
+			#osgDB
+			-DOSGDB_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGDB_LIBRARY:PATH=${osgDB_LIBRARY}
+			-DOSGDB_LIBRARY_DEBUG:PATH=${osgDB_LIBRARY_DEBUG}
+			#osgUtil
+			-DOSGUTIL_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGUTIL_LIBRARY:PATH=${osgUtil_LIBRARY}
+			-DOSGUTIL_LIBRARY_DEBUG:PATH=${osgUtil_LIBRARY_DEBUG}
+			#osgShadow
+			-DOSGSHADOW_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGSHADOW_LIBRARY:PATH=${osgShadow_LIBRARY}
+			-DOSSHADOW_LIBRARY_DEBUG:PATH=${osgShadow_LIBRARY_DEBUG}
+			#openthreads
+			-DOPENTHREADS_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOPENTHREADS_LIBRARY:PATH=${OpenThreads_LIBRARY}
+			-DOPENTHREADS_LIBRARY_DEBUG:PATH=${OpenThreads_LIBRARY_DEBUG}
+			#osgFX
+			-DOSGFX_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGFX_LIBRARY:PATH=${osgFX_LIBRARY}
+			-DOSGFX_LIBRARY_DEBUG:PATH=${osgFX_LIBRARY_DEBUG}
+			#osgTerrain
+			-DOSGTERRAIN_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGTERRAIN_LIBRARY:PATH=${osgTerrain_LIBRARY}
+			-DOSGTERRAIN_LIBRARY_DEBUG:PATH=${osgTerrain_LIBRARY_DEBUG}
+			#osgManipulator
+			-DOSGMANIPULATOR_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGMANIPULATOR_LIBRARY:PATH=${osgManipulator_LIBRARY}
+			-DOSGMANIPULATOR_LIBRARY_DEBUG:PATH=${osgManipulator_LIBRARY_DEBUG}
+			#osgWidget
+			-DOSGWIDGET_INCLUDE_DIR:PATH=${OSG_INCLUDES}
+			-DOSGWIDGET_LIBRARY:PATH=${osgWidget_LIBRARY}
+			-DOSGWIDGET_LIBRARY_DEBUG:PATH=${osgWidget_LIBRARY_DEBUG}
 			#CURL
 			-DCURL_INCLUDE_DIR:PATH=${CMAKE_BINARY_DIR}/gdal/include/curl
 			-DCURL_LIBRARY:PATH=${CMAKE_BINARY_DIR}/gdal/lib/libcurl_imp.lib
@@ -120,6 +120,9 @@
     INSTALL_COMMAND ""
 )

+set_target_properties(osgearth PROPERTIES FOLDER "modules/omegaOsgEarth")
+
+
 #set_target_properties(osgearth PROPERTIES FOLDER "3rdparty")

 #set(OSGEARTH_BASE_DIR ${CMAKE_BINARY_DIR}/modules/omegaOsgEarth/osgearth-prefix/src)


ENH: exclude Eigen3 from the list of default modules

This module should be enabled by other
modules which have it as a dependency.

--- Modules/ThirdParty/Eigen3/itk-module.cmake
+++ Modules/ThirdParty/Eigen3/itk-module.cmake
@@ -5,4 +5,5 @@
   DEPENDS
   DESCRIPTION
     "${DOCUMENTATION}"
+  EXCLUDE_FROM_DEFAULT
 )


Search for sdk-remote's jpeg library.

Search for sdk-remote's jpeg library.

	* build-aux/cmake/modules/FindSdkRemote.cmake: Do that.

Signed-off-by: Nicolas Despres <abdeb541ca46f1651c9cc594d44e707056e73d5d@gostai.com>

--- build-aux/cmake/modules/FindSdkRemote.cmake
+++ build-aux/cmake/modules/FindSdkRemote.cmake
@@ -28,15 +28,23 @@

 # Search for the library urbi.
 if(NOT SDK_REMOTE_LIBRARY)
+  # Search for sdk-remote library.
   find_library(SDK_REMOTE_LIBRARY urbi)
   if(SDK_REMOTE_LIBRARY)
     message(STATUS "Found sdk-remote library: ${SDK_REMOTE_LIBRARY}")
     set(SDK_REMOTE_FOUND TRUE)
   else(SDK_REMOTE_LIBRARY)
-    message(SEND_ERROR "no sdk-remote library found "
-      "(setting -DSDK_REMOTE_ROOT_DIR=/path/to/sdk-remote may solve this "
-      "problem).")
+    message(SEND_ERROR "no sdk-remote library found.")
   endif(SDK_REMOTE_LIBRARY)
+  # Search for the associated jpeg library.
+  find_library(SDK_REMOTE_JPEG_LIBRARY jpeg)
+  if(SDK_REMOTE_JPEG_LIBRARY)
+    message(STATUS
+      "Found sdk-remote's jpeg library: ${SDK_REMOTE_JPEG_LIBRARY}")
+    set(SDK_REMOTE_JPEG_FOUND TRUE)
+  else(SDK_REMOTE_LIBRARY)
+    message(SEND_ERROR "no sdk-remote's jpeg library found.")
+  endif(SDK_REMOTE_JPEG_LIBRARY)
 endif(NOT SDK_REMOTE_LIBRARY)

 if(SDK_REMOTE_FOUND)
@@ -57,9 +65,9 @@
   # Add dependent libraries.
   set(SDK_REMOTE_DEPLIBS ${SDK_REMOTE_LIBRARY})
   if(WIN32)
-    list(APPEND SDK_REMOTE_DEPLIBS libjpeg ws2_32)
+    list(APPEND SDK_REMOTE_DEPLIBS ${SDK_REMOTE_JPEG_LIBRARY} ws2_32)
   else()
-    list(APPEND SDK_REMOTE_DEPLIBS jpeg)
+    list(APPEND SDK_REMOTE_DEPLIBS ${SDK_REMOTE_JPEG_LIBRARY})
   endif()
   set(SDK_REMOTE_LIBRARIES ${SDK_REMOTE_DEPLIBS}
     CACHE INTERNAL "SdkRemote's dependent libraries")


fixed in WkBuild to work as previously, before adding multitarget support. marked it as deprecated.

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

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


COMP: added module dependency on logger in blueprint

--- Modules/Blueprints/ModuleBlueprints.cmake
+++ Modules/Blueprints/ModuleBlueprints.cmake
@@ -38,3 +38,7 @@
   ${Boost_LIBRARIES} # graph?
   ${MODULE}
 )
+
+set( ${MODULE}_MODULE_DEPENDENCIES
+  ModuleLogger
+)


copy map file to .old before creating new one

--- tools/cmake/mbed_set_post_build.cmake
+++ tools/cmake/mbed_set_post_build.cmake
@@ -87,6 +87,12 @@
     # The mapfile name includes the top-level target name and the
     # executable suffix for all toolchains as CMake hardcodes the name of the
     # diagnostic output file for some toolchains.
+
+    # COPY_FILE could be used with cmake >=3.21
+    file(COPY_FILE
+            "${CMAKE_CURRENT_BINARY_DIR}/${target}${CMAKE_EXECUTABLE_SUFFIX}.map"
+            "${CMAKE_CURRENT_BINARY_DIR}/${target}${CMAKE_EXECUTABLE_SUFFIX}.map.old"
+            RESULT 0)
     mbed_configure_memory_map(${target} "${CMAKE_CURRENT_BINARY_DIR}/${target}${CMAKE_EXECUTABLE_SUFFIX}.map")
     mbed_validate_application_profile(${target})
     mbed_generate_bin_hex(${target})


Add march flag to gcc x86 to enable SSE, again

--- flags/c_cxx-x86.cmake
+++ flags/c_cxx-x86.cmake
@@ -9,5 +9,5 @@

 include(polly_add_cache_flag)

-polly_add_cache_flag(CMAKE_CXX_FLAGS "-m32")
+polly_add_cache_flag(CMAKE_CXX_FLAGS "-m32 -march=native")
 polly_add_cache_flag(CMAKE_C_FLAGS "-m32 -march=native")


Update to CMake module (FindEigen3.cmake).

git-svn-id: 99aa2048cf63c94f97d904899d0fb24168b99718@211 ac7aa084-b6da-11df-bf42-7fac39f0224f

--- External/CMake/FindEigen3.cmake
+++ External/CMake/FindEigen3.cmake
@@ -63,6 +63,7 @@

   find_path(EIGEN3_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
       PATHS
+      ${PROJECT_SOURCE_DIR}/External
       ${CMAKE_INSTALL_PREFIX}/include
       ${KDE4_INCLUDE_DIR}
       PATH_SUFFIXES eigen3 eigen


Update FW: CAM-D (4th socket) tested, AR0234 support. Note: if AR0234 sensors are used, cannot be combined with other types at the moment (due to tuning blobs in use)

--- cmake/Depthai/DepthaiDeviceSideConfig.cmake
+++ cmake/Depthai/DepthaiDeviceSideConfig.cmake
@@ -2,7 +2,7 @@
 set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "0f9a0ec2012a7cfe61c9eb945fbdd52a557d357d")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "a452469b565b39417056d50e20d97a978cda7f29")

 # "version if applicable"
 set(DEPTHAI_DEVICE_SIDE_VERSION "")


Update FW - [ImageManip][bug fix] Properly align the maximum size of the calculated parameters for the warp filter

--- cmake/Depthai/DepthaiDeviceSideConfig.cmake
+++ cmake/Depthai/DepthaiDeviceSideConfig.cmake
@@ -2,7 +2,7 @@
 set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "6852cf545fd02003cf106f58fe3a1ad464f5ad34")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "35d2c8c5f2b082326334c982d54ae16908f1315d")

 # "version if applicable"
 set(DEPTHAI_DEVICE_SIDE_VERSION "")


Openvino: improve error logging for out of memory cases

--- cmake/Depthai/DepthaiDeviceSideConfig.cmake
+++ cmake/Depthai/DepthaiDeviceSideConfig.cmake
@@ -2,7 +2,7 @@
 set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "df5e50e79532ddaa879a6ccf2928fbbe27adeef7")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "1d690f5ace17b6ab80b835f364e4182005b32b3e")

 # "version if applicable"
 set(DEPTHAI_DEVICE_SIDE_VERSION "")


Bump TubeTK and stop using python for TubeTK

Bump:
- Fixes Convert TRE xml
- Fixes spatial object import

Python:
There is no need for python in VesselView and the Linux build doesn't work
with it

--- CMake/Superbuild/External_TubeTK.cmake
+++ CMake/Superbuild/External_TubeTK.cmake
@@ -45,7 +45,7 @@
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
     BINARY_DIR ${${proj}_DIR}
     GIT_REPOSITORY "https://github.com/KitwareMedical/TubeTK.git"
-    GIT_TAG "90208e71b1e2b8b5b320ae7f0d893873ddf1958c"
+    GIT_TAG "fcfa8273e036c2e8af79f3c373a32cd5419d437a"
     CMAKE_CACHE_ARGS
       -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
       -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}
@@ -76,6 +76,7 @@
       -DTubeTK_BUILD_MODULES:BOOL=OFF
       -DTubeTK_BUILD_SLICER_EXTENSION:BOOL=OFF
       -DTubeTK_USE_LIBSVM:BOOL=OFF
+      -DTubeTK_USE_PYTHON:BOOL=OFF
     INSTALL_COMMAND ""
     DEPENDS
       ${${proj}_DEPENDENCIES}


make build more verbose to figure why Travis is failing

--- CMakeModules/PythonBindingsUtils.cmake
+++ CMakeModules/PythonBindingsUtils.cmake
@@ -80,7 +80,7 @@
         PYTHONPATH="${PROJECT_BINARY_DIR}/pyplusplus/lib/python${PYTHON_VERSION}/site-packages:$ENV{PYTHONPATH}"
         ${PYTHON_EXEC}
         "${CMAKE_CURRENT_SOURCE_DIR}/generate_bindings.py" "${module}"
-        "1>${CMAKE_BINARY_DIR}/pyplusplus_${module}.log" "2>&1"
+        "|tee" "${CMAKE_BINARY_DIR}/pyplusplus_${module}.log" "2>&1"
         COMMAND ${CMAKE_COMMAND} -D "PATH=${dir}/bindings/${module}"
         -P "${OMPL_CMAKE_UTIL_DIR}/workaround_for_gccxml_bug.cmake"
         COMMAND ${CMAKE_COMMAND} ${CMAKE_BINARY_DIR}


Enables the missing symbol check.

Enables the missing symbol check.

--- internal/macro_utils.cmake
+++ internal/macro_utils.cmake
@@ -26,11 +26,11 @@
 # Linking an executable will fail if there are symbols missing, but a library will seem ok until you try to use it.
 # This causes the same checking that occurs for an executable to be done for a library.
 MACRO(CHECK_FOR_MISSING_SYMBOLS target)
-    #GET_TARGET_PROPERTY(CUR_LINK_FLAGS ${target} LINK_FLAGS)
-    #IF (NOT CUR_LINK_FLAGS)
-    #    SET(CUR_LINK_FLAGS "")
-    #ENDIF()
-    #SET_TARGET_PROPERTIES(${target} PROPERTIES LINK_FLAGS "${CUR_LINK_FLAGS} -Wl,-z,defs")
+    GET_TARGET_PROPERTY(CUR_LINK_FLAGS ${target} LINK_FLAGS)
+    IF (NOT CUR_LINK_FLAGS)
+        SET(CUR_LINK_FLAGS "")
+    ENDIF()
+    SET_TARGET_PROPERTIES(${target} PROPERTIES LINK_FLAGS "${CUR_LINK_FLAGS} -Wl,-z,defs")
 ENDMACRO()


Get proper backtraces when using asan

Get proper backtraces when using asan

--- cmake/celix_project/CelixProject.cmake
+++ cmake/celix_project/CelixProject.cmake
@@ -20,11 +20,11 @@

 if (ENABLE_ADDRESS_SANITIZER)
     if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-        set(CMAKE_C_FLAGS "-fsanitize=address ${CMAKE_C_FLAGS}")
-        set(CMAKE_CXX_FLAGS "-fsanitize=address ${CMAKE_CXX_FLAGS}")
+        set(CMAKE_C_FLAGS "-fsanitize=address -fno-omit-frame-pointer ${CMAKE_C_FLAGS}")
+        set(CMAKE_CXX_FLAGS "-fsanitize=address -fno-omit-frame-pointer ${CMAKE_CXX_FLAGS}")
     else ()
-        set(CMAKE_C_FLAGS "-lasan -fsanitize=address ${CMAKE_C_FLAGS}")
-        set(CMAKE_CXX_FLAGS "-lasan -fsanitize=address ${CMAKE_CXX_FLAGS}")
+        set(CMAKE_C_FLAGS "-lasan -fsanitize=address -fno-omit-frame-pointer ${CMAKE_C_FLAGS}")
+        set(CMAKE_CXX_FLAGS "-lasan -fsanitize=address -fno-omit-frame-pointer ${CMAKE_CXX_FLAGS}")
     endif ()
 endif()


Simplify ios library base name [skip ci]

--- cmake/core/sugar_add_ios_library.cmake
+++ cmake/core/sugar_add_ios_library.cmake
@@ -12,7 +12,7 @@

   set(libsources ${ARGV})
   list(REMOVE_AT libsources 0) # remove libname
-  set(name_base ${libname}_ios_base_target)
+  set(name_base ${libname}_BASE)

   set(name_release "${CMAKE_STATIC_LIBRARY_PREFIX}")
   set(name_release "${name_release}${libname}")


ENH: Preparing code for SlicerExtension

ENH: Preparing code for SlicerExtension

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -238,9 +238,13 @@
     --no-warn-unused-cli # HACK Only expected variables should be passed down.
     ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
     ${COMMON_EXTERNAL_PROJECT_ARGS}
-    -D${LOCAL_PROJECT_NAME}_SUPERBUILD:BOOL=OFF
+    -D${LOCAL_PROJECT_NAME}_USE_SUPERBUILD:BOOL=OFF
     -D${LOCAL_PROJECT_NAME}_USE_GIT_PROTOCOL:BOOL=${CMAKE_PROJECT_NAME}_USE_GIT_PROTOCOL
     -DSlicer3_DIR:PATH=${Slicer3_DIR}
+    -DUSE_SYSTEM_BatchMake:BOOL=${USE_SYSTEM_BatchMake}
+    -DBatchMake_DIR:PATH=${BatchMake_DIR}
+    -DUSE_SYSTEM_VTK:BOOL=${USE_SYSTEM_VTK}
+    -DVTK_DIR:PATH=${VTK_DIR}
     ${trilinos_blas_args}
     ${SLICER_ARGS}
   INSTALL_COMMAND ""


boards: hsdk: let mdb runner connect cores according to configuration

let mdd runner connect connect cores according to CONFIG_MP_NUM_CPUS,
e.g.
   * CONFIG_MP_NUM_CPUS = 2, just connect 2 cores
   * CONFIG_MP_NUM_CPUS = 1, just connect 1 core
   * CONFIG_MP_NUM_CPUS = 4, connect all 4 cores

Signed-off-by: Wayne Ren <d5c6d7c4aa45e53f819f17870783d153a32ba7d0@synopsys.com>

--- boards/arc/hsdk/board.cmake
+++ boards/arc/hsdk/board.cmake
@@ -1,6 +1,6 @@
 # SPDX-License-Identifier: Apache-2.0

 board_runner_args(openocd "--use-elf")
-board_runner_args(mdb "--jtag=digilent" "--cores=4")
+board_runner_args(mdb "--jtag=digilent" "--cores=${CONFIG_MP_NUM_CPUS}")
 include(${ZEPHYR_BASE}/boards/common/openocd.board.cmake)
 include(${ZEPHYR_BASE}/boards/common/mdb.board.cmake)


CMake: Add X86 to LLVM_TARGETS_TO_BUILD

CMake: Add X86 to LLVM_TARGETS_TO_BUILD

* Should fix #1080
* Accidentally fixes #905

**Before**
96% tests passed, 9 tests failed out of 205

The following tests FAILED:
         26 - iree_modules_check_test_failure.mlir.test (Failed)
         27 - iree_modules_check_test_success.mlir.test (Failed)
        193 - bindings_python_pyiree_rt_function_abi_test (Failed)
        194 - bindings_python_pyiree_rt_hal_test (Failed)
        195 - bindings_python_pyiree_rt_system_api_test (Failed)
        196 - bindings_python_pyiree_rt_vm_test (Failed)
        199 - iree_tools_test_multiple_args.mlir.test (Failed)
        200 - iree_tools_test_scalars.mlir.test (Failed)
        201 - iree_tools_test_simple.mlir.test (Failed)

**After**
99% tests passed, 1 tests failed out of 205

The following tests FAILED:
        195 - bindings_python_pyiree_rt_system_api_test (Failed)

Closes https://github.com/google/iree/pull/1113

COPYBARA_INTEGRATE_REVIEW=https://github.com/google/iree/pull/1113 from iml130:llvm-targets 3c953aa749f35a17e71716f271c9480f76c7e924
PiperOrigin-RevId: 301808425

--- build_tools/cmake/iree_copts.cmake
+++ build_tools/cmake/iree_copts.cmake
@@ -126,7 +126,7 @@
 set(LLVM_ENABLE_IDE ON CACHE BOOL "" FORCE)
 set(LLVM_ENABLE_RTTI ON CACHE BOOL "" FORCE)

-set(LLVM_TARGETS_TO_BUILD "WebAssembly" CACHE STRING "" FORCE)
+set(LLVM_TARGETS_TO_BUILD "WebAssembly;X86" CACHE STRING "" FORCE)

 set(LLVM_ENABLE_PROJECTS "mlir" CACHE STRING "" FORCE)
 set(LLVM_ENABLE_BINDINGS OFF CACHE BOOL "" FORCE)


ENH: Updated boost in an attempt to avoid compiler warnings.

--- SuperBuild/External_Boost.cmake
+++ SuperBuild/External_Boost.cmake
@@ -59,8 +59,8 @@
   ### --- End Project specific additions
 # SVN is too slow SVN_REPOSITORY http://svn.boost.org/svn/boost/trunk
 # SVN is too slow SVN_REVISION -r "82586"
-  set(${proj}_URL http://sourceforge.net/projects/boost/files/boost/1.53.0/boost_1_53_0.tar.gz )
-  set(${proj}_MD5 57a9e2047c0f511c4dfcf00eb5eb2fbb )
+  set(${proj}_URL http://sourceforge.net/projects/boost/files/boost/1.54.0/boost_1_54_0.tar.gz )
+  set(${proj}_MD5 efbfbff5a85a9330951f243d0a46e4b9 )
   ExternalProject_Add(${proj}
     URL ${${proj}_URL}
     URL_MD5 ${${proj}_MD5}


changed CDash to viennastar.iue.tuwien.ac.at

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

 set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "frudo.iue.tuwien.ac.at:50080")
+set(CTEST_DROP_SITE "viennastar.iue.tuwien.ac.at")
 set(CTEST_DROP_LOCATION "/CDash/submit.php?project=ViennaFEM")
 set(CTEST_DROP_SITE_CDASH TRUE)


update of oneDNN to 2.3 final (#33923)

update of oneDNN to 2.3 final (#33923)

--- cmake/external/mkldnn.cmake
+++ cmake/external/mkldnn.cmake
@@ -20,7 +20,7 @@
 SET(MKLDNN_INSTALL_DIR    ${THIRD_PARTY_PATH}/install/mkldnn)
 SET(MKLDNN_INC_DIR        "${MKLDNN_INSTALL_DIR}/include" CACHE PATH "mkldnn include directory." FORCE)
 SET(MKLDNN_REPOSITORY     ${GIT_URL}/oneapi-src/oneDNN.git)
-SET(MKLDNN_TAG            bbaf5d24dde1b6760435d5034d6f48feae7a30b9)
+SET(MKLDNN_TAG            593e0de6267d2575f3e4c9e9818f0f11253d093a)

 # Introduce variables:


use CMAKE_GENERATOR

use CMAKE_GENERATOR

--- cmake/modules/GetRE2C.cmake
+++ cmake/modules/GetRE2C.cmake
@@ -28,7 +28,7 @@
     set(RE2C_BIN "${re2c_BINARY_DIR}/re2c")

     if(BUILD_RE2C_WITH_CMAKE)
-        execute_process(COMMAND ${CMAKE_COMMAND} ${RE2C_SRC} WORKING_DIRECTORY ${re2c_BINARY_DIR})
+        execute_process(COMMAND ${CMAKE_COMMAND} -G "${CMAKE_GENERATOR}" ${RE2C_SRC} WORKING_DIRECTORY ${re2c_BINARY_DIR})
         execute_process(COMMAND ${CMAKE_COMMAND} --build . WORKING_DIRECTORY ${re2c_BINARY_DIR})
     else()
         if(NOT EXISTS "${RE2C_SRC}/configure")


[libomptarget] Fix detection of CUDA stubs library

CUDA_LIBRARIES contains additional linker arguments since CMake 3.3
which breakes the current way of finding the stubs library.

git-svn-id: f99161ee8ccfe2101cbe1bdda2220bce2ed25485@324879 91177308-0d34-0410-b5e6-96231b3b80d8

--- libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
+++ libomptarget/cmake/Modules/LibomptargetGetDependencies.cmake
@@ -134,7 +134,16 @@

 # There is a libcuda.so in lib64/stubs that can be used for linking.
 if (NOT LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES AND CUDA_FOUND)
-  get_filename_component(CUDA_LIBDIR ${CUDA_LIBRARIES} DIRECTORY)
+  # Since CMake 3.3 FindCUDA.cmake defaults to using static libraries. In this
+  # case CUDA_LIBRARIES contains additional linker arguments which breaks
+  # get_filename_component below. Fortunately, since that change the module
+  # exports CUDA_cudart_static_LIBRARY which points to a single file in the
+  # right directory.
+  set(cuda_library ${CUDA_LIBRARIES})
+  if (DEFINED CUDA_cudart_static_LIBRARY)
+    set(cuda_library ${CUDA_cudart_static_LIBRARY})
+  endif()
+  get_filename_component(CUDA_LIBDIR ${cuda_library} DIRECTORY)
   find_library (
       LIBOMPTARGET_DEP_CUDA_DRIVER_LIBRARIES
     NAMES


[ioninja] release 3.4.3;

[ioninja] release 3.4.3;

[axl] release 5.3.7;
[jancy] release 1.5.5;

--- version.cmake
+++ version.cmake
@@ -1,6 +1,6 @@
 set (VERSION_MAJOR     5)
 set (VERSION_MINOR     3)
-set (VERSION_REVISION  6)
+set (VERSION_REVISION  7)
 set (VERSION_TAG)

 set (VERSION_FILE_SUFFIX "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REVISION}")


Correct 8.6.x version

Correct 8.6.x version

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

--- version.cmake
+++ version.cmake
@@ -5,7 +5,7 @@
 set ( HPCC_PROJECT "nagios-monitoring" )
 set ( HPCC_MAJOR 8 )
 set ( HPCC_MINOR 6 )
-set ( HPCC_POINT 0 )
+set ( HPCC_POINT 1 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Graph Control 5.2.8-1 Gold

Graph Control 5.2.8-1 Gold

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

--- version.cmake
+++ version.cmake
@@ -5,7 +5,7 @@
 set ( HPCC_MAJOR 5 )
 set ( HPCC_MINOR 2 )
 set ( HPCC_POINT 8 )
-set ( HPCC_MATURITY "rc" )
+set ( HPCC_MATURITY "release" )
 set ( HPCC_SEQUENCE 1 )
 ###
 IF ( ${HPCC_POINT} GREATER 65 )


Set version to 1.13.0 (#85)

Set version to 1.13.0 (#85)

* Set version to 1.13.0

* Change to cause teamcity build

--- version.cmake
+++ version.cmake
@@ -1,4 +1,4 @@
-# Copyright (C) 2017 Prism Skylabs
+# Copyright (c) 2017-2018 Prism Skylabs
 set(ConnectSDK_VERSION_MAJOR 1)
-set(ConnectSDK_VERSION_MINOR 12)
-set(ConnectSDK_VERSION_REVISION 3)
+set(ConnectSDK_VERSION_MINOR 13)
+set(ConnectSDK_VERSION_REVISION 0)


Add -pthread if gcc < 4, #2095

Add -pthread if gcc < 4, #2095

--- core/rosbuild/rosconfig.cmake
+++ core/rosbuild/rosconfig.cmake
@@ -48,7 +48,6 @@
 # that are built with CMake.

 # Set the build type.  Options are:
-#  Coverage       : w/ debug symbols, w/o optimization, w/ code-coverage
 #  Debug          : w/ debug symbols, w/o optimization
 #  Release        : w/o debug symbols, w/ optimization
 #  RelWithDebInfo : w/ debug symbols, w/ optimization
@@ -74,8 +73,28 @@
 endif(NOT DEFINED ROS_BUILD_STATIC_LIBS)

 # Default compile flags for all source files
+include(CheckCXXCompilerFlag)
 if(NOT DEFINED ROS_COMPILE_FLAGS)
   set(ROS_COMPILE_FLAGS "-W -Wall -Wno-unused-parameter -fno-strict-aliasing")
+  # Old versions of gcc need -pthread to enable threading, #2095.
+  # We have one data point, which is gcc 3.3.  We'll heuristically
+  # add -pthread to any gcc < 4.0.
+  #
+  # Cursory testing on Linux suggests that passing -pthread when
+  # you don't need it doesn't materially change the resulting object file.
+  execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpversion
+                  ERROR_VARIABLE _cxx_version_failed
+                  OUTPUT_VARIABLE _cxx_version
+                  OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(NOT _cxx_version_failed)
+    STRING(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" _cxx_version_major "${_cxx_version}")
+    message("_cxx_version_major: ${_cxx_version_major}")
+    if(_cxx_version_major)
+      if(${_cxx_version_major} LESS 4)
+        set(ROS_COMPILE_FLAGS "${ROS_COMPILE_FLAGS} -pthread")
+      endif(${_cxx_version_major} LESS 4)
+    endif(_cxx_version_major)
+  endif(NOT _cxx_version_failed)
 endif(NOT DEFINED ROS_COMPILE_FLAGS)

 # Default link flags for all executables and libraries


cmake: internal/stage: make sure the file name is always lower case

This can cause problems when the target name contains upper characters

--- cmake/qibuild/internal/stage.cmake
+++ cmake/qibuild/internal/stage.cmake
@@ -241,6 +241,9 @@

 function(_qi_internal_stage_lib target ${ARGN})
   cmake_parse_arguments(ARG "" "" "STAGED_NAME" ${ARGN})
+  string(TOUPPER ${target} _U_target)
+  string(TOLOWER ${target} _l_target)
+
   set(_staged_name ${ARG_STAGED_NAME})

   set(_new_args)
@@ -254,12 +257,12 @@
   _qi_set_vars(${target} ${_new_args})

   _qi_gen_code_lib_redist(_redist ${target})
-  set(_redist_file "${CMAKE_BINARY_DIR}/${QI_SDK_CMAKE_MODULES}/sdk/${target}-config.cmake")
+  set(_redist_file "${CMAKE_BINARY_DIR}/${QI_SDK_CMAKE_MODULES}/sdk/${_l_target}-config.cmake")
   file(WRITE "${_redist_file}" "${_redist}")
   qi_install_cmake(${target} ${_redist_file})

   _qi_gen_code_lib_sdk(_sdk ${target})
-  set(_sdk_file "${QI_SDK_DIR}/${QI_SDK_CMAKE_MODULES}/${target}-config.cmake")
+  set(_sdk_file "${QI_SDK_DIR}/${QI_SDK_CMAKE_MODULES}/${_l_target}-config.cmake")
   file(WRITE "${_sdk_file}" "${_sdk}")

   # OK, this one is tricky.
@@ -297,7 +300,6 @@
   #

   if(_staged_name)
-    string(TOUPPER ${target} _U_target)
     set(_warning_message
 "
 message(WARNING \"


[cmake] fix typo in buildlocation var.

[cmake] fix typo in buildlocation var.

--- cmake/radium_setup_functions.cmake
+++ cmake/radium_setup_functions.cmake
@@ -106,7 +106,7 @@
             installTargetResources(
                 TARGET ${ARGS_NAME}
                 DIRECTORY ${resLocation}
-                BUILDLOCATION ${CMAKE_CURRENT_BINARY_DIR}/Resources
+                BUILD_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/Resources
             )
         endforeach ()
     endif ()
@@ -244,7 +244,7 @@
             installTargetResources(
                 TARGET ${ARGS_NAME}
                 DIRECTORY ${resLocation}
-                BUILDLOCATION ${CMAKE_CURRENT_BINARY_DIR}/bin/${ARGS_NAME}.app/Contents/Resources
+                BUILD_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/bin/${ARGS_NAME}.app/Contents/Resources
             )
         endforeach ()
     endif ()


Bugs are dying

Bugs are dying

Former-commit-id: 909f480510affd14abce159c91c485d71b8d0254

--- cmake_modules/Fetch_Arpackpp.cmake
+++ cmake_modules/Fetch_Arpackpp.cmake
@@ -24,10 +24,10 @@
 if (false)
 #if(ARPACKPP_LIBRARIES AND ARPACKPP_INCLUDE_DIR)
     message(FATAL_ERROR "YOU REALLY SHLOULD PREFER THE LATEST ARPACK INSTEAD")
-    add_library(arpack++ UNKNOWN IMPORTED)
+    add_library(arpack++ INTERFACE)
     set_target_properties(arpack++ PROPERTIES
-            IMPORTED_LOCATION "${ARPACKPP_LIBRARIES}"
-            INCLUDE_DIRECTORIES "${ARPACKPP_INCLUDE_DIR}")
+            INTERFACE_LINK_LIBRARIES "blas;lapack;arpack;${ARPACKPP_LIBRARIES}"
+            INTERFACE_INCLUDE_DIRECTORIES "${ARPACKPP_INCLUDE_DIR}")
     target_link_libraries(${PROJECT_NAME} PRIVATE arpack++)

 else()
@@ -48,7 +48,7 @@
     )

     ExternalProject_Get_Property(library_ARPACK++ INSTALL_DIR)
-    add_library(arpack++ INTERFACE IMPORTED)
+    add_library(arpack++ INTERFACE)
     set(ARPACKPP_INCLUDE_DIR ${INSTALL_DIR}/include)
     set_target_properties(arpack++ PROPERTIES
             INTERFACE_LINK_LIBRARIES "arpack;blas;lapack"


Fixed typo

Fixed typo

--- cmake_modules/FindCuttlebone.cmake
+++ cmake_modules/FindCuttlebone.cmake
@@ -28,7 +28,7 @@
   NAMES CUTTLEBONE
   PATHS ${CUTTLEBONE_PKGCONF_LIBRARY_DIRS}
 	./cuttlebone/build/lib ../cuttlebone/build/lib ../../cuttlebone/build/lib
-	./Cuttlebone/build/lib ../Cuttlebone/build/lib ../..Ccuttlebone/build/lib
+	./Cuttlebone/build/lib ../Cuttlebone/build/lib ../..Cuttlebone/build/lib
 	/usr/lib /usr/local/lib /opt/local/lib /tmp/cuttlebone
 )


Fix the added pathes

Fix the added pathes

--- make/FindXMLRPCC.cmake
+++ make/FindXMLRPCC.cmake
@@ -10,7 +10,7 @@
 MESSAGE(STATUS "Looking for xmlrpc-c-config...")
 FIND_PROGRAM(XMLRPCC_CONFIG_PROGRAM
   NAMES  xmlrpc-c-config
-  PATHS /usr/local/bin /usr/bin /opt/xmlrpc /opt/xmlrpc-c
+  PATHS /usr/local/bin /usr/bin /opt/xmlrpc/bin /opt/xmlrpc-c/bin
   DOC "The xmlrpc-c (xmlrpc-c.sourceforge.net) configuration tool")
 IF (XMLRPCC_CONFIG_PROGRAM)
     EXEC_PROGRAM(${XMLRPCC_CONFIG_PROGRAM}


Bail out for too old compiler version, c/o @cookpa


Update FindHardware.Esp32.cmake

Update FindHardware.Esp32.cmake

Comment message output

--- CMake/Modules/FindHardware.Esp32.cmake
+++ CMake/Modules/FindHardware.Esp32.cmake
@@ -30,7 +30,7 @@

         CMAKE_FIND_ROOT_PATH_BOTH
     )
-    message("${SRC_FILE} >> ${Hardware.Esp32_SRC_FILE}") # debug helper
+    # message("${SRC_FILE} >> ${Hardware.Esp32_SRC_FILE}") # debug helper
     list(APPEND Hardware.Esp32_SOURCES ${Hardware.Esp32_SRC_FILE})
 endforeach()


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


Fix typo Incude -> Include

Fix typo Incude -> Include

--- CMake/cotire.cmake
+++ CMake/cotire.cmake
@@ -869,12 +869,12 @@
 	endforeach()
 endmacro()

-macro (cotire_check_header_file_location _headerFile _insideIncudeDirs _outsideIncudeDirs _headerIsInside)
+macro (cotire_check_header_file_location _headerFile _insideIncludeDirs _outsideIncludeDirs _headerIsInside)
 	# check header path against ignored and honored include directories
-	cotire_find_closest_relative_path("${_headerFile}" "${_insideIncudeDirs}" _insideRelPath)
+	cotire_find_closest_relative_path("${_headerFile}" "${_insideIncludeDirs}" _insideRelPath)
 	if (_insideRelPath)
 		# header is inside, but could be become outside if there is a shorter outside match
-		cotire_find_closest_relative_path("${_headerFile}" "${_outsideIncudeDirs}" _outsideRelPath)
+		cotire_find_closest_relative_path("${_headerFile}" "${_outsideIncludeDirs}" _outsideRelPath)
 		if (_outsideRelPath)
 			string (LENGTH "${_insideRelPath}" _insideRelPathLen)
 			string (LENGTH "${_outsideRelPath}" _outsideRelPathLen)
@@ -949,7 +949,7 @@
 	endif()
 endmacro()

-function (cotire_parse_includes _language _scanOutput _ignoredIncudeDirs _honoredIncudeDirs _ignoredExtensions _selectedIncludesVar _unparsedLinesVar)
+function (cotire_parse_includes _language _scanOutput _ignoredIncludeDirs _honoredIncludeDirs _ignoredExtensions _selectedIncludesVar _unparsedLinesVar)
 	if (WIN32)
 		# prevent CMake macro invocation errors due to backslash characters in Windows paths
 		string (REPLACE "\\" "/" _scanOutput "${_scanOutput}")
@@ -969,11 +969,11 @@
 		if (_ignoredExtensions)
 			message (STATUS "Ignored extensions: ${_ignoredExtensions}")
 		endif()
-		if (_ignoredIncudeDirs)
-			message (STATUS "Ignored paths: ${_ignoredIncudeDirs}")
-		endif()
-		if (_honoredIncudeDirs)
-			message (STATUS "Included paths: ${_honoredIncudeDirs}")
+		if (_ignoredIncludeDirs)
+			message (STATUS "Ignored paths: ${_ignoredIncludeDirs}")
+		endif()
+		if (_honoredIncludeDirs)
+			message (STATUS "Included paths: ${_honoredIncludeDirs}")
 		endif()
 	endif()
 	set (_sourceFiles ${ARGN})
@@ -985,7 +985,7 @@
 		if (_line)
 			cotire_parse_line("${_line}" _headerFile _headerDepth)
 			if (_headerFile)
-				cotire_check_header_file_location("${_headerFile}" "${_ignoredIncudeDirs}" "${_honoredIncudeDirs}" _headerIsInside)
+				cotire_check_header_file_location("${_headerFile}" "${_ignoredIncludeDirs}" "${_honoredIncludeDirs}" _headerIsInside)
 				if (COTIRE_DEBUG)
 					message (STATUS "${_headerDepth}: ${_headerFile} ${_headerIsInside}")
 				endif()


Make RapidJSON dependency build depend on Astro to fix problem with automagical download.

--- Dependencies.cmake
+++ Dependencies.cmake
@@ -4,40 +4,6 @@

 # Include script to build external library with CMake.
 include(ExternalProject)
-
-if(NOT BUILD_DEPENDENCIES)
-  find_package(rapidjson)
-endif(NOT BUILD_DEPENDENCIES)
-
-if(NOT RAPIDJSON_FOUND)
-  message(STATUS "RapidJSON will be downloaded when ${CMAKE_PROJECT_NAME} is built")
-  ExternalProject_Add(rapidjson-lib
-    PREFIX ${EXTERNAL_PATH}/RapidJson
-    #--Download step--------------
-    URL https://github.com/miloyip/rapidjson/archive/master.zip
-    TIMEOUT 30
-    #--Update/Patch step----------
-    #--Configure step-------------
-    CONFIGURE_COMMAND ""
-    #--Build step-----------------
-    BUILD_COMMAND ""
-    #--Install step---------------
-    INSTALL_COMMAND ""
-    #--Output logging-------------
-    LOG_DOWNLOAD ON
-  )
-  ExternalProject_Get_Property(rapidjson-lib source_dir)
-  set(RAPIDJSON_INCLUDE_DIRS ${source_dir}/include
-    CACHE INTERNAL "Path to include folder for RapidJSON")
-endif(NOT RAPIDJSON_FOUND)
-
-if(NOT APPLE)
-  include_directories(SYSTEM AFTER "${RAPIDJSON_INCLUDE_DIRS}")
-else(APPLE)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem \"${RAPIDJSON_INCLUDE_DIRS}\"")
-endif(NOT APPLE)
-
-# -------------------------------

 if(NOT BUILD_DEPENDENCIES)
   find_package(SML)
@@ -110,6 +76,44 @@

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

+if(NOT BUILD_DEPENDENCIES)
+  find_package(rapidjson)
+endif(NOT BUILD_DEPENDENCIES)
+
+if(NOT RAPIDJSON_FOUND)
+  message(STATUS "RAPIDJSON will be downloaded when ${CMAKE_PROJECT_NAME} is built")
+  ExternalProject_Add(rapidjson-lib
+    DEPENDS astro-lib
+    PREFIX ${EXTERNAL_PATH}/rapidjson
+    #--Download step--------------
+    URL https://github.com/miloyip/rapidjson/archive/master.zip
+    TIMEOUT 30
+    #--Update/Patch step----------
+    UPDATE_COMMAND ""
+    PATCH_COMMAND ""
+    #--Configure step-------------
+    CONFIGURE_COMMAND ""
+    #--Build step-----------------
+    BUILD_COMMAND ""
+    #--Install step---------------
+    INSTALL_COMMAND ""
+    #--Output logging-------------
+    LOG_DOWNLOAD ON-------------
+    LOG_DOWNLOAD ON
+  )
+  ExternalProject_Get_Property(rapidjson-lib source_dir)
+  set(RAPIDJSON_INCLUDE_DIRS ${source_dir}/include
+      CACHE INTERNAL "Path to include folder for RapidJSON")
+endif(NOT RAPIDJSON_FOUND)
+
+if(NOT APPLE)
+  include_directories(SYSTEM AFTER "${RAPIDJSON_INCLUDE_DIRS}")
+else(APPLE)
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -isystem \"${RAPIDJSON_INCLUDE_DIRS}\"")
+endif(NOT APPLE)
+
+# -------------------------------
+
 if(BUILD_TESTS)
   if(NOT BUILD_DEPENDENCIES)
     find_package(CATCH)


On second thought, keep the naming automatic

--- tests/PythonTests.cmake
+++ tests/PythonTests.cmake
@@ -83,7 +83,7 @@
   set(name "server_${case}")

   set(_options BIND_SERVER PY2_ONLY)
-  set(_args NAME PLUGIN SUBMODULE)
+  set(_args PLUGIN SUBMODULE)
   set(_multival_args RESOURCE_LOCKS TIMEOUT EXTERNAL_DATA)
   cmake_parse_arguments(fn "${_options}" "${_args}" "${_multival_args}" ${ARGN})

@@ -103,12 +103,9 @@
     set(other_covg "")
   endif()

-  if(fn_NAME)
-    set(name ${fn_NAME})
-  endif()
-
   if(fn_SUBMODULE)
     set(module ${module}.${fn_SUBMODULE})
+    set(name ${name}.${fn_SUBMODULE})
   endif()

   if(PYTHON_COVERAGE)


Updated bincrafters' remote link

Updated bincrafters' remote link

Also now setting the environment variable to enable conan revisions

--- cmake/Conan.cmake
+++ cmake/Conan.cmake
@@ -5,13 +5,14 @@
     file(DOWNLOAD "https://github.com/conan-io/cmake-conan/raw/v0.15/conan.cmake" "${CMAKE_BINARY_DIR}/conan.cmake")
   endif()

+  set (ENV{CONAN_REVISIONS_ENABLED} 1)
   include(${CMAKE_BINARY_DIR}/conan.cmake)

   conan_add_remote(
     NAME
     bincrafters
     URL
-    https://api.bintray.com/conan/bincrafters/public-conan)
+    https://bincrafters.jfrog.io/artifactory/api/conan/public-conan

   conan_cmake_run(
     REQUIRES


+ Operations in boolean expressions are case-sensitive.  See http://www.cmake.org/Wiki/CMake/Language_Syntax#IF_and_WHILE_control_the_flow.

--- cmake/Utils.cmake
+++ cmake/Utils.cmake
@@ -37,8 +37,8 @@
     set(temp)
     set(match ${regex})
     foreach(str ${${listvar}})
-        if (not ${str} matches ${match})
-            list(append temp ${str})
+        if (NOT ${str} MATCHES ${match})
+            list(APPEND temp ${str})
         endif (not ${str} matches ${match})
     endforeach(str ${${listvar}})
     set(${listvar} "${temp}")


removing obsolete langs.cmake, genmsg is dealing with that

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


update terra->1.0.0-beta4

update terra->1.0.0-beta4

--- cmake/terra.cmake
+++ cmake/terra.cmake
@@ -1,29 +1,32 @@
 include(ExternalProject)

 # Use this version of terra.
-set(terra_RELEASE_DATE "1.0.0-beta3")
-set(terra_RELEASE_HASH "e4ec5d1")
+set(terra_RELEASE_DATE "1.0.0-beta4")
+set(terra_RELEASE_HASH "868748e")

 if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
     set(terra_SYSTEM_NAME "Windows")
     set(terra_SHARED_LIBS_DIR "bin")
     set(terra_LIBRARY_NAME "terra.dll")
     set(terra_IMPLIB_NAME "terra.lib")
+    set(terra_RELEASE_EXT ".7z")
 elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
     set(terra_SYSTEM_NAME "OSX")
     set(terra_SHARED_LIBS_DIR "lib")
     set(terra_LIBRARY_NAME "terra.dylib")
+    set(terra_RELEASE_EXT ".tar.xz")
 elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
     set(terra_SYSTEM_NAME "Linux")
     set(terra_SHARED_LIBS_DIR "lib")
     set(terra_LIBRARY_NAME "libterra.so")
+    set(terra_RELEASE_EXT ".tar.xz")
 else()
     message(FATAL_ERROR "Terra does not have precompiled binaries for '${CMAKE_SYSTEM_NAME}'.")
 endif()

 # Download `terra` and unzip its binaries.
 ExternalProject_Add(terra_EXTERNAL
-    URL "https://github.com/zdevito/terra/releases/download/release-${terra_RELEASE_DATE}/terra-${terra_SYSTEM_NAME}-x86_64-${terra_RELEASE_HASH}.zip"
+    URL "https://github.com/zdevito/terra/releases/download/release-${terra_RELEASE_DATE}/terra-${terra_SYSTEM_NAME}-x86_64-${terra_RELEASE_HASH}${terra_RELEASE_EXT}"
     URL_MD5 "${terra_MD5}"
     CONFIGURE_COMMAND ""
     BUILD_COMMAND ""


On CentOS libcrypto.a needs libz

On CentOS libcrypto.a needs libz

* link libz for centos

Change-Id: Id0f113b5f35de7d971fa072c9a997a62d8347829
Signed-off-by: Jason Tang <7bffd3ac92c799ededc488fc8ffb5bbc75b0893d@emc.com>
Reviewed-on: https://gerrit.mozy.lab.emc.com/114019
Reviewed-by: Andrew Skowronski <1ff840f17aa27241e38803f65229adef2e3fc60a@emc.com>

--- cmake/utils.cmake
+++ cmake/utils.cmake
@@ -134,8 +134,8 @@
         target_link_libraries(${targetname} Threads::Threads rt dl)

         #centos may need krb5 also when static linking openssl
-	if(${LINUX_DISTRO} STREQUAL "CentOS")
-            target_link_libraries(${targetname} krb5 k5crypto)
+	    if(${LINUX_DISTRO} STREQUAL "CentOS")
+            target_link_libraries(${targetname} krb5 k5crypto z)
         endif()
     endif()
 endmacro()


ConfigureChecks: Add support for system not expecting "libutil" (e.g VxWorks)

See #163

--- cmake/ConfigureChecks.cmake
+++ cmake/ConfigureChecks.cmake
@@ -351,15 +351,30 @@
 find_library(HAVE_LIBTERMCAP termcap)

 set(LIBUTIL_LIBRARIES )
-check_function_exists("openpty" HAVE_BUILTIN_OPENPTY)
-if(HAVE_BUILTIN_OPENPTY)
-  # Libutil functions are builtin the environment (e.g emscripten)
-  set(LIBUTIL_LIBRARIES )
-  set(HAVE_LIBUTIL 1)
-else()
-  find_library(HAVE_LIBUTIL util)
-  if(HAVE_LIBUTIL)
-    set(LIBUTIL_LIBRARIES ${HAVE_LIBUTIL})
+set(LIBUTIL_EXPECTED 1)
+
+if(CMAKE_SYSTEM MATCHES "VxWorks\\-7$")
+  set(LIBUTIL_EXPECTED 0)
+  set(HAVE_LIBUTIL 0)
+endif()
+
+if(LIBUTIL_EXPECTED)
+  check_function_exists("openpty" HAVE_BUILTIN_OPENPTY)
+  if(HAVE_BUILTIN_OPENPTY)
+    # Libutil functions are builtin the environment (e.g emscripten)
+    set(LIBUTIL_LIBRARIES )
+    set(HAVE_LIBUTIL 1)
+  else()
+    if(NOT DEFINED HAVE_LIBUTIL OR "${HAVE_LIBUTIL}" STREQUAL "")
+      find_library(HAVE_LIBUTIL util)
+      if(HAVE_LIBUTIL)
+        set(LIBUTIL_LIBRARIES ${HAVE_LIBUTIL})
+      endif()
+      message(STATUS "Found libutil: ${HAVE_LIBUTIL}")
+    endif()
+  endif()
+  if(NOT HAVE_LIBUTIL)
+    message(FATAL_ERROR "Could NOT find libutil (missing: HAVE_LIBUTIL)")
   endif()
 endif()


cmake: improved handling of CONF_FILE cached variable

Fixes: #28134

Minor fix for correctly testing if CONF_FILE variable is defined, and
if it is defined, then a current scope variable will be set with same
name. For a variable that is already present in current scope this has
no effect, but a cached variable (such as one provided with -DCONF_FILE)
will now have both a current scope and cached definition.
This ensures that current scope CONF_FILE will continue to be defined
even when the cached variable is cleared later.

Clearing of the cached variable ensures correct detection if user later
re-invokes CMake with a new -DCONF_FILE value.

The cached version is cleared later in favor of the CACHED_CONF_FILE
that is used between multiple CMake invocations.

Signed-off-by: Torsten Rasmussen <a7c5b1d5a1f41fce6edfa3f7c2392ae0c59deafe@nordicsemi.no>

--- cmake/app/boilerplate.cmake
+++ cmake/app/boilerplate.cmake
@@ -469,7 +469,11 @@
 ${ARCH_ROOT}")
 endif()

-if(CONF_FILE)
+if(DEFINED CONF_FILE)
+  # This ensures that CACHE{CONF_FILE} will be set correctly to current scope
+  # variable CONF_FILE. An already current scope variable will stay the same.
+  set(CONF_FILE ${CONF_FILE})
+
   # CONF_FILE has either been specified on the cmake CLI or is already
   # in the CMakeCache.txt. This has precedence over the environment
   # variable CONF_FILE and the default prj.conf


cmake px4_base: switch visibility.h back to relative include path (#9981)

--- cmake/common/px4_base.cmake
+++ cmake/common/px4_base.cmake
@@ -454,7 +454,7 @@

 	set(visibility_flags
 		-fvisibility=hidden
-		-include ${PX4_SOURCE_DIR}/src/include/visibility.h
+		-include visibility.h
 		)

 	set(added_c_flags


[cmake] Only run llvm-codesign if targetting apple on an apple host

Summary:
Other platforms don't have the capability to perform llvm_codesign
step. If LLVM_CODESIGNING_IDENTITY is set then this chunk of code would
attempt to codesign if the target was Apple. But when cross compiling
to Darwin from Linux, for example, this step would fail. So test if the
host is Apple as well.

Subscribers: mgorny, llvm-commits

Tags: #llvm

Differential Revision: https://reviews.llvm.org/D64942

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -1682,7 +1682,7 @@
         XCODE_ATTRIBUTE_CODE_SIGN_ENTITLEMENTS ${ARG_ENTITLEMENTS}
       )
     endif()
-  elseif(APPLE)
+  elseif(APPLE AND CMAKE_HOST_SYSTEM_NAME MATCHES APPLE)
     if(NOT CMAKE_CODESIGN)
       set(CMAKE_CODESIGN xcrun codesign)
     endif()


[CMake] llvm_add_library: Add dependencies also to objlibs as workaround of CMake issue 14747.

http://www.cmake.org/Bug/view.php?id=14747

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -127,6 +127,10 @@
     PROPERTY ADDITIONAL_MAKE_CLEAN_FILES ${native_export_file})

   add_dependencies(${target_name} ${target_name}_exports)
+
+  # Add dependency to *_exports later -- CMake issue 14747
+  list(APPEND LLVM_COMMON_DEPENDS ${target_name}_exports)
+  set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)
 endfunction(add_llvm_symbol_exports)

 function(add_dead_strip target_name)
@@ -224,6 +228,9 @@
     llvm_update_compile_flags(${obj_name})
     set(ALL_FILES "$<TARGET_OBJECTS:${obj_name}>")

+    # Do add_dependencies(obj) later due to CMake issue 14747.
+    list(APPEND objlibs ${obj_name})
+
     set_target_properties(${obj_name} PROPERTIES FOLDER "Object Libraries")
   endif()

@@ -288,6 +295,12 @@

   if(LLVM_COMMON_DEPENDS)
     add_dependencies(${name} ${LLVM_COMMON_DEPENDS})
+    # Add dependencies also to objlibs.
+    # CMake issue 14747 --  add_dependencies() might be ignored to objlib's user.
+    foreach(objlib ${objlibs})
+      message("add_dependencies(${objlib} ${LLVM_COMMON_DEPENDS})")
+      add_dependencies(${objlib} ${LLVM_COMMON_DEPENDS})
+    endforeach()
   endif()
 endfunction()


qibuild/gettext.cmake: fix doc

qibuild/gettext.cmake: fix doc

Change-Id: I5a57f2842479d84e7b184dee9b774a80496f2c44
Reviewed-on: http://gerrit.aldebaran.lan:8080/19131
Reviewed-by: dmerejkowsky <1e4b13000fa8777df4cefd2fd8215187e3deb062@aldebaran-robotics.com>
Tested-by: dmerejkowsky <1e4b13000fa8777df4cefd2fd8215187e3deb062@aldebaran-robotics.com>

--- cmake/qibuild/gettext.cmake
+++ cmake/qibuild/gettext.cmake
@@ -1,6 +1,9 @@
 ## Copyright (c) 2012, 2013 Aldebaran Robotics. All rights reserved.
 ## Use of this source code is governed by a BSD-style license that can be
 ## found in the COPYING file.
+
+#! Translation support
+# ====================

 #! Create install rules for dictionnary
 #


Update and fix osvrConfig (bug for imaging)

--- osvrConfig.cmake
+++ osvrConfig.cmake
@@ -1,13 +1,16 @@

-# File will only exist in build trees
+# File will only exist in build trees - provides hints to dependencies
 include("${CMAKE_CURRENT_LIST_DIR}/osvrConfigBuildTreePaths.cmake" OPTIONAL)

-find_package(libfunctionality)
+# Dependency of PluginKit
+find_package(libfunctionality QUIET)

+# The actual exported targets
 include("${CMAKE_CURRENT_LIST_DIR}/osvrTargets.cmake")

-# File will only exist in install trees.
+# Fix up imported targets to add deps: these files will only exist in install trees.
 include("${CMAKE_CURRENT_LIST_DIR}/osvrConfigInstalledBoost.cmake" OPTIONAL)
+include("${CMAKE_CURRENT_LIST_DIR}/osvrConfigInstalledOpenCV.cmake" OPTIONAL)

 function(osvr_add_plugin NAME)
     add_library(${NAME} MODULE ${ARGN})


Small android-specific fix for plugins to allow them to work on API level 25

--- cmake-local/osvrAddPlugin.cmake
+++ cmake-local/osvrAddPlugin.cmake
@@ -22,7 +22,15 @@
     if(NOT OSVR_ADD_PLUGIN_SOURCES)
         set(OSVR_ADD_PLUGIN_SOURCES ${OSVR_ADD_PLUGIN_UNPARSED_ARGUMENTS})
     endif()
-    add_library(${OSVR_ADD_PLUGIN_NAME} MODULE ${OSVR_ADD_PLUGIN_SOURCES})
+
+    if(ANDROID)
+        # Android loads plugins as if they were shared libraries, and
+        # additionally, requires SONAME to be set.
+        add_library(${OSVR_ADD_PLUGIN_NAME} SHARED ${OSVR_ADD_PLUGIN_SOURCES})
+    else()
+        add_library(${OSVR_ADD_PLUGIN_NAME} MODULE ${OSVR_ADD_PLUGIN_SOURCES})
+    endif()
+
     if(OSVR_ADD_PLUGIN_CPP)
         target_link_libraries(${OSVR_ADD_PLUGIN_NAME} osvr::osvrPluginKitCpp)
     else()
@@ -31,6 +39,7 @@

     if(ANDROID)
         set(OSVR_PLUGIN_PREFIX "lib")
+        target_link_libraries(${OSVR_ADD_PLUGIN_NAME} "-z global")
     else()
         set(OSVR_PLUGIN_PREFIX "")
     endif()


Disable nghttp2 in curl config

Disable nghttp2 in curl config

This causes overlinkage in the static builds on macOS, because nghttp2 is detected
in the build image.

--- cmake/Modules/FindCurl_EP.cmake
+++ cmake/Modules/FindCurl_EP.cmake
@@ -132,6 +132,7 @@
           --enable-optimize
           --enable-shared=no
           --with-pic=yes
+          --without-nghttp2
           --disable-dict
           --disable-file
           --disable-ftp


Update FindTestU01.cmake

Update FindTestU01.cmake

Now if user specify TESTU01_ROOT_DIR libs from that
dir are used even if TestU01 is installed in system.

--- cmake/Modules/FindTestU01.cmake
+++ cmake/Modules/FindTestU01.cmake
@@ -1,11 +1,14 @@
 if(NOT TESTU01_ROOT_DIR)
     set(TESTU01_ROOT_DIR "/usr/local")
+    FIND_LIBRARY(testu01 NAMES testu01 PATHS ${TESTU01_ROOT_DIR}/lib)
+    FIND_LIBRARY(probdist NAMES probdist testu01probdist PATHS ${TESTU01_ROOT_DIR}/lib)
+    FIND_LIBRARY(mylib NAMES mylib testu01mylib PATHS ${TESTU01_ROOT_DIR}/lib)
+else()
+    FIND_LIBRARY(testu01 NAMES testu01 PATHS ${TESTU01_ROOT_DIR}/lib NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+    FIND_LIBRARY(probdist NAMES probdist testu01probdist PATHS ${TESTU01_ROOT_DIR}/lib NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
+    FIND_LIBRARY(mylib NAMES mylib testu01mylib PATHS ${TESTU01_ROOT_DIR}/lib NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH)
 endif()
 mark_as_advanced(TESTU01_ROOT_DIR)
-
-FIND_LIBRARY(testu01 NAMES testu01 PATHS ${TESTU01_ROOT_DIR}/lib)
-FIND_LIBRARY(probdist NAMES probdist testu01probdist PATHS ${TESTU01_ROOT_DIR}/lib)
-FIND_LIBRARY(mylib NAMES mylib testu01mylib PATHS ${TESTU01_ROOT_DIR}/lib)

 set(TestU01_ERROR_REASON "")
 set(TestU01_FOUND TRUE)
@@ -34,7 +37,7 @@
   set(TestU01_LIBRARIES ${testu01} ${probdist} ${mylib})
   set(TestU01_INCLUDE_DIR ${TestU01_INCLUDE_DIRS})
   if(NOT TestU01_FIND_QUIETLY)
-    message(STATUS "TestU01 found.")
+    message(STATUS "Found TestU01: ${TestU01_LIBRARIES}")
   endif()
 else()
   if(TestU01_FIND_REQUIRED)


Fix MSVC build.

Fix MSVC build.

--- cmake/modules/GrantleeUse.cmake
+++ cmake/modules/GrantleeUse.cmake
@@ -36,6 +36,7 @@
   set_target_properties(${pluginname}
     PROPERTIES PREFIX ""
     LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/grantlee/${Grantlee_VERSION_MAJOR}.${Grantlee_VERSION_MINOR}"
+    RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/grantlee/${Grantlee_VERSION_MAJOR}.${Grantlee_VERSION_MINOR}"
   )
   target_link_libraries(${pluginname}
     ${Grantlee_CORE_LIBRARIES}


Changed formatting in FindDoxygen.

Changed formatting in FindDoxygen.

--- cmake_modules/FindDoxygen.cmake
+++ cmake_modules/FindDoxygen.cmake
@@ -24,7 +24,7 @@
 #
 #

-#=============================================================================
+#=============================================================
 # Copyright 2001-2009 Kitware, Inc.
 #
 # Distributed under the OSI-approved BSD License (the "License");
@@ -33,51 +33,21 @@
 # This software is distributed WITHOUT ANY WARRANTY; without even the
 # implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
 # See the License for more information.
-#=============================================================================
+#=============================================================

-#=============================================================================
+#=============================================================
 # LPS Modifications:
 #
 # - Look in ${ENV{HOME}/LPS/prerequisites/doxygen/bin for doxygen.
 # - If it's not there, look in the directory specified by the DOXYGEN_BIN
 #   environment variable.
 # - The version is checked against what is passed in from CMakeLists.txt.
-#=============================================================================
-
-# (To distributed this file outside of CMake, substitute the full
-#  License text for the above reference.)
+#=============================================================

 # For backwards compatibility support
 IF(Doxygen_FIND_QUIETLY)
   SET(DOXYGEN_FIND_QUIETLY TRUE)
 ENDIF()
-
-# ===== Rationale for OS X AppBundle mods below =====
-#     With the OS X GUI version, Doxygen likes to be installed to /Applications and
-#     it contains the doxygen executable in the bundle. In the versions I've
-#     seen, it is located in Resources, but in general, more often binaries are
-#     located in MacOS.
-#
-#     NOTE: The official Doxygen.app that is distributed for OS X uses non-standard
-#     conventions.  Instead of the command-line "doxygen" tool being placed in
-#     Doxygen.app/Contents/MacOS, "Doxywizard" is placed there instead and
-#     "doxygen" is placed in Contents/Resources.  This is most likely done
-#     so that something happens when people double-click on the Doxygen.app
-#     package.  Unfortunately, CMake gets confused by this as when it sees the
-#     bundle it uses "Doxywizard" as the executable to use instead of
-#     "doxygen".  Therefore to work-around this issue we temporarily disable
-#     the app-bundle feature, just for this CMake module:
-if(APPLE)
-    #  Save the old setting
-    SET(TEMP_DOXYGEN_SAVE_CMAKE_FIND_APPBUNDLE ${CMAKE_FIND_APPBUNDLE})
-    # Disable the App-bundle detection feature
-    SET(CMAKE_FIND_APPBUNDLE "NEVER")
-endif()
-#     FYI:
-#     In the older versions of OS X Doxygen, dot was included with the
-#     Doxygen bundle. But the new versions require you to download
-#     Graphviz.app which contains "dot" in it's bundle.
-# ============== End OSX stuff ================

 #
 # Find Doxygen...
@@ -104,12 +74,14 @@
 set(REQ_VER "1.8.4")

 # Ask the executable for version number
-execute_process(COMMAND ${DOXYGEN_EXECUTABLE} "--version" OUTPUT_VARIABLE Doxygen_VERSION)
+execute_process(COMMAND ${DOXYGEN_EXECUTABLE} "--version"
+    OUTPUT_VARIABLE Doxygen_VERSION)

 # Remove trailing newline
 string(REPLACE "\n" "" Doxygen_VERSION "${Doxygen_VERSION}")

-if((${Doxygen_VERSION} STREQUAL ${REQ_VER}) OR (${Doxygen_VERSION} STRGREATER ${REQ_VER}))
+if((${Doxygen_VERSION} STREQUAL ${REQ_VER}) OR (${Doxygen_VERSION}
+    STRGREATER ${REQ_VER}))

      set(DOC_TARGETS ON CACHE BOOL "Toggles generation of documentation targets")
      set(Doxygen_VERSION_VALID 1)
@@ -117,13 +89,15 @@
     # handle the QUIETLY and REQUIRED arguments and set DOXYGEN_FOUND to TRUE if
     # all listed variables are TRUE
     include(FindPackageHandleStandardArgs)
-#    FIND_PACKAGE_HANDLE_STANDARD_ARGS(Doxygen DEFAULT_MSG DOXYGEN_EXECUTABLE Doxygen_VERSION_VALID)
     FIND_PACKAGE_HANDLE_STANDARD_ARGS(Doxygen "" DOXYGEN_EXECUTABLE Doxygen_VERSION_VALID)
     message(STATUS "Doxygen version is: " ${Doxygen_VERSION})

-    configure_file(${CMAKE_MODULE_PATH}/doxygen_definitions.cmake.in ${CMAKE_BINARY_DIR}/doxygen_definitions.cmake)
-    configure_file(${CMAKE_MODULE_PATH}/dev_doxyfile.cmake.in ${CMAKE_BINARY_DIR}/dev_doxyfile)
-    configure_file(${CMAKE_MODULE_PATH}/user_doxyfile.cmake.in ${CMAKE_BINARY_DIR}/user_doxyfile)
+    configure_file(${CMAKE_MODULE_PATH}/doxygen_definitions.cmake.in
+        ${CMAKE_BINARY_DIR}/doxygen_definitions.cmake)
+    configure_file(${CMAKE_MODULE_PATH}/dev_doxyfile.cmake.in
+        ${CMAKE_BINARY_DIR}/dev_doxyfile)
+    configure_file(${CMAKE_MODULE_PATH}/user_doxyfile.cmake.in
+        ${CMAKE_BINARY_DIR}/user_doxyfile)

 else()
     message(WARNING "Doxygen version needs to be ${RE_VER} or greater. No documentation targets will be generated.")
@@ -151,7 +125,8 @@
   if(DOXYGEN_DOT_EXECUTABLE)
     set(DOXYGEN_DOT_FOUND TRUE)
     # The Doxyfile wants the path to Dot, not the entire path and executable
-    get_filename_component(DOXYGEN_DOT_PATH "${DOXYGEN_DOT_EXECUTABLE}" PATH CACHE)
+    get_filename_component(DOXYGEN_DOT_PATH
+        "${DOXYGEN_DOT_EXECUTABLE}" PATH CACHE)
   endif()

 endif()


fix new Eigen git repository URI

fix new Eigen git repository URI

--- cmakemodules/script_eigen.cmake
+++ cmakemodules/script_eigen.cmake
@@ -4,14 +4,14 @@
 if (EIGEN_USE_EMBEDDED_VERSION)
 	# Include embedded version headers:
 	include(ExternalProject)
-	# download Eigen from bitbucket
+	# download Eigen from gitlab
 	ExternalProject_Add(EP_eigen3
-	  URL               "https://bitbucket.org/eigen/eigen/get/3.3.7.tar.bz2"
-	  URL_MD5           "05b1f7511c93980c385ebe11bd3c93fa"
+	  URL               "https://gitlab.com/libeigen/eigen/-/archive/3.3.7/eigen-3.3.7.tar.bz2"
+	  URL_MD5           "b9e98a200d2455f06db9c661c5610496"
 	  SOURCE_DIR        "${MRPT_BINARY_DIR}/3rdparty/eigen3/"
 	  CONFIGURE_COMMAND ""
 	  BUILD_COMMAND     ""
-	  INSTALL_COMMAND     ""
+	  INSTALL_COMMAND   ""
 	  TEST_COMMAND      ""
 	)


ENH: bump diapotb sha1

ENH: bump diapotb sha1

--- Modules/Remote/diapotb.remote.cmake
+++ Modules/Remote/diapotb.remote.cmake
@@ -22,5 +22,5 @@
 otb_fetch_module(DiapOTBModule
   "OTB module for SAR processing in Diapason."
   GIT_REPOSITORY https://gitlab.orfeo-toolbox.org/remote_modules/diapotb.git
-  GIT_TAG ec5970752f44dc0b2e7357d1b223f5825d1ec5ab
+  GIT_TAG f6e6d39e8c4f5d2182720cfb64295d1b03218258
 )


shoud fix #97 first temp dir is derived by first using TMP then TMPDIR then cmakepp_path/tmp

--- cmakepp.cmake
+++ cmakepp.cmake
@@ -31,10 +31,10 @@

 # get temp dir which is needed by a couple of functions in cmakepp
-set(cmakepp_tmp_dir "$ENV{TMP}")
-if(NOT cmakepp_tmp_dir)
-	set(cmakepp_tmp_dir "${CMAKE_CURRENT_LIST_DIR}/tmp")
-endif()
+# first uses env variable TMP if it does not exists TMPDIR is used
+# if both do not exists current_list_dir/tmp is used
+set(cmakepp_tmp_dir "$ENV{TMP}" "$ENV{TMPDIR}" "${CMAKE_CURRENT_LIST_DIR}/tmp")
+list(GET cmakepp_tmp_dir 0 cmakepp_tmp_dir)
 file(TO_CMAKE_PATH "${cmakepp_tmp_dir}" cmakepp_tmp_dir)


Changing the HAVE_GETDOMAINNAME_SIZET check to have warnings as errors and fail on errors, instead of checking for -Wshorten in the build output.

--- src/Native/configure.cmake
+++ src/Native/configure.cmake
@@ -229,14 +229,13 @@
 # getdomainname on OSX takes an 'int' instead of a 'size_t'
 # check if compiling with 'size_t' would cause a warning
 set (PREVIOUS_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-set (CMAKE_REQUIRED_FLAGS "-Weverything")
+set (CMAKE_REQUIRED_FLAGS "-Werror -Weverything")
 check_cxx_source_compiles(
     "
     #include <unistd.h>
-	int main() { size_t namelen = 20; char name[namelen]; getdomainname(name, namelen); }
+    int main() { size_t namelen = 20; char name[20]; getdomainname(name, namelen); }
     "
     HAVE_GETDOMAINNAME_SIZET
-	FAIL_REGEX "-Wshorten"
 )
 set (CMAKE_REQUIRED_FLAGS ${PREVIOUS_CMAKE_REQUIRED_FLAGS})


COMP: Need to update directory path for external project. thanks to Sven Buijssen report + patch

--- vtkIncludeDirectories.cmake
+++ vtkIncludeDirectories.cmake
@@ -223,7 +223,7 @@
 IF(VTK_USE_RENDERING)
   IF(VTK_USE_GL2PS)
     SET(VTK_INCLUDE_DIRS_SOURCE_TREE ${VTK_INCLUDE_DIRS_SOURCE_TREE}
-        ${VTK_SOURCE_DIR}/Utilities/gl2ps)
+        ${VTK_SOURCE_DIR}/Utilities/vtkgl2ps)
   ENDIF(VTK_USE_GL2PS)
 ENDIF(VTK_USE_RENDERING)


Bug fix: typo in the generator expression for target output files

--- Googlify.cmake
+++ Googlify.cmake
@@ -337,7 +337,7 @@
   set(IS_SHARED_LIB "$<STREQUAL:${TARGET_TYPE},SHARED_LIBRARY>")
   set(IS_LIB_OR_EXE
       "$<OR:${IS_EXE},${IS_STATIC_LIB},${IS_SHARED_LIB},${IS_MODULE_LIB}>")
-  set(${OUT} "$<${IS_LIB_OR_EXE}:$<TARGET_FILE:${TARGET}>>$<$<NOT:${IS_LIB_OR_EXE}>:$<TARGET_PROPERTY,${TARGET}:TARGET_FILE>>" PARENT_SCOPE)
+  set(${OUT} "$<${IS_LIB_OR_EXE}:$<TARGET_FILE:${TARGET}>>$<$<NOT:${IS_LIB_OR_EXE}>:$<TARGET_PROPERTY:${TARGET},TARGET_FILE>>" PARENT_SCOPE)
 endfunction(get_output_file)

 function(get_target_name TARGET OUT)