Add workaround for android builds.

Add workaround for android builds.

--- run_ctest.cmake
+++ run_ctest.cmake
@@ -228,10 +228,10 @@
 ctest_start(Continuous)
 ctest_update()
 ctest_read_custom_files(${CTEST_SOURCE_DIRECTORY})
-if(DEFINED ENV{CMAKE_TOOLCHAIN_FILE})
+if(DEFINED ENV{CMAKE_TOOLCHAIN_FILE} AND DEFINED ENV{CMAKE_ANDROID_ARCH_ABI})
+    ctest_configure(OPTIONS "-DCMAKE_TOOLCHAIN_FILE=$ENV{CMAKE_TOOLCHAIN_FILE} -DCMAKE_ANDROID_ARCH_ABI=$ENV{CMAKE_ANDROID_ARCH_ABI}")
+elseif(DEFINED ENV{CMAKE_TOOLCHAIN_FILE})
     ctest_configure(OPTIONS "-DCMAKE_TOOLCHAIN_FILE=$ENV{CMAKE_TOOLCHAIN_FILE}")
-elseif(DEFINED ENV{CMAKE_TOOLCHAIN_FILE} AND DEFINED ENV{CMAKE_ANDROID_ARCH_ABI})
-    ctest_configure(OPTIONS "-DCMAKE_TOOLCHAIN_FILE=$ENV{CMAKE_TOOLCHAIN_FILE} -DCMAKE_ANDROID_ARCH_ABI=$ENV{CMAKE_ANDROID_ARCH_ABI}")
 else()
     ctest_configure()
 endif()


Fixed version info.

Fixed version info.

--- run_ctest.cmake
+++ run_ctest.cmake
@@ -77,11 +77,11 @@
         string(SUBSTRING "${CC_VERSION}" 0 3 CC_VERSION)
         exec_program($ENV{CC_NAME} ARGS -dumpmachine OUTPUT_VARIABLE CC_ARCH)
     endif()
-    string(FIND CC_ARCH "x86_64" CC_ARCH_X86_64)
-    string(FIND CC_ARCH "amd64" CC_ARCH_AMD64)
-    string(FIND CC_ARCH "i586" CC_ARCH_I586)
-    string(FIND CC_ARCH "i686" CC_ARCH_I686)
-    string(FIND CC_ARCH "i786" CC_ARCH_I786)
+    string(FIND "${CC_ARCH}" "x86_64" CC_ARCH_X86_64)
+    string(FIND "${CC_ARCH}" "amd64" CC_ARCH_AMD64)
+    string(FIND "${CC_ARCH}" "i586" CC_ARCH_I586)
+    string(FIND "${CC_ARCH}" "i686" CC_ARCH_I686)
+    string(FIND "${CC_ARCH}" "i786" CC_ARCH_I786)
     if(CC_ARCH_X86_64 GREATER_EQUAL 0 OR CC_ARCH_AMD64 GREATER_EQUAL 0)
         set(CC_ARCH "x86_64")
     elseif(CC_ARCH_I586 GREATER_EQUAL 0 OR CC_ARCH_I686 GREATER_EQUAL 0 OR CC_ARCH_I786 GREATER_EQUAL 0)
@@ -89,23 +89,34 @@
     endif()
 else()
     set(CC_NAME "msvc")
-    if(CMAKE_SIZEOF_VOID_P EQUAL 8)
-        set(CC_ARCH "x86_64")
-    else()
-        set(CC_ARCH "x86")
-    endif()
-    exec_program($ENV{CC} ARGS --version OUTPUT_VARIABLE CC_VERSION_VERBOSE)
+    exec_program(cl ARGS --version OUTPUT_VARIABLE CC_VERSION_VERBOSE)
     string(FIND CC_VERSION_VERBOSE "19.10" CC_VERSION_2017)
     if(CC_VERSION_2017 GREATER_EQUAL 0)
         set(CC_VERSION "2017")
     endif()
-    string(FIND CC_VERSION_VERBOSE "19.0" CC_VERSION_2015)
+    string(FIND "${CC_VERSION_VERBOSE}" "19.0" CC_VERSION_2015)
     if(CC_VERSION_2015 GREATER_EQUAL 0)
         set(CC_VERSION "2015")
     endif()
-    string(FIND CC_VERSION_VERBOSE "18.0" CC_VERSION_2013)
+    string(FIND "${CC_VERSION_VERBOSE}" "18.0" CC_VERSION_2013)
     if(CC_VERSION_2013 GREATER_EQUAL 0)
         set(CC_VERSION "2013")
+    endif()
+    string(FIND "${CC_VERSION_VERBOSE}" "x86" CC_ARCH_X86)
+    if(CC_ARCH_X86 GREATER_EQUAL 0)
+        set(CC_VERSION "x86")
+    endif()
+    string(FIND "${CC_VERSION_VERBOSE}" "x64" CC_ARCH_X86_64)
+    if(CC_ARCH_X86_64 GREATER_EQUAL 0)
+        set(CC_VERSION "x86_64")
+    endif()
+    string(FIND "${CC_VERSION_VERBOSE}" "amd64" CC_ARCH_X86_64)
+    if(CC_ARCH_X86_64 GREATER_EQUAL 0)
+        set(CC_VERSION "x86_64")
+    endif()
+    string(FIND "${CC_VERSION_VERBOSE}" "ARM" CC_ARCH_ARM)
+    if(CC_ARCH_ARM GREATER_EQUAL 0)
+        set(CC_VERSION "arm")
     endif()
 endif()
 set(CI_BUILD_NAME "${CC_NAME}-${CC_VERSION}-${CC_ARCH}")


Added 'make clean' support for generated lisp wrappers again.

--- core/roslisp/cmake/roslisp.cmake
+++ core/roslisp/cmake/roslisp.cmake
@@ -97,6 +97,9 @@
   add_custom_target(${_targetname} ALL
                      COMMAND ${roslisp_make_node_exe} ${PROJECT_NAME} ${_system_name} ${_entry_point} ${CMAKE_CURRENT_SOURCE_DIR}/${_output})
   add_dependencies(${_targetname} rosbuild_precompile)
+  get_directory_property(current_clean_files ADDITIONAL_MAKE_CLEAN_FILES)
+  list(APPEND current_clean_files "${CMAKE_CURRENT_SOURCE_DIR}/${_output};${CMAKE_CURRENT_SOURCE_DIR}/${_output}.lisp")
+  set_directory_properties(PROPERTIES ADDITIONAL_MAKE_CLEAN_FILES "${current_clean_files}")
 endmacro(rosbuild_add_lisp_executable)

 macro(rospack_add_lisp_executable  _output _system_name _entry_point)


Changed symbol install to OFF.

Changed symbol install to OFF.

--- cmake/ConfigOptions.cmake
+++ cmake/ConfigOptions.cmake
@@ -120,7 +120,8 @@
 option(WITH_DEBUG_X11 "Print X11 Client debug messages" ${DEFAULT_DEBUG_OPTION})
 option(WITH_DEBUG_XV "Print XVideo debug messages" ${DEFAULT_DEBUG_OPTION})
 option(WITH_DEBUG_RINGBUFFER "Enable Ringbuffer debug messages" ${DEFAULT_DEBUG_OPTION})
-option(WITH_DEBUG_SYMBOLS "Pack debug symbols to installer" NO)
+
+option(WITH_DEBUG_SYMBOLS "Pack debug symbols to installer" OFF)

 if(ANDROID)
 include(ConfigOptionsAndroid)


Add version check to FindGetgetopt

Add version check to FindGetgetopt

--- cmake/FindGengetopt.cmake
+++ cmake/FindGengetopt.cmake
@@ -3,6 +3,33 @@
 IF (GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")
   MESSAGE("gengetopt not found, you will not be able to add/modify .ggo files")
 ENDIF (GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")
+
+# Detect gengetopt version.  It should be 2.22.4, or else
+# it is not acceptable.
+IF (NOT GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")
+  EXECUTE_PROCESS (COMMAND
+    "${GENGETOPT}" --version
+    TIMEOUT 10
+    RESULT_VARIABLE GENGETOPT_RESULT
+    OUTPUT_VARIABLE GENGETOPT_STDOUT
+    ERROR_VARIABLE GENGETOPT_STDERR
+    )
+  IF (GENGETOPT_RESULT EQUAL 0)
+    STRING (REGEX MATCH "GNU *gengetopt *([^\n]*)" JUNK ${GENGETOPT_STDOUT})
+    SET (GENGETOPT_VERSION "${CMAKE_MATCH_1}")
+    IF (GENGETOPT_VERSION STREQUAL "2.22.4")
+      MESSAGE (STATUS
+	"Gengetopt version \"${GENGETOPT_VERSION}\" is acceptable.")
+    ELSE (GENGETOPT_VERSION STREQUAL "2.22.4")
+      MESSAGE (STATUS
+	"Gengetopt version \"${GENGETOPT_VERSION}\" is not acceptable.")
+      SET (GENGETOPT "GENGETOPT-NOTFOUND")
+    ENDIF (GENGETOPT_VERSION STREQUAL "2.22.4")
+  ELSE (GENGETOPT_RESULT EQUAL 0)
+    MESSAGE (STATUS "Could not run gengetopt --version.")
+    SET (GENGETOPT "GENGETOPT-NOTFOUND")
+  ENDIF (GENGETOPT_RESULT EQUAL 0)
+ENDIF (NOT GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")

 # If set, process ggo files (http://www.gnu.org/software/gengetopt/)
 MACRO (WRAP_GGO GGO_SRCS)


Remove gengetopt debug message

Remove gengetopt debug message

--- cmake/FindGengetopt.cmake
+++ cmake/FindGengetopt.cmake
@@ -2,7 +2,6 @@
 # Attempt to find gengetopt. If not found, compile it.
 FIND_PROGRAM(GENGETOPT gengetopt)
 IF ((GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") OR (GENGETOPT STREQUAL ""))
-DD(GENGETOPT)
   GET_FILENAME_COMPONENT(CLITK_CMAKE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
   ADD_SUBDIRECTORY(${CLITK_CMAKE_DIR}/../utilities/gengetopt ${CMAKE_CURRENT_BINARY_DIR}/gengetopt)
 ELSE((GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") OR (GENGETOPT STREQUAL ""))


Improved FindPVRTexLib for Windows.

Improved FindPVRTexLib for Windows.

Use CMAKE_VS_PLATFORM_NAME to detect 64-bit instead of checking the
generator name. This will work when using CMAKE_GENERATOR_PLATFORM
instead of "Visual Studio XX 20XX Win64" for the generator.

--- cmake/FindPVRTexLib.cmake
+++ cmake/FindPVRTexLib.cmake
@@ -60,7 +60,7 @@
     PATHS ${PVRTEXLIB_ROOT}/Include
   )

-  IF(${CMAKE_GENERATOR} MATCHES Win64)
+  IF(${CMAKE_VS_PLATFORM_NAME} STREQUAL x64)
     find_library(PVRTEXLIB_LIB PVRTexLib
       PATHS ${PVRTEXLIB_ROOT}/Windows_x86_64
     )


one more try at figuring out whether we're on fuerte

--- cmake/rosbuild_lite.cmake
+++ cmake/rosbuild_lite.cmake
@@ -64,7 +64,8 @@
     set(ROS_ELECTRIC_FOUND TRUE)
 else()
     set(ROS_FUERTE_OR_ABOVE_FOUND TRUE)
-    set(BUNCH_OF_VARS "$ENV{ROS_ROOT}, ${CMAKE_PREFIX_PATH}, $ENV{ROS_PACKAGE_PATH}, ${CMAKE_INSTALL_PREFIX}")
+    set(BUNCH_OF_VARS "$ENV{ROS_ROOT}, ${CMAKE_PREFIX_PATH}, $ENV{ROS_PACKAGE_PATH}, ${CMAKE_INSTALL_PREFIX}, ${catkin_INSTALL_PREFIX}, ${catkin_EXTRAS_DIR}")
+    message(STATUS ${BUNCH_OF_VARS})
     string(REGEX MATCH "fuerte" ROS_FUERTE_FOUND ${BUNCH_OF_VARS})
     if (ROS_FUERTE_FOUND)
         set(ROS_FUERTE_FOUND TRUE)


cmake: windows: Disable WASM features on Windows by default

wasm-micro-runtime should got stucked for our usecase.

Signed-off-by: Hiroshi Hatake <a476a6e5b5893650242fbf0b2961500a9bd9032e@calyptia.com>

--- cmake/windows-setup.cmake
+++ cmake/windows-setup.cmake
@@ -15,7 +15,7 @@
   set(FLB_HTTP_SERVER           Yes)
   set(FLB_METRICS               Yes)
   set(FLB_CONFIG_YAML           No)
-  set(FLB_WASM                  Yes)
+  set(FLB_WASM                  No)

   # INPUT plugins
   # =============
@@ -96,7 +96,7 @@
   set(FLB_FILTER_REWRITE_TAG    Yes)
   set(FLB_FILTER_GEOIP2         Yes)
   set(FLB_FILTER_AWS            Yes)
-  set(FLB_FILTER_WASM           Yes)
+  set(FLB_FILTER_WASM           No)
 endif()

 # Search bison and flex executables


Beginnings of custom namespaces.

Beginnings of custom namespaces.

--- CPM.cmake
+++ CPM.cmake
@@ -86,9 +86,11 @@
 # CPM also adds the following variables to the global namespace for CPM
 # script purposes only. These variables are unlikely to be useful to you.
 #
-#  CPM_DIR_OF_CPM       - Variable that stores the location of *this* file.
-#  CPM_NS_HEADER_FILE   - Namespace header file.
-
+#  CPM_DIR_OF_CPM             - Variable that stores the location of *this* file.
+#  CPM_USING_NS_HEADER_FILE   - Header file containing using directives for all
+#                               automatically generated header files.
+#  CPM_PREPROC_NS_HEADER_FILE - Header which includes namespace directives.
+#
 #-------------------------------------------------------------------------------
 # Pre-compute a regex to match documented keywords for each command.
 #-------------------------------------------------------------------------------
@@ -172,62 +174,30 @@
 # function), so we directly modify the appropriate GLOBAL variables.
 # This will wipe out any pre-existing include directories.
 if (DEFINED CPM_UNIQUE_ID)
-  set(CPM_NS_HEADER_FILE "${CPM_DIR_OF_CPM}/include/${CPM_UNIQUE_ID}/cpm/cpm.h")
-  set(CPM_INCLUDE_DIRS "${CPM_DIR_OF_CPM}/include/${CPM_UNIQUE_ID}")
-  set(CPM_PARENT_NS_DIRECTIVE "\n#define CPM_NAMESPACE\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}#define CPM_IN_PARENT_DIRECTIVE\n")
+  set(CPM_AUTOGEN_INCLUDE_DIR "${CPM_DIR_OF_CPM}/include/${CPM_UNIQUE_ID}")
+  set(CPM_USING_NS_HEADER_FILE "${CPM_AUTOGEN_INCLUDE_DIR}/cpm/cpm.h")
+  set(CPM_PREPROC_NS_HEADER_FILE "${CPM_AUTOGEN_INCLUDE_DIR}/cpm/cpmns.h")
+  set(CPM_INCLUDE_DIRS "${CPM_AUTOGEN_INCLUDE_DIR}")
 else()
-  set(CPM_NS_HEADER_FILE "${CPM_DIR_OF_CPM}/include/cpm/cpm.h")
-  set(CPM_INCLUDE_DIRS "${CPM_DIR_OF_CPM}/include")
-  # We don't undefine CPM_NAMESPACE in the parent.
-  set(CPM_PARENT_NS_DIRECTIVE "\n                          #define CPM_IN_PARENT_DIRECTIVE\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}  #define CPM_NAMESPACE \\\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}    #ifndef ${CPM_UNIQUE_ID}##_cpm_def \\\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}      #define ${CPM_UNIQUE_ID}##_cpm_def \\\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}      namespace ${CPM_UNIQUE_ID} { \\\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}    #else \\\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}      #undef ${CPM_UNIQUE_ID}##_cpm_def \\\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}      } \\\n")
-  set(CPM_PARENT_NS_DIRECTIVE "${CPM_PARENT_NS_DIRECTIVE}    #endif \n")
+  set(CPM_AUTOGEN_INCLUDE_DIR "${CPM_DIR_OF_CPM}/include")
+  set(CPM_USING_NS_HEADER_FILE "${CPM_AUTOGEN_INCLUDE_DIR}/cpm/cpm.h")
+  set(CPM_PREPROC_NS_HEADER_FILE "${CPM_AUTOGEN_INCLUDE_DIR}/cpm/cpmns.h")
+  set(CPM_INCLUDE_DIRS "${CPM_AUTOGEN_INCLUDE_DIR}")
 endif()

-function(_cpm_write_include_header incFile uniqueID)
-  file(APPEND ${incFile} "// This file was automatically generated by CPM.\n")
-  file(APPEND ${incFile} "// It includes all automatically generated namespaces.\n\n")
-  #file(APPEND ${CPM_NS_HEADER_FILE} "#ifndef __CPM__CPM__HEADER_H_\n")
-  #file(APPEND ${CPM_NS_HEADER_FILE} "#define __CPM__CPM__HEADER_H_\n\n")
-  file(APPEND ${incFile} "#ifndef CPM_NAMESPACE_NAME\n")
-  # We are either a top level.
-  # Define a dummy namespace preprocessor definition
-  # that will undefine CPM_NAMESPACE when a second occurance appears.
-  file(APPEND ${incFile} "  #define CPM_NAMESPACE \\\n")
-  file(APPEND ${incFile} "    #ifndef ${uniqueID}_cpm_def \\\n")
-  file(APPEND ${incFile} "      #define ${uniqueID}_cpm_def \\\n")
-  file(APPEND ${incFile} "    #else \\\n")
-  file(APPEND ${incFile} "      #undef CPM_NAMESPACE \\\n")
-  file(APPEND ${incFile} "      #undef ${uniqueID}_cpm_def \\\n")
-  file(APPEND ${incFile} "    #endif \n")
-  file(APPEND ${incFile} ${CPM_PARENT_NS_DIRECTIVE})
-  file(APPEND ${incFile} "#else\n")
-  file(APPEND ${incFile} "  #undef CPM_NAMESPACE\n")
-  file(APPEND ${incFile} "")
-  file(APPEND ${incFile} "  #define CPM_NAMESPACE \\\n")
-  file(APPEND ${incFile} "    #ifndef CPM_NAMESPACE_NAME##_def \\\n")
-  file(APPEND ${incFile} "      #define CPM_NAMESPACE_NAME##_def \\\n")
-  file(APPEND ${incFile} "      namespace CPM_NAMESPACE_NAME { \\\n")
-  file(APPEND ${incFile} "    #else \\\n")
-  file(APPEND ${incFile} "      #undef CPM_NAMESPACE \\\n")
-  file(APPEND ${incFile} "      #undef CPM_NAMESPACE_NAME##_def \\\n")
-  file(APPEND ${incFile} "      #define CPM_NAMESPACE #error CPM_NAMESPACE not defined here.\\\n")
-  file(APPEND ${incFile} "      } \\\n")
-  file(APPEND ${incFile} "    #endif\n")
-  file(APPEND ${incFile} "#endif\n\n")
-  #file(APPEND ${CPM_NS_HEADER_FILE} "#endif\n")
-endfunction()
-
 # Delete old cpm header file and begin constructing a new one.
-file(REMOVE ${CPM_NS_HEADER_FILE})
-_cpm_write_include_header(${CPM_NS_HEADER_FILE})
+file(REMOVE ${CPM_USING_NS_HEADER_FILE})
+file(APPEND ${CPM_USING_NS_HEADER_FILE} "// This file was automatically generated by CPM.\n")
+file(APPEND ${CPM_USING_NS_HEADER_FILE} "// It includes using directives for all automatically generated namespaces.\n\n")
+
+file(REMOVE ${CPM_PREPROC_NS_HEADER_FILE})
+file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "// This file was automatically generated by CPM.\n")
+if (DEFINED CPM_UNIQUE_ID)
+  file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "#define CPM_NAMESPACE ${CPM_UNIQUE_ID}\n")
+else()
+  file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "using namespace CPM_TOP_LEVEL_NAMESPACE_;\n")
+  file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "#define CPM_NAMESPACE CPM_TOP_LEVEL_NAMESPACE_\n")
+endif()

 # Function for parsing arguments and values coming into the specified function
 # name 'f'. 'name' is the target name. 'ns' (namespace) is a value prepended
@@ -586,9 +556,32 @@
   # Setup the project.
   add_subdirectory("${__CPM_MODULE_SOURCE_DIR}" "${__CPM_MODULE_BIN_DIR}")

+  if (DEFINED CPM_LAST_MODULE_NAME)
+    # Build the include header files for the module in the current autogen dir.
+    # We need both the cpm.hpp and cpmns.hpp. This means that we need to know
+    # all of the modules that were added.
+    # If the module is including any other modules in the *public* interface,
+    # then those modules *must* match the version of the modules being included
+    # by the parent. Otherwise there will be linking errors.
+    # Exposing internal module interfaces is not a good idea when it comes
+    # to resolving dependencies...
+  else()
+    message(FATAL_ERROR "A module (${__CPM_MODULE_SOURCE_DIR}) failed to define its name!")
+  endif()
+
+  # Build include for the cpm module.
+  #file(REMOVE ${CPM_PREPROC_NS_HEADER_FILE})
+  #file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "// This file was automatically generated by CPM.\n")
+  #if (DEFINED CPM_UNIQUE_ID)
+  #  file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "#define CPM_NAMESPACE ${CPM_UNIQUE_ID}\n")
+  #else()
+  #  file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "using namespace CPM_TOP_LEVEL_NAMESPACE_;\n")
+  #  file(APPEND ${CPM_PREPROC_NS_HEADER_FILE} "#define CPM_NAMESPACE CPM_TOP_LEVEL_NAMESPACE_\n")
+  #endif()
+
   # Append a definition to the cpm header file that must be included to
   # correct for the namespace modifications.
-  file(APPEND ${CPM_NS_HEADER_FILE} "using namespace ${__CPM_PATH_UNID};\n")
+  file(APPEND ${CPM_USING_NS_HEADER_FILE} "using namespace ${__CPM_PATH_UNID};\n")

   # Append target to pre-existing libraries.
   set(CPM_LIBRARIES ${CPM_LIBRARIES} "${CPM_TARGET_NAME}" PARENT_SCOPE)
@@ -690,7 +683,7 @@
 #
 #  # Append a definition to the cpm header file that must be included to
 #  # correct for the namespace modifications.
-#  file(APPEND ${CPM_NS_HEADER_FILE} "using namespace ${path_unid};\n")
+#  file(APPEND ${CPM_USING_NS_HEADER_FILE} "using namespace ${path_unid};\n")
 #
 #  # Setup imported library.
 #  set(lib_suffix ${CMAKE_STATIC_LIBRARY_SUFFIX})


COMP: Update superbuild version of netcdf to 4.7.4

--- SuperBuild/CMake/External_netcdf.cmake
+++ SuperBuild/CMake/External_netcdf.cmake
@@ -36,8 +36,8 @@

 ExternalProject_Add(NETCDF
   PREFIX NETCDF
-  URL "https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-c-4.7.3.tar.gz"
-  URL_MD5 9e1d7f13c2aef921c854d87037bcbd96
+  URL "https://www.unidata.ucar.edu/downloads/netcdf/ftp/netcdf-c-4.7.4.tar.gz"
+  URL_MD5 3e0a97e6abb9a989f8a8a2e395473597
   SOURCE_DIR ${NETCDF_SB_SRC}
   BINARY_DIR ${NETCDF_SB_BUILD_DIR}
   INSTALL_DIR ${SB_INSTALL_PREFIX}


ENH: updating superbuild ITK tag towards 4.1rc1

--- SuperBuild/External_ITKv4.cmake
+++ SuperBuild/External_ITKv4.cmake
@@ -14,7 +14,7 @@
 set(proj ITK)  ## Use ITK convention of calling it ITK
 set(ITK_REPOSITORY git://itk.org/ITK.git)
 set(ITK_DIR ${CMAKE_INSTALL_PREFIX}/lib/cmake/ITK-4.1)
-set(ITK_TAG_COMMAND GIT_TAG d7e88542006581d855d34fead3b0a76665d860bc ) # Tue Dec 27 nightly-master
+set(ITK_TAG_COMMAND GIT_TAG 1914ce858e8396768e692f07fc4c5fca31c603ea ) # Fri Jan 27 nightly-master
 set(WrapITK_DIR ${CMAKE_INSTALL_PREFIX}/lib/cmake/ITK-4.0/WrapITK)

 file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/${proj}-build/CMakeCacheInit.txt" "${ep_languages_cache}\n${ep_common_cache}" )


ENH: Update ITK version

ENH: Update ITK version

--- SuperBuild/External_ITKv4.cmake
+++ SuperBuild/External_ITKv4.cmake
@@ -168,8 +168,8 @@
     )
   ### --- End Project specific additions
   set(${proj}_REPOSITORY ${git_protocol}://itk.org/ITK.git)
-  set(${proj}_GIT_TAG 74155d0b7059fde841832c92a9aec78c79bc68c0)
-  set(ITK_VERSION_ID ITK-4.8)
+  set(${proj}_GIT_TAG c5138560409c75408ff76bccff938f21e5dcafc6)
+  set(ITK_VERSION_ID ITK-4.12)

   ExternalProject_Add(${proj}
     GIT_REPOSITORY ${${proj}_REPOSITORY}


Fix path to cmake config for vtk-8.2

Fix path to cmake config for vtk-8.2

--- SuperBuild/External_ITKv5.cmake
+++ SuperBuild/External_ITKv5.cmake
@@ -138,7 +138,7 @@
     if( USE_VTK STREQUAL "ON" )
       list(APPEND ${proj}_CMAKE_OPTIONS -DModule_ITKVtkGlue:BOOL=ON)
       if( USE_SYSTEM_VTK STREQUAL "OFF" )
-        list(APPEND ${proj}_CMAKE_OPTIONS -DVTK_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}/VTK-install/lib/cmake/vtk-6.2 )
+        list(APPEND ${proj}_CMAKE_OPTIONS -DVTK_DIR:PATH=${CMAKE_CURRENT_BINARY_DIR}/VTK-install/lib64/cmake/vtk-8.2 )
       endif()
       list(APPEND ${proj}_DEPENDENCIES VTK)
     else()


Updating ITK superbuild towards v4.8.1 pending release

Change-Id: I382f994d50092fe8cd6d5308da789cbd4925bb8a

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

 # NOTE: it is very important to update the ITK_DIR path with the ITK version
-set(ITK_TAG_COMMAND GIT_TAG 0ccdf6f19d36b812c77bfc4fa4ff9dfd6243ac66) # after v4.7.2 release
+set(ITK_TAG_COMMAND GIT_TAG 3eaba76ccecb4128e91073b1e45058675a365025)
+# right before v4.8.1 release

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


BUG: Could not find QWT library on Windows

The name of the library was configured for UNIX systems, not for Windows.

--- SuperBuild/External_QWT.cmake
+++ SuperBuild/External_QWT.cmake
@@ -80,7 +80,11 @@
       ${${proj}_DEPENDENCIES}
   )
   set(${extProjName}_DIR ${EXTERNAL_BINARY_DIRECTORY}/${proj}-build)
-  set(${extProjName}_LIBRARY ${EXTERNAL_BINARY_DIRECTORY}/${proj}-install/lib/libqwt.a)
+  if(WIN32)
+    set(${extProjName}_LIBRARY ${EXTERNAL_BINARY_DIRECTORY}/${proj}-install/lib/qwt.lib)
+  else()
+    set(${extProjName}_LIBRARY ${EXTERNAL_BINARY_DIRECTORY}/${proj}-install/lib/libqwt.a)
+  endif()
   set(${extProjName}_INCLUDE_DIR ${EXTERNAL_BINARY_DIRECTORY}/${proj}-install/include)
 else()
   if(${USE_SYSTEM_${extProjName}})


fixed the caseing in sigma_setup.cmake.

fixed the caseing in sigma_setup.cmake.

--- sigma_setup.cmake
+++ sigma_setup.cmake
@@ -4,12 +4,12 @@
 set(MODEL_COMPILER scmodel)

 macro(sigma_setup)
-    file(COPY ${CONAN_sigma-engine_ROOT}/data DESTINATION ${CMAKE_BINARY_DIR})
-    if(DEFINED CONAN_BIN_DIRS_sigma-engine)
-        set(SHADER_COMPILER "${CONAN_BIN_DIRS_sigma-engine}/${SHADER_COMPILER}")
-        set(TEXTURE_COMPILER "${CONAN_BIN_DIRS_sigma-engine}/${TEXTURE_COMPILER}")
-        set(MATERIAL_COMPILER "${CONAN_BIN_DIRS_sigma-engine}/${MATERIAL_COMPILER}")
-        set(MODEL_COMPILER "${CONAN_BIN_DIRS_sigma-engine}/${MODEL_COMPILER}")
+    file(COPY ${CONAN_SIGMA-ENGINE_ROOT}/data DESTINATION ${CMAKE_BINARY_DIR})
+    if(DEFINED CONAN_BIN_DIRS_SIGMA-ENGINE)
+        set(SHADER_COMPILER "${CONAN_BIN_DIRS_SIGMA-ENGINE}/${SHADER_COMPILER}")
+        set(TEXTURE_COMPILER "${CONAN_BIN_DIRS_SIGMA-ENGINE}/${TEXTURE_COMPILER}")
+        set(MATERIAL_COMPILER "${CONAN_BIN_DIRS_SIGMA-ENGINE}/${MATERIAL_COMPILER}")
+        set(MODEL_COMPILER "${CONAN_BIN_DIRS_SIGMA-ENGINE}/${MODEL_COMPILER}")
     endif()
 endmacro(sigma_setup)

@@ -27,7 +27,7 @@
         COMMAND ${MODEL_COMPILER} --output="${CMAKE_BINARY_DIR}/data" ${MODEL_SOURCES}
         WORKING_DIRECTORY ${package_root_path}
         SOURCES ${SHADER_SOURCES} ${TEXTURE_SOURCES} ${MATERIAL_SOURCES} ${MODEL_SOURCES})
-    if(NOT DEFINED CONAN_BIN_DIRS_sigma-engine)
+    if(NOT DEFINED CONAN_BIN_DIRS_SIGMA-ENGINE)
         add_dependencies(${package_name} scshader sctexture scmaterial scmodel)
     endif()
 endfunction(add_resource_package)


Graph Control 6.0.0-rc1 Release Candidate 1

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

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


Split off 8.10.2

Split off 8.10.2

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 10 )
-set ( HPCC_POINT 1 )
+set ( HPCC_POINT 3 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Bumped version number

Bumped version number

--- version.cmake
+++ version.cmake
@@ -1 +1 @@
-set(autowiring_VERSION 0.3.0)
+set(autowiring_VERSION 0.3.1)


update

update

--- modules/fmt.cmake
+++ modules/fmt.cmake
@@ -5,6 +5,8 @@
   if(MSVC)
     # C4127: conditional expression is constant
     set_source_files_properties(${SOURCE_FILES} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS} /wd4127")
+  else()
+    set_source_files_properties(${SOURCE_FILES} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS} -Wno-gnu-string-literal-operator-template")
   endif()
   add_library(fmt ${SOURCE_FILES})
   target_include_directories(fmt PUBLIC "fmt/include")


Update hunter_save_to_cache (use hunter_create_deps_info)

--- cmake/modules/hunter_save_to_cache.cmake
+++ cmake/modules/hunter_save_to_cache.cmake
@@ -1,8 +1,8 @@
-# Copyright (c) 2015, Ruslan Baratov
+# Copyright (c) 2015-2016, Ruslan Baratov
 # All rights reserved.

 include(hunter_create_cache_meta_directory)
-include(hunter_get_dependency_list)
+include(hunter_create_deps_info)
 include(hunter_internal_error)
 include(hunter_lock_directory)
 include(hunter_make_directory)
@@ -97,16 +97,61 @@
   ### create cache.sha1 file in home (before saving dependencies)
   file(WRITE "${HUNTER_PACKAGE_HOME_DIR}/cache.sha1" "${archive_sha1}")

-  # Get package dependencies.
-  # List sorted alphabetically and saved in format:
+  # Get dependencies (non-recursively)
+  if(has_component)
+    hunter_get_package_deps(
+        PACKAGE "${HUNTER_PACKAGE_NAME}"
+        COMPONENT "${HUNTER_PACKAGE_COMPONENT}"
+        RESULT basic_dependencies
+    )
+  else()
+    hunter_get_package_deps(
+        PACKAGE "${HUNTER_PACKAGE_NAME}"
+        RESULT basic_dependencies
+    )
+  endif()
+  set(basic_deps_info "${cache_meta_dir}/basic-deps.info")
+  set(basic_deps_info_temp "${cache_meta_dir}/basic-deps.info-TEMP")
+
+  file(WRITE "${basic_deps_info_temp}" "")
+  list(LENGTH basic_dependencies len)
+  if(len EQUAL 0)
+    hunter_status_debug("No basic dependencies for package: ${human_readable}")
+  else()
+    hunter_status_debug("Basic dependencies for package: ${human_readable}")
+    foreach(x ${basic_dependencies})
+      hunter_status_debug("  ${x}")
+      file(APPEND "${basic_deps_info_temp}" "${x}")
+    endforeach()
+  endif()
+
+  if(EXISTS "${basic_deps_info}")
+    # TEMP and saved should be the same
+    file(SHA1 "${basic_deps_info}" basic_deps_info_sha1)
+    file(SHA1 "${basic_deps_info_temp}" basic_deps_info_temp_sha1)
+    string(
+        COMPARE EQUAL
+        "${basic_deps_info_sha1}" "${basic_deps_info_temp_sha1}"
+        is_equal
+    )
+    if(NOT is_equal)
+      hunter_internal_error("Basic dependencies info mismatch")
+    endif()
+  else()
+    file(RENAME "${basic_deps_info_temp}" "${basic_deps_info}")
+  endif()
+
+  # Get all package dependencies recursively.
+  # List sorted alphabetically and saved in file in format:
   #   <package> <component> <sha1>
   #   <package> <sha1>
-  hunter_get_dependency_list(dep_list)
+  hunter_create_deps_info(temp_deps_info)
+  if(NOT EXISTS "${temp_deps_info}")
+    hunter_internal_error("Dependency list is not created: ${temp_deps_info}")
+  endif()

   # Save package dependencies to file
-  set(deps_info "${HUNTER_PACKAGE_HOME_DIR}/deps.info")
-  file(WRITE "${deps_info}" "")
-
+  file(STRINGS "${temp_deps_info}" dep_list)
   list(LENGTH dep_list len)
   if(len EQUAL 0)
     hunter_status_debug("No dependencies for package: ${human_readable}")
@@ -114,13 +159,13 @@
     hunter_status_debug("Dependencies for package: ${human_readable}")
     foreach(dependency_entry ${dep_list})
       hunter_status_debug("  ${dependency_entry}")
-      file(APPEND "${deps_info}" "${dependency_entry}\n")
     endforeach()
   endif()

-  file(SHA1 "${deps_info}" deps_sha1)
+  file(SHA1 "${temp_deps_info}" deps_sha1)
   hunter_make_directory("${cache_meta_dir}" "${deps_sha1}" cache_meta_dir)
-  file(COPY "${deps_info}" DESTINATION "${cache_meta_dir}")
+  set(deps_info "${cache_meta_dir}/deps.info")
+  file(RENAME "${temp_deps_info}" "${deps_info}")

   hunter_status_debug("Dependencies saved: ${deps_info}")


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -557,19 +557,10 @@
 				message(FATAL_ERROR "no valgrind detected")
 			endif()
 		endif()
-		if(DEFINED ENV{CMAKI_EMULATOR})
-			add_test(
-				NAME ${_TEST_NAME}_emulated_test
-				COMMAND "$ENV{CMAKI_EMULATOR}" $<TARGET_FILE:${_TEST_NAME}${_TEST_SUFFIX}> --gmock_verbose=error
-				WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${BUILD_TYPE}
-				CONFIGURATIONS ${BUILD_TYPE})
-		else()
-			add_test(
-				NAME ${_TEST_NAME}_normal_test
-				COMMAND $<TARGET_FILE:${_TEST_NAME}${_TEST_SUFFIX}> --gmock_verbose=error
-				WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${BUILD_TYPE}
-				CONFIGURATIONS ${BUILD_TYPE})
-		endif()
+		NAME ${_TEST_NAME}_unittest
+		COMMAND bash cmaki_emulator.sh $<TARGET_FILE:${_TEST_NAME}> --gmock_verbose=error
+		WORKING_DIRECTORY $ENV{CMAKI_INSTALL}
+		CONFIGURATIONS ${BUILD_TYPE})
 	endforeach()
 	generate_vcxproj_user(${_TEST_NAME})


Use cmake_parse_arguments in CetMake

Use cmake_parse_arguments in CetMake

Replace usage of cet_parse_args with builtin cmake_parse_arguments
module.

--- Modules/CetMake.cmake
+++ Modules/CetMake.cmake
@@ -69,9 +69,8 @@
 #   X systems).
 #
 ########################################################################
-cmake_policy(VERSION 3.0.1) # We've made this work for 3.0.1.
-
-include(CetParseArgs)
+
+include(CMakeParseArguments)
 include(InstallSource)

 # - ??
@@ -97,7 +96,12 @@
 macro(cet_make_exec cet_exec_name)
   set(cet_exec_file_list "")
   set(cet_make_exec_usage "USAGE: cet_make_exec( <executable name> [SOURCE <exec source>] [LIBRARIES <library list>] )")
-  cet_parse_args( CME "LIBRARIES;SOURCE" "USE_BOOST_UNIT;NO_INSTALL" ${ARGN})
+  cmake_parse_arguments(CME
+    "USE_BOOST_UNIT;NO_INSTALL"
+    ""
+    "LIBRARIES;SOURCE"
+    ${ARGN})
+  set(CME_DEFAULT_ARGS "${CME_UNPARSED_ARGUMENTS}")

   # there are no default arguments
   if(CME_DEFAULT_ARGS)
@@ -151,7 +155,12 @@
 macro(cet_make)
   set(cet_file_list "")
   set(cet_make_usage "USAGE: cet_make( [LIBRARY_NAME <library name>] [LIBRARIES <library list>] [SUBDIRS <source subdirectory>] [EXCLUDE <ignore these files>] )")
-  cet_parse_args(CM "LIBRARY_NAME;LIBRARIES;SUBDIRS;EXCLUDE" "WITH_STATIC_LIBRARY;USE_PRODUCT_NAME" ${ARGN})
+  cmake_parse_arguments(CM
+    "WITH_STATIC_LIBRARY;USE_PRODUCT_NAME"
+    ""
+    "LIBRARY_NAME;LIBRARIES;SUBDIRS;EXCLUDE"
+    ${ARGN})
+  set(CM_DEFAULT_ARGS "${CM_UNPARSED_ARGUMENTS}")

   # there are no default arguments
   if(CM_DEFAULT_ARGS)
@@ -304,7 +313,13 @@
 macro(cet_make_library)
   set(cet_file_list "")
   set(cet_make_library_usage "USAGE: cet_make_library( LIBRARY_NAME <library name> SOURCE <source code list> [LIBRARIES <library link list>] )")
-  cet_parse_args( CML "LIBRARY_NAME;LIBRARIES;SOURCE" "WITH_STATIC_LIBRARY;NO_INSTALL" ${ARGN})
+  cmake_parse_arguments(CML
+    "WITH_STATIC_LIBRARY;NO_INSTALL"
+    ""
+    "LIBRARY_NAME;LIBRARIES;SOURCE"
+    ${ARGN})
+  set(CML_DEFAULT_ARGS "${CML_UNPARSED_ARGUMENTS}")
+
   # there are no default arguments
   if(CML_DEFAULT_ARGS)
     message(FATAL_ERROR  " undefined arguments ${CML_DEFAULT_ARGS} \n ${cet_make_library_usage}")
@@ -381,7 +396,12 @@

 # - Scripts
 macro(cet_script)
-  cet_parse_args(CS "DEPENDENCIES" "GENERATED;NO_INSTALL;REMOVE_EXTENSIONS" ${ARGN})
+  cmake_parse_arguments(CS
+    "GENERATED;NO_INSTALL;REMOVE_EXTENSIONS"
+    ""
+    "DEPENDENCIES"
+    ${ARGN})
+
   if(CS_GENERATED)
     set(CS_SOURCE_DIR ${CMAKE_CURRENT_BINARY_DIR})
   else()


cpack: Raise version number.

cpack: Raise version number.

--- CPackConfig.cmake
+++ CPackConfig.cmake
@@ -13,7 +13,7 @@
 ### versions
 set(CPACK_PACKAGE_VERSION_MAJOR "0")
 set(CPACK_PACKAGE_VERSION_MINOR "4")
-set(CPACK_PACKAGE_VERSION_PATCH "90")
+set(CPACK_PACKAGE_VERSION_PATCH "91")
 set(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")


Remove comments from config file

Remove comments from config file

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,11 +1,3 @@
-## This file should be placed in the root directory of your project.
-## Then modify the CMakeLists.txt file in the root directory of your
-## project to incorporate the testing dashboard.
-##
-## # The following are required to submit to the CDash dashboard:
-##   ENABLE_TESTING()
-##   INCLUDE(CTest)
-
 set(CTEST_PROJECT_NAME "hasm")
 set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")


enable our own ctest dashboard

enable our own ctest dashboard

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -5,9 +5,9 @@
 ##   ENABLE_TESTING()
 ##   INCLUDE(CTest)
 set(CTEST_PROJECT_NAME "Eigen")
-set(CTEST_NIGHTLY_START_TIME "05:00:00 UTC")
+set(CTEST_NIGHTLY_START_TIME "06:00:00 UTC")

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


force requirement to rebuild the automatic dynamic module instantiation (should fix #15)


Some minor cleaning up [ci skip].

Some minor cleaning up [ci skip].

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -1016,7 +1016,7 @@
     # Strip the library of all its local symbols

     IF(RELEASE_MODE)
-        ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD
+        ADD_CUSTOM_COMMAND(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
                            COMMAND strip -x lib/${DEST_FILENAME})
     ENDIF()

@@ -1041,7 +1041,7 @@
         # Strip the Qt plugin of all its local symbols

         IF(RELEASE_MODE)
-            ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD
+            ADD_CUSTOM_COMMAND(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
                                COMMAND strip -x ${PLUGIN_DEST_DIRNAME}/${PLUGIN_FILENAME})
         ENDIF()

@@ -1119,13 +1119,13 @@
 MACRO(OS_X_DEPLOY_QT_FILE ORIG_DIRNAME DEST_DIRNAME FILENAME)
     # Copy the Qt file

-    ADD_CUSTOM_COMMAND(TARGET ${PROJECT_NAME} POST_BUILD
+    ADD_CUSTOM_COMMAND(TARGET ${CMAKE_PROJECT_NAME} POST_BUILD
                        COMMAND ${CMAKE_COMMAND} -E copy ${ORIG_DIRNAME}/${FILENAME}
                                                         ${DEST_DIRNAME}/${FILENAME})

     # Clean up the Qt file

-    OS_X_CLEAN_UP_FILE_WITH_QT_LIBRARIES(${PROJECT_NAME} ${DEST_DIRNAME} ${FILENAME})
+    OS_X_CLEAN_UP_FILE_WITH_QT_LIBRARIES(${CMAKE_PROJECT_NAME} ${DEST_DIRNAME} ${FILENAME})
 ENDMACRO()

 #===============================================================================


[exotica_core] Upgrade standard to C++14 for new pybind11 version

--- exotica_core/cmake/exotica.cmake
+++ exotica_core/cmake/exotica.cmake
@@ -1,7 +1,8 @@
 cmake_minimum_required(VERSION 3.0.2)

-message(STATUS "Compiling using c++ 11 (required by EXOTica)")
-add_compile_options(-std=c++11 -Wfloat-conversion -Wall -Wno-maybe-uninitialized)
+message(STATUS "Compiling using C++ 14 (required by EXOTica)")
+set(CMAKE_CXX_STANDARD 14)
+add_compile_options(-Wfloat-conversion -Wall -Wno-maybe-uninitialized)
 # add_compile_options(-Werror)

 # MoveIt Core Robot Model isnt aligned :'(


Revert "Add sb_configure_options"

Revert "Add sb_configure_options"

This reverts commit 4971c9f50910d29b31ef7802eaad8e7b0f10897d.

--- CI/main_superbuild.cmake
+++ CI/main_superbuild.cmake
@@ -103,7 +103,7 @@
 set ( PROJECT_SOURCE_DIR "${OTB_SOURCE_DIR}" )

 set (CONFIGURE_OPTIONS  "")
-include ( "${CMAKE_CURRENT_LIST_DIR}/sb_configure_options.cmake" )
+include ( "${CMAKE_CURRENT_LIST_DIR}/configure_option.cmake" )
 # SuperBuild case : one more configure option
 set ( CONFIGURE_OPTIONS
   "${CONFIGURE_OPTIONS}-DCMAKE_PREFIX_PATH=${XDK_PATH};")


ENH: ExternalData: Match content links only for known hashes

--- CMake/ExternalData.cmake
+++ CMake/ExternalData.cmake
@@ -436,7 +436,7 @@
 function(_ExternalData_arg_find_files pattern regex)
   file(GLOB globbed RELATIVE "${top_src}" "${top_src}/${pattern}*")
   foreach(entry IN LISTS globbed)
-    string(REGEX REPLACE "^(${regex})(\\.[^.]*|)$" "\\1;\\2" tuple "${entry}")
+    string(REGEX REPLACE "^(${regex})(\\.md5|)$" "\\1;\\2" tuple "${entry}")
     list(LENGTH tuple len)
     if("${len}" EQUAL 2)
       list(GET tuple 0 relname)


gitlab: Set the fpu flags correctly

gitlab: Set the fpu flags correctly

Use the zephyr_cc_option function instead of modifying CMAKE vars.

BUG=b:178731498
TEST=zmake testall in docker container
BRANCH=None

Signed-off-by: Jeremy Bettis <4df7b5147fee087dca33c181f288ee7dbf56e022@google.com>
Change-Id: I97e6481e9ba3fb865e7ad49e029dfa50731a7fe6
Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/ec/+/3140779
Commit-Queue: Jeremy Bettis <4df7b5147fee087dca33c181f288ee7dbf56e022@chromium.org>
Tested-by: Jeremy Bettis <4df7b5147fee087dca33c181f288ee7dbf56e022@chromium.org>
Reviewed-by: Yuval Peress <50dc11c009bd4d7e9d9d15a383c1743ce5ee82ef@chromium.org>

--- zephyr/fpu.cmake
+++ zephyr/fpu.cmake
@@ -36,7 +36,5 @@
    supports SSE and is known to work (there may be other good choices).
 ]]
 if(DEFINED CONFIG_SOC_POSIX)
-  set(FLOAT_FLAGS "-msse -mfpmath=sse -march=pentium4")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${FLOAT_FLAGS}")
-  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${FLOAT_FLAGS}")
+  zephyr_cc_option(-msse -mfpmath=sse -march=pentium4)
 endif()


Update openvdb library

Update openvdb library

--- openvdb.cmake
+++ openvdb.cmake
@@ -20,9 +20,9 @@
 include (glfw)

 external_source (openvdb
-    0.97.0
-    openvdb_0_97_0_library.tgz
-    2b15d03a9654ea40d138dc6e17729eb6
+    0.98.0
+    openvdb_0_98_0_library.tgz
+    7ea84d14165b57857d14014038d717b3
     http://www.openvdb.org/download)

 set (OPENVDB_VALUES


added finding package of zlib

added finding package of zlib

--- FindQuaZip.cmake
+++ FindQuaZip.cmake
@@ -7,7 +7,8 @@

 get_filename_component(QuaZip_LIBRARY_DIR ${QuaZip_LIBRARY} PATH)

-include_directories("${QT_PLUGINS_DIR}/../src/3rdparty/zlib/")
+FIND_PACKAGE(zlib REQUIRED)
+# include_directories("${QT_PLUGINS_DIR}/../src/3rdparty/zlib/")
 # Add include directories needed to use QtSOAP.
 INCLUDE_DIRECTORIES(${QuaZip_INCLUDE_DIR})


Tweak FindWiiuse.cmake

Tweak FindWiiuse.cmake

--- FindWiiuse.cmake
+++ FindWiiuse.cmake
@@ -3,52 +3,30 @@
 # WIIUSE
 # _____________________________________________________________________________

-# Assume not found.
-SET(WIIUSE_FOUND FALSE)
-
 # PATH ________________________________________________________________________

-if (WIIUSE_PATH)
-    # Set by user...
-else (WIIUSE_PATH)
-    find_path(WIIUSE_PATH include/wiiuse.h
-	HINTS ${WIIUSE_ROOT} $ENV{WIIUSE_ROOT}
-        /usr/local/
-        /usr/
-    )
-endif (WIIUSE_PATH)
-
-if (WIIUSE_PATH)
-    set (WIIUSE_FOUND TRUE)
-endif (WIIUSE_PATH)
+if(NOT WIIUSE_PATH)
+  find_path(WIIUSE_PATH include/wiiuse.h
+            HINTS ${WIIUSE_ROOT} $ENV{WIIUSE_ROOT}
+            /usr/local/
+            /usr/)
+endif()

 # HEADERS _____________________________________________________________________

-if (WIIUSE_FOUND)
-    set (WIIUSE_INCLUDE_DIR ${WIIUSE_PATH}/include)
-    mark_as_advanced (WIIUSE_INCLUDE_DIR)
-endif (WIIUSE_FOUND)
+if(WIIUSE_PATH)
+  set (WIIUSE_INCLUDE_DIR ${WIIUSE_PATH}/include)
+  mark_as_advanced (WIIUSE_INCLUDE_DIR)
+endif()

 # STATIC LIBRARY ______________________________________________________________

-if (WIIUSE_FOUND)
-    find_library(WIIUSE_LIBRARIES NAMES wiiuse
-	HINTS ${WIIUSE_ROOT} $ENV{WIIUSE_ROOT}
-        PATHS ${WIIUSE_PATH}/lib
-    )
-    mark_as_advanced(WIIUSE_LIBRARIES)
-endif (WIIUSE_FOUND)
-
-# FOUND _______________________________________________________________________
-if(WIIUSE_FOUND)
-    message(STATUS
-      "Found WiiUse in ${WIIUSE_INCLUDE_DIR};${WIIUSE_LIBRARIES}")
+if(WIIUSE_PATH)
+  find_library(WIIUSE_LIBRARIES NAMES wiiuse
+               HINTS ${WIIUSE_ROOT} $ENV{WIIUSE_ROOT}
+               PATHS ${WIIUSE_PATH}/lib)
+  mark_as_advanced(WIIUSE_LIBRARIES)
 endif()

-if (NOT WIIUSE_FOUND)
-   if (WIIUSE_FIND_REQUIRED)
-      message(FATAL_ERROR "Could not find Wiiuse")
-   endif (WIIUSE_FIND_REQUIRED)
-endif (NOT WIIUSE_FOUND)
-
-
+find_package_handle_standard_args(Wiiuse DEFAULT_MSG
+                                  WIIUSE_LIBRARIES WIIUSE_INCLUDE_DIR)


make/devices.cmake: added PYTHON3 property

This is necessary because when using add_target_fpga_boards the python3
env var is not set and the dependencies are not met, hence the
compilation fails because of missing path when importing python libs

Signed-off-by: Alessandro Comodi <622632e70fd6771cf2cd943f69e5e51ab66adef8@antmicro.com>


Support for Catalyst in Realm-JS

Support for Catalyst in Realm-JS

Realm JS uses ios.toolchain.cmake to generate an xcode project that
builds the realm-js library.  This requires that additional platform
flags are added in order to support Catalyst.

--- tools/cmake/ios.toolchain.cmake
+++ tools/cmake/ios.toolchain.cmake
@@ -11,9 +11,10 @@

 set(CMAKE_OSX_SYSROOT "iphoneos")

-set(CMAKE_XCODE_ATTRIBUTE_SUPPORTED_PLATFORMS "iphoneos iphonesimulator")
-set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")
+set(CMAKE_XCODE_ATTRIBUTE_SUPPORTED_PLATFORMS "iphoneos iphonesimulator macosx")
+set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator;-maccatalyst")
 set(CMAKE_XCODE_ATTRIBUTE_IPHONEOS_DEPLOYMENT_TARGET "9.0")
+set(CMAKE_XCODE_ATTRIBUTE_MACOSX_DEPLOYMENT_TARGET "10.15")
 set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
 set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGNING_REQUIRED "NO")


Remove obsolete file

Remove obsolete file

--- adm_local/cmake_files/FindPARMETIS.cmake
+++ adm_local/cmake_files/FindPARMETIS.cmake
@@ -1,173 +0,0 @@
-# Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
-#
-# This library is free software; you can redistribute it and/or
-# modify it under the terms of the GNU Lesser General Public
-# License as published by the Free Software Foundation; either
-# version 2.1 of the License.
-#
-# This library is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
-# Lesser General Public License for more details.
-#
-# You should have received a copy of the GNU Lesser General Public
-# License along with this library; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
-#
-# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
-#
-
-# ------
-
-MESSAGE(STATUS "Check for parmetis ...")
-
-# ------
-
-IF(PARMETIS_IS_MANDATORY STREQUAL 0)
-  SET(PARMETIS_IS_MANDATORY 0)
-  SET(PARMETIS_IS_OPTIONAL 1)
-ENDIF(PARMETIS_IS_MANDATORY STREQUAL 0)
-IF(PARMETIS_IS_OPTIONAL STREQUAL 0)
-  SET(PARMETIS_IS_MANDATORY 1)
-  SET(PARMETIS_IS_OPTIONAL 0)
-ENDIF(PARMETIS_IS_OPTIONAL STREQUAL 0)
-IF(NOT PARMETIS_IS_MANDATORY AND NOT PARMETIS_IS_OPTIONAL)
-  SET(PARMETIS_IS_MANDATORY 0)
-  SET(PARMETIS_IS_OPTIONAL 1)
-ENDIF(NOT PARMETIS_IS_MANDATORY AND NOT PARMETIS_IS_OPTIONAL)
-
-# ------
-
-SET(MED_ENABLE_PARMETIS 1)
-IF(WITHOUT_PARMETIS OR WITH_PARMETIS STREQUAL 0)
-  SET(MED_ENABLE_PARMETIS 0)
-  MESSAGE(STATUS "parmetis disabled from command line.")
-ENDIF(WITHOUT_PARMETIS OR WITH_PARMETIS STREQUAL 0)
-
-# ------
-
-IF(MED_ENABLE_PARMETIS)
-  IF(WITH_PARMETIS)
-    SET(PARMETIS_ROOT_USER ${WITH_PARMETIS})
-  ENDIF(WITH_PARMETIS)
-  IF(NOT PARMETIS_ROOT_USER)
-    SET(PARMETIS_ROOT_USER $ENV{PARMETISDIR})
-  ENDIF(NOT PARMETIS_ROOT_USER)
-  IF(NOT PARMETIS_ROOT_USER)
-    SET(PARMETIS_ROOT_USER $ENV{PARMETIS_ROOT})
-  ENDIF(NOT PARMETIS_ROOT_USER)
-  IF(NOT PARMETIS_ROOT_USER)
-    SET(PARMETIS_ROOT_USER $ENV{PARMETISHOME})
-  ENDIF(NOT PARMETIS_ROOT_USER)
-ENDIF(MED_ENABLE_PARMETIS)
-
-# ------
-
-IF(MED_ENABLE_PARMETIS)
-  IF(NOT PARMETIS_ROOT_USER)
-    FIND_PROGRAM(PARMETIS_MAINBINARY parmetis)
-    IF(PARMETIS_MAINBINARY)
-      MESSAGE(STATUS "parmetis found: ${PARMETIS_MAINBINARY}")
-      IF(PARMETIS_MAINBINARY STREQUAL /usr/bin/parmetis)
-      ELSE(PARMETIS_MAINBINARY STREQUAL /usr/bin/parmetis)
-	SET(PARMETIS_ROOT_USER ${PARMETIS_MAINBINARY})
-	GET_FILENAME_COMPONENT(PARMETIS_ROOT_USER ${PARMETIS_ROOT_USER} PATH)
-	GET_FILENAME_COMPONENT(PARMETIS_ROOT_USER ${PARMETIS_ROOT_USER} PATH)
-      ENDIF(PARMETIS_MAINBINARY STREQUAL /usr/bin/parmetis)
-    ELSE(PARMETIS_MAINBINARY)
-      MESSAGE(STATUS "parmetis not found, try to use WITH_PARMETIS option or PARMETIS_ROOT (or PARMETISHOME or PARMETISDIR) environment variable")
-      SET(MED_ENABLE_PARMETIS 0)
-    ENDIF(PARMETIS_MAINBINARY)
-  ENDIF(NOT PARMETIS_ROOT_USER)
-ENDIF(MED_ENABLE_PARMETIS)
-
-# ------
-
-IF(MED_ENABLE_PARMETIS)
-  IF(PARMETIS_ROOT_USER)
-    SET(PARMETIS_FIND_PATHS_OPTION NO_DEFAULT_PATH)
-  ELSE(PARMETIS_ROOT_USER)
-    SET(PARMETIS_FIND_PATHS_OPTION)
-  ENDIF(PARMETIS_ROOT_USER)
-ENDIF(MED_ENABLE_PARMETIS)
-
-# ------
-
-IF(MED_ENABLE_PARMETIS)
-  IF(PARMETIS_ROOT_USER)
-    SET(PARMETIS_INCLUDE_PATHS ${PARMETIS_ROOT_USER})
-  ELSE(PARMETIS_ROOT_USER)
-    SET(PARMETIS_INCLUDE_PATHS)
-  ENDIF(PARMETIS_ROOT_USER)
-  SET(PARMETIS_INCLUDE_TO_FIND parmetis.h)
-  FIND_PATH(PARMETIS_INCLUDE_DIR ${PARMETIS_INCLUDE_TO_FIND} PATHS ${PARMETIS_INCLUDE_PATHS} ${PARMETIS_FIND_PATHS_OPTION})
-  IF(PARMETIS_INCLUDE_DIR)
-    IF(PARMETIS_ROOT_USER)
-      SET(PARMETIS_INCLUDES -I${PARMETIS_INCLUDE_DIR})# to remove
-      SET(PARMETIS_INCLUDE_DIRS ${PARMETIS_INCLUDE_DIR})
-    ENDIF(PARMETIS_ROOT_USER)
-    SET(PARMETIS_INCLUDES -D_PARMETISUSEDLL_ ${PARMETIS_INCLUDES})# to remove
-    SET(PARMETIS_DEFINITIONS "-D_PARMETISUSEDLL_")
-    MESSAGE(STATUS "${PARMETIS_INCLUDE_TO_FIND} found in ${PARMETIS_INCLUDE_DIR}")
-  ELSE(PARMETIS_INCLUDE_DIR)
-    SET(MED_ENABLE_PARMETIS 0)
-    IF(PARMETIS_ROOT_USER)
-      MESSAGE(STATUS "${PARMETIS_INCLUDE_TO_FIND} not found in ${PARMETIS_INCLUDE_PATHS}, check your PARMETIS installation.")
-    ELSE(PARMETIS_ROOT_USER)
-      MESSAGE(STATUS "${PARMETIS_INCLUDE_TO_FIND} not found on system, try to use WITH_PARMETIS option or PARMETIS_ROOT (or PARMETISHOME or PARMETISDIR) environment variable.")
-    ENDIF(PARMETIS_ROOT_USER)
-  ENDIF(PARMETIS_INCLUDE_DIR)
-ENDIF(MED_ENABLE_PARMETIS)
-
-# ----
-
-IF(MED_ENABLE_PARMETIS)
-  IF(PARMETIS_ROOT_USER)
-    IF(WINDOWS)
-      SET(PARMETIS_LIB_PATHS ${PARMETIS_ROOT_USER} ${PARMETIS_ROOT_USER})
-    ELSE(WINDOWS)
-      SET(PARMETIS_LIB_PATHS ${PARMETIS_ROOT_USER})
-    ENDIF(WINDOWS)
-  ELSE(PARMETIS_ROOT_USER)
-    SET(PARMETIS_LIB_PATHS)
-  ENDIF(PARMETIS_ROOT_USER)
-  IF(WINDOWS)
-    IF(CMAKE_BUILD_TYPE STREQUAL Release)
-      FIND_LIBRARY(PARMETIS_LIB parmetisdll PATHS ${PARMETIS_LIB_PATHS} ${PARMETIS_FIND_PATHS_OPTION})
-      FIND_LIBRARY(PARMETIS_LIB2 metisdll PATHS ${PARMETIS_LIB_PATHS} ${PARMETIS_FIND_PATHS_OPTION})
-    ELSE(CMAKE_BUILD_TYPE STREQUAL Release)
-      FIND_LIBRARY(PARMETIS_LIB parmetisddll PATHS ${PARMETIS_LIB_PATHS} ${PARMETIS_FIND_PATHS_OPTION})
-      FIND_LIBRARY(PARMETIS_LIB2 metisddll PATHS ${PARMETIS_LIB_PATHS} ${PARMETIS_FIND_PATHS_OPTION})
-    ENDIF(CMAKE_BUILD_TYPE STREQUAL Release)
-  ELSE(WINDOWS)
-    FIND_LIBRARY(PARMETIS_LIB parmetis PATHS ${PARMETIS_LIB_PATHS} ${PARMETIS_FIND_PATHS_OPTION})
-    FIND_LIBRARY(PARMETIS_LIB2 metis PATHS ${PARMETIS_LIB_PATHS} ${PARMETIS_FIND_PATHS_OPTION})
-  ENDIF(WINDOWS)
-  SET(PARMETIS_LIBS)
-  IF(PARMETIS_LIB)
-    SET(PARMETIS_LIBS ${PARMETIS_LIBS} ${PARMETIS_LIB} ${PARMETIS_LIB2})
-    MESSAGE(STATUS "parmetis lib found: ${PARMETIS_LIB}")
-  ELSE(PARMETIS_LIB)
-    SET(MED_ENABLE_PARMETIS 0)
-    IF(PARMETIS_ROOT_USER)
-      MESSAGE(STATUS "parmetis lib not found in ${PARMETIS_LIB_PATHS}, check your PARMETIS installation.")
-    ELSE(PARMETIS_ROOT_USER)
-      MESSAGE(STATUS "parmetis lib not found on system, try to use WITH_PARMETIS option or PARMETIS_ROOT (or PARMETISHOME or PARMETISDIR) environment variable.")
-    ENDIF(PARMETIS_ROOT_USER)
-  ENDIF(PARMETIS_LIB)
-ENDIF(MED_ENABLE_PARMETIS)
-
-# ----
-
-IF(MED_ENABLE_PARMETIS)
-  SET(PARMETIS_CPPFLAGS ${PARMETIS_INCLUDES} -DMED_ENABLE_PARMETIS)# to remove
-  SET(PARMETIS_DEFINITIONS "${PARMETIS_DEFINITIONS} -DMED_ENABLE_PARMETIS")
-ELSE(MED_ENABLE_PARMETIS)
-  IF(PARMETIS_IS_MANDATORY)
-    MESSAGE(FATAL_ERROR "parmetis not found ... mandatory ... abort")
-  ELSE(PARMETIS_IS_MANDATORY)
-    MESSAGE(STATUS "parmetis not found ... optional ... disabled")
-  ENDIF(PARMETIS_IS_MANDATORY)
-ENDIF(MED_ENABLE_PARMETIS)
-
-# ------


Compress if statement.

Compress if statement.

--- CMake/CXX11.cmake
+++ CMake/CXX11.cmake
@@ -39,10 +39,10 @@

 # Sets the appropriate flag to enable C++11 support
 macro(enable_cxx11)
-    if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-    elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
-      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
-    endif()
+  if(CMAKE_COMPILER_IS_GNUCXX OR
+     CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR
+     CMAKE_CXX_COMPILER_ID STREQUAL "Intel")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+  endif()
 endmacro()


swap 3.2 <-> default CTestConfig.cmake file

--HG--
branch : 3.2

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -4,14 +4,10 @@
 ## # The following are required to uses Dart and the Cdash dashboard
 ##   ENABLE_TESTING()
 ##   INCLUDE(CTest)
-set(CTEST_PROJECT_NAME "Eigen")
+set(CTEST_PROJECT_NAME "Eigen3.2")
 set(CTEST_NIGHTLY_START_TIME "00:00:00 UTC")

 set(CTEST_DROP_METHOD "http")
 set(CTEST_DROP_SITE "manao.inria.fr")
-set(CTEST_DROP_LOCATION "/CDash/submit.php?project=Eigen")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=Eigen3.2")
 set(CTEST_DROP_SITE_CDASH TRUE)
-set(CTEST_PROJECT_SUBPROJECTS
-Official
-Unsupported
-)


enabled testing for oriented curves

enabled testing for oriented curves

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -16,7 +16,7 @@

 set(CTEST_PROJECT_NAME "Embree")
 set(CTEST_NIGHTLY_START_TIME "22:00:00 UTC")
-set(TEST_MODELS_HASH 43b47744615483c54a4724c02d61da7b2056bb10)
+set(TEST_MODELS_HASH b3f2d0ad821c54cfc5e55fa44a91a1d3dbef6d51)

 IF (NOT CTEST_DROP_SITE)
   set(CTEST_DROP_METHOD "http")


linux qt5 update

linux qt5 update


Update iOS architectures

Update iOS architectures

--- cmake/utility/sugar_set_xcode_ios_sdkroot.cmake
+++ cmake/utility/sugar_set_xcode_ios_sdkroot.cmake
@@ -37,6 +37,13 @@
       "iPhone Developer"
   )

+  set_target_properties(
+      ${X_TARGET}
+      PROPERTIES
+      XCODE_ATTRIBUTE_ARCHS
+      "$(ARCHS_STANDARD_INCLUDING_64_BIT)"
+  )
+
   if(X_PLIST)
     sugar_status_print("Info.plist source: ${X_PLIST}")
     sugar_test_file_exists("${X_PLIST}")


Reactivated ToFNrrdImageWriterTest

Reactivated ToFNrrdImageWriterTest

--- Modules/ToFHardware/Testing/files.cmake
+++ Modules/ToFHardware/Testing/files.cmake
@@ -22,7 +22,7 @@
   mitkToFImageRecorderTest.cpp
   mitkToFImageRecorderFilterTest.cpp
   mitkToFImageWriterTest.cpp
-  #mitkToFNrrdImageWriterTest.cpp
+  mitkToFNrrdImageWriterTest.cpp
   mitkToFOpenCVImageGrabberTest.cpp
   #mitkKinectControllerTest.cpp
   #mitkKinectDeviceTest.cpp


BUG: Updated Superbuild issues. Extension_DIR was set when using Superbuild even if FiberViewerLight was not build as an extension

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -35,6 +35,9 @@
   set( USE_SYSTEM_ITK CACHE "Build using an externally defined version of ITK" ON )
   set( USE_SYSTEM_VTK CACHE "Build using an externally defined version of VTK" ON )
   set( USE_SYSTEM_SlicerExecutionModel CACHE "Build using an externally defined version of SlicerExecutionModel" ON )
+  set( EXTENSION_SUPERBUILD_BINARY_DIR_VALUE EXTENSION_SUPERBUILD_BINARY_DIR:PATH=${${EXTENSION_NAME}_BINARY_DIR} )
+else()
+  set( EXTENSION_SUPERBUILD_BINARY_DIR_VALUE "" )
 endif()

 option(USE_SYSTEM_ITK "Build using an externally defined version of ITK" OFF)
@@ -223,14 +226,12 @@
     -DMIDAS_PACKAGE_EMAIL:STRING=${MIDAS_PACKAGE_EMAIL}
     -DMIDAS_PACKAGE_API_KEY:STRING=${MIDAS_PACKAGE_API_KEY}
     -DEXTENSION_NAME:STRING=${EXTENSION_NAME}
-    -DEXTENSION_SUPERBUILD_BINARY_DIR:PATH=${${EXTENSION_NAME}_BINARY_DIR}
     -DDTIAtlasFiberAnalyzer_SuperBuild:BOOL=OFF
+    ${EXTENSION_SUPERBUILD_BINARY_DIR_VALUE}
      ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
      ${COMMON_EXTERNAL_PROJECT_ARGS}
     # Slicer
     -DSlicer_DIR:PATH=${Slicer_DIR}
-#    -DSlicerExecutionModel_DEFAULT_CLI_RUNTIME_OUTPUT_DIRECTORY:PATH=${SlicerExecutionModel_DEFAULT_CLI_RUNTIME_OUTPUT_DIRECTORY}
-#    -DSlicerExecutionModel_DEFAULT_CLI_INSTALL_RUNTIME_DESTINATION:PATH=${SlicerExecutionModel_DEFAULT_CLI_INSTALL_RUNTIME_DESTINATION}
 )

 ## Force rebuilding of the main subproject every time building from super structure


Fix -Wno-uninitialized disable

Fix -Wno-uninitialized disable

--- indra/cmake/00-Common.cmake
+++ indra/cmake/00-Common.cmake
@@ -132,7 +132,7 @@
   # This is pure rubbish; I wish there was another way.
   #
   if(${CXX_VERSION_NUMBER} LESS 420)
-    set(CMAKE_CXX_FLAGS "-Wno-deprecated -Wno-unitialized -Wno-unused-variable -Wno-unused-function ${CMAKE_CXX_FLAGS}")
+    set(CMAKE_CXX_FLAGS "-Wno-deprecated -Wno-uninitialized -Wno-unused-variable -Wno-unused-function ${CMAKE_CXX_FLAGS}")
   endif (${CXX_VERSION_NUMBER} LESS 420)

   # gcc 4.3 and above don't like the LL boost and also


ENH: superbuild: macro to handle config variables

--- Superbuild/CMake/SuperBuild_Macro.cmake
+++ Superbuild/CMake/SuperBuild_Macro.cmake
@@ -72,3 +72,12 @@
   endforeach()
 endmacro(INCLUDE_SUPERBUILD_DEPENDENCIES)

+# Macro to add a configure variable to ${proj}_SB_CONFIG (var type: string)
+macro(ADD_SUPERBUILD_CONFIG_VAR var)
+  if(DEFINED ${var})
+    list(APPEND ${proj}_SB_CONFIG
+      -D${var}:STRING=${${var}}
+      )
+  endif()
+endmacro(ADD_SUPERBUILD_CONFIG_VAR)
+


Fixed order of linking.

Fixed order of linking.

--- tools/cmake/ANHExecutable.cmake
+++ tools/cmake/ANHExecutable.cmake
@@ -26,9 +26,9 @@
 # Complex Example Usage:
 #########################
 # include(ANHExecutable)
-#
+#
 # AddANHExecutable(ZoneServer
-#     DEPENDS
+#     DEPENDS
 #         Utils
 #         Common
 #     SOURCES # disables source lookup and uses this list
@@ -38,8 +38,8 @@
 #     ADDITIONAL_SOURCE_DIRS
 #         ${CMAKE_CURRENT_SOURCE_DIR}/glue_files
 #     ADDITIONAL_INCLUDE_DIRS
-#         ${LUA_INCLUDE_DIR}
-#         ${NOISE_INCLUDE_DIR}
+#         ${LUA_INCLUDE_DIR}
+#         ${NOISE_INCLUDE_DIR}
 #         ${TOLUAPP_INCLUDE_DIR}
 #     DEBUG_LIBRARIES
 #         ${LUA_LIBRARY_DEBUG}
@@ -58,7 +58,7 @@

 FUNCTION(AddANHExecutable name)
     PARSE_ARGUMENTS(ANHEXE "DEPENDS;SOURCES;TEST_SOURCES;ADDITIONAL_LIBRARY_DIRS;ADDITIONAL_INCLUDE_DIRS;ADDITIONAL_SOURCE_DIRS;DEBUG_LIBRARIES;OPTIMIZED_LIBRARIES" "" ${ARGN})
-
+
     # get information about the data passed in, helpful for checking if a value
     # has been set or not
     LIST(LENGTH ANHEXE_DEBUG_LIBRARIES _debug_list_length)
@@ -67,37 +67,37 @@
     LIST(LENGTH ANHEXE_ADDITIONAL_INCLUDE_DIRS _includes_list_length)
 	LIST(LENGTH ANHEXE_ADDITIONAL_LIBRARY_DIRS _librarydirs_list_length)
     LIST(LENGTH ANHEXE_ADDITIONAL_SOURCE_DIRS _sources_list_length)
-
+
     # load up all of the source and header files for the project
-    FILE(GLOB_RECURSE SOURCES *.cc *.cpp *.h)
+    FILE(GLOB_RECURSE SOURCES *.cc *.cpp *.h)
     FILE(GLOB_RECURSE HEADERS *.h)
     FILE(GLOB_RECURSE TEST_SOURCES *_unittest.h *_unittest.cc *_unittest.cpp mock_*.h)
     FILE(GLOB_RECURSE BINDINGS *_binding.h *_binding.cc *_binding.cpp)
-
+
     FOREACH(__source_file ${SOURCES})
         STRING(REGEX REPLACE "(${CMAKE_CURRENT_SOURCE_DIR}/)((.*/)*)(.*)" "\\2" __source_dir "${__source_file}")
         STRING(REGEX REPLACE "(${CMAKE_CURRENT_SOURCE_DIR}/${__source_dir})(.*)" "\\2" __source_filename "${__source_file}")
-
+
         STRING(REPLACE "/" "\\\\" __source_group "${__source_dir}")
         SOURCE_GROUP("${__source_group}" FILES ${__source_file})
-
+
         # check to see if this application specifies an explicit main file
         STRING(SUBSTRING ${__source_filename} 0 5 __main_check)
         STRING(COMPARE EQUAL "main." "${__main_check}" __is_main)
         IF(__is_main)
             SET(MAIN_EXISTS ${__source_file})
-        ENDIF()
+        ENDIF()
     ENDFOREACH()
-
+
     list(REMOVE_ITEM SOURCES ${BINDINGS})
-
+
     # if unit tests have been specified break out the project into a library to make it testable
-    LIST(LENGTH SOURCES _sources_list_length)
-    IF(_sources_list_length GREATER 1)
+    LIST(LENGTH SOURCES _sources_list_length)
+    IF(_sources_list_length GREATER 1)
         SET(__project_library "${name}_lib")
-
+
         list(REMOVE_ITEM SOURCES ${MAIN_EXISTS})
-
+
         AddANHLibrary(${name}
             DEPENDS
                 ${ANHEXE_DEPENDS}
@@ -116,16 +116,17 @@
             OPTIMIZED_LIBRARIES
                 ${ANHEXE_OPTIMIZED_LIBRARIES}
         )
-
+
         set(SOURCES ${MAIN_EXISTS})
         list(APPEND ANHEXE_DEPENDS ${__project_library})
+        list(REVERSE ANHEXE_DEPENDS)
     ENDIF()
-
+
     # if python bindings have been specified generate a module
     LIST(LENGTH BINDINGS _bindings_list_length)
-    IF(_bindings_list_length GREATER 0)
+    IF(_bindings_list_length GREATER 0)
         set(__project_binding_library "${name}_binding")
-
+
         AddANHPythonBinding(${name}
             DEPENDS
                 ${ANHEXE_DEPENDS}
@@ -140,34 +141,34 @@
             OPTIMIZED_LIBRARIES
                 ${ANHEXE_OPTIMIZED_LIBRARIES}
         )
-
+
         list(APPEND ANHEXE_DEPENDS ${__project_binding_library})
     ENDIF()
-
+
     IF(_includes_list_length GREATER 0)
         INCLUDE_DIRECTORIES(${ANHEXE_ADDITIONAL_INCLUDE_DIRS})
     ENDIF()
-
+
 	IF(_librarydirs_list_length GREATER 0)
         LINK_DIRECTORIES(${ANHEXE_ADDITIONAL_LIBRARY_DIRS})
     ENDIF()
-
+
     # Create the executable and link to it's library
     ADD_EXECUTABLE(${name} ${SOURCES})
-
+
     IF(_project_deps_list_length GREATER 0)
         TARGET_LINK_LIBRARIES(${name} ${ANHEXE_DEPENDS})
         ADD_DEPENDENCIES(${name} DEPS)
     ENDIF()
-
-    IF(_debug_list_length GREATER 0)
+
+    IF(_debug_list_length GREATER 0)
         FOREACH(__library ${ANHEXE_DEBUG_LIBRARIES})
             if (NOT ${__library} MATCHES ".*NOTFOUND")
                 TARGET_LINK_LIBRARIES(${name} debug ${__library})
             endif()
         ENDFOREACH()
     ENDIF()
-
+
     IF(_optimized_list_length GREATER 0)
         FOREACH(__library ${ANHEXE_OPTIMIZED_LIBRARIES})
             if (NOT ${__library} MATCHES ".*NOTFOUND")
@@ -175,14 +176,14 @@
             endif()
         ENDFOREACH()
     ENDIF()
-
+
     IF(WIN32)
         # Link to some standard windows libs that all projects need.
     	TARGET_LINK_LIBRARIES(${name} "winmm.lib" "ws2_32.lib")
-
+
         # Create a custom built user configuration so that the "run in debug mode"
         # works without any issues.
-    	CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/tools/windows/user_project.vcxproj.in
+    	CONFIGURE_FILE(${PROJECT_SOURCE_DIR}/tools/windows/user_project.vcxproj.in
     	    ${CMAKE_CURRENT_BINARY_DIR}/${name}.vcxproj.user @ONLY)
     ELSE()
         # On unix platforms put the built runtimes in the /bin directory.


doc: exclude benchmarks for doxygen docs (#1208)

The classes in the benchmarks are not interesting for the user-facing
reference documentation.

--- cmake/EnableDoxygen.cmake
+++ cmake/EnableDoxygen.cmake
@@ -67,6 +67,7 @@
         set(DOXYGEN_EXCLUDE_PATTERNS
             "*/google/cloud/spanner/README.md"
             "*/google/cloud/spanner/internal/*"
+            "*/google/cloud/spanner/benchmarks/*"
             "*/google/cloud/spanner/testing/*"
             "*/google/cloud/spanner/*_test.cc")


Don't /OPT:REF on static libraries.

Don't /OPT:REF on static libraries.

--- cmake/HalleyProject.cmake
+++ cmake/HalleyProject.cmake
@@ -65,8 +65,8 @@
 			set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF")
 			set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF")
 			set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF")
-			set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF")
-			set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF")
+			set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG")
+			set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
 		endif()

 		set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /DEBUG:FASTLINK")


turn off metal

turn off metal

--- cmake/HalleyProject.cmake
+++ cmake/HalleyProject.cmake
@@ -143,7 +143,7 @@

 if (APPLE)
   set(USE_AVFOUNDATION 1)
-  set(USE_METAL 1)
+#  set(USE_METAL 1)
 endif ()

 # Libs


Fix SOURCE_DIR definition for downloading ITKDoxygenTAG.

Was previously empty.

--- cmake/ITKDoxygenTAG.cmake
+++ cmake/ITKDoxygenTAG.cmake
@@ -3,7 +3,8 @@

 add_custom_command( OUTPUT ${ITKDoxygenTAG_DIR}/InsightDoxygen.tag
-  COMMAND ${CMAKE_COMMAND} -DITKDoxygenTAG_TEMP_DIR="${ITKDoxygenTAG_TEMP_DIR}" -P ${ITKv4Doc_SOURCE_DIR}/cmake/DownloadDoxygenTAG.cmake
+  COMMAND ${CMAKE_COMMAND} -DITKDoxygenTAG_TEMP_DIR="${ITKDoxygenTAG_TEMP_DIR}"
+  -P ${CMAKE_CURRENT_SOURCE_DIR}/cmake/DownloadDoxygenTAG.cmake
   COMMAND ${CMAKE_COMMAND} -E chdir "${ITKDoxygenTAG_TEMP_DIR}" ${CMAKE_COMMAND} -E tar xjf "${ITKDoxygenTAG_TEMP_DIR}/InsightDoxygen.tag.tar.bz2"
   COMMAND ${CMAKE_COMMAND} -E rename "${ITKDoxygenTAG_TEMP_DIR}" "${ITKDoxygenTAG_DIR}"
   COMMAND ${CMAKE_COMMAND} -E remove_directory "${ITKDoxygenTAG_TEMP_DIR}"


Use find_library command also on Windows

--- cmake/NewbaseConfig.cmake
+++ cmake/NewbaseConfig.cmake
@@ -17,5 +17,6 @@
         set(Newbase_LIBRARIES  ${Newbase_SHARED_LIB})
     endif()
 else()
-    set(Newbase_LIBRARIES  ${INSTALLED_PREFIX}/lib/Newbase.lib)
+    find_library (Newbase_STATIC_LIB "Newbase.lib" ${INSTALLED_PREFIX})
+    set(Newbase_LIBRARIES  ${Newbase_STATIC_LIB})
 endif()


Reinstate ITK 3.20.1 as ITK 4.3 has to be tested.

--- cmake/externals/ITK.cmake
+++ cmake/externals/ITK.cmake
@@ -10,10 +10,10 @@
 set(proj ITK)
 set(proj_DEPENDENCIES)

-#set(${proj}_URL "http://sourceforge.net/projects/itk/files/itk/3.20/InsightToolkit-3.20.1.tar.gz")
-#set(${proj}_URL_MD5 "90342ffa78bd88ae48b3f62866fbf050")
+set(${proj}_URL "http://sourceforge.net/projects/itk/files/itk/3.20/InsightToolkit-3.20.1.tar.gz")
+set(${proj}_URL_MD5 "90342ffa78bd88ae48b3f62866fbf050")

-set(${proj}_URL "http://sourceforge.net/projects/itk/files/itk/4.3/InsightToolkit-4.3.1.tar.gz")
+#set(${proj}_URL "http://sourceforge.net/projects/itk/files/itk/4.3/InsightToolkit-4.3.1.tar.gz")

 set(git_protocol http)

@@ -48,7 +48,7 @@
 BINARY_DIR ${proj}-build
 #PREFIX ${proj}${ep_suffix}
 ${location_args}
-#URL_MD5 ${${proj}_URL_MD5}
+URL_MD5 ${${proj}_URL_MD5}
 UPDATE_COMMAND ""
 INSTALL_COMMAND ""
 #CMAKE_GENERATOR ${gen}