KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

 # 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

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


Prevent Windows build from requiring dynamic Boost libraries (courtesy of Mario Emmenlauer).

--- components/native/bf-cpp/jace/Prerequisites.cmake
+++ components/native/bf-cpp/jace/Prerequisites.cmake
@@ -48,7 +48,7 @@
 #        for Boost Thread specifically.

 message(STATUS "-- Boost:")
-set(Boost_USE_STATIC_LIBS OFF)
+set(Boost_USE_STATIC_LIBS ON)
 set(Boost_USE_MULTITHREADED ON)
 set(Boost_ADDITIONAL_VERSIONS "1.37" "1.37.0" "1.37.1" "1.38" "1.38.0" "1.38.1"
   "1.39" "1.39.0" "1.39.1" "1.40" "1.40.0" "1.40.1" "1.41" "1.41.0" "1.41.1"


COMP: Merge branch 'bug-19094-exclude_SpectroCam_from_build_all'

--- CMake/BuildConfigurations/All.cmake
+++ CMake/BuildConfigurations/All.cmake
@@ -19,6 +19,7 @@
   SOFA_PLUGINS
   SOFA_PLUGINS_DIR
   SUPERBUILD
+  BiophotonicsHardware_SpectroCam

   KWSTYLE
   MICROBIRD_TRACKER


Don't apply visibility settings to statically built samples. Fixes linking problems with Xcode 4 and iOS. (Backporting to 1.7)

--- CMake/Utils/OgreConfigTargets.cmake
+++ CMake/Utils/OgreConfigTargets.cmake
@@ -282,14 +282,16 @@
       endif()
     endif(NOT OGRE_BUILD_PLATFORM_IPHONE)
   endif (APPLE)
-  if (CMAKE_COMPILER_IS_GNUCXX)
-    # add GCC visibility flags to shared library build
-    set_target_properties(${SAMPLENAME} PROPERTIES COMPILE_FLAGS "${OGRE_GCC_VISIBILITY_FLAGS}")
-    set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN}")
-    set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN}")
-    # disable "lib" prefix on Unix
-    set_target_properties(${SAMPLENAME} PROPERTIES PREFIX "")
-  endif (CMAKE_COMPILER_IS_GNUCXX)
+  if(NOT OGRE_STATIC)
+    if (CMAKE_COMPILER_IS_GNUCXX)
+      # add GCC visibility flags to shared library build
+      set_target_properties(${SAMPLENAME} PROPERTIES COMPILE_FLAGS "${OGRE_GCC_VISIBILITY_FLAGS}")
+      set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN}")
+      set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN}")
+      # disable "lib" prefix on Unix
+      set_target_properties(${SAMPLENAME} PROPERTIES PREFIX "")
+    endif (CMAKE_COMPILER_IS_GNUCXX)
+  endif()
   if (OGRE_INSTALL_SAMPLES)
 	ogre_install_target(${SAMPLENAME} ${OGRE_SAMPLE_PATH} FALSE)
   endif()


ios: fix newline-at-end-of-file

ios: fix newline-at-end-of-file

--- CMake/ios.simulator.toolchain.cmake
+++ CMake/ios.simulator.toolchain.cmake
@@ -105,4 +105,4 @@

 message(STATUS "-- gcc found at: ${CMAKE_C_COMPILER}")
 message(STATUS "-- g++ found at: ${CMAKE_CXX_COMPILER}")
-message(STATUS "-- Using iOS SDK: ${CMAKE_OSX_SYSROOT}")+message(STATUS "-- Using iOS SDK: ${CMAKE_OSX_SYSROOT}")


BUG: Some type are disable when unsigned long is wrapped

--- Wrapping/WrapITK/Modules/SegmentationAndThreshold/wrap_itkRelabelComponentImageFilter.cmake
+++ Wrapping/WrapITK/Modules/SegmentationAndThreshold/wrap_itkRelabelComponentImageFilter.cmake
@@ -4,7 +4,6 @@

   # Wrap from ulong to other integral types, even if ulong isn't wrapped. This
   # is needed to be able to use image from watershed image filter.
-  IF(NOT WRAP_unsigned_long)
-    WRAP_IMAGE_FILTER_COMBINATIONS("UL" "${WRAP_ITK_INT}")
-  ENDIF(NOT WRAP_unsigned_long)
+  REMOVE(types "${WRAP_ITK_INT}" UL)
+  WRAP_IMAGE_FILTER_COMBINATIONS("UL" "${types}")
 END_WRAP_CLASS()


Update find-libusb-windows.cmake

Update find-libusb-windows.cmake

--- recipes/librealsense/find-libusb-windows.cmake
+++ recipes/librealsense/find-libusb-windows.cmake
@@ -1,5 +1,3 @@
-diff --git a/CMake/libusb_config.cmake b/CMake/libusb_config.cmake
-index ca221ca66d..cf48bc547f 100644
 --- a/CMake/libusb_config.cmake
 +++ b/CMake/libusb_config.cmake
 @@ -1,5 +1,5 @@


Update CMake to support Mac OS X 10.14 (#3218)

--- cmake/Modules/ThirdpartyToolchain.cmake
+++ cmake/Modules/ThirdpartyToolchain.cmake
@@ -123,6 +123,13 @@
       "PYARROW_WITH_PARQUET=1"
       "PYARROW_PARALLEL=")

+    if (APPLE)
+      # Since 10.14, the XCode toolchain only accepts libc++ as the
+      # standard library. This should also work on macOS starting from 10.9.
+      set(pyarrow_ENV ${pyarrow_ENV} "CXXFLAGS='-stdlib=libc++'")
+      set(pyarrow_ENV ${pyarrow_ENV} "MACOSX_DEPLOYMENT_TARGET=10.7")
+    endif()
+
     ExternalProject_Add(pyarrow_ext
       PREFIX external/pyarrow
       DEPENDS arrow_ep


gcc: Enable address-of-packed-member warnings

After having resolved all of the instances of packed member access,
re-enable the warning.

Fixes #16587.

Signed-off-by: Carles Cufi <853081dc8dca4fe6a7e3c984752718b5db36e060@nordicsemi.no>

--- cmake/compiler/gcc/compiler_flags.cmake
+++ cmake/compiler/gcc/compiler_flags.cmake
@@ -41,14 +41,6 @@

 # not portable
 check_set_compiler_property(APPEND PROPERTY warning_base -Wexpansion-to-defined)
-
-if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9.1.0")
-  set_compiler_property(APPEND PROPERTY warning_base
-                        # FIXME: Remove once #16587 is fixed
-                        -Wno-address-of-packed-member
-  )
-endif()
-

 # GCC options for warning levels 1, 2, 3, when using `-DW=[1|2|3]`
 set_compiler_property(PROPERTY warning_dw_1


Do not disable Vc for non-x86_64 architectures

Vc is already disabled by default and does support
amd64, which will not match the current condition.
This check only has an effect when all=ON is passed
to CMake, and in this case we ought to respect what
was requested on the command line as well.

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -296,12 +296,6 @@
   set(x11_defvalue OFF)
 endif()

-#---Vc supports only x86_64 architecture-------------------------------------------------------
-if (NOT CMAKE_SYSTEM_PROCESSOR STREQUAL "x86_64")
-  message(STATUS "Vc does not support ${CMAKE_SYSTEM_PROCESSOR}. Support for Vc disabled.")
-  set(vc_defvalue OFF)
-endif()
-
 #---Options depending of CMake Generator-------------------------------------------------------
 if( CMAKE_GENERATOR STREQUAL Ninja)
    set(fortran_defvalue OFF)


Changed the default for davix option (CMake)

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -49,10 +49,17 @@
   set(x11_defvalue OFF)
   set(memstat_defvalue OFF)
   set(explicitlink_defvalue ON)
+  set(davix_defvalue OFF)
+elseif(MACOSX)
+  set(x11_defvalue ON)
+  set(memstat_defvalue ON)
+  set(explicitlink_defvalue ON)
+  set(davix_defvalue OFF)
 else()
   set(x11_defvalue ON)
   set(memstat_defvalue ON)
   set(explicitlink_defvalue ON)
+  set(davix_defvalue ON)
 endif()

 ROOT_BUILD_OPTION(afdsmgrd OFF "Dataset manager for PROOF-based analysis facilities")
@@ -79,7 +86,7 @@
 ROOT_BUILD_OPTION(clarens ON "Clarens RPC support, optionally used by PROOF")
 ROOT_BUILD_OPTION(cling OFF "Enable new CLING C++ interpreter")
 ROOT_BUILD_OPTION(cocoa OFF "Use native Cocoa/Quartz graphics backend (MacOS X only)")
-ROOT_BUILD_OPTION(davix ON "DavIx library for HTTP/WEBDAV access")
+ROOT_BUILD_OPTION(davix ${davix_defvalue} "DavIx library for HTTP/WEBDAV access")
 ROOT_BUILD_OPTION(dcache ON "dCache support, requires libdcap from DESY")
 ROOT_BUILD_OPTION(exceptions ON "Turn on compiler exception handling capability")
 ROOT_BUILD_OPTION(explicitlink ${explicitlink_defvalue} "Explicitly link with all dependent libraries")


mongoose 5.6

mongoose 5.6

--- cmake/projects/mongoose/hunter.cmake
+++ cmake/projects/mongoose/hunter.cmake
@@ -19,6 +19,17 @@
     7f2af8da196c29a60f597b67cde5706d0acb20a0
 )

+hunter_add_version(
+    PACKAGE_NAME
+    mongoose
+    VERSION
+    5.6
+    URL
+    https://github.com/hunter-packages/mongoose/archive/5.6-p.tar.gz
+    SHA1
+    cbb313403e742f09cbbcf1c1a62c13e156c6b803
+)
+
 hunter_pick_scheme(DEFAULT url_sha1_cmake)
 hunter_cacheable(mongoose)
 hunter_download(PACKAGE_NAME mongoose)


For CI - fix MinGW AppVeyor CI to get the correct git version number.

--- CMake/Modules/GetUrhoRevision.cmake
+++ CMake/Modules/GetUrhoRevision.cmake
@@ -22,9 +22,11 @@

 # Get Urho3D library revision number

+# Use the same commit-ish used by CI server to describe the repository
 if (DEFINED ENV{TRAVIS_COMMIT})
-    # Use the same commit-ish used by CI server to describe the repository
     set (ARG $ENV{TRAVIS_COMMIT})
+elseif (DEFINED ENV{APPVEYOR})
+    set (ARG $ENV{APPVEYOR_REPO_COMMIT})
 else ()
     set (ARG --dirty)
 endif ()


Make sure to avoid conda on static builds for glog

Former-commit-id: a696fd1b8130ced3e2be7a999ac3057d8ed544e4

--- cmake-modules/BuildDependency.cmake
+++ cmake-modules/BuildDependency.cmake
@@ -4,10 +4,13 @@
         set(install_dir ${install_dir}/${dep_name})
         mark_as_advanced(install_dir)
     endif()
+    include(cmake-modules/GetNumThreads.cmake)
+    get_num_threads(num_threads)

     execute_process( COMMAND  ${CMAKE_COMMAND} -E make_directory ${build_dir})
     execute_process(
             COMMAND  ${CMAKE_COMMAND}
+            --parallel ${num_threads}
             -DCMAKE_INSTALL_PREFIX:PATH=${install_dir}
             -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
             -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
@@ -17,46 +20,47 @@
             ${PROJECT_SOURCE_DIR}/cmake-modules/external_${dep_name}
             WORKING_DIRECTORY ${build_dir}
             RESULT_VARIABLE config_result
-            ERROR_VARIABLE  config_error
+            #ERROR_VARIABLE  config_error
     )
-    if(${config_result})
+    if(config_result)
         message(STATUS "Got non-zero exit code while configuring ${dep_name}")
         message(STATUS  "build_dir         : ${build_dir}")
         message(STATUS  "install_dir       : ${install_dir}")
         message(STATUS  "extra_flags       : ${extra_flags}")
         message(STATUS  "config_result     : ${config_result}")
-        message(STATUS  "Output saved to ${build_dir}/stdout and ${build_dir}/stderr")
-        file(APPEND ${build_dir}/stdout ${config_result})
-        file(APPEND ${build_dir}/stderr ${config_error})
-        if(DMRG_PRINT_INFO)
-            message(STATUS "Contents of stdout: \n  ${config_result} \n")
-            message(STATUS "Contents of stderr: \n  ${config_error}  \n")
-        endif()
+        #message(STATUS  "Output saved to ${build_dir}/stdout and ${build_dir}/stderr")
+        #file(APPEND ${build_dir}/stdout ${config_result})
+        #file(APPEND ${build_dir}/stderr ${config_error})
+        #if(DMRG_PRINT_INFO OR CMAKE_VERBOSE_MAKEFILE OR DMRG_PRINT_CHECKS)
+        #    message(STATUS "Contents of stdout: \n  ${config_result} \n")
+        #    message(STATUS "Contents of stderr: \n  ${config_error}  \n")
+        #endif()
+        message(FATAL_ERROR "Failed to configure ${dep_name}")
     endif()

-    include(cmake-modules/GetNumThreads.cmake)
-    get_num_threads(num_threads)
+
     set(ENV{CMAKE_BUILD_PARALLEL_LEVEL} ${num_threads})
     execute_process(COMMAND  ${CMAKE_COMMAND} --build . --parallel ${num_threads}
             WORKING_DIRECTORY "${build_dir}"
             RESULT_VARIABLE build_result
-            ERROR_VARIABLE  build_error
+            #ERROR_VARIABLE  build_error
             )

-    if(${build_result})
+    if(build_result)
         message(STATUS "Got non-zero exit code while building ${dep_name}")
         message(STATUS  "build_dir         : ${build_dir}")
         message(STATUS  "install_dir       : ${install_dir}")
         message(STATUS  "extra_flags       : ${extra_flags}")
         message(STATUS  "build_result      : ${build_result}")
-        message(STATUS  "Output saved to ${build_dir}/stdout and ${build_dir}/stderr")
-        file(APPEND ${build_dir}/stdout ${build_result})
-        file(APPEND ${build_dir}/stderr ${build_error})
-        if(DMRG_PRINT_INFO)
-            message(STATUS "Contents of stdout: \n  ${build_result} \n")
-            message(STATUS "Contents of stderr: \n  ${build_error} \n")
-        endif()
+#        message(STATUS  "Output saved to ${build_dir}/stdout and ${build_dir}/stderr")
+#        file(APPEND ${build_dir}/stdout ${build_result})
+#        file(APPEND ${build_dir}/stderr ${build_error})
+#        if(DMRG_PRINT_INFO OR CMAKE_VERBOSE_MAKEFILE OR DMRG_PRINT_CHECKS)
+#            message(STATUS "Contents of stdout: \n  ${build_result} \n")
+#            message(STATUS "Contents of stderr: \n  ${build_error} \n")
+#        endif()
+        message(FATAL_ERROR "Failed to build ${dep_name}")
     endif()

     # Copy the install manifest if it exists


removed: unnecessary cmake-policy tinkering

--- cmake/DCS08961_SetupVariables.cmake
+++ cmake/DCS08961_SetupVariables.cmake
@@ -57,8 +57,3 @@
   endif()
   add_definitions("-DUKACHULLDCS_ALL_TRACE")
 endif()
-
-if(POLICY CMP0046)
-  message(STATUS "Policy 'CMP0046' set to 'OLD'")
-  cmake_policy(SET CMP0046 OLD)
-endif()


Fix target platform detection for x64 MinGW

--- cmake/OpenCVDetectCXXCompiler.cmake
+++ cmake/OpenCVDetectCXXCompiler.cmake
@@ -93,13 +93,13 @@
         execute_process(COMMAND ${CMAKE_CXX_COMPILER} -dumpmachine
                   OUTPUT_VARIABLE CMAKE_OPENCV_GCC_TARGET_MACHINE
                   OUTPUT_STRIP_TRAILING_WHITESPACE)
-        if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "64")
+        if(CMAKE_OPENCV_GCC_TARGET_MACHINE MATCHES "amd64|x86_64|AMD64")
             set(MINGW64 1)
         endif()
     endif()
 endif()

-if(CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*" OR CMAKE_GENERATOR MATCHES "Visual Studio.*Win64")
+if(MINGW64 OR CMAKE_SYSTEM_PROCESSOR MATCHES "amd64.*|x86_64.*|AMD64.*" OR CMAKE_GENERATOR MATCHES "Visual Studio.*Win64")
     set(X86_64 1)
 elseif(CMAKE_SYSTEM_PROCESSOR MATCHES "i686.*|i386.*|x86.*|amd64.*|AMD64.*")
     set(X86 1)


let -mXXX flags to to Vc_ARCHITECTURE_FLAGS instead of the global CMAKE_CXX_FLAGS

--- cmake/OptimizeForArchitecture.cmake
+++ cmake/OptimizeForArchitecture.cmake
@@ -418,7 +418,7 @@
             endif(_good)
          endforeach(_flag)
          foreach(_flag ${_enable_vector_unit_list})
-            AddCompilerFlag("-m${_flag}" CXX_RESULT _result)
+            AddCompilerFlag("-m${_flag}" CXX_RESULT _result CXX_FLAGS Vc_ARCHITECTURE_FLAGS)
             if(_result)
                set(_header FALSE)
                if(_flag STREQUAL "sse3")


Qt5Qml add missing libraries

Qt5Qml add missing libraries

--- cmake/Qt5Qml_ZZZ_HunterPlugin.cmake
+++ cmake/Qt5Qml_ZZZ_HunterPlugin.cmake
@@ -20,9 +20,12 @@
   message(FATAL_ERROR "Expected target Qt5::Qml")
 endif()

-if(IOS AND TARGET Qt5::QTcpServerConnection)
+if(TARGET Qt5::QTcpServerConnection)
   # No Qt5::QTcpServerConnection target in Qt 5.6
-  _qt_cmake_extra_helpers_add_interface(Qt5::Qml Qt5::QTcpServerConnection)
+
+  if(IOS OR APPLE)
+    _qt_cmake_extra_helpers_add_interface(Qt5::Qml Qt5::QTcpServerConnection)
+  endif()
 endif()

 include(


QtGStreamerConfig.cmake: Take debian multiarch into account when defining the include path.

--- cmake/modules/FindQtGStreamer.cmake
+++ cmake/modules/FindQtGStreamer.cmake
@@ -60,14 +60,20 @@
                          QTGSTREAMER_UTILS_LIBRARY QTGSTREAMER_INCLUDE_DIR)
     else()
         # Targets file found. Use imported QtGStreamer target and relative include path.
-        # We assume that this file has been installed in $PREFIX/lib/QtGStreamer/,
+        # We assume that this file has been installed in $PREFIX/lib(64)/QtGStreamer/,
+        # or $PREFIX/lib/<arch_triplet>/QtGStreamer, or $PREFIX/lib(64)/cmake/QtGStreamer/,
+        # or $PREFIX/lib/<arch_triplet>/cmake/QtGStreamer/,
         # so the include path should evaluate to $PREFIX/include/QtGStreamer
         include(${_QTGSTREAMER_TARGETS_FILE})
         set(QTGLIB_LIBRARY QtGLib)
         set(QTGSTREAMER_LIBRARY QtGStreamer)
         set(QTGSTREAMER_UI_LIBRARY QtGStreamerUi)
         set(QTGSTREAMER_UTILS_LIBRARY QtGStreamerUtils)
-        get_filename_component(QTGSTREAMER_INCLUDE_DIR "${_QTGSTREAMER_CONFIG_DIR}/../../include/QtGStreamer" ABSOLUTE)
+        find_path(QTGSTREAMER_INCLUDE_DIR QGst/Global
+                  PATHS "${_QTGSTREAMER_CONFIG_DIR}/../../include/QtGStreamer"
+                  PATHS "${_QTGSTREAMER_CONFIG_DIR}/../../../include/QtGStreamer"
+                  PATHS "${_QTGSTREAMER_CONFIG_DIR}/../../../../include/QtGStreamer"
+                  NO_DEFAULT_PATH)
     endif()
 endif()


make sure libs get installed on windows too

--- Code/cmake/Modules/RDKitUtils.cmake
+++ Code/cmake/Modules/RDKitUtils.cmake
@@ -9,6 +9,8 @@
   CDR(RDKLIB_SOURCES ${RDKLIB_DEFAULT_ARGS})
   if(MSVC)
     add_library(${RDKLIB_NAME} ${RDKLIB_SOURCES})
+    INSTALL(TARGETS ${RDKLIB_NAME}
+            DESTINATION ${RDKit_LibDir}/${RDKLIB_DEST})
   else(MSVC)
     # we're going to always build in shared mode since we
     # need exceptions to be (correctly) catchable across


cflags

cflags

--- cmake/CFlags.cmake
+++ cmake/CFlags.cmake
@@ -3,9 +3,9 @@

 set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -lprotobuf -lz -lpthread")

-set(CMAKE_C_FLAGS_DEBUG "-g -fsanitize=address -fsanitize=memory -Qunused-arguments ${CMAKE_CXX_FLAGS_DEBUG}")
-set(CMAKE_CXX_FLAGS_DEBUG "-g -fsanitize=address -fsanitize=memory -Qunused-arguments ${CMAKE_CXX_FLAGS_DEBUG}")
-set(CMAKE_EXE_LINKER_FLAGS_DEBUG "-fsanitize=address -fsanitize=memory ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")
+set(CMAKE_C_FLAGS_DEBUG "-g -fsanitize=address ${CMAKE_CXX_FLAGS_DEBUG}")
+set(CMAKE_CXX_FLAGS_DEBUG "-g -fsanitize=address ${CMAKE_CXX_FLAGS_DEBUG}")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUG "-fsanitize=address ${CMAKE_EXE_LINKER_FLAGS_DEBUG}")

 # OSX FLAGS
 if(APPLE)


Minor editing.

Minor editing.

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -268,7 +268,7 @@
         )
     ENDFOREACH()

-    # Make sure that we link to our external dependencies
+    # External dependencies

     FOREACH(EXTERNAL_DEPENDENCY ${EXTERNAL_DEPENDENCIES})
         TARGET_LINK_LIBRARIES(${PROJECT_NAME}


Addressed a linker warning on Windows.

Addressed a linker warning on Windows.

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -33,6 +33,15 @@
             # Note #2: the above linking option has become obsolete on Mac OS X,
             #          so...
         ENDIF()
+    ENDIF()
+
+    IF(WIN32)
+        SET(LINK_FLAGS_PROPERTIES "${LINK_FLAGS_PROPERTIES} -Wl,--enable-auto-import")
+        # Note #1: -Wl,--enable-auto-import allows to resolve vtable entries
+        #          in DLLs. This is something that we, ideally, wouldn't need
+        #          to set, but it happens that this is required for any plugin
+        #          that uses LLVM. Indeed, llvm::CallInst needs resolving,
+        #          so...
     ENDIF()

     # Required packages


Update system.cmake

Update system.cmake

--- cmake/system.cmake
+++ cmake/system.cmake
@@ -55,7 +55,7 @@
         endif()
 #    elseif (${CMAKE_C_COMPILER_ID} STREQUAL "CLANG")
 #      set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -mavx2")
-    endif()
+#    endif()
   endif()
   if (${TARGET} STREQUAL "SKYLAKEX" AND NOT NO_AVX512)
     set (KERNEL_DEFINITIONS "${KERNEL_DEFINITIONS} -march=skylake-avx512")


cplex-shared: On mac, build with -stdlib=libstdc++

--- cplex-shared.cmake
+++ cplex-shared.cmake
@@ -19,9 +19,11 @@
 find_package( Cplex REQUIRED )

 if (APPLE)
+    set(SHARED_CPLEX_COMPILE_FLAGS "-fpic -stdlib=libstdc++")
     set(SHARED_CPLEX_LINK_FLAGS_1 "-Wl,-all_load")
-    set(SHARED_CPLEX_LINK_FLAGS_2 "-Wl,-noall_load")
+    set(SHARED_CPLEX_LINK_FLAGS_2 "")
 else()
+    set(SHARED_CPLEX_COMPILE_FLAGS "-shared -fpic")
     set(SHARED_CPLEX_LINK_FLAGS_1 "-Wl,-whole-archive")
     set(SHARED_CPLEX_LINK_FLAGS_2 "-Wl,-no-whole-archive")
 endif()
@@ -39,7 +41,7 @@
 add_library( cplex-shared SHARED ${EMPTY_CPP} )
 target_link_libraries( cplex-shared ${SHARED_CPLEX_LINK_FLAGS_1} ${CPLEX_LIBRARY_STATIC} ${SHARED_CPLEX_LINK_FLAGS_2} )
 set_target_properties( cplex-shared PROPERTIES
-                       COMPILE_FLAGS "-shared -fpic"
+                       COMPILE_FLAGS ${SHARED_CPLEX_COMPILE_FLAGS}
                        OUTPUT_NAME cplex
                        LIBRARY_OUTPUT_DIRECTORY ${CPLEX_LIB_DIR} )

@@ -55,7 +57,7 @@
 add_library( concert-shared SHARED ${EMPTY_CPP} )
 target_link_libraries( concert-shared ${SHARED_CPLEX_LINK_FLAGS_1} ${CONCERT_LIBRARY_STATIC} ${SHARED_CPLEX_LINK_FLAGS_2} )
 set_target_properties( concert-shared PROPERTIES
-                       COMPILE_FLAGS -fpic
+                       COMPILE_FLAGS ${SHARED_CPLEX_COMPILE_FLAGS}
                        OUTPUT_NAME concert
                        LIBRARY_OUTPUT_DIRECTORY ${CONCERT_LIB_DIR} )

@@ -71,6 +73,6 @@
 add_dependencies( ilocplex-shared cplex-shared concert-shared )
 target_link_libraries( ilocplex-shared ${SHARED_CPLEX_LINK_FLAGS_1} ${ILOCPLEX_LIBRARY_STATIC} ${SHARED_CPLEX_LINK_FLAGS_2} ${CPLEX_LIB_LOCATION} ${CONCERT_LIB_LOCATION} )
 set_target_properties( ilocplex-shared PROPERTIES
-                       COMPILE_FLAGS -fpic
+                       COMPILE_FLAGS ${SHARED_CPLEX_COMPILE_FLAGS}
                        OUTPUT_NAME ilocplex
                        LIBRARY_OUTPUT_DIRECTORY ${ILOCPLEX_LIB_DIR} )


Temporarily replacing .pic test images for MitkExt Module

--- Modules/MitkExt/Testing/files.cmake
+++ Modules/MitkExt/Testing/files.cmake
@@ -31,10 +31,14 @@
   mitkLabeledImageToSurfaceFilterTest.cpp
 )
 SET(MODULE_TESTIMAGES
-  US4DCyl.pic.gz
-  Pic3D.pic.gz
-  Pic2DplusT.pic.gz
-  BallBinary30x30x30.pic.gz
+ # US4DCyl.pic.gz
+ # Pic3D.pic.gz
+ # Pic2DplusT.pic.gz
+ # BallBinary30x30x30.pic.gz
+  /localdata/dartclient/NewTestImages/US4DCyl.nrrd
+  /localdata/dartclient/NewTestImages/Pic3D.nrrd
+  /localdata/dartclient/NewTestImages/Pic2DplusT.nrrd
+  /localdata/dartclient/NewTestImages/BallBinary30x30x30.nrrd
   Png2D-bw.png
   binary.stl
   ball.stl


WRG: update diapotb tag

WRG: update diapotb tag

--- 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 0f8ad339ed9b10529272bb268c45b32d091cb4ac
+  GIT_TAG f84b85352abb75ff3eefafdf0480fcde7fa06173
 )


fix path to constructed lib in exports

fix path to constructed lib in exports

--- cmake_modules/install_package.cmake
+++ cmake_modules/install_package.cmake
@@ -173,14 +173,11 @@
   # In case we want to export.
   elseif( EXPORT_${PROJECT_NAME} )

-        # add "installed" library to list of required libraries to link against
-        #if( PACKAGE_LIB_NAME )
-        #    cmake_policy( SET CMP0026 OLD )
-        #    get_target_property( _target_library ${PACKAGE_LIB_NAME} LOCATION )
-        #    get_filename_component( _lib ${_target_library} NAME )
-        #    list( APPEND PACKAGE_LINK_LIBS ${CMAKE_CURRENT_BINARY_DIR}/${_lib} )
-        #endif()
-
+      if( PACKAGE_LIB_NAME )
+            cmake_policy( SET CMP0026 OLD )
+            get_target_property( _target_library ${PACKAGE_LIB_NAME} LOCATION )
+            list( APPEND PACKAGE_LINK_LIBS ${_target_library} )
+        endif()

         if( PACKAGE_INSTALL_HEADER_DIRS )
             foreach(dir IN LISTS PACKAGE_INSTALL_HEADER_DIRS )
@@ -199,9 +196,9 @@
             ${CMAKE_CURRENT_BINARY_DIR}/include )

         # install library itself
-        if( PACKAGE_LIB_NAME )
-            set( PACKAGE_LIB_LINK "-l${PACKAGE_LIB_NAME}" )
-        endif()
+        #if( PACKAGE_LIB_NAME )
+        #    set( PACKAGE_LIB_LINK "-l${PACKAGE_LIB_NAME}" )
+        #endif()
    #######################################################
   # Export library for easy inclusion from other cmake projects. APPEND allows
   # call to function even as subdirectory of larger project.


resolve CMake Warning: option() honors normal variables

CMake Warning (dev) at /opt/extern/externpro-20.02.1-gcc750-64-Linux/share/cmake/xpfunmac.cmake:1082 (option):
  Policy CMP0077 is not set: option() honors normal variables.  Run "cmake
  --help-policy CMP0077" for policy details.  Use the cmake_policy command to
  set the policy and suppress this warning.

  For compatibility with older versions of CMake, option is clearing the
  normal variable 'XP_CMAKE_REPO_INSYNC'.
Call Stack (most recent call first):
  CMakeLists.txt:22 (xpSourceListAppend)
This warning is for project developers.  Use -Wno-dev to suppress it.

https://github.com/smanders/externpro/issues/268

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -1078,8 +1078,8 @@
         xpGlobFiles(ignoreFiles ${item} *)
       endforeach()
       list(REMOVE_ITEM repoFiles ${masterSrcList} ${ignoreFiles})
-      if(DEFINED XP_CMAKE_REPO_INSYNC)
-        option(XP_CMAKE_REPO_INSYNC "cmake error if repo and cmake are not in sync" ${XP_CMAKE_REPO_INSYNC})
+      if(DEFINED NV_CMAKE_REPO_INSYNC)
+        option(XP_CMAKE_REPO_INSYNC "cmake error if repo and cmake are not in sync" ${NV_CMAKE_REPO_INSYNC})
       else()
         option(XP_CMAKE_REPO_INSYNC "cmake error if repo and cmake are not in sync" OFF)
       endif()
@@ -2112,7 +2112,8 @@
   xpCommonFlags()
   xpEnableWarnings()
   if(NOT DEFINED XP_CMAKE_REPO_INSYNC)
-    set(XP_CMAKE_REPO_INSYNC ON) # cmake error if repo and cmake are not in sync
+    # cmake error if repo and cmake are not in sync
+    set(NV_CMAKE_REPO_INSYNC ON) # (NV: normal variable) 'cmake --help-policy CMP0077'
   endif()
   if(MSVC)
     xpSetFlagsMsvc()


Disable vc for Windows (it generates lots of warnings and tests are not build correctly)

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -81,7 +81,11 @@
  set(minuit2_defvalue ON)
  set(table_defvalue ON)
  set(unuran_defvalue ON)
- set(vc_defvalue ON)
+ if(WIN32)
+   set(vc_defvalue OFF)
+ else()
+   set(vc_defvalue ON)
+ endif()
  set(vdt_defvalue ON)
 else()
  set(gdml_defvalue OFF)


should fix broken tests coverage

should fix broken tests coverage

git-svn-id: de9bbed4c30e0eb58fe8e7d66f5c80b71699a07c@2062 bf01a9d7-0df3-0310-8ad4-b1c94d9ae2d5

--- Numerics/cmake/SiconosProject.cmake
+++ Numerics/cmake/SiconosProject.cmake
@@ -94,10 +94,9 @@
     CHECK_C_COMPILER_FLAG("-Wall" C_HAVE_WALL)
   ENDIF(CMAKE_C_COMPILER)

- # IF(CMAKE_CXX_COMPILER)
- #   INCLUDE(TestCXXAcceptsFlag)
-#    CHECK_CXX_ACCEPTS_FLAG(-ffriend-injection CXX_HAVE_FRIEND_INJECTION)
- # ENDIF(CMAKE_CXX_COMPILER)
+  IF(CMAKE_CXX_COMPILER)
+    INCLUDE(TestCXXAcceptsFlag)
+  ENDIF(CMAKE_CXX_COMPILER)

 # IF(CMAKE_Fortran_COMPILER)
 #    INCLUDE(fortran)


Pass in the -fno-builtin flag Apparently GCC puts in built-in code for memory and string options by default, and these aren't as performant as the library versions.

--- dependencies.cmake
+++ dependencies.cmake
@@ -54,7 +54,7 @@
     set(CMAKE_BUILD_TYPE Debug)
 endif(NOT CMAKE_BUILD_TYPE)

-SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++14 -Wall -Wpedantic -Wextra -Werror -Og -g")
+SET(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -std=c++14 -Wall -Wpedantic -Wextra -Werror -fno-builtin -Og -g")
 #SET(CMAKE_C_SHARED_LINKER_FLAGS_DEBUG "${CMAKE_SHARED_LINKER_FLAGS_DEBUG} -ffat-lto-objects -flto")
-SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++14 -Wall -Wpedantic -Wextra -Werror -O3 -ffat-lto-objects -flto")
+SET(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -std=c++14 -Wall -Wpedantic -Wextra -Werror -fno-builtin -O3 -ffat-lto-objects -flto")
 SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ffat-lto-objects -flto")


Split off 8.0.16

Split off 8.0.16

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 0 )
-set ( HPCC_POINT 15 )
+set ( HPCC_POINT 17 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Split off 8.6.38

Split off 8.6.38

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 37 )
+set ( HPCC_POINT 39 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Graph Control 4.2.2-rc1 Release Candidate 1

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

--- version.cmake
+++ version.cmake
@@ -4,8 +4,8 @@
 set ( HPCC_PROJECT "community" )
 set ( HPCC_MAJOR 4 )
 set ( HPCC_MINOR 2 )
-set ( HPCC_POINT 1 )
-set ( HPCC_MATURITY "closedown" )
+set ( HPCC_POINT 2 )
+set ( HPCC_MATURITY "rc" )
 set ( HPCC_SEQUENCE 1 )
 ###
 IF ( ${HPCC_POINT} GREATER 65 )


Bump GAPID version to v0.6.0

Bump GAPID version to v0.6.0

--- version.cmake
+++ version.cmake
@@ -15,8 +15,8 @@
 # True source of GAPID versions.
 # Increment these numbers immediately after releasing a new version.
 set(GAPID_VERSION_MAJOR 0)
-set(GAPID_VERSION_MINOR 5)
-set(GAPID_VERSION_POINT 2)
+set(GAPID_VERSION_MINOR 6)
+set(GAPID_VERSION_POINT 0)

 if (NOT DEFINED GAPID_BUILD_NUMBER)
     set(GAPID_BUILD_NUMBER 0)


Split off 8.8.22

Split off 8.8.22

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 8 )
-set ( HPCC_POINT 21 )
+set ( HPCC_POINT 23 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


MAINT-646 Enable /fp:fast in Visual Studio

--- indra/cmake/00-Common.cmake
+++ indra/cmake/00-Common.cmake
@@ -71,6 +71,7 @@
       /Oy-
       /Zc:wchar_t-
       /arch:SSE2
+      /fp:fast
       )

   # Are we using the crummy Visual Studio KDU build workaround?


Some more brief message abbreviation hints

--- doc/Doxyfile.cmake
+++ doc/Doxyfile.cmake
@@ -11,7 +11,7 @@
 OUTPUT_LANGUAGE = English
 BRIEF_MEMBER_DESC = YES
 REPEAT_BRIEF = YES
-ABBREVIATE_BRIEF = "The $name class" "The $name widget" "The $name file" is provides specifies contains represents a an the
+ABBREVIATE_BRIEF = "Functions for" "Functions to" "The $name class" "The $name widget" "The $name file" is provides specifies contains represents a an the
 ALWAYS_DETAILED_SEC = NO
 INLINE_INHERITED_MEMB = NO
 FULL_PATH_NAMES = NO


update

update

--- modules/zlib.cmake
+++ modules/zlib.cmake
@@ -1,4 +1,33 @@
 if(NOT TARGET zlib)
+
+  # Module configuration
+  include(CheckTypeSize)
+  include(CheckFunctionExists)
+  include(CheckIncludeFile)
+  include(CheckCSourceCompiles)
+  check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+  check_include_file(stdint.h HAVE_STDINT_H)
+  check_include_file(stddef.h HAVE_STDDEF_H)
+  set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
+  if(HAVE_SYS_TYPES_H)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
+  endif()
+  if(HAVE_STDINT_H)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
+  endif()
+  if(HAVE_STDDEF_H)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
+  endif()
+  check_type_size(off64_t OFF64_T)
+  if(HAVE_OFF64_T)
+    add_definitions(-D_LARGEFILE64_SOURCE=1)
+  endif()
+  set(CMAKE_REQUIRED_DEFINITIONS)
+  check_function_exists(fseeko HAVE_FSEEKO)
+  if(NOT HAVE_FSEEKO)
+    add_definitions(-DNO_FSEEKO)
+  endif()
+  check_include_file(unistd.h Z_HAVE_UNISTD_H)

   # Module definitions
   if(MSVC)


Removed supersingular curves also from build system.

--- cmake/eb.cmake
+++ cmake/eb.cmake
@@ -41,9 +41,8 @@
 set(EB_DEPTH "${EB_DEPTH}" CACHE STRING "Width of precomputation table for fixed point methods.")
 set(EB_WIDTH "${EB_WIDTH}" CACHE STRING "Width of window processing for unknown point methods.")

-option(EB_ORDIN "Support for ordinary curves" on)
-option(EB_SUPER "Support for supersingular curves" on)
-option(EB_KBLTZ "Special support for Koblitz curves" on)
+option(EB_PLAIN "Support for ordinary curves without endomorphisms" on)
+option(EB_KBLTZ "Support for Koblitz anomalous binary curves" on)
 option(EB_MIXED "Use mixed coordinates" on)
 option(EB_PRECO "Build precomputation table for generator" on)


os.cmake: added add_conan_package and add_binary_blob

--- cmake/os.cmake
+++ cmake/os.cmake
@@ -1,3 +1,7 @@
+
+if (NOT CMAKE_BUILD_TYPE)
+  set(CMAKE_BUILD_TYPE "Release")
+endif()

 # configure options
 option(default_stdout "Use the OS default stdout (serial)" ON)
@@ -37,12 +41,39 @@
   endif()
 endif()

-#TODO move this into sub scripts conan.cmake and normal.cmake
-if(CONAN_EXPORTED)
+#TODO also support conanfile.py ?
+if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/conanfile.txt)
+  SET(CONANFILE_TXT ${CMAKE_CURRENT_SOURCE_DIR}/conanfile.txt)
+endif()
+
+if (CONANFILE_TXT OR CONAN_EXPORTED)
+  #TODO move this into sub scripts conan.cmake and oldscool.cmake
+  if (CONANFILE_TXT)
+    #TODO VERIFY are we only testing release  version of includeos
+    set(CMAKE_BUILD_TYPE Release)
+    if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
+      message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
+      file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake"
+                        "${CMAKE_BINARY_DIR}/conan.cmake")
+    endif()
+      #TODO se if this goes all wack
+    include(${CMAKE_BINARY_DIR}/conan.cmake)
+      #should we specify a directory.. can we run it multiple times ?
+    conan_cmake_run(
+      CONANFILE conanfile.txt
+        BASIC_SETUP
+        CMAKE_TARGETS
+      )
+    #include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
+  else()
+
   # standard conan installation, deps will be defined in conanfile.py
   # and not necessary to call conan again, conan is already running
-  include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
-  conan_basic_setup()
+    include(${CMAKE_CURRENT_BINARY_DIR}/conanbuildinfo.cmake)
+
+    conan_basic_setup()
+
+  endif()

   #TODO use these
   #CONAN_SETTINGS_ARCH Provides arch type
@@ -50,9 +81,6 @@
   #CONAN_SETTINGS_COMPILER AND CONAN_SETTINGS_COMPILER_VERSION
   #CONAN_SETTINGS_OS ("Linux","Windows","Macos")

-  set(NAME_STUB "${CONAN_INCLUDEOS_ROOT}/src/service_name.cpp")
-  set(CRTN ${CONAN_LIB_DIRS_MUSL}/crtn.o)
-  set(CRTI ${CONAN_LIB_DIRS_MUSL}/crti.o)
   if (NOT DEFINED ARCH)
     if (${CONAN_SETTINGS_ARCH} STREQUAL "x86")
       set(ARCH i686)
@@ -60,10 +88,21 @@
       set(ARCH ${CONAN_SETTINGS_ARCH})
     endif()
   endif()
+
+
+  set(NAME_STUB "${CONAN_INCLUDEOS_ROOT}/src/service_name.cpp")
+  set(CRTN ${CONAN_LIB_DIRS_MUSL}/crtn.o)
+  set(CRTI ${CONAN_LIB_DIRS_MUSL}/crti.o)
+
   set(TRIPLE "${ARCH}-pc-linux-elf")
   set(LIBRARIES ${CONAN_LIBS})
   set(ELF_SYMS elf_syms)
   set(LINK_SCRIPT ${CONAN_INCLUDEOS_ROOT}/${ARCH}/linker.ld)
+  #includeos package can provide this!
+  include_directories(
+    ${CONAN_INCLUDEOS_ROOT}/include/os
+  )
+
 else()
   #TODO initialise self
   #message(FATAL_ERROR "Not running under conan")
@@ -157,22 +196,8 @@
   set_target_properties(libpthread PROPERTIES LINKER_LANGUAGE C)
   set_target_properties(libpthread PROPERTIES IMPORTED_LOCATION "${INCLUDEOS_PREFIX}/${ARCH}/lib/libpthread.a")

-  # libgcc/compiler-rt detection
-  if (UNIX)
-    if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
-        set(TARGET_LINE --target=${TRIPLE})
-    endif()
-    execute_process(
-        COMMAND ${CMAKE_CXX_COMPILER} ${TARGET_LINE} --print-libgcc-file-name
-        RESULT_VARIABLE CC_RT_RES
-        OUTPUT_VARIABLE COMPILER_RT_FILE OUTPUT_STRIP_TRAILING_WHITESPACE)
-    if (NOT ${CC_RT_RES} EQUAL 0)
-      message(AUTHOR_WARNING "Failed to detect libgcc/compiler-rt: ${COMPILER_RT_FILE}")
-    endif()
-  endif()
-  if (NOT COMPILER_RT_FILE)
-    set(COMPILER_RT_FILE "${INCLUDEOS_PREFIX}/${ARCH}/lib/libcompiler.a")
-  endif()
+  #allways use the provided libcompiler.a
+  set(COMPILER_RT_FILE "${INCLUDEOS_PREFIX}/${ARCH}/lib/libcompiler.a")

   add_library(libgcc STATIC IMPORTED)
   set_target_properties(libgcc PROPERTIES LINKER_LANGUAGE C)
@@ -290,6 +315,33 @@
 endfunction()

+function(os_add_conan_package TARGET PACKAGE)
+
+#TODO MOVE SOMEWHERE MORE SANE
+
+  if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
+     message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
+     file(DOWNLOAD "https://raw.githubusercontent.com/conan-io/cmake-conan/master/conan.cmake"
+                    "${CMAKE_BINARY_DIR}/conan.cmake")
+  endif()
+  #TODO se if this goes all wack
+  include(${CMAKE_BINARY_DIR}/conan.cmake)
+  #should we specify a directory.. can we run it multiple times ?
+  conan_cmake_run(
+    REQUIRES ${PACKAGE}
+    BASIC_SETUP
+    CMAKE_TARGETS
+  )
+  #convert pkg/version@user/channel to pkg;versin;user;chanel
+  string(REPLACE "@" ";" LIST ${PACKAGE})
+  string(REPLACE "/" ";" LIST ${LIST})
+  #get the first element
+  list(GET LIST 0 PKG)
+
+  os_link_libraries(${TARGET} CONAN_PKG::${PKG})
+
+endfunction()
+
 # TODO: fix so that we can add two executables in one service (NAME_STUB)
 function(os_add_executable TARGET NAME)
   set(ELF_TARGET ${TARGET}${ELF_POSTFIX})
@@ -325,7 +377,10 @@
     internal_os_add_config(${ELF_TARGET} "${CMAKE_CURRENT_SOURCE_DIR}/config.json")
     set(JSON_CONFIG_FILE_${ELF_TARGET} "${CMAKE_CURRENT_SOURCE_DIR}/config.json" PARENT_SCOPE)
   endif()
-
+  #copy the vm.json out of tree
+  if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/vm.json)
+    configure_file(${CMAKE_CURRENT_SOURCE_DIR}/vm.json ${CMAKE_CURRENT_BINARY_DIR})
+  endif()
 endfunction()

 ##
@@ -344,7 +399,6 @@
 function(os_include_directories TARGET)
   target_include_directories(${TARGET}${ELF_POSTFIX} ${ARGN})
 endfunction()
-

 function(os_add_dependencies TARGET ${ARGN})
   add_dependencies(${TARGET}${ELF_POSTFIX} ${ARGN})
@@ -384,10 +438,27 @@
   os_add_library_from_path(${TARGET} ${LIB} "${INCLUDEOS_PREFIX}/${ARCH}/lib")
 endfunction()

+#input file blob name and blob type eg add_binary_blob(<somefile> input.bin binary)
+#results in an object called binary_input_bin
+function(os_add_binary_blob TARGET BLOB_FILE BLOB_NAME BLOB_TYPE)
+  set(OBJECT_FILE ${TARGET}_blob_${BLOB_TYPE}.o)
+  add_custom_command(
+    OUTPUT ${OBJECT_FILE}
+    COMMAND cp ${BLOB_FILE} ${BLOB_NAME}
+    COMMAND ${CMAKE_OBJCOPY} -I ${BLOB_TYPE} -O ${OBJCOPY_TARGET} -B i386 ${BLOB_NAME} ${OBJECT_FILE}
+    COMMAND rm ${BLOB_NAME}
+    DEPENDS ${BLOB_FILE}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+  )
+
+  add_library(${TARGET}_blob_${BLOB_TYPE} STATIC ${OBJECT_FILE})
+  set_target_properties(${TARGET}_blob_${BLOB_TYPE} PROPERTIES LINKER_LANGUAGE CXX)
+  os_link_libraries(${TARGET} --whole-archive ${TARGET}_blob_${BLOB_TYPE} --no-whole-archive)
+endfunction()
 # add memdisk
 function(os_add_memdisk TARGET DISK)
   get_filename_component(DISK_RELPATH "${DISK}"
-                         REALPATH BASE_DIR "${CMAKE_SOURCE_DIR}")
+    REALPATH BASE_DIR "${CMAKE_CURRENT_SOURCE_DIR}")
   add_custom_command(
     OUTPUT  memdisk.o
     COMMAND ${Python2_EXECUTABLE} ${INCLUDEOS_PREFIX}/tools/memdisk/memdisk.py --file memdisk.asm ${DISK_RELPATH}
@@ -433,20 +504,6 @@
   file(COPY ${INSTALL_LOC}/cert_bundle/ DESTINATION ${REL_PATH})
 endfunction()

-
-#TODO investigate could be wrapped in generic embed object ?
-#If the user sets the config.json in the CMAKE then at least he knows its inluded :)
-#If the user sets the nacl in CMAKE thats also specific..
-#so the idea is..
-#SET(OS_NACL ON)
-#SET(OS_CONFIG ON)
-#SET(OS_NACL_FILE
-#SET(OS_CONFIG_FILE
-
-#Investigate how to add drivers for a service !!
-#idea is to have a conanfile.txt in the service you edit..
-#this depends on a generic conanfile_service.py ?
-#if so you can edit plugins and such in that file..

 function(internal_os_add_config TARGET CONFIG_JSON)
   get_filename_component(FILENAME "${CONFIG_JSON}" NAME)


update openssl to 1.1.1m

update openssl to 1.1.1m

--- deps/openssl.cmake
+++ deps/openssl.cmake
@@ -35,8 +35,8 @@

   ExternalProject_Add(openssl
       PREFIX            openssl
-      URL               https://www.openssl.org/source/openssl-1.1.1g.tar.gz
-      URL_HASH          SHA256=ddb04774f1e32f0c49751e21b67216ac87852ceb056b75209af2443400636d46
+      URL               https://www.openssl.org/source/openssl-1.1.1m.tar.gz
+      URL_HASH          SHA256=f89199be8b23ca45fc7cb9f1d8d3ee67312318286ad030f5316aca6462db6c96
       LOG_BUILD         ON
       BUILD_IN_SOURCE   YES
       BUILD_COMMAND     ${OPENSSL_BUILD_COMMAND}


we have a new server for hosting CDash reports.

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

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


Try to include inline annotations in generated documentation

--- cmake/GtkDoc.cmake
+++ cmake/GtkDoc.cmake
@@ -32,6 +32,7 @@
         add_custom_target ("gtkdoc-docbook_${module}" ALL
             ${GTKDOC_MKDB_BIN} --module=${module}
                 --output-dir="xml"
+                --source-dir="${CMAKE_SOURCE_DIR}/${module}"
                 --source-suffixes=c,h --output-format=xml
                 --default-includes=${module}/${module}.h
                 --sgml-mode --main-sgml-file=${module}.sgml


MSVC: don't force /W4 onto the compiler.

Indeed, if I try to build libCellML using Qt Creator then I get several warnings that read:
cl : Command line warning D9025 : overriding '/W3' with '/W4'

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -20,7 +20,7 @@
   if(${_INDEX} GREATER -1)
     set(_COMPILER_WAE -Wall -W -Werror)
   elseif("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
-    set(_COMPILER_WAE /W4 /WX)
+    set(_COMPILER_WAE /WX)
   endif()

   if(_COMPILER_WAE)


[cmake] increment version

[cmake] increment version

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -1,8 +1,8 @@

 set(VERSION_MAJOR 1)
 set(VERSION_MINOR 1)
-set(VERSION_PATCH 0)
-set(VERSION_SUFFIX "-rc2")
+set(VERSION_PATCH 1)
+set(VERSION_SUFFIX "-beta")
 set(VERSION_STR "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH}${VERSION_SUFFIX}")

 add_definitions("-DVERSION_STR=\"${VERSION_STR}\"")


Typo in cmake config.

Typo in cmake config.

--- cmake/config.cmake
+++ cmake/config.cmake
@@ -80,7 +80,7 @@
 	SOURCES ${PROJECT_SOURCE_DIR}/config-tests/span.cxx)
 try_compile(
 	PQXX_HAVE_MULTIDIMENSIONAL_SUBSCRIPT
-	$(PROJECT_BINARY_DIR)
+	${PROJECT_BINARY_DIR}
 	SOURCES ${PROJECT_SOURCE_DIR}/config-tests/multidim-subscript.cxx)
 try_compile(
 	PQXX_HAVE_CHARCONV_FLOAT


- Fix for unit tests on Emscripten

- Fix for unit tests on Emscripten

--- cmake/Modules/BuildFunctions.cmake
+++ cmake/Modules/BuildFunctions.cmake
@@ -399,7 +399,7 @@
     elseif(EMSCRIPTEN)
         add_test (
             NAME ${TITLE}
-            WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+            WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
             COMMAND nodejs $<TARGET_FILE:${TARGET}>
             )
     else()


Added debugging code....

Added debugging code....

--- cmake/modules/RootTestDriver.cmake
+++ cmake/modules/RootTestDriver.cmake
@@ -191,8 +191,13 @@
     execute_process(COMMAND ${_cmd} ${_out} ${_err} ${_cwd} RESULT_VARIABLE _rc)

     if(_rc STREQUAL "Segmentation fault" OR _rc EQUAL 11)
-       message(STATUS "Got ${_rc}, retrying again once more...")
-       execute_process(COMMAND ${_cmd} ${_out} ${_err} ${_cwd} RESULT_VARIABLE _rc)
+       message(STATUS "Got ${_rc}, retrying again once more... with coredump enabled")
+       file(WRITE run_with_coredump.sh "
+pwd
+ulimit -c unlimited
+${_cmd}
+")
+       execute_process(COMMAND bash run_with_coredump.sh ${_out} ${_err} ${_cwd} RESULT_VARIABLE _rc)
     endif()

     if(DEFINED RC AND (NOT _rc EQUAL RC))


Retry once more for Segmentation fault

Retry once more for Segmentation fault

--- cmake/modules/RootTestDriver.cmake
+++ cmake/modules/RootTestDriver.cmake
@@ -190,6 +190,11 @@
   else()
     execute_process(COMMAND ${_cmd} ${_out} ${_err} ${_cwd} RESULT_VARIABLE _rc)

+    if(_rc STREQUAL "Segmentation fault")
+       message(STATUS "Got ${_rc}, retrying again once more...")
+       execute_process(COMMAND ${_cmd} ${_out} ${_err} ${_cwd} RESULT_VARIABLE _rc)
+    endif()
+
     if(DEFINED RC AND (NOT _rc EQUAL RC))
       message(FATAL_ERROR "error code: ${_rc}")
     elseif(NOT DEFINED RC AND _rc)


Fix bug in regex parsing introduced by last commit.

svn path=/trunk/; revision=10407

--- cmake/modules/drivers-finish.cmake
+++ cmake/modules/drivers-finish.cmake
@@ -126,8 +126,8 @@
       # Must remove corresponding data from ${DRIVER}_INFO
       #message("DEVICE = ${DEVICE}")
       foreach(DEVICE_INFO ${${DRIVER}_INFO})
-        string(REGEX REPLACE "^(.*):.*:.*:.*:.*:.*:.*:.*$" "\\1" DEVICE_INFO_NAME ${DEVICE_INFO})
-        #message("DEVICE_INFO_NAME = ${DEVICE_INFO_NAME}")
+        string(REGEX REPLACE "^(.*):.*:.*:.*:.*:.*$" "\\1" DEVICE_INFO_NAME ${DEVICE_INFO})
+        #message(STATUS "DEBUG: DEVICE_INFO_NAME = ${DEVICE_INFO_NAME}")
 	if(DEVICE STREQUAL "${DEVICE_INFO_NAME}")
 	  #There should one and only one match.
 	  set(DEVICE_INFO_MATCHED ${DEVICE_INFO})


Fixed problem where protobuf-c includedir would be improperly set on some platforms

--- cmake_modules/FindPROTOBUF-C.cmake
+++ cmake_modules/FindPROTOBUF-C.cmake
@@ -51,7 +51,7 @@

 if (PROTOBUF_INCLUDE_DIR)

-    set(PROTOBUF_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}/google/protobuf-c")
+    #set(PROTOBUF_INCLUDE_DIR "${PROTOBUF_INCLUDE_DIR}/google/protobuf-c")

     # search for library


Apply cmake-init 400f3654f4b77f3d745c6b48d5f40ef09dbf0598

--- deploy/packages/pack-gloperate.cmake
+++ deploy/packages/pack-gloperate.cmake
@@ -47,21 +47,29 @@
 # Package components
 #

-set(CPACK_COMPONENTS_ALL runtime dev examples docs)
-
-set(CPACK_COMPONENT_RUNTIME_DISPLAY_NAME "Template library")
-set(CPACK_COMPONENT_RUNTIME_DESCRIPTION "Runtime components for template library")
+set(CPACK_COMPONENT_RUNTIME_DISPLAY_NAME "${META_PROJECT_NAME} library")
+set(CPACK_COMPONENT_RUNTIME_DESCRIPTION "Runtime components for ${META_PROJECT_NAME} library")

 set(CPACK_COMPONENT_DEV_DISPLAY_NAME "C/C++ development files")
-set(CPACK_COMPONENT_DEV_DESCRIPTION "Development files for template library")
+set(CPACK_COMPONENT_DEV_DESCRIPTION "Development files for ${META_PROJECT_NAME} library")
 set(CPACK_COMPONENT_DEV_DEPENDS runtime)

-set(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "Example applications")
-set(CPACK_COMPONENT_EXAMPLES_DESCRIPTION "Example applications for template library")
-set(CPACK_COMPONENT_EXAMPLES_DEPENDS runtime)
-
-set(CPACK_COMPONENT_DOCS_DISPLAY_NAME "Documentation")
-set(CPACK_COMPONENT_DOCS_DESCRIPTION "Documentation of template library")
+set(CPACK_COMPONENTS_ALL runtime dev)
+
+if (OPTION_BUILD_EXAMPLES)
+    set(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "Example applications")
+    set(CPACK_COMPONENT_EXAMPLES_DESCRIPTION "Example applications for ${META_PROJECT_NAME} library")
+    set(CPACK_COMPONENT_EXAMPLES_DEPENDS runtime)
+
+    set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} examples)
+endif()
+
+if (OPTION_BUILD_DOCS)
+    set(CPACK_COMPONENT_DOCS_DISPLAY_NAME "Documentation")
+    set(CPACK_COMPONENT_DOCS_DESCRIPTION "Documentation of ${META_PROJECT_NAME} library")
+
+    set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} docs)
+endif()

 #
@@ -122,7 +130,7 @@
 set(CPACK_RESOURCE_FILE_README                 "${PROJECT_SOURCE_DIR}/README.md")
 set(CPACK_RESOURCE_FILE_WELCOME                "${PROJECT_SOURCE_DIR}/README.md")
 set(CPACK_PACKAGE_DESCRIPTION_FILE             "${PROJECT_SOURCE_DIR}/README.md")
-set(CPACK_PACKAGE_ICON                         "")
+set(CPACK_PACKAGE_ICON                         "${PROJECT_SOURCE_DIR}/deploy/images/logo.bmp")
 set(CPACK_PACKAGE_FILE_NAME                    "${package_name}-${CPACK_PACKAGE_VERSION}")
 set(CPACK_PACKAGE_INSTALL_DIRECTORY            "${package_name}")
 set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY         "${package_name}")
@@ -155,8 +163,8 @@

 # Package options
 #set(CPACK_NSIS_DISPLAY_NAME "${package_name}-${META_VERSION}")
-set(CPACK_NSIS_MUI_ICON      "")
-set(CPACK_NSIS_MUI_UNIICON   "")
+set(CPACK_NSIS_MUI_ICON      "${PROJECT_SOURCE_DIR}/deploy/images/logo.ico")
+set(CPACK_NSIS_MUI_UNIICON   "${PROJECT_SOURCE_DIR}/deploy/images/logo.ico")

 # Optional Preliminaries (i.e., silent Visual Studio Redistributable install)
 if(NOT INSTALL_MSVC_REDIST_FILEPATH)


fixed issue #97

fixed issue #97

--- cmakepp.cmake
+++ cmakepp.cmake
@@ -33,10 +33,13 @@
 # get temp dir which is needed by a couple of functions in cmakepp
 # 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")
+if(UNIX)
+  set(cmakepp_tmp_dir $ENV{TMPDIR} /var/tmp)
+else()
+  set(cmakepp_tmp_dir $ENV{TMP}  ${CMAKE_CURRENT_LIST_DIR}/tmp)
+endif()
 list(GET cmakepp_tmp_dir 0 cmakepp_tmp_dir)
 file(TO_CMAKE_PATH "${cmakepp_tmp_dir}" cmakepp_tmp_dir)
-

 # dummy function which is overwritten and in this form just returns the temp_dir
 function(cmakepp_config key)


Update defaults.cmake.

Update defaults.cmake.

--- defaults.cmake
+++ defaults.cmake
@@ -109,7 +109,7 @@
   set(output_message "-- Looking for ${dir_mode}include directory '${dir}' - ")
   if(EXISTS "${dir}/")
     message("${output_message}found")
-    if(NOT "" STREQUAL ${dir_mode})
+    if(NOT "" STREQUAL "${dir_mode}")
       include_directories(${ARGV1} ${dir})
     else()
       include_directories(${dir})
@@ -608,7 +608,9 @@
   check_cxx_flag("-Werror=unknown-warning-option" HAS_CXX_FLAG_WERROR_UNKNOWN_WARNING_OPTION)

   check_c_flag("-std=c99" HAS_C_FLAG_STD_C99)
-  check_cxx_flag("-std=c++11" HAS_CXX_FLAG_STD_CXX11)
+  if(NOT "${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU") # Boost fails with g++/c++11
+    check_cxx_flag("-std=c++11" HAS_CXX_FLAG_STD_CXX11)
+  endif()

   check_c_flag("-Werror=return-type" HAS_C_FLAG_WERROR_RETURN_TYPE)
   check_cxx_flag("-Werror=return-type" HAS_CXX_FLAG_WERROR_RETURN_TYPE)


Use cmake's find_library to search for pytrellis.

--- ecp5/family.cmake
+++ ecp5/family.cmake
@@ -6,18 +6,18 @@
         set(TRELLIS_ROOT "/usr/local/share/trellis")
     endif()

-    file(GLOB found_pytrellis ${TRELLIS_ROOT}/libtrellis/pytrellis.*
-                              /usr/lib/pytrellis.*
-                              /usr/lib64/pytrellis.*
-                              /usr/lib/trellis/pytrellis.*
-                              /usr/lib64/trellis/pytrellis.*)
+    if (NOT DEFINED PYTRELLIS_LIBDIR)
+        find_library(PYTRELLIS pytrellis.so
+            PATHS ${TRELLIS_ROOT}/libtrellis
+            PATH_SUFFIXES trellis
+            DOC "Location of pytrellis library")

-    if ("${found_pytrellis}" STREQUAL "")
-        message(FATAL_ERROR "failed to locate pytrellis library!")
+        if ("${PYTRELLIS}" STREQUAL "PYTRELLIS-NOTFOUND")
+            message(FATAL_ERROR "Failed to locate pytrellis library!")
+        endif()
+
+        get_filename_component(PYTRELLIS_LIBDIR ${PYTRELLIS} DIRECTORY)
     endif()
-
-    list(GET found_pytrellis 0 PYTRELLIS_LIB)
-    get_filename_component(PYTRELLIS_LIBDIR ${PYTRELLIS_LIB} DIRECTORY)

     set(DB_PY ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/trellis_import.py)

@@ -27,9 +27,9 @@
     target_include_directories(ecp5_chipdb PRIVATE ${family}/)

     if (CMAKE_HOST_WIN32)
-    set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=\"${PYTRELLIS_LIBDIR}\;${TRELLIS_ROOT}/util/common\;${TRELLIS_ROOT}/timing/util\"")
+        set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=\"${PYTRELLIS_LIBDIR}\;${TRELLIS_ROOT}/util/common\;${TRELLIS_ROOT}/timing/util\"")
     else()
-    set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=${PYTRELLIS_LIBDIR}\:${TRELLIS_ROOT}/util/common:${TRELLIS_ROOT}/timing/util")
+        set(ENV_CMD ${CMAKE_COMMAND} -E env "PYTHONPATH=${PYTRELLIS_LIBDIR}\:${TRELLIS_ROOT}/util/common:${TRELLIS_ROOT}/timing/util")
     endif()

     if (MSVC)
@@ -38,15 +38,15 @@
         foreach (dev ${devices})
             set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.bin)
             set(DEV_CC_BBA_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.bba)
-        set(DEV_CONSTIDS_INC ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/constids.inc)
+            set(DEV_CONSTIDS_INC ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/constids.inc)
             add_custom_command(OUTPUT ${DEV_CC_BBA_DB}
-            COMMAND ${ENV_CMD} python3 ${DB_PY} -p ${DEV_CONSTIDS_INC} ${dev} > ${DEV_CC_BBA_DB}
-                    DEPENDS ${DB_PY}
-                    )
+                COMMAND ${ENV_CMD} python3 ${DB_PY} -p ${DEV_CONSTIDS_INC} ${dev} > ${DEV_CC_BBA_DB}
+                DEPENDS ${DB_PY}
+                )
             add_custom_command(OUTPUT ${DEV_CC_DB}
-                    COMMAND bbasm ${DEV_CC_BBA_DB} ${DEV_CC_DB}
-                    DEPENDS bbasm ${DEV_CC_BBA_DB}
-                    )
+                COMMAND bbasm ${DEV_CC_BBA_DB} ${DEV_CC_DB}
+                DEPENDS bbasm ${DEV_CC_BBA_DB}
+                )
             target_sources(ecp5_chipdb PRIVATE ${DEV_CC_DB})
             set_source_files_properties(${DEV_CC_DB} PROPERTIES HEADER_FILE_ONLY TRUE)
             foreach (target ${family_targets})
@@ -58,17 +58,17 @@
         foreach (dev ${devices})
             set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.cc)
             set(DEV_CC_BBA_DB ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/chipdbs/chipdb-${dev}.bba)
-        set(DEV_CONSTIDS_INC ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/constids.inc)
+            set(DEV_CONSTIDS_INC ${CMAKE_CURRENT_SOURCE_DIR}/ecp5/constids.inc)
             add_custom_command(OUTPUT ${DEV_CC_BBA_DB}
-            COMMAND ${ENV_CMD} python3 ${DB_PY} -p ${DEV_CONSTIDS_INC} ${dev} > ${DEV_CC_BBA_DB}.new
-                    COMMAND mv ${DEV_CC_BBA_DB}.new ${DEV_CC_BBA_DB}
-                    DEPENDS ${DB_PY}
-                    )
+                COMMAND ${ENV_CMD} python3 ${DB_PY} -p ${DEV_CONSTIDS_INC} ${dev} > ${DEV_CC_BBA_DB}.new
+                COMMAND mv ${DEV_CC_BBA_DB}.new ${DEV_CC_BBA_DB}
+                DEPENDS ${DB_PY}
+                )
             add_custom_command(OUTPUT ${DEV_CC_DB}
-                    COMMAND bbasm --c ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
-                    COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
-                    DEPENDS bbasm ${DEV_CC_BBA_DB}
-                    )
+                COMMAND bbasm --c ${DEV_CC_BBA_DB} ${DEV_CC_DB}.new
+                COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
+                DEPENDS bbasm ${DEV_CC_BBA_DB}
+                )
             target_sources(ecp5_chipdb PRIVATE ${DEV_CC_DB})
             foreach (target ${family_targets})
                 target_sources(${target} PRIVATE $<TARGET_OBJECTS:ecp5_chipdb>)


Fixed the layout of tests in Visual Studio.

Tests no longer show in the "Executables" directory, they are
correctly organized under "Tests/Library/*"

Change-Id: I5249e7ff1e7116a08c3275d97633099675584868
Reviewed-on: https://wn-project.dnsalias.net/gerrit/251
Try: Andrew Woloszyn <2926f0436f8103ab8257713335cf26447d8bf68a@google.com>
Tested-by: WNBot <efa0942020584fb66fb8bea377b59e48fa0f85ef@gmail.com>
Reviewed-by: Devon Powell <bef84a74f4a3947934cc58306a6aae518eaf1936@gmail.com>


Capitalize variable name and remove unneeded blank line

--- library/cmake/Modules/FindPHP.cmake
+++ library/cmake/Modules/FindPHP.cmake
@@ -101,7 +101,7 @@
 	PHP_VERSION_STRING
 )

-set(development_component_accpeted TRUE)
+set(DEVELOPMENT_COMPONENT_ACCPETED TRUE)
 if(PHP_USE_DEVELOPMENT_COMPONENT)
 	FIND_PATH(zend_path
 		NAMES "zend.h"
@@ -110,7 +110,7 @@
 	if(zend_path)
 		set(PHP_DEVELOPMENT_COMPONENT_FOUND TRUE)
 	else()
-		set(development_component_accpeted FALSE)
+		set(DEVELOPMENT_COMPONENT_ACCPETED FALSE)
 	endif()
 endif()

@@ -118,7 +118,6 @@
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(
 	php
 	DEFAULT_MSG
-
 	PHP_EXECUTABLE
 	PHP_CONFIG_EXECUTABLE
 	PHP_EXTENSIONS_DIR
@@ -126,5 +125,5 @@
 	PHP_INCLUDE_DIRS
 	PHP_VERSION_NUMBER
 	PHP_VERSION_STRING
-	development_component_accpeted
+	DEVELOPMENT_COMPONENT_ACCPETED
 )


--- deploy/packages/pack-libzeug.cmake
+++ deploy/packages/pack-libzeug.cmake
@@ -47,21 +47,29 @@
 # Package components
 #

-set(CPACK_COMPONENTS_ALL runtime dev examples docs)
-
-set(CPACK_COMPONENT_RUNTIME_DISPLAY_NAME "Libzeug libraries")
-set(CPACK_COMPONENT_RUNTIME_DESCRIPTION "Runtime components for the libzeug libraries")
+set(CPACK_COMPONENT_RUNTIME_DISPLAY_NAME "${META_PROJECT_NAME} library")
+set(CPACK_COMPONENT_RUNTIME_DESCRIPTION "Runtime components for ${META_PROJECT_NAME} library")

 set(CPACK_COMPONENT_DEV_DISPLAY_NAME "C/C++ development files")
-set(CPACK_COMPONENT_DEV_DESCRIPTION "Development files for the libzeug libraries")
+set(CPACK_COMPONENT_DEV_DESCRIPTION "Development files for ${META_PROJECT_NAME} library")
 set(CPACK_COMPONENT_DEV_DEPENDS runtime)

-set(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "Example applications")
-set(CPACK_COMPONENT_EXAMPLES_DESCRIPTION "Example applications for the libzeug libraries")
-set(CPACK_COMPONENT_EXAMPLES_DEPENDS runtime)
-
-set(CPACK_COMPONENT_DOCS_DISPLAY_NAME "Documentation")
-set(CPACK_COMPONENT_DOCS_DESCRIPTION "Documentation of the libzeug libraries")
+set(CPACK_COMPONENTS_ALL runtime dev)
+
+if (OPTION_BUILD_EXAMPLES)
+    set(CPACK_COMPONENT_EXAMPLES_DISPLAY_NAME "Example applications")
+    set(CPACK_COMPONENT_EXAMPLES_DESCRIPTION "Example applications for ${META_PROJECT_NAME} library")
+    set(CPACK_COMPONENT_EXAMPLES_DEPENDS runtime)
+
+    set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} examples)
+endif()
+
+if (OPTION_BUILD_DOCS)
+    set(CPACK_COMPONENT_DOCS_DISPLAY_NAME "Documentation")
+    set(CPACK_COMPONENT_DOCS_DESCRIPTION "Documentation of ${META_PROJECT_NAME} library")
+
+    set(CPACK_COMPONENTS_ALL ${CPACK_COMPONENTS_ALL} docs)
+endif()

 #
@@ -122,7 +130,7 @@
 set(CPACK_RESOURCE_FILE_README                 "${PROJECT_SOURCE_DIR}/README.md")
 set(CPACK_RESOURCE_FILE_WELCOME                "${PROJECT_SOURCE_DIR}/README.md")
 set(CPACK_PACKAGE_DESCRIPTION_FILE             "${PROJECT_SOURCE_DIR}/README.md")
-# set(CPACK_PACKAGE_ICON                         "${PROJECT_SOURCE_DIR}/deploy/images/logo.bmp")
+set(CPACK_PACKAGE_ICON                         "${PROJECT_SOURCE_DIR}/deploy/images/logo.bmp")
 set(CPACK_PACKAGE_FILE_NAME                    "${package_name}-${CPACK_PACKAGE_VERSION}")
 set(CPACK_PACKAGE_INSTALL_DIRECTORY            "${package_name}")
 set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY         "${package_name}")


Correctly enter c++-11-flag into exported cmake files for Clang

--- cmake/BALLCompilerSpecific.cmake
+++ cmake/BALLCompilerSpecific.cmake
@@ -181,4 +181,5 @@

 	## Clang should use c++-11 - mode
 	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+	SET(CF_BALL_ADDCXX_FLAGS "-std=c++11" ${CF_BALL_ADDCXX_FLAGS})
 ENDIF()


Modified to work with older git versions

--- cmake/CMakeModules/FindGit.cmake
+++ cmake/CMakeModules/FindGit.cmake
@@ -18,7 +18,7 @@
 #  <var-prefix>_WC_LAST_CHANGED_AUTHOR - author of last commit
 #  <var-prefix>_WC_LAST_CHANGED_DATE - date of last commit
 #  <var-prefix>_WC_LAST_CHANGED_REV - revision of last commit
-#  <var-prefix>_WC_INFO - output of command `svn info <dir>'
+#  <var-prefix>_WC_INFO - output of command `git rev-list HEAD --max-count 1'
 # GIT_WC_LOG retrieves the log message of the base revision of a
 # GIT working copy at a given location. This macro defines the
 # variable:
@@ -31,9 +31,6 @@
 #    GIT_WC_LOG(${PROJECT_SOURCE_DIR} Project)
 #    MESSAGE("Last changed log is ${Project_LAST_CHANGED_LOG}")
 #  ENDIF(GIT_FOUND)
-#
-# History (yyyymmdd):
-# 20121002 - Modified to "continue on" if svn is not found. (drb)
 #
 #=============================================================================
 # Copyright 2010 Kitware, Inc.
@@ -89,7 +86,7 @@
     # SET(GIT_SAVED_LC_ALL "$ENV{LC_ALL}")
     # SET(ENV{LC_ALL} C)

-    EXECUTE_PROCESS(COMMAND ${GIT_EXECUTABLE} rev-list HEAD --count
+    execute_process(COMMAND ${GIT_EXECUTABLE} rev-list HEAD --max-count 1
       WORKING_DIRECTORY ${dir}
       OUTPUT_VARIABLE ${prefix}_WC_REVISION
       ERROR_VARIABLE git_info_error
@@ -97,7 +94,7 @@
       OUTPUT_STRIP_TRAILING_WHITESPACE)

     IF(NOT ${git_info_result} EQUAL 0)
-      MESSAGE(WARNING "Command \"${GIT_EXECUTABLE} rev-list HEAD --count\" failed with output:\n${git_info_error}")
+      MESSAGE(WARNING "Command \"${GIT_EXECUTABLE} rev-list HEAD --max-count 1\" failed with output:\n${git_info_error}")
     ELSE(NOT ${git_info_result} EQUAL 0)
 	set(${prefix}_WC_INFO ${git_info_result})
     ENDIF(NOT ${git_info_result} EQUAL 0)


Increased GStreamer minimum requirement to 1.6.

Signed-off-by: Gopal, Puunithaaraj <10308ab826b56f8bbce1ec0c10bd609cace363da@intel.com>

--- cmake/FindBaseDependencies.cmake
+++ cmake/FindBaseDependencies.cmake
@@ -22,9 +22,9 @@
 endfunction(FindGlib)

 function(FindGstreamer libs)
-  pkg_check_modules (GSTREAMER            REQUIRED gstreamer-1.0>=1.4)
-  pkg_check_modules (GSTREAMER_VIDEO      REQUIRED gstreamer-video-1.0>=1.4)
-  pkg_check_modules (GSTREAMER_ALLOCATORS REQUIRED gstreamer-allocators-1.0)
+  pkg_check_modules (GSTREAMER            REQUIRED gstreamer-1.0>=1.6)
+  pkg_check_modules (GSTREAMER_VIDEO      REQUIRED gstreamer-video-1.0>=1.6)
+  pkg_check_modules (GSTREAMER_ALLOCATORS REQUIRED gstreamer-allocators-1.0>=1.6)
   pkg_check_modules (GSTREAMER_GL	  gstreamer-gl-1.0)
   set(GST_LIBS "")
   if(GSTREAMER_FOUND)


Robust finding of HDF5 library

Robust finding of HDF5 library

Former-commit-id: fdfbbb2fdce9a0ccde66238d98c76b8fc9085ad6

--- cmake/Find_or_install_HDF5.cmake
+++ cmake/Find_or_install_HDF5.cmake
@@ -45,17 +45,15 @@
 message("FINDING HDF5 LIBRARIES USING CMAKE DEFAULTS")
 find_package (HDF5 COMPONENTS CXX HL)
 if (HDF5_FOUND AND NOT "${HDF5_LIBRARIES}" MATCHES "anaconda")
-#    add_definitions(${HDF5_DEFINITIONS})
-#    include_directories(${HDF5_INCLUDE_DIRS})
+    add_definitions(${HDF5_DEFINITIONS})
     list(APPEND HDF5_LDFLAGS ${HDF5_CXX_LIBRARY_NAMES} ${HDF5_CXX_HL_LIBRARY_NAMES})
     list(APPEND HDF5_LIBRARIES ${HDF5_HL_LIBRARIES})
     list(REMOVE_DUPLICATES HDF5_LIBRARIES)
     message("FOUND HDF5: ${HDF5_FOUND}")
     message("   In path: ${HDF5_INCLUDE_DIRS}")
     message("   HDF5 DEFINITIONS: ${HDF5_DEFINITIONS}")
+    message("   HDF5 LIBRARIES  : ${HDF5_LIBRARIES}")
     return()
-else()
-    set(HDF5_FOUND 0)
 endif()

@@ -63,6 +61,8 @@

+set(HDF5_FOUND 0)
+set(HDF5_LIBRARIES "")
 if (NOT HDF5_FOUND OR "${HDF5_LIBRARIES}" MATCHES "anaconda")
     message("DOWNLOADING HDF5...")
     execute_process(
@@ -84,12 +84,20 @@
     endif()
     include(${PROJECT_SOURCE_DIR}/libs/hdf5/FindHDF5.cmake)
     find_package(HDF5 COMPONENTS CXX HL PATHS "${HDF5_CMAKE_DIR}"  NO_MODULE REQUIRED static)
-    list(APPEND HDF5_LIBRARIES ${HDF5_CXX_STATIC_LIBRARY} ${HDF5_HL_STATIC_LIBRARY} )
-    message("SUCCESSFULLY INSTALLED HDF5:   ${HDF5_LIBRARIES}")
-    message("BUILD LOG SAVED TO:   ${PROJECT_SOURCE_DIR}/cmake/download_scripts/tmp/hdf5/log_build.txt")
-
+    if(HDF5_FOUND)
+        list(APPEND HDF5_LIBRARIES ${HDF5_CXX_STATIC_LIBRARY} ${HDF5_HL_STATIC_LIBRARY} )
+        message("SUCCESSFULLY INSTALLED HDF5:   ${HDF5_LIBRARIES}")
+        message("   In path: ${HDF5_INCLUDE_DIRS}")
+        message("   HDF5 DEFINITIONS: ${HDF5_DEFINITIONS}")
+        message("   HDF5 LIBRARIES  : ${HDF5_LIBRARIES}")
+        message("BUILD LOG SAVED TO:   ${PROJECT_SOURCE_DIR}/cmake/download_scripts/tmp/hdf5/log_build.txt")
+        return()
+    else()
+        exit()
+    endif()
 endif()

+exit()

 #
 #    get_cmake_property(_variableNames VARIABLES)


Update cpp_resource.cmake

Update cpp_resource.cmake

--- cmake/modules/cpp_resource.cmake
+++ cmake/modules/cpp_resource.cmake
@@ -11,6 +11,7 @@

     get_property(RSC_BIN_FOLDER TARGET cpp_rsc_prj PROPERTY _EP_BINARY_DIR)
+    message(STATUS "Resource compiler bf: " ${RSC_BIN_FOLDER})
     set_property(GLOBAL PROPERTY CPPRSC_CMD ${CMAKE_CURRENT_BINARY_DIR}/${CMAKE_CFG_INTDIR}/cpp_rsc)
   else()
     set_property(GLOBAL PROPERTY CPPRSC_CMD cpp_rsc)


Re-indenting to remove tabs; was impossible to read

--- cmake_modules/ZorbaAddTest.cmake
+++ cmake_modules/ZorbaAddTest.cmake
@@ -25,27 +25,27 @@
 MACRO(ZORBA_ADD_TEST_SIMPLE NAME TARGET ...)
   SET(ARGS ${ARGV2} ${ARGN})

-	IF(ZORBA_WIN_PUT_ALL_BINARIES_IN_SAME_DIR)
-		GET_TARGET_PROPERTY(TARGET_LOCATION "${TARGET}" LOCATION)
+  IF(ZORBA_WIN_PUT_ALL_BINARIES_IN_SAME_DIR)
+    GET_TARGET_PROPERTY(TARGET_LOCATION "${TARGET}" LOCATION)

     # if building the static library, always use the static executables for testing
     IF (ZORBA_BUILD_STATIC_LIBRARY)
       SET(TARGET_LOCATION "${TARGET_LOCATION}_static")
     ENDIF (ZORBA_BUILD_STATIC_LIBRARY)

-		ADD_TEST("${NAME}" "${TARGET_LOCATION}" ${ARGS})
-	ELSE(ZORBA_WIN_PUT_ALL_BINARIES_IN_SAME_DIR)
-		GET_TARGET_PROPERTY(TARGET_LOCATION "${TARGET}" LOCATION)
-		IF(WIN32)
-			ADD_TEST("${NAME}" "${WIN_CMAKE_BINARY_DIR}/scripts/win_exec_cmake.bat" "${TARGET_LOCATION}" ${ARGS})
-		ELSE(WIN32)
+    ADD_TEST("${NAME}" "${TARGET_LOCATION}" ${ARGS})
+  ELSE(ZORBA_WIN_PUT_ALL_BINARIES_IN_SAME_DIR)
+    GET_TARGET_PROPERTY(TARGET_LOCATION "${TARGET}" LOCATION)
+    IF(WIN32)
+      ADD_TEST("${NAME}" "${WIN_CMAKE_BINARY_DIR}/scripts/win_exec_cmake.bat" "${TARGET_LOCATION}" ${ARGS})
+    ELSE(WIN32)
       # if building the static library, always use the static executables for testing
       IF (ZORBA_BUILD_STATIC_LIBRARY)
         SET(TARGET_LOCATION "${TARGET_LOCATION}_static")
       ENDIF (ZORBA_BUILD_STATIC_LIBRARY)
-			ADD_TEST("${NAME}" "${TARGET_LOCATION}" ${ARGS})
-		ENDIF(WIN32)
-	ENDIF(ZORBA_WIN_PUT_ALL_BINARIES_IN_SAME_DIR)
+      ADD_TEST("${NAME}" "${TARGET_LOCATION}" ${ARGS})
+    ENDIF(WIN32)
+  ENDIF(ZORBA_WIN_PUT_ALL_BINARIES_IN_SAME_DIR)
   SET_TESTS_PROPERTIES ("${NAME}" PROPERTIES TIMEOUT "${NORMAL_TIMEOUT_VALUE}")
   GET_PROPERTY(TEST_EXTRAPROPS GLOBAL PROPERTY "EXTRAPROPS-${NAME}")
   IF (TEST_EXTRAPROPS)


BUG: VTK_INCLUDE_DIRS contains vtkmetaio if VTK_USE_METAIO is OFF

If VTK_USE_METAIO is Off, VTK_INCLUDE_DIRS still contains
vtkmetaio. This wreaks havoc in applications that use both VTK and
ITK. Mixed VTK/ITK applications that use metaio and ITK's METAIO library
must build VTK with VTK_USE_METAIO Off.

--- vtkIncludeDirectories.cmake
+++ vtkIncludeDirectories.cmake
@@ -200,7 +200,9 @@
 VTK_THIRD_PARTY_INCLUDE(DICOMParser DICOMParser)
 VTK_THIRD_PARTY_INCLUDE(FREETYPE vtkfreetype/include)
 VTK_THIRD_PARTY_INCLUDE(MATERIALLIBRARY MaterialLibrary)
-VTK_THIRD_PARTY_INCLUDE(METAIO vtkmetaio)
+IF(VTK_USE_METAIO)
+  VTK_THIRD_PARTY_INCLUDE(METAIO vtkmetaio)
+ENDIF(VTK_USE_METAIO)
 VTK_THIRD_PARTY_INCLUDE(VERDICT verdict)
 VTK_THIRD_PARTY_INCLUDE(HDF5 vtkhdf5)
 VTK_THIRD_PARTY_INCLUDE(HDF5 vtkhdf5/src)


COMP: Add vtkmetaio build tree to include directories

Since commit eb53e553 (MetaIO: Avoid requiring parent projects to
provide "../metaIOConfig.h", 2011-04-06) MetaIO configures a header into
ints build tree.

--- vtkIncludeDirectories.cmake
+++ vtkIncludeDirectories.cmake
@@ -200,6 +200,7 @@
 VTK_THIRD_PARTY_INCLUDE(DICOMParser DICOMParser)
 VTK_THIRD_PARTY_INCLUDE(FREETYPE vtkfreetype/include)
 VTK_THIRD_PARTY_INCLUDE(MATERIALLIBRARY MaterialLibrary)
+VTK_THIRD_PARTY_INCLUDE(METAIO vtkmetaio)
 VTK_THIRD_PARTY_INCLUDE(VERDICT verdict)
 VTK_THIRD_PARTY_INCLUDE(HDF5 vtkhdf5)
 VTK_THIRD_PARTY_INCLUDE(HDF5 vtkhdf5/src)


CI: enforce nodeless positioning

CI: enforce nodeless positioning

--- ci-build.cmake
+++ ci-build.cmake
@@ -95,6 +95,7 @@
     -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
     -DOGRE_BUILD_TESTS=ON
     -DOGRE_RESOURCEMANAGER_STRICT=2
+    -DOGRE_NODELESS_POSITIONING=OFF
     -DOGRE_BUILD_DEPENDENCIES=${BUILD_DEPS}
     -DSWIG_EXECUTABLE=${SWIG_EXECUTABLE}
     ${RENDERSYSTEMS}


python: Updated to 2.7.5

python: Updated to 2.7.5

--- python.cmake
+++ python.cmake
@@ -17,10 +17,10 @@
 include (openssl)   # without openssl, hashlib might have missing encryption methods

 external_source (python
-    2.7.3
-    Python-2.7.3.tgz
-    2cf641732ac23b18d139be077bd906cd
-    http://www.python.org/ftp/python/2.7.3)
+    2.7.5
+    Python-2.7.6.tgz
+    1d8728eb0dfcac72a0fd99c17ec7f386
+    http://www.python.org/ftp/python/2.7.6)

 message ("Installing ${python_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")


Fix typo

Fix typo

--- Superbuild/SCIRunDataExternal.cmake
+++ Superbuild/SCIRunDataExternal.cmake
@@ -1,21 +1,21 @@
 #  For more information, please see: http://software.sci.utah.edu
-#
+#
 #  The MIT License
-#
+#
 #  Copyright (c) 2015 Scientific Computing and Imaging Institute,
 #  University of Utah.
-#
-#
+#
+#
 #  Permission is hereby granted, free of charge, to any person obtaining a
 #  copy of this software and associated documentation files (the "Software"),
 #  to deal in the Software without restriction, including without limitation
 #  the rights to use, copy, modify, merge, publish, distribute, sublicense,
 #  and/or sell copies of the Software, and to permit persons to whom the
 #  Software is furnished to do so, subject to the following conditions:
-#
+#
 #  The above copyright notice and this permission notice shall be included
-#  in all copies or substantial portions of the Software.
-#
+#  in all copies or substantial portions of the Software.
+#
 #  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS
 #  OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
 #  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL
@@ -33,11 +33,11 @@
   SVN_REPOSITORY "${data_SVN_URL}"
   SVN_TRUST_CERT 1
   SVN_USERNAME "anonymous"
-  SVN_PASSWIRD ""
+  SVN_PASSWORD ""
   DOWNLOAD_DIR "${sci_data_DIR}"
   PATCH_COMMAND ""
   INSTALL_DIR ""
-  INSTALL_COMMAND ""
+  INSTALL_COMMAND ""
   CONFIGURE_COMMAND ""
   CMAKE_COMMAND ""
   BUILD_COMMAND ""
@@ -45,4 +45,3 @@

 ExternalProject_Get_Property(SCI_data_external BINARY_DIR)
 SET(SCI_DATA_DIR ${sci_data_DIR} CACHE PATH "")
-


Update FindConfigurePackage.cmake

Update FindConfigurePackage.cmake

--- project/cmake/modules/FindConfigurePackage.cmake
+++ project/cmake/modules/FindConfigurePackage.cmake
@@ -75,36 +75,9 @@
 endfunction()

 function(FindConfigurePackageUnzip src work_dir)
-    find_program(ZIP_EXECUTABLE 7z PATHS "$ENV{ProgramFiles}/7-Zip")
-    if(ZIP_EXECUTABLE)
-        execute_process(COMMAND ${ZIP_EXECUTABLE}
-            x -r -y ${src}
-            WORKING_DIRECTORY ${work_dir}
-        )
-    endif()
-
-    if(NOT ZIP_EXECUTABLE)
-        find_program(ZIP_EXECUTABLE wzzip PATHS "$ENV{ProgramFiles}/WinZip")
-        if(ZIP_EXECUTABLE)
-            execute_process(COMMAND ${ZIP_EXECUTABLE} -f "${src}"
-                WORKING_DIRECTORY ${work_dir}
-            )
-        endif()
-    endif()
-
-    if(NOT ZIP_EXECUTABLE)
-        find_package(Cygwin)
-        find_program(ZIP_EXECUTABLE unzip PATHS "${CYGWIN_INSTALL_PATH}/bin")
-        if(ZIP_EXECUTABLE)
-            execute_process(COMMAND ${ZIP_EXECUTABLE} -o ${src}
-                WORKING_DIRECTORY ${work_dir}
-            )
-        endif()
-    endif()
-
-    if(NOT ZIP_EXECUTABLE)
-        message(STATUS "unzip tools not found, skip ${src}")
-    endif()
+    execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ${src}
+        WORKING_DIRECTORY ${work_dir}
+    )
 endfunction()

 function(FindConfigurePackageRemoveEmptyDir DIR)
@@ -158,27 +131,9 @@
                     FindConfigurePackageDownloadFile("${FindConfigurePackage_TAR_URL}" "${FindConfigurePackage_WORKING_DIRECTORY}/${DOWNLOAD_FILENAME}")
                 endif()

-                find_program(TAR_EXECUTABLE tar PATHS "${CYGWIN_INSTALL_PATH}/bin")
-                if(TAR_EXECUTABLE AND NOT EXISTS ${FindConfigurePackage_DOWNLOAD_SOURCE_DIR})
-                    file(TO_NATIVE_PATH "${FindConfigurePackage_WORKING_DIRECTORY}/${DOWNLOAD_FILENAME}" DOWNLOAD_NATIVE_FILENAME)
-                    if(APPLE)
-                        execute_process(COMMAND ${TAR_EXECUTABLE} -xvf ${DOWNLOAD_NATIVE_FILENAME}
-                            WORKING_DIRECTORY ${FindConfigurePackage_WORKING_DIRECTORY}
-                        )
-                    elseif(MINGW)
-                        execute_process(COMMAND ${TAR_EXECUTABLE} -axvf ${DOWNLOAD_FILENAME}
-                            WORKING_DIRECTORY ${FindConfigurePackage_WORKING_DIRECTORY}
-                        )
-                    else()
-                        execute_process(COMMAND ${TAR_EXECUTABLE} -axvf ${DOWNLOAD_NATIVE_FILENAME}
-                            WORKING_DIRECTORY ${FindConfigurePackage_WORKING_DIRECTORY}
-                        )
-                    endif()
-                endif()
-
-                if(NOT TAR_EXECUTABLE)
-                    message(STATUS "tar not found skip ${FindConfigurePackage_TAR_URL}")
-                endif()
+                execute_process(COMMAND ${CMAKE_COMMAND} -E tar xvf ${DOWNLOAD_NATIVE_FILENAME}
+                    WORKING_DIRECTORY ${FindConfigurePackage_WORKING_DIRECTORY}
+                )

                 if (EXISTS ${FindConfigurePackage_DOWNLOAD_SOURCE_DIR})
                     set (FindConfigurePackage_UNPACK_SOURCE YES)


added parameter to call

added parameter to call

--- ice40/family.cmake
+++ ice40/family.cmake
@@ -17,7 +17,7 @@
     set(DEV_TXT_DB /usr/local/share/icebox/chipdb-${dev}.txt)
     set(DEV_CC_DB ${CMAKE_CURRENT_SOURCE_DIR}/ice40/chipdbs/chipdb-${dev}.cc)
     add_custom_command(OUTPUT ${DEV_CC_DB}
-            COMMAND python3 ${DB_PY} ${DEV_TXT_DB} > ${DEV_CC_DB}.new
+            COMMAND python3 ${DB_PY} -c ${DEV_TXT_DB} > ${DEV_CC_DB}.new
             COMMAND mv ${DEV_CC_DB}.new ${DEV_CC_DB}
             DEPENDS ${DEV_TXT_DB} ${DB_PY}
             )


ffmpeg/4.x: update FFmpeg wrapper 2022.09

- FFmpeg 4.4.2
- added AV1 support hrough aom 3.4.0: https://aomedia.googlesource.com/aom/+/refs/tags/v3.4.0
- use Ubuntu 18.04 => 20.04 as build image

--- 3rdparty/ffmpeg/ffmpeg.cmake
+++ 3rdparty/ffmpeg/ffmpeg.cmake
@@ -1,8 +1,8 @@
-# Binaries branch name: ffmpeg/4.x_20220524
-# Binaries were created for OpenCV: d6e9616256b46bd59be0a93d397f6ab958d39cd2
-ocv_update(FFMPEG_BINARIES_COMMIT "65ec04d4573dcdfa4531f0b9e67f35d8ffff873e")
-ocv_update(FFMPEG_FILE_HASH_BIN32 "5573e2262ad1298e603122b7759fc2f6")
-ocv_update(FFMPEG_FILE_HASH_BIN64 "5f9e2b2e04c15f080f40e844de80c867")
+# Binaries branch name: ffmpeg/4.x_20220912
+# Binaries were created for OpenCV: 4154bd06677c30475e2545cbee05906dd9a367cb
+ocv_update(FFMPEG_BINARIES_COMMIT "524023e38e27649d4f5ce97d57ceb8864c838fb6")
+ocv_update(FFMPEG_FILE_HASH_BIN32 "88f87420899e07151b682a76e30d3e01")
+ocv_update(FFMPEG_FILE_HASH_BIN64 "81b1e1e9fd2a10f4ec7b239c743240fe")
 ocv_update(FFMPEG_FILE_HASH_CMAKE "8862c87496e2e8c375965e1277dee1c7")

 function(download_win_ffmpeg script_var)


iOS: Fix to prevent absolute paths from being inserted into resources.cfg for iOS to fix running the sample browser on devices.

--HG--
branch : v1-7
extra : rebase_source : f9345a5a2b07d9ba1bc58c7c7c8497769a1c7a91

--- CMake/InstallResources.cmake
+++ CMake/InstallResources.cmake
@@ -27,11 +27,11 @@
     set(OGRE_MEDIA_DIR_DBG "${OGRE_MEDIA_PATH}")
   else()
     if(OGRE_INSTALL_SAMPLES_SOURCE)
-      set(OGRE_MEDIA_PATH "media")
+      set(OGRE_MEDIA_PATH "Media")
       set(OGRE_MEDIA_DIR_REL "../../../${OGRE_MEDIA_PATH}")
       set(OGRE_MEDIA_DIR_DBG "../../../${OGRE_MEDIA_PATH}")
     else()
-      set(OGRE_MEDIA_PATH "Samples/media")
+      set(OGRE_MEDIA_PATH "Samples/Media")
       set(OGRE_MEDIA_DIR_REL "../../../../${OGRE_MEDIA_PATH}")
       set(OGRE_MEDIA_DIR_DBG "../../../../${OGRE_MEDIA_PATH}")
     endif()
@@ -142,17 +142,20 @@

 # CREATE CONFIG FILES - BUILD DIR VERSIONS
-if (NOT OGRE_BUILD_PLATFORM_IPHONE)
-  set(OGRE_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Samples/Media")
-  set(OGRE_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Samples/Media")
-endif ()
-
+set(OGRE_MEDIA_DIR_REL "${OGRE_SOURCE_DIR}/Samples/Media")
+set(OGRE_MEDIA_DIR_DBG "${OGRE_SOURCE_DIR}/Samples/Media")
 if (WIN32)
   set(OGRE_PLUGIN_DIR_REL ".")
   set(OGRE_PLUGIN_DIR_DBG ".")
   set(OGRE_SAMPLES_DIR_REL ".")
   set(OGRE_SAMPLES_DIR_DBG ".")
 elseif (APPLE)
+  # iPhone needs to use relative paths in the config files
+  if(OGRE_BUILD_PLATFORM_IPHONE)
+    set(OGRE_MEDIA_DIR_REL "${OGRE_MEDIA_PATH}")
+    set(OGRE_MEDIA_DIR_DBG "${OGRE_MEDIA_PATH}")
+  endif(OGRE_BUILD_PLATFORM_IPHONE)
+
   # not used on OS X, uses Resources
   set(OGRE_PLUGIN_DIR_REL "")
   set(OGRE_PLUGIN_DIR_DBG "")


Allow OIS to be found in the OGRE_SDK location when building from outside

--HG--
branch : v1-7

--- CMake/Packages/FindOIS.cmake
+++ CMake/Packages/FindOIS.cmake
@@ -19,6 +19,7 @@

 # Get path, convert backslashes as ${ENV_${var}}
 getenv_path(OIS_HOME)
+getenv_path(OGRE_SDK)
 getenv_path(OGRE_HOME)
 getenv_path(OGRE_SOURCE)

@@ -26,6 +27,7 @@
 set(OIS_PREFIX_PATH ${OIS_HOME} ${ENV_OIS_HOME}
   ${OGRE_SOURCE}/iPhoneDependencies ${ENV_OGRE_SOURCE}/iPhoneDependencies
   ${OGRE_SOURCE}/Dependencies ${ENV_OGRE_SOURCE}/Dependencies
+  ${OGRE_SDK} ${ENV_OGRE_SDK}
   ${OGRE_HOME} ${ENV_OGRE_HOME})
 create_search_paths(OIS)
 # redo search if prefix path changed


Install Qt Windows Vista style

Install Qt Windows Vista style

Add trailing slashes to paths related to SimpleITK and MatchPoint.

--- CMake/mitkInstallRules.cmake
+++ CMake/mitkInstallRules.cmake
@@ -37,6 +37,7 @@

   if(WIN32)
     MITK_INSTALL(FILES "${_qmake_path}/../plugins/platforms/qwindows.dll")
+    MITK_INSTALL(FILES "${_qmake_path}/../plugins/styles/qwindowsvistastyle.dll")
   elseif(APPLE)
     MITK_INSTALL(FILES "${_qmake_path}/../plugins/platforms/libqcocoa.dylib")

@@ -78,15 +79,14 @@

 # Install MatchPoint binaries that are not auto-detected
 if(MITK_USE_MatchPoint)
-  MITK_INSTALL(DIRECTORY "${MITK_EXTERNAL_PROJECT_PREFIX}/bin" FILES_MATCHING PATTERN "MapUtilities*")
-  MITK_INSTALL(DIRECTORY "${MITK_EXTERNAL_PROJECT_PREFIX}/bin" FILES_MATCHING PATTERN "MapAlgorithms*")
+  MITK_INSTALL(DIRECTORY "${MITK_EXTERNAL_PROJECT_PREFIX}/bin/" FILES_MATCHING PATTERN "MapUtilities*")
+  MITK_INSTALL(DIRECTORY "${MITK_EXTERNAL_PROJECT_PREFIX}/bin/" FILES_MATCHING PATTERN "MapAlgorithms*")
 endif()

 # Install SimpleITK binaries that are not auto-detected
 if(MITK_USE_SimpleITK)
-  MITK_INSTALL(DIRECTORY "${MITK_EXTERNAL_PROJECT_PREFIX}/bin" FILES_MATCHING PATTERN "SimpleITK*")
+  MITK_INSTALL(DIRECTORY "${MITK_EXTERNAL_PROJECT_PREFIX}/bin/" FILES_MATCHING PATTERN "SimpleITK*")
 endif()

-# IMPORTANT: Restore default install destination!
-# IMPORTANT: Do not edit this file beyond this line!
+# IMPORTANT: Restore default install destination! Do not edit this file beyond this line!
 set(_install_DESTINATION "")


Fix errata in FCLMacros.cmake

Fix errata in FCLMacros.cmake

--- CMakeModules/FCLMacros.cmake
+++ CMakeModules/FCLMacros.cmake
@@ -14,14 +14,14 @@
 # Usage:
 #   fcl_get_filename_components(_var _cacheDesc [items...])
 #===============================================================================
-macro(fcl_get_filename_components _var _cacheDesc _suffix_to_remove)
+macro(fcl_get_filename_components _var _cacheDesc _prefix_to_remove)
   set(${_var} "" CACHE INTERNAL ${_cacheDesc} FORCE)
-  string(LENGTH ${_suffix_to_remove} suffix_length)
+  string(LENGTH ${_prefix_to_remove} prefix_length)
   foreach(header ${ARGN})
     string(LENGTH ${header} full_length)
-    math(EXPR relative_path_length "${full_length} - ${suffix_length}")
-    string(SUBSTRING ${header} ${suffix_length} ${relative_path_length} header)
-    if(NOT ${header} MATCHES "/detail/" AND NOT ${header} MATCHES "-impl.h")
+    math(EXPR relative_path_length "${full_length} - ${prefix_length}")
+    string(SUBSTRING ${header} ${prefix_length} ${relative_path_length} header)
+    if(NOT ${header} MATCHES "/detail/" AND NOT ${header} MATCHES "-inl.h")
       fcl_append_to_cached_string(
         ${_var}
         ${_cacheDesc}"_HEADER_NAMES"


COMP: Updating LesionSizingToolkit after some recent compile fixes

Change-Id: I9f0362c2cf47d414e9dfba78804b9a6e1c56494a

--- Modules/Remote/LesionSizingToolkit.remote.cmake
+++ Modules/Remote/LesionSizingToolkit.remote.cmake
@@ -1,5 +1,5 @@
 itk_fetch_module(LesionSizingToolkit
   "Framework for determining the sizes of lesions in medical images."
-  GIT_REPOSITORY http://public.kitware.com/LesionSizingToolkit.git
-  GIT_TAG 100ec226866cca13a6ed0f5c2d3520f45750424d
+  GIT_REPOSITORY https://github.com/InsightSoftwareConsortium/LesionSizingToolkit.git
+  GIT_TAG d2da44b029795d38b02d29a88c62487efb73e363
   )


Attempt to fix Apple CI build

Attempt to fix Apple CI build

--- CDT/conan_basic_setup.cmake
+++ CDT/conan_basic_setup.cmake
@@ -1,5 +1,9 @@
 if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake")
     message(STATUS "Detected Conan build: perform conan setup")
     include("${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake")
-    conan_basic_setup()
+    if(APPLE)
+        conan_basic_setup(KEEP_RPATHS)
+    else()
+        conan_basic_setup()
+    endif()
 endif()


Some minor cleaning up [ci skip].

Some minor cleaning up [ci skip].

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -1,13 +1,3 @@
-# Determine the effective build directory
-
-SET(PROJECT_BUILD_DIR ${CMAKE_BINARY_DIR})
-
-IF(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
-    SET(PROJECT_BUILD_DIR ${PROJECT_BUILD_DIR}/${CMAKE_CFG_INTDIR})
-ENDIF()
-
-#===============================================================================
-
 MACRO(INITIALISE_PROJECT)
 #    SET(CMAKE_VERBOSE_MAKEFILE ON)
     SET(CMAKE_INCLUDE_CURRENT_DIR ON)
@@ -36,6 +26,14 @@
         MESSAGE("Building a ${ARCHITECTURE}-bit release version...")

         SET(RELEASE_MODE ON)
+    ENDIF()
+
+    # Determine the effective build directory
+
+    SET(PROJECT_BUILD_DIR ${CMAKE_BINARY_DIR})
+
+    IF(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
+        SET(PROJECT_BUILD_DIR ${PROJECT_BUILD_DIR}/${CMAKE_CFG_INTDIR})
     ENDIF()

     # Required packages


CMake: some work on simplifying the deployment of plugins' external binaries (#966).

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -768,8 +768,11 @@
                 IF(NOT "${EXTERNAL_BINARIES_DIR}" STREQUAL "")
                     FOREACH(EXTERNAL_BINARY ${EXTERNAL_BINARIES})
                         IF(WIN32)
+                            STRING(REPLACE "${CMAKE_SHARED_LIBRARY_SUFFIX}" "${CMAKE_IMPORT_LIBRARY_SUFFIX}"
+                                   IMPORT_EXTERNAL_BINARY "${EXTERNAL_BINARY}")
+
                             TARGET_LINK_LIBRARIES(${TEST_NAME}
-                                ${EXTERNAL_BINARIES_DIR}/${EXTERNAL_BINARY}
+                                ${FULL_DEST_EXTERNAL_BINARIES_DIR}/${IMPORT_EXTERNAL_BINARY}
                             )
                         ELSE()
                             TARGET_LINK_LIBRARIES(${TEST_NAME}


Added automatic computation of the python module installation directory in CMake

--- Examples/Examples.cmake
+++ Examples/Examples.cmake
@@ -160,6 +160,7 @@
 	find_package(PythonLibs ${PY_VER})
 	find_package(NumPy)
 	if(PYTHONLIBS_FOUND AND PYTHON_NUMPY_FOUND)
+		execute_process (COMMAND ${PYTHON_EXECUTABLE} -c "from distutils.sysconfig import get_python_lib; print(get_python_lib())" OUTPUT_VARIABLE MTF_PY_INSTALL_DIR OUTPUT_STRIP_TRAILING_WHITESPACE)
 		# if(PYTHONLIBS_VERSION_STRING VERSION_LESS 3.0.0)
 			add_library(pyMTF MODULE Examples/cpp/pyMTF.cc)
 			set_target_properties(pyMTF PROPERTIES PREFIX "")


HIT: Fix logic in HIT_ADD_DIRECTORY_RECURSIVE

Change-Id: I066787aaeec2a1562aa36527e60291594da31f83

--- tests/hit/HIT.cmake
+++ tests/hit/HIT.cmake
@@ -146,8 +146,15 @@

 # Macro: HIT_ADD_DIRECTORY_RECURSIVE to scan+add all files in a directory+subdirectories for testing
 macro(HIT_ADD_DIRECTORY_RECURSIVE _dir)
-    file(GLOB_RECURSE files "${_dir}/*.c*")
-    hit_add_files(${_dir} ${files})
+    file(GLOB children RELATIVE ${_dir} ${_dir}/*)
+    set(dirlist "")
+    foreach(child ${children})
+        if(IS_DIRECTORY ${_dir}/${child})
+            hit_add_directory_recursive(${_dir}/${child})
+        else()
+            hit_add_files(${_dir} ${child})
+        endif()
+    endforeach()
 endmacro()

 # vim: ts=4:sw=4:expandtab:smartindent


Next attempt to fix the header directory issue

--- h5cpp-config.cmake
+++ h5cpp-config.cmake
@@ -38,4 +38,4 @@
 # load targets
 #
 include(${CMAKE_CURRENT_LIST_DIR}/h5cpp_shared_targets.cmake)
-target_include_directories(h5cpp_shared PRIVATE ${HDF5_INCLUDE_DIRS})+include_directories(${HDF5_INCLUDE_DIRS})


Check gcc's version and enable c++0x only with gcc >= 4.5.

This is because the latest changes with rvalue references make
code compiled with g++ 4.4 behave improperly and cause crashes.

This commit also introduces a QTGSTREAMER_DISABLE_CXX0X variable
that can be set to TRUE from the cmake command line to disable
c++0x support, for testing/debugging purposes.

--- cmake/modules/FindQtGstreamer.cmake
+++ cmake/modules/FindQtGstreamer.cmake
@@ -85,12 +85,23 @@
     endif()

     if (CMAKE_COMPILER_IS_GNUCXX)
-        include(TestCXXAcceptsFlag)
-        check_cxx_accepts_flag("-std=c++0x" _QTGSTREAMER_HAVE_CXX0X_SUPPORT)
-        if (_QTGSTREAMER_HAVE_CXX0X_SUPPORT)
+        execute_process(COMMAND ${CMAKE_CXX_COMPILER} "-dumpversion"
+                        RESULT_VARIABLE _GCC_DUMPVERSION_RESULT
+                        OUTPUT_VARIABLE _GCC_VERSION
+                        ERROR_QUIET
+                        OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+        if ((${_GCC_DUMPVERSION_RESULT} EQUAL 0)
+            AND (${_GCC_VERSION} VERSION_GREATER 4.4.99)
+            AND (NOT QTGSTREAMER_DISABLE_CXX0X))
+
+            if (NOT QTGSTREAMER_FLAGS) # be quiet if we try to find QtGStreamer multiple times
+                message(STATUS "GCC 4.5 or later detected. Enabling C++0x support in QTGSTREAMER_FLAGS.")
+            endif()
             set(QTGSTREAMER_FLAGS "-std=c++0x")
         endif()
     endif()
+
 endif()

 mark_as_advanced(QTGSTREAMER_LIBRARY QTGSTREAMER_INCLUDE_DIR)


hunter_download: Suppress default build messages

--- cmake/modules/hunter_download.cmake
+++ cmake/modules/hunter_download.cmake
@@ -225,6 +225,12 @@
   endif()
   hunter_status_print("${build_message}")

+  if(HUNTER_STATUS_DEBUG)
+    set(logging_params "")
+  else()
+    set(logging_params "OUTPUT_QUIET")
+  endif()
+
   set(
       cmd
       "${CMAKE_COMMAND}"
@@ -242,6 +248,7 @@
       COMMAND ${cmd}
       WORKING_DIRECTORY "${HUNTER_PACKAGE_HOME_DIR}"
       RESULT_VARIABLE generate_result
+      ${logging_params}
   )

   if(generate_result EQUAL 0)
@@ -266,6 +273,7 @@
       COMMAND ${cmd}
       WORKING_DIRECTORY "${HUNTER_PACKAGE_HOME_DIR}"
       RESULT_VARIABLE build_result
+      ${logging_params}
   )

   if(build_result EQUAL 0)


increase max memory to 4G for wasm (#12798)

--- cmake/onnxruntime_webassembly.cmake
+++ cmake/onnxruntime_webassembly.cmake
@@ -190,6 +190,7 @@
   set_target_properties(onnxruntime_webassembly PROPERTIES LINK_FLAGS "             \
                         -s \"EXPORTED_RUNTIME_METHODS=${EXPORTED_RUNTIME_METHODS}\" \
                         -s \"EXPORTED_FUNCTIONS=_malloc,_free\"                     \
+                        -s MAXIMUM_MEMORY=4294967296                                \
                         -s WASM=1                                                   \
                         -s NO_EXIT_RUNTIME=0                                        \
                         -s ALLOW_MEMORY_GROWTH=1                                    \


Use the internal `__libc_dlopen_mode` symbol instead of `dlmopen`

Both, `dlmopen` and `dlopen` are only available when the debugeee
application links against libdl. When that is not the case, one
could not inject heaptrack at runtime.

By instead using the libc.so internal `__libc_dlopen_mode` function,
we get rid of this limitation and we can also inject into applications
that only link against libc.so but not libdl.

This trick was found in the linux-inject project:
https://github.com/gaffe23/linux-inject

--- heaptrack.sh.cmake
+++ heaptrack.sh.cmake
@@ -173,8 +173,8 @@
   else
     echo "injecting heaptrack into application via GDB, this might take some time..."
     gdb --batch-silent -n -iex="set auto-solib-add off" -p $pid \
-        --eval-command="sharedlibrary libdl" \
-        --eval-command="call (void) dlmopen(0x00, \"$LIBHEAPTRACK_INJECT\", 0x002)" \
+        --eval-command="sharedlibrary libc.so" \
+        --eval-command="call (void) __libc_dlopen_mode(\"$LIBHEAPTRACK_INJECT\", 0x80000000 | 0x002)" \
         --eval-command="sharedlibrary libheaptrack_inject" \
         --eval-command="call (void) heaptrack_inject(\"$pipe\")" \
         --eval-command="detach"


Don't use zlibstatic anymore for TmxParser library

--- external/TmxParser/Options.cmake
+++ external/TmxParser/Options.cmake
@@ -47,7 +47,7 @@
 # Create a list of external library dependencies used by this external library
 set(TMXPARSER_LIB_DEPS
   TINYXML tinyxml
-  ZLIB    zlibstatic)
+  ZLIB    zlib)
 # Push the list to the parent scope for projects to reference
 set(TMXPARSER_LIB_DEPS ${TMXPARSER_LIB_DEPS} PARENT_SCOPE)


CMake: fixed how to find ocio header (#1467)

* According to the CMake documentation of find_path
(https://cmake.org/cmake/help/v3.0/command/find_path.html)
    * NAMES parameter should be filename.
    * PATH_SUFFIXES should be used to check additional subdirectories.
* This fix an issue when we try to find the ocio header with
OCIO_INCLUDE_PATH defined (and not OCIO_PATH). Tested with CMake 3.4.3.

--- src/cmake/modules/FindOpenColorIO.cmake
+++ src/cmake/modules/FindOpenColorIO.cmake
@@ -24,13 +24,16 @@
             message(STATUS "OCIO LIBRARY_PATH explicitly specified: ${OCIO_LIBRARY_PATH}")
         endif()
     endif ()
-    FIND_PATH( OCIO_INCLUDES OpenColorIO/OpenColorIO.h
+    FIND_PATH(OCIO_INCLUDES
+        OpenColorIO.h
+        PATHS
         ${OCIO_INCLUDE_PATH}
         ${OCIO_PATH}/include/
         /usr/include
         /usr/local/include
         /sw/include
         /opt/local/include
+        PATH_SUFFIXES OpenColorIO
         DOC "The directory where OpenColorIO/OpenColorIO.h resides")
     FIND_LIBRARY(OCIO_LIBRARIES
         NAMES OCIO OpenColorIO


make: xmllint targets can be run, but routing and net lists fail

Signed-off-by: Jeffrey Elms <23ce84ca7a7de9dc17ad8e8b0bbd717d4f9f9884@freshred.net>

--- make/devices.cmake
+++ make/devices.cmake
@@ -274,7 +274,7 @@
       ${XMLLINT}
       --output ${MERGE_XMLLINT_OUTPUT}
       --schema ${ARCH_SCHEMA}
-      ${MERGE_XML_OUTPUT}
+      ${MERGE_XML_OUTPUT} 2>&1 | head -n10 && [ "$$\{PIPESTATUS[0]\}" -eq 0 ]
   )
   add_custom_target(
     ${DEFINE_DEVICE_TYPE_ARCH}_${DEFINE_DEVICE_TYPE_DEVICE_TYPE}_arch_lint
@@ -442,10 +442,10 @@
         ${XMLLINT} ${XMLLINT_TARGET}
         ${ROUTING_SCHEMA}
       COMMAND
-        ${QUIET_CMD} ${XMLLINT}
+        ${XMLLINT}
 	--output ${OUT_RRXML_REAL_LINT}
 	--schema ${ROUTING_SCHEMA}
-	${OUT_RRXML_REAL}
+	${OUT_RRXML_REAL} 2>&1 |  head -n10 && [ "$$\{PIPESTATUS[0]\}" -eq 0 ]
       )
     add_custom_target(
       ${DEFINE_DEVICE_ARCH}_${DEFINE_DEVICE_DEVICE}_${PACKAGE}_rrxml_real_lint
@@ -903,7 +903,25 @@
     WORKING_DIRECTORY ${OUT_LOCAL}/echo
     )

-  # TODO: validate .net xml file against common/xml/packed_netlist.xsd
+  # validate .net xml file against common/xml/packed_netlist.xsd
+  set(OUT_NET_XMLLINT ${OUT_NET}.lint)
+  get_target_property_required(XMLLINT env XMLLINT)
+  get_target_property(XMLLINT_TARGET env XMLLINT_TARGET)
+  set(NET_SCHEMA ${symbiflow-arch-defs_SOURCE_DIR}/common/xml/packed_netlist.xsd)
+
+  add_custom_command(
+    OUTPUT ${OUT_NET_XMLLINT}
+    DEPENDS
+      ${OUT_NET}
+      ${XMLLINT} ${XMLLINT_TARGET}
+      ${NET_SCHEMA}
+    COMMAND
+      ${XMLLINT}
+      --output ${OUT_NET_XMLLINT}
+      --schema ${NET_SCHEMA}
+      ${OUT_NET}  2>&1 | head -n10 && [ "$$\{PIPESTATUS[0]\}" -eq 0 ]
+  )
+  add_custom_target(${NAME}_lint DEPENDS ${OUT_NET_XMLLINT})

   # Generate placement.
   # -------------------------------------------------------------------------


updates to test.cmake

updates to test.cmake

--- scripts/test.cmake
+++ scripts/test.cmake
@@ -24,8 +24,8 @@
   IF(NOT EXISTS "${TEST_MODELS_DIRECTORY}")
     MESSAGE("cloning test models ...")
     EXECUTE_PROCESS(
-      COMMAND ${CTEST_GIT_COMMAND} "clone" "git@git.sdvis.org:embree-models.git" dependencies/embree-models
-      WORKING_DIRECTORY ${TEST_ROOT_DIRECTORY}
+      COMMAND ${CTEST_GIT_COMMAND} "clone" "git@git.sdvis.org:embree-models.git" embree-models
+      WORKING_DIRECTORY $ENV{HOME}
     )
   ELSE()
     MESSAGE("updating test models ...")


adjusted for crossguid master

adjusted for crossguid master

--- cmake/external/FindCrossGUIDLib.cmake
+++ cmake/external/FindCrossGUIDLib.cmake
@@ -8,14 +8,14 @@
 find_package(crossguid CONFIG PATHS ${INSTALL_DIR})

 if(${USE_SUPERBUILD})
-    if(NOT TARGET "crossguid::xg")
+    if(NOT TARGET "crossguid")
         message(STATUS "crossguid library: include dir not found -> download from ${URL}")

         include(ExternalProject)
         ExternalProject_Add(crossguid
                             PREFIX              "${ExecutionGraph_EXTERNAL_BUILD_DIR}/crossguid"
                             GIT_REPOSITORY      "${URL}"
-                            GIT_TAG             add-modern-cmake
+                            GIT_TAG             master
                             GIT_SHALLOW         ON
                             TIMEOUT 10
                             UPDATE_DISCONNECTED  ON
@@ -26,7 +26,7 @@
         message(STATUS "crossguid library setup -> build it!")
     endif()
 else()
-    if(NOT TARGET "crossguid::xg")
+    if(NOT TARGET "crossguid")
         if(${CrossGUIDLib_FIND_REQUIRED})
             message(FATAL_ERROR "crossguid library could not be found!")
         else()
@@ -35,9 +35,9 @@
     endif()
 endif()

-if(TARGET "crossguid::xg")
+if(TARGET "crossguid")
     add_library(crossguidLib INTERFACE IMPORTED)
-    set_property(TARGET crossguidLib PROPERTY INTERFACE_LINK_LIBRARIES "crossguid::xg")
+    set_property(TARGET crossguidLib PROPERTY INTERFACE_LINK_LIBRARIES "crossguid")

     message(STATUS "crossguid library found! Config File: ${crossguid_CONFIG}")
     message(STATUS "crossguid library added targets: crossguidLib")


Fix how CMake appends -m32 to linker command-lines

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -105,8 +105,8 @@
   if( LLVM_BUILD_32_BITS )
     message(STATUS "Building 32 bits executables and libraries.")
     add_llvm_definitions( -m32 )
-    list(APPEND CMAKE_EXE_LINKER_FLAGS -m32)
-    list(APPEND CMAKE_SHARED_LINKER_FLAGS -m32)
+    set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -m32")
+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -m32")
   endif( LLVM_BUILD_32_BITS )
 endif( CMAKE_SIZEOF_VOID_P EQUAL 8 AND NOT WIN32 )