仅使用protobuf里一样的lib目录

仅使用protobuf里一样的lib目录

--- 3rd_party/protobuf/protobuf.cmake
+++ 3rd_party/protobuf/protobuf.cmake
@@ -15,10 +15,7 @@
 if (CMAKE_ANDROID_ARCH_ABI)
     list(APPEND CMAKE_LIBRARY_PATH "${3RD_PARTY_PROTOBUF_ROOT_DIR}/lib/${CMAKE_ANDROID_ARCH_ABI}" "${3RD_PARTY_PROTOBUF_ROOT_DIR}/${CMAKE_INSTALL_BINDIR}")
 else ()
-    if (NOT "lib64" STREQUAL ${CMAKE_INSTALL_LIBDIR})
-        list(APPEND CMAKE_LIBRARY_PATH "${3RD_PARTY_PROTOBUF_ROOT_DIR}/lib64")
-    endif()
-    list(APPEND CMAKE_LIBRARY_PATH "${3RD_PARTY_PROTOBUF_ROOT_DIR}/lib" "${3RD_PARTY_PROTOBUF_ROOT_DIR}/${CMAKE_INSTALL_BINDIR}")
+    list(APPEND CMAKE_LIBRARY_PATH "${3RD_PARTY_PROTOBUF_ROOT_DIR}/${CMAKE_INSTALL_LIBDIR}" "${3RD_PARTY_PROTOBUF_ROOT_DIR}/${CMAKE_INSTALL_BINDIR}")
 endif()
 if(PROTOBUF_HOST_BIN)
     list(APPEND CMAKE_PROGRAM_PATH ${PROTOBUF_HOST_BIN})


SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

--- KTp/Logger/plugins/tplogger/ktploggerplugin_tplogger.desktop.cmake
+++ KTp/Logger/plugins/tplogger/ktploggerplugin_tplogger.desktop.cmake
@@ -43,7 +43,7 @@
 Comment[ast]=Forne integración col rexistrador de Telepathy
 Comment[bs]=Obavlja integraciju s Telepathy dnevnikom
 Comment[ca]=Aquest connector proporciona integració amb l'enregistrador del Telepathy
-Comment[ca@valencia]=Este connector proporciona integració amb l'gravadora del Telepathy
+Comment[ca@valencia]=Aquest connector proporciona integració amb l'enregistrador del Telepathy
 Comment[cs]=Poskytuje integraci se zaznamenáváním Telepathy
 Comment[da]=Giver integration med Telepathy Logger
 Comment[de]=Stellt Integration mit Telepathy-Protokollen zur Verfügung


Packaging: properly load Autoload subdirs and ensure Cache directory exists in build tree.

--- CMake/Modules/UrhoPackaging.cmake
+++ CMake/Modules/UrhoPackaging.cmake
@@ -22,8 +22,10 @@

 # Resource packaging
 file (GLOB RESOURCE_DIRS ${Urho3D_SOURCE_DIR}/bin/*Data)
+file (GLOB AUTOLOAD_RESOURCE_DIRS ${Urho3D_SOURCE_DIR}/bin/Autoload/*)
 file (GLOB PROJECT_RESOURCE_DIRS ${CMAKE_SOURCE_DIR}/bin/*Data)
-list (APPEND RESOURCE_DIRS ${Urho3D_SOURCE_DIR}/bin/Autoload ${PROJECT_RESOURCE_DIRS})
+list (APPEND RESOURCE_DIRS ${AUTOLOAD_RESOURCE_DIRS} ${PROJECT_RESOURCE_DIRS})
+file (MAKE_DIRECTORY ${CMAKE_BINARY_DIR}/bin/Cache)
 if (URHO3D_PACKAGING)
     if (CMAKE_CROSSCOMPILING)
         include (ExternalProject)


check version number using newer cmake functionality, instead of kde macro

--- cmake/FindEigen2.cmake
+++ cmake/FindEigen2.cmake
@@ -8,8 +8,6 @@
 # Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
 # Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
 # Redistribution and use is allowed according to the terms of the BSD license.
-
-include(MacroEnsureVersion)

 if(NOT EIGEN2_MIN_VERSION)
   if(NOT Eigen2_FIND_VERSION_MAJOR)
@@ -36,7 +34,11 @@
   set(EIGEN2_MINOR_VERSION "${CMAKE_MATCH_1}")

   set(EIGEN2_VERSION ${EIGEN2_WORLD_VERSION}.${EIGEN2_MAJOR_VERSION}.${EIGEN2_MINOR_VERSION})
-  MACRO_ENSURE_VERSION( ${EIGEN2_MIN_VERSION} ${EIGEN2_VERSION} EIGEN2_VERSION_OK)
+  if(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION})
+    set(EIGEN2_VERSION_OK FALSE)
+  else(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION})
+    set(EIGEN2_VERSION_OK TRUE)
+  endif(${EIGEN2_VERSION} VERSION_LESS ${EIGEN2_MIN_VERSION})

   if(NOT EIGEN2_VERSION_OK)


build: check libavcodec api version

build: check libavcodec api version

If pkg-config is available libavcodec api version is checked and
cmake fails if the required version isn't available.

In case pkg-config isn't available a notification message with the
required version is printed.

This fixes/prevents #740.

--- cmake/FindFFmpeg.cmake
+++ cmake/FindFFmpeg.cmake
@@ -4,6 +4,9 @@
 #  FFMPEG_FOUND        - all required ffmpeg components found on system
 #  FFMPEG_INCLUDE_DIRS  - combined include directories
 #  FFMPEG_LIBRARIES    - combined libraries to link
+
+set(REQUIRED_AVCODEC_VERSION 0.8)
+set(REQUIRED_AVCODEC_API_VERSION 53.25.0)

 include(FindPkgConfig)

@@ -31,6 +34,14 @@

 FIND_PACKAGE_HANDLE_STANDARD_ARGS(FFmpeg DEFAULT_MSG AVUTIL_FOUND AVCODEC_FOUND)

+if (AVCODEC_VERSION)
+	if (${AVCODEC_VERSION} VERSION_LESS ${REQUIRED_AVCODEC_API_VERSION})
+		message(FATAL_ERROR "libavcodec version >= ${REQUIRED_AVCODEC_VERSION} (API >= ${REQUIRED_AVCODEC_API_VERSION}) is required")
+	endif()
+else()
+		message("Note: To build libavcodec version >= ${REQUIRED_AVCODEC_VERSION} (API >= ${REQUIRED_AVCODEC_API_VERSION}) is required")
+endif()
+
 if(FFMPEG_FOUND)
 	set(FFMPEG_INCLUDE_DIRS ${AVCODEC_INCLUDE_DIR} ${AVUTIL_INCLUDE_DIR})
 	set(FFMPEG_LIBRARIES ${AVCODEC_LIBRARY} ${AVUTIL_LIBRARY})


add default label "unit" to tests added with testhelper

--- cmake/TestHelper.cmake
+++ cmake/TestHelper.cmake
@@ -2,4 +2,5 @@
     add_executable(Test${testName} Test${testName}.cpp ${COMMON_SOURCES})
     target_link_libraries(Test${testName} ${TEST_LIBS} ${GTEST_BOTH_LIBRARIES})
     add_test(Test${testName} Test${testName})
+    set_tests_properties(Test${testName} PROPERTIES LABELS unit)
 endmacro(def_test testName)


Fix: rely on cmake to find OpenMP flags
The hand made macro wasn't successful on Mac OS while cmake one works

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

--- cmake/pcl_openmp.cmake
+++ cmake/pcl_openmp.cmake
@@ -9,34 +9,12 @@
 # found.
 # The flags are stored in OPENMP_FLAGS.
 macro(PCL_FIND_OPENMP_FLAGS)
-    include(CheckFunctionExists)
-    set(_possible_flags "-fopenmp" # GCC
-        "-openmp" # ICC
-        "-mp" #SGI and PGI
-        "-xopenmp" # Sun
-        "-omp" # Tru64
-        "-qsmp=omp" #AIX
-        )
-
-    # Have not found the flag yet
-    set(OPENMP_FLAGS_FOUND FALSE)
-    set(OPENMP_FLAGS)
-
-    foreach(_flag ${_possible_flags})
-        if(NOT OPENMP_FLAGS_FOUND)
-            set(CMAKE_REQUIRED_FLAGS ${_flag})
-            check_function_exists(omp_set_num_threads OPENMP_FLAGS_${_flag})
-            if(OPENMP_FLAGS_${_flag})
-                set(OPENMP_FLAGS ${_flag})
-                message(STATUS "Found OpenMP flags: ${OPENMP_FLAGS}")
-                set(OPENMP_FLAGS_FOUND true)
-            endif(OPENMP_FLAGS_${_flag})
-        endif(NOT OPENMP_FLAGS_FOUND)
-    endforeach(_flag)
-
-    if(NOT OPENMP_FLAGS_FOUND)
-        message(STATUS "OpenMP flags were not found.")
-    endif(NOT OPENMP_FLAGS_FOUND)
+	include(FindOpenMP)
+	if(OPENMP_FOUND)
+		set(OPENMP_FLAGS_FOUND FALSE)
+	else(OPENMP_FOUND)
+		set(OPENMP_FLAGS_FOUND true)
+	endif(OPENMP_FOUND)
 endmacro(PCL_FIND_OPENMP_FLAGS)


Fix typo in VisomicsData.cmake

Fix typo in VisomicsData.cmake

--- CMakeExternals/VisomicsData.cmake
+++ CMakeExternals/VisomicsData.cmake
@@ -29,7 +29,7 @@
       DEPENDS
         ${proj_DEPENDENCIES}
       )
-	  SET(VisomicsData_DIR ${${CMAKE_BINARY_DIR}}/${proj})
+	  SET(VisomicsData_DIR ${CMAKE_BINARY_DIR}/${proj})
 	ELSE()
 	  ctkMacroEmptyExternalProject(${proj} "${proj_DEPENDENCIES}")
   ENDIF()


Set TOMVIZ_APPLICATION when running operator tests

--- tests/cxx/CxxTests.cmake
+++ tests/cxx/CxxTests.cmake
@@ -61,7 +61,7 @@
         string(REPLACE ";" "\\;" "_tomviz_${_test_name}_pythonpath" "${_tomviz_${_test_name}_pythonpath}")
       endif()
       set_tests_properties(${_test_name}
-        PROPERTIES ENVIRONMENT "PYTHONPATH=${_tomviz_${_test_name}_pythonpath}")
+        PROPERTIES ENVIRONMENT "PYTHONPATH=${_tomviz_${_test_name}_pythonpath};TOMVIZ_APPLICATION=1")
     endif()
   endforeach()
 endmacro()


update vtk

update vtk

--- superbuild/Projects/vtk.cmake
+++ superbuild/Projects/vtk.cmake
@@ -16,5 +16,6 @@
     -DModule_vtkGUISupportQtOpenGL:bool=ON
     -DModule_vtkRenderingQt:bool=ON
     -DModule_vtkViewsQt:bool=ON
+    -DVTK_REQUIRED_OBJCXX_FLAGS:STRING=""
   ${suppress_build_out}
 )


Use conanbuildinfo.cmake instead of launching conan from within cmake unnecessarily

Former-commit-id: ed1a7cfa49a7f813b31c189d0064efd3a0c36f66

--- cmake-modules/SetupDependenciesConan.cmake
+++ cmake-modules/SetupDependenciesConan.cmake
@@ -1,5 +1,6 @@

 if(DMRG_DOWNLOAD_METHOD MATCHES "conan")
+
     #  Make sure we use DMRG's own find modules
     list(INSERT CMAKE_MODULE_PATH 0  ${PROJECT_SOURCE_DIR}/cmake-modules)
     ##############################################################################
@@ -11,15 +12,9 @@
     ##############################################################################
     find_package(OpenMP REQUIRED) # Uses DMRG's own find module

-
-    ##################################################################
-    ### Install conan-modules/conanfile.txt dependencies          ###
-    ### This uses conan to get spdlog,eigen3,h5pp,ceres-solver    ###
-    ###    ceres-solver/2.0.0@davidace/development                ###
-    ###    h5pp/1.7.3@davidace/stable                             ###
-    ###    eigen/3.3.7@davidace/patched                           ###
-    ##################################################################
-
+    ##############################################################################
+    ###  Optional Intel MKL support. Uses OpenBLAS as fall-back                ###
+    ##############################################################################
     if(DMRG_ENABLE_MKL)
         find_package(Fortran REQUIRED)
         include(cmake-modules/SetupMKL.cmake)         # MKL - Intel's math Kernel Library, use the BLAS implementation in Eigen and Arpack. Includes lapack.
@@ -62,43 +57,73 @@
     endif()

-    find_program (
-            CONAN_COMMAND
-            conan
-            HINTS ${CONAN_PREFIX} $ENV{CONAN_PREFIX} ${CONDA_PREFIX} $ENV{CONDA_PREFIX}
-            PATHS $ENV{HOME}/anaconda3  $ENV{HOME}/miniconda3 $ENV{HOME}/anaconda $ENV{HOME}/miniconda $ENV{HOME}/.conda
-            PATH_SUFFIXES bin envs/dmrg/bin
-    )
-    if(NOT CONAN_COMMAND)
-        message(FATAL_ERROR "Could not find conan program executable")
+
+
+    find_file(CONAN_BUILD_INFO
+            conanbuildinfo.cmake
+            HINTS ${CMAKE_BINARY_DIR} ${CMAKE_CURRENT_LIST_DIR}
+            NO_DEFAULT_PATH)
+
+    if(CONAN_BUILD_INFO)
+        ##################################################################
+        ### Use pre-existing conanbuildinfo.cmake                      ###
+        ### This avoids having to run conan again                      ###
+        ##################################################################
+        message(STATUS "Detected Conan build info: ${CONAN_BUILD_INFO}")
+        include(${CONAN_BUILD_INFO})
+        conan_basic_setup(TARGETS)
     else()
-        message(STATUS "Found conan: ${CONAN_COMMAND}")
+
+        ##################################################################
+        ### Use cmake-conan integration to launch conan                ###
+        ### Install dependencies from conanfile.txt                    ###
+        ### This uses conan to get spdlog,eigen3,h5pp,ceres-solver     ###
+        ###    ceres-solver/2.0.0@davidace/development                 ###
+        ###    h5pp/1.7.3@davidace/stable                              ###
+        ###    eigen/3.3.7@davidace/patched                            ###
+        ##################################################################
+
+        find_program (
+                CONAN_COMMAND
+                conan
+                HINTS ${CONAN_PREFIX} $ENV{CONAN_PREFIX} ${CONDA_PREFIX} $ENV{CONDA_PREFIX}
+                PATHS $ENV{HOME}/anaconda3  $ENV{HOME}/miniconda3 $ENV{HOME}/anaconda $ENV{HOME}/miniconda $ENV{HOME}/.conda
+                PATH_SUFFIXES bin envs/dmrg/bin
+        )
+        if(NOT CONAN_COMMAND)
+            message(FATAL_ERROR "Could not find conan program executable")
+        else()
+            message(STATUS "Found conan: ${CONAN_COMMAND}")
+        endif()
+
+        # Download cmake-conan automatically, you can also just copy the conan.cmake file
+        if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
+            message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
+            file(DOWNLOAD "https://github.com/conan-io/cmake-conan/raw/v0.15/conan.cmake"
+                    "${CMAKE_BINARY_DIR}/conan.cmake")
+        endif()
+
+        include(${CMAKE_BINARY_DIR}/conan.cmake)
+        conan_add_remote(NAME conan-center       URL https://conan.bintray.com)
+        conan_add_remote(NAME conan-community    URL https://api.bintray.com/conan/conan-community/conan)
+        conan_add_remote(NAME bincrafters        URL https://api.bintray.com/conan/bincrafters/public-conan)
+        conan_add_remote(NAME conan-dmrg INDEX 1 URL https://api.bintray.com/conan/davidace/conan-dmrg)
+
+        conan_cmake_run(
+                CONANFILE conanfile.txt
+                CONAN_COMMAND ${CONAN_COMMAND}
+                BUILD_TYPE ${CMAKE_BUILD_TYPE}
+                BASIC_SETUP CMAKE_TARGETS
+                SETTINGS compiler.cppstd=17
+                SETTINGS compiler.libcxx=libstdc++11
+                PROFILE_AUTO ALL
+                ${DMRG_CONAN_OPTIONS}
+                BUILD missing
+        )
+
     endif()

-    # Download cmake-conan automatically, you can also just copy the conan.cmake file
-    if(NOT EXISTS "${CMAKE_BINARY_DIR}/conan.cmake")
-        message(STATUS "Downloading conan.cmake from https://github.com/conan-io/cmake-conan")
-        file(DOWNLOAD "https://github.com/conan-io/cmake-conan/raw/v0.15/conan.cmake"
-                "${CMAKE_BINARY_DIR}/conan.cmake")
-    endif()

-    include(${CMAKE_BINARY_DIR}/conan.cmake)
-    conan_add_remote(NAME conan-center       URL https://conan.bintray.com)
-    conan_add_remote(NAME conan-community    URL https://api.bintray.com/conan/conan-community/conan)
-    conan_add_remote(NAME bincrafters        URL https://api.bintray.com/conan/bincrafters/public-conan)
-    conan_add_remote(NAME conan-dmrg INDEX 1 URL https://api.bintray.com/conan/davidace/conan-dmrg)
-
-    conan_cmake_run(
-            CONANFILE conanfile.txt
-            CONAN_COMMAND ${CONAN_COMMAND}
-            BUILD_TYPE ${CMAKE_BUILD_TYPE}
-            BASIC_SETUP CMAKE_TARGETS
-            SETTINGS compiler.cppstd=17
-            SETTINGS compiler.libcxx=libstdc++11
-            PROFILE_AUTO ALL
-            ${DMRG_CONAN_OPTIONS}
-            BUILD missing
-    )

     if(TARGET CONAN_PKG:Eigen3)
         set(eigen_target CONAN_PKG::Eigen3)


Fixed MSVC architecture detection regular expression

MSVC regular expression doesn't account for the remaining '0' when
parsing "Visual Studio 10 2010..". The 3rd regex remove [1-9] where it
should but [0-9].

--- cmake/modules/hunter_setup_msvc_arch.cmake
+++ cmake/modules/hunter_setup_msvc_arch.cmake
@@ -49,7 +49,7 @@
     string(
         REGEX
         REPLACE
-        "^[1-9]"
+        "^[0-9]"
         ""
         HUNTER_MSVC_ARCH
         "${HUNTER_MSVC_ARCH}"


update NDK to r13b (#289)

update NDK to r13b (#289)

--- ci-build.cmake
+++ ci-build.cmake
@@ -54,7 +54,7 @@
 if(DEFINED ENV{ANDROID})
     set(CROSS
         -DANDROID_NATIVE_API_LEVEL=21
-        -DANDROID_NDK=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r13
+        -DANDROID_NDK=${CMAKE_CURRENT_SOURCE_DIR}/android-ndk-r13b
         -DCMAKE_TOOLCHAIN_FILE=${CMAKE_CURRENT_SOURCE_DIR}/CMake/toolchain/android.toolchain.cmake
         "-DANDROID_ABI=armeabi-v7a with NEON")

@@ -71,10 +71,10 @@

     message(STATUS "Downloading Android NDK")
     file(DOWNLOAD
-        http://dl.google.com/android/repository/android-ndk-r13-linux-x86_64.zip
-        ./android-ndk-r13-linux-x86_64.zip)
+        http://dl.google.com/android/repository/android-ndk-r13b-linux-x86_64.zip
+        ./android-ndk-r13b-linux-x86_64.zip)
     message(STATUS "Extracting Android NDK")
-    execute_process(COMMAND unzip android-ndk-r13-linux-x86_64.zip OUTPUT_QUIET)
+    execute_process(COMMAND unzip android-ndk-r13b-linux-x86_64.zip OUTPUT_QUIET)
 endif()

 execute_process(COMMAND cmake


Changes for LibPack 10.x

Changes for LibPack 10.x

--- cMake/UseLibPack10x.cmake
+++ cMake/UseLibPack10x.cmake
@@ -346,7 +346,7 @@
 #    ${OCC_LIBRARY_DIR}/TKXDESTEP.lib
 #    ${OCC_LIBRARY_DIR}/TKXDEIGES.lib
 #)
-set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/oce-0.13)
+set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/oce-0.15)
 set(OCC_LIBRARY_DIR ${FREECAD_LIBPACK_DIR}/lib)
 set(OCC_LIBRARIES
     optimized TKFillet
@@ -418,8 +418,6 @@
 )
 set(OCC_FOUND TRUE)

-set(EIGEN2_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen2)
-set(EIGEN2_FOUND TRUE)

 set(EIGEN3_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/eigen3)
 set(EIGEN3_FOUND TRUE)
@@ -450,7 +448,7 @@
 #  SHIBOKEN_LIBRARY            - Files to link against to use SHIBOKEN
 #  SHIBOKEN_BINARY             - Executable name

-SET(SHIBOKEN_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/shiboken-1.2.1)
+SET(SHIBOKEN_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/shiboken-1.2.2)
 SET(SHIBOKEN_LIBRARY     optimized ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.7.lib debug ${FREECAD_LIBPACK_DIR}/lib/shiboken-python2.7_d.lib)
 set(SHIBOKEN_BINARY      ${FREECAD_LIBPACK_DIR}/bin/shiboken)

@@ -459,7 +457,7 @@
 #  PYSIDE_PYTHONPATH    - Path to where the PySide Python module files could be found
 #  PYSIDE_TYPESYSTEMS   - Type system files that should be used by other bindings extending PySide

-SET(PYSIDE_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/PySide-1.2.1)
+SET(PYSIDE_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/PySide-1.2.2)
 SET(PYSIDE_LIBRARY     optimized ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7.lib debug ${FREECAD_LIBPACK_DIR}/lib/pyside-python2.7_d.lib)
 SET(PYSIDE_PYTHONPATH  ${FREECAD_LIBPACK_DIR}/pyside/Lib/site-packages)
 SET(PYSIDE_TYPESYSTEMS ${FREECAD_LIBPACK_DIR}/pyside/share/PySide/typesystems)


Applied Bill's patch to silence GCC-7.3 warning

--- tools/VoltDBCompilation.cmake
+++ tools/VoltDBCompilation.cmake
@@ -119,6 +119,7 @@
 # will build and run correctly.
 #
 ########################################################################
+SET (VOLTDB_COMPILER_U18p04 "7.3.0")
 SET (VOLTDB_COMPILER_U17p10 "7.2.0")
 SET (VOLTDB_COMPILER_U17p04 "6.3.0")
 SET (VOLTDB_COMPILER_U16p10 "6.2.0")
@@ -130,6 +131,13 @@
 SET (VOLTDB_COMPILER_12p04  "4.6.3")
 SET (VOLTDB_COMPILER_C6     "4.4.7")
 SET (VOLTDB_COMPILER_OLDE   "4.4.0")
+#
+# Note: Update this when adding a new compiler support.
+#
+SET (VOLTDB_COMPILER_NEWEST VOLTDB_COMPILER_U18p04)
+#
+#
+#
 MESSAGE("Using compiler ${CMAKE_CXX_COMPILER_ID}")
 IF (CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
   SET (VOLTDB_LINK_FLAGS ${VOLTDB_LINK_FLAGS} -pthread)
@@ -137,14 +145,19 @@
   VOLTDB_ADD_COMPILE_OPTIONS(-pthread -Wno-deprecated-declarations  -Wno-unknown-pragmas)
   # It turns out to be easier to go from a higher version to a lower
   # version, since we can't easily test <= and >=.
-  IF ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER VOLTDB_COMPILER_U17p10 )
-    # COMPILER_VERSION > 7.2.0
+  IF ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER VOLTDB_COMPILER_NEWEST )
+    # COMPILER_VERSION > 7.3.0
     MESSAGE ("GCC Version ${CMAKE_CXX_COMPILER_VERSION} is not verified for building VoltDB.")
-    MESSAGE ("We're using the options for 7.2.0, which is the newest one we've tried.  Good Luck.")
-    VOLTDB_ADD_COMPILE_OPTIONS(-Wno-unused-local-typedefs)
+    MESSAGE ("We're using the options for ${CMAKE_COMPILER_NEWEST}, which is the newest one we've tried.  Good Luck.")
+    VOLTDB_ADD_COMPILE_OPTIONS(-Wno-unused-local-typedefs -Wno-array-bounds)
+    SET (CXX_VERSION_FLAG -std=c++11)
+  ELSEIF ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER VOLTDB_COMPILER_U17p10 )
+    # 7.2.0 < COMPILER_VERSION <= 7.3.0
+    MESSAGE("Using the Ubuntu 17.10 compiler settings for gcc ${CMAKE_CXX_COMPILER_VERSION}")
+    VOLTDB_ADD_COMPILE_OPTIONS(-Wno-unused-local-typedefs -Wno-array-bounds)
     SET (CXX_VERSION_FLAG -std=c++11)
   ELSEIF ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER VOLTDB_COMPILER_U17p04 )
-    # COMPILER_VERSION > 6.3.0
+    # < 6.3.0 COMPILER_VERSION <= 7.2.0
     MESSAGE("Using the Ubuntu 17.10 compiler settings for gcc ${CMAKE_CXX_COMPILER_VERSION}")
     VOLTDB_ADD_COMPILE_OPTIONS(-Wno-unused-local-typedefs -Wno-array-bounds)
     SET (CXX_VERSION_FLAG -std=c++11)
@@ -179,7 +192,7 @@
   ELSEIF ( CMAKE_CXX_COMPILER_VERSION VERSION_GREATER VOLTDB_COMPILER_CXX0X)
     # 4.6.0 < COMPILER_VERSION and COMPILER_VERSION <= 4.8.4
     # Use -std=c++0x.  This is in GCC's experimental C++11 compiler
-    # support region.
+    # support version, which is sufficient for our use.
     MESSAGE("Using the Centos 6 settings for ${CMAKE_CXX_COMPILER_VERSION}")
     VOLTDB_ADD_COMPILE_OPTIONS(-Wno-unused-but-set-variable -Wno-unused-local-typedefs -Wno-float-conversion -Wno-conversion)
     SET (CXX_VERSION_FLAG -std=c++0x)


gtest changed to github

gtest changed to github

--- test/test_driver.cmake
+++ test/test_driver.cmake
@@ -40,7 +40,7 @@
 # Download and install GoogleTest
 ExternalProject_Add(
     gtest
-    SVN_REPOSITORY http://googletest.googlecode.com/svn/trunk/
+	GIT_REPOSITORY https://github.com/google/googletest
     PREFIX ${CMAKE_CURRENT_BINARY_DIR}/gtest
     # Disable install and update step
     UPDATE_COMMAND ""


fix Ogre detecting from SDK with spaces

fix Ogre detecting from SDK with spaces

--- CMake/Packages/FindOGRE.cmake
+++ CMake/Packages/FindOGRE.cmake
@@ -19,8 +19,8 @@
     IF (OGRESDK)
         MESSAGE(STATUS "Using OGRE SDK")
         STRING(REGEX REPLACE "[\\]" "/" OGRESDK "${OGRESDK}")
-        SET(OGRE_INCLUDE_DIR ${OGRESDK}/include ${OGRESDK}/include/OGRE)
-        SET(OGRE_LIB_DIR ${OGRESDK}/lib)
+        SET(OGRE_INCLUDE_DIR "${OGRESDK}/include" "${OGRESDK}/include/OGRE")
+        SET(OGRE_LIB_DIR "${OGRESDK}/lib")
         SET(OGRE_LIBRARIES debug OgreMain_d optimized OgreMain)
     ENDIF (OGRESDK)
     IF (OGRESOURCE)


Hash with to new MITKData. These ensure the DICOM tests run again.

--- CMakeExternals/MITKData.cmake
+++ CMakeExternals/MITKData.cmake
@@ -13,7 +13,7 @@

 if(BUILD_TESTING)

-  set(revision_tag c06c1ea4)
+  set(revision_tag 0ae54d86)
 #                  ^^^^^^^^  these are just to check correct length of hash part

   ExternalProject_Add(${proj}


cmake: os.cmake is now prepared to work with a conanfile.txt

--- cmake/os.cmake
+++ cmake/os.cmake
@@ -3,23 +3,8 @@
   set(CMAKE_BUILD_TYPE "Release")
 endif()

-# configure options
-option(default_stdout "Use the OS default stdout (serial)" ON)
-
-option(debug "Build with debugging symbols (OBS: increases binary size)" OFF)
-option(minimal "Build for minimal size" OFF)
-option(stripped "Strip symbols to further reduce size" OFF)
-
-option(smp "Enable SMP (multiprocessing)" OFF)
-option(undefined_san "Enable undefined-behavior sanitizer" OFF)
-option(thin_lto "Enable Thin LTO plugin" OFF)
-option(full_lto "Enable full LTO (also works on LD)" OFF)
-option(coroutines "Compile with coroutines TS support" OFF)
-
-
-
-set(CPP_VERSION c++17)
 set (CMAKE_CXX_STANDARD 17)
+set (CMAKE_CXX_STANDARD_REQUIRED ON)

 if (${CMAKE_VERSION} VERSION_LESS "3.12")
   find_program(Python2 python2.7)
@@ -76,7 +61,20 @@

   set(TRIPLE "${ARCH}-pc-linux-elf")
   set(LIBRARIES ${CONAN_LIBS})
-  set(ELF_SYMS elf_syms)
+  set(CONAN_LIBS "")
+
+  #set(ELF_SYMS elf_syms)
+
+  find_program(ELF_SYMS elf_syms)
+  if (ELF_SYMS-NOTFOUND)
+    message(FATAL_ERROR "elf_syms not found")
+  endif()
+
+  find_program(DISKBUILDER diskbuilder)
+  if (DISKBUILDER-NOTFOUND)
+    message(FATAL_ERROR "diskbuilder not found")
+  endif()
+
   set(LINK_SCRIPT ${INCLUDEOS_PREFIX}/${ARCH}/linker.ld)
   #includeos package can provide this!
   include_directories(
@@ -228,16 +226,11 @@
   endif()

   set(ELF_SYMS ${INCLUDEOS_PREFIX}/bin/elf_syms)
+  set(DISKBUILDER ${INCLUDEOS_PREFIX}/bin/diskbuilder)
   set(LINK_SCRIPT ${INCLUDEOS_PREFIX}/${ARCH}/linker.ld)
 endif()

-#TODO get the TARGET executable from diskimagebuild
-if (CONAN_TARGETS)
-  #find_package(diskimagebuild)
-  set(DISKBUILDER diskbuilder)
-else()
-  set(DISKBUILDER ${INCLUDEOS_PREFIX}/bin/diskbuilder)
-endif()
+
 # arch and platform defines
 #message(STATUS "Building for arch ${ARCH}, platform ${PLATFORM}")


ManageReleaseFedora: REDHAT_BUGZILLA is feed to cmake-fedora-fedpkg

--- Modules/ManageReleaseFedora.cmake
+++ Modules/ManageReleaseFedora.cmake
@@ -149,21 +149,22 @@
 	    ENDIF(NOT DEFINED MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE)
 	    M_MSG(${M_INFO2}
 		"MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE=${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}")
-	    IF (DEFINED CHANGE_SUMMARY)
-		ADD_CUSTOM_TARGET(fedpkg_build
-		    COMMAND ${CMAKE_FEDORA_FEDPKG_CMD} -d "${FEDPKG_DIR}"
-		    -m "${CHANGE_SUMMARY}" "${PRJ_SRPM_FILE}" ${ARGN}
-		    DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}"
-		    VERBATIM
-		    )
-	    ELSE(DEFINED CHANGE_SUMMARY)
-		ADD_CUSTOM_TARGET(fedpkg_build
-		    COMMAND ${CMAKE_FEDORA_FEDPKG_CMD} -d "${FEDPKG_DIR}"
-		    "${PRJ_SRPM_FILE}" ${ARGN}
-		    DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}"
-		    VERBATIM
-		    )
-	    ENDIF(DEFINED CHANGE_SUMMARY)
+	    SET(_cmdOpts "")
+	    IF (NOT CHANGE_SUMMARY STREQUAL "")
+		LIST(APPEND _cmdOpts "-m" "${CHANGE_SUMMARY}")
+	    ENDIF(NOT CHANGE_SUMMARY STREQUAL "")
+
+	    IF (NOT REDHAT_BUGZILLA STREQUAL "")
+		LIST(APPEND _cmdOpts "-b" "${REDHAT_BUGZILLA}")
+	    ENDIF(NOT REDHAT_BUGZILLA STREQUAL "")
+
+	    ADD_CUSTOM_TARGET(fedpkg_build
+		COMMAND ${CMAKE_FEDORA_FEDPKG_CMD} -d "${FEDPKG_DIR}"
+		"${PRJ_SRPM_FILE}" ${_cmdOpts} ${ARGN}
+		DEPENDS "${MANAGE_SOURCE_VERSION_CONTROL_TAG_FILE}"
+		VERBATIM
+		)
+
 	ENDIF(NOT _manage_release_fedora_dependencies_missing)
     ENDFUNCTION(RELEASE_FEDORA_FEDPKG)


COMP: use mirror of NiftyReg repo. #116.

The certificates of https://cmiclab.cs.ucl.ac.uk/mmodat/niftyreg have
expired, making the download by our Jenkins CI fail.

--- SuperBuild/ExternalNiftyreg.cmake
+++ SuperBuild/ExternalNiftyreg.cmake
@@ -19,7 +19,7 @@

 set( proj Niftyreg )

-set( NIFTYREG_GIT_REPOSITORY https://cmiclab.cs.ucl.ac.uk/mmodat/niftyreg.git )
+set( NIFTYREG_GIT_REPOSITORY https://github.com/SuperElastix/niftyreg.git )
 set( NIFTYREG_GIT_TAG 88b369becb6bdbda22ea96a0bef2b83bee85b219 )

 UPDATE_SELX_SUPERBUILD_COMMAND(${proj})


Add LD_PRELOAD for asan RT if used (#1457)

--- Tensile/cmake/TensileConfig.cmake
+++ Tensile/cmake/TensileConfig.cmake
@@ -1,5 +1,5 @@
 ################################################################################
-# Copyright 2016-2020 Advanced Micro Devices, Inc. All rights reserved.
+# Copyright 2016-2022 Advanced Micro Devices, Inc. All rights reserved.
 #
 # Permission is hereby granted, free of charge, to any person obtaining a copy
 # of this software and associated documentation files (the "Software"), to deal
@@ -195,7 +195,7 @@
         target_compile_definitions( TensileHost PUBLIC -DTENSILE_YAML=1)
     endif()
   endif()
-
+
   if(Tensile_ARCHITECTURE)
     string (REPLACE ";" "_" archString "${Tensile_ARCHITECTURE}")
     # uses _ separator to avoid cmake ; list interpretation, either ; or _ decoded in TensileCreateLibrary
@@ -223,6 +223,17 @@

       set(Tensile_MANIFEST_FILE_PATH "${Tensile_OUTPUT_PATH}/library/TensileManifest.txt")
       message(STATUS "Tensile_MANIFEST_FILE_PATH: ${Tensile_MANIFEST_FILE_PATH}")
+
+      if($ENV{ENABLE_ADDRESS_SANITIZER})
+        # Must populate LD_PRELOAD with ASAN runtime if ASAN is being used.
+        # Find the ASAN RT with compiler and update env for Tensile call.
+        execute_process(
+          COMMAND ${CMAKE_CXX_COMPILER} --print-file-name=libclang_rt.asan-x86_64.so
+          OUTPUT_VARIABLE ASAN_LIB_PATH
+          COMMAND_ECHO STDOUT)
+        string(STRIP ${ASAN_LIB_PATH} ASAN_LIB_PATH)
+        set(CommandLine env LD_PRELOAD=${ASAN_LIB_PATH} ${CommandLine})
+      endif()

       # Create the manifest file of the output libraries.
       set(Tensile_CREATE_MANIFEST_COMMAND ${CommandLine} "--generate-manifest-and-exit")


Enable c++17 for windows builds (#1963)

Enable c++17 for windows builds (#1963)

LLVM requires a minimum of c++17 support.
Enable this for Windows builds.

--- cmake/CompilerFlags.cmake
+++ cmake/CompilerFlags.cmake
@@ -94,6 +94,9 @@
                 /wd6246 # Local declaration of 'S' hides declaration of the same name in outer scope
                 /wd6323 # Use of arithmetic operator on Boolean type(s)
         )
+        target_compile_options("${PROJECT_NAME}" PRIVATE
+          /std:c++17
+        )

         target_compile_definitions("${PROJECT_NAME}" PRIVATE _SCL_SECURE_NO_WARNINGS)
         target_compile_definitions("${PROJECT_NAME}" PRIVATE _CRT_SECURE_NO_WARNINGS)


Fix quoting for older cmake versions

Fix quoting for older cmake versions

--- cmake/InstallMacros.cmake
+++ cmake/InstallMacros.cmake
@@ -140,7 +140,7 @@

 macro(to_native_path sourceVarName)
   if (MSVC)
-    string(REGEX REPLACE "/" "\\\\\\\\" myVar ${${sourceVarName}} )
+    string(REGEX REPLACE "/" "\\\\\\\\" "myVar" "${${sourceVarName}}" )
   else()
     set(myVar "${${sourceVarName}}")
   endif()


Enable OpenSSL when compiling libcurl as external. (#2029)

We disabled most protocols when compiling libcurl as an external project
because they often require additional libraries and managing that was
becoming difficult. But I got overenthusiastic and I removed OpenSSL
too. With local integration tests that is not a problem (we do not use
HTTPS in that case), but failed with production tests. *And* our
CI builds do not use external projects when running against production.

This fixes the immediate problem. A future PR will need to fix the
testing gap.

--- cmake/external/curl.cmake
+++ cmake/external/curl.cmake
@@ -69,6 +69,7 @@
                    # a version of libcurl with other protocols enabled they
                    # can select it using GOOGLE_CLOUD_CPP_CURL_PROVIDER=package.
                    -DHTTP_ONLY=ON
+                   -DCMAKE_ENABLE_OPENSSL=ON
                    -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
                    -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
                    -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}


Add patches to grpc

Add patches to grpc

--- cmake/external/grpc.cmake
+++ cmake/external/grpc.cmake
@@ -49,7 +49,8 @@
     PREFIX          ${GRPC_SOURCES_DIR}
     UPDATE_COMMAND  ""
     CONFIGURE_COMMAND ""
-    PATCH_COMMAND "git apply ${PADDLE_SOURCE_DIR}/patches/grpc/fix_too_early_destory.patch"
+    BUILD_IN_SOURCE 1
+    PATCH_COMMAND git apply ${PADDLE_SOURCE_DIR}/patches/grpc/fix_too_early_destory.patch
     # NOTE(yuyang18):
     # Disable -Werror, otherwise the compile will fail in MacOS.
     # It seems that we cannot configure that by make command.


update gcc-toolchain

update gcc-toolchain

--- cmake/gcc-toolchain.cmake
+++ cmake/gcc-toolchain.cmake
@@ -1,7 +1,7 @@
 SET (CMAKE_C_COMPILER /usr/bin/gcc)
 SET (CMAKE_C_FLAGS          "-std=c99 -march=x86-64 -m64 -Winline")
 SET (CMAKE_CXX_COMPILER /usr/bin/g++)
-SET (CMAKE_CXX_FLAGS        "-std=c++1y -march=x86-64 -m64 -Winline -fno-omit-frame-pointer -fPIC -I/usr/local/include -Wall -Wextra -Woverloaded-virtual -Wno-unused-local-typedefs --param inline-unit-growth=150 --param max-inline-insns-single=500 --param large-function-growth=600")
+SET (CMAKE_CXX_FLAGS        "-std=c++1y -march=x86-64 -m64 -Winline -fno-omit-frame-pointer -fPIC -I/usr/local/include -Wall -Wextra -Woverloaded-virtual -Wno-unused-local-typedefs")
 SET (CMAKE_INCLUDE_SYSTEM_FLAG_CXX "isystem")

 set (CMAKE_C_FLAGS          "${CMAKE_C_FLAGS}" CACHE STRING "c flags")


Comment out default standard flag.

Comment out default standard flag.

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

--- cmake/qibuild/flags.cmake
+++ cmake/qibuild/flags.cmake
@@ -44,7 +44,9 @@
   # gcc or clang:
   if(UNIX OR MINGW)
     # Use 'standard': c89 and c++98
-    add_definitions("-ansi")
+
+    # doesn't work: bug #7215
+    # add_definitions("-ansi")

     # Activate warnings
     add_definitions("-Wall -Wextra")


qi_create_gtest: now works when gtest is found, too

--- cmake/qibuild/tests.cmake
+++ cmake/qibuild/tests.cmake
@@ -55,7 +55,7 @@
 function(qi_create_gtest name)
   if(NOT DEFINED GTEST_PACKAGE_FOUND)
     find_package(GTEST)
-    if(NOT GTEST)
+    if(NOT GTEST_PACKAGE_FOUND)
       qi_set_global(GTEST_PACKAGE_FOUND FALSE)
     endif()
   endif()


Squashed '3rdparty/github/genericLogger-remote/' changes from 99661e5..1f50851

1f50851 Merge commit 'c2581337f9aeb24f4d6badc24e58b4224a406558'
c258133 Squashed '3rdparty/github/cmake-utils-remote/' changes from f60f488..4522e8e

git-subtree-dir: 3rdparty/github/genericLogger-remote
git-subtree-split: 1f508517b48d6860c7594ac746f25120732fae26

--- 3rdparty/github/cmake-utils-remote/cmake/MyPackageStart.cmake
+++ 3rdparty/github/cmake-utils-remote/cmake/MyPackageStart.cmake
@@ -34,11 +34,11 @@
   #
   # Paths
   #
-  SET (CMAKE_MODULE_PATH      "${PROJECT_SOURCE_DIR}/cmake" "${PROJECT_SOURCE_DIR}/3rdparty/github/cmake-utils/cmake") # General module search path
-  SET (INCLUDE_OUTPUT_PATH    "${PROJECT_SOURCE_DIR}/output/include")                                                  # General include output path
-  SET (LIBRARY_OUTPUT_PATH    "${PROJECT_SOURCE_DIR}/output/lib")                                                      # General library output path
-  SET (BINARY_OUTPUT_PATH     "${PROJECT_SOURCE_DIR}/output/bin")                                                      # General binary output path
-  SET (3RDPARTY_OUTPUT_PATH   "${PROJECT_SOURCE_DIR}/output/3rdparty")                                                 # General 3rdparty output path
+  SET (CMAKE_MODULE_PATH      "${PROJECT_SOURCE_DIR}/cmake" "${PROJECT_SOURCE_DIR}/3rdparty/github/cmake-utils-remote/cmake") # General module search path
+  SET (INCLUDE_OUTPUT_PATH    "${PROJECT_SOURCE_DIR}/output/include")                                                         # General include output path
+  SET (LIBRARY_OUTPUT_PATH    "${PROJECT_SOURCE_DIR}/output/lib")                                                             # General library output path
+  SET (BINARY_OUTPUT_PATH     "${PROJECT_SOURCE_DIR}/output/bin")                                                             # General binary output path
+  SET (3RDPARTY_OUTPUT_PATH   "${PROJECT_SOURCE_DIR}/output/3rdparty")                                                        # General 3rdparty output path
   #
   # Output directories
   # C.f. http://stackoverflow.com/questions/7747857/in-cmake-how-do-i-work-around-the-debug-and-release-directories-visual-studio-2


Update mysql script

Update mysql script

--- FindMySQL.cmake
+++ FindMySQL.cmake
@@ -12,8 +12,31 @@
   return()
 endif()

-execute_process(COMMAND ${MYSQL_CONFIG} --variable=pkgincludedir OUTPUT_VARIABLE MYSQL_INCLUDE_DIR)
-execute_process(COMMAND ${MYSQL_CONFIG} --variable=pkglibdir OUTPUT_VARIABLE MYSQL_LIB_DIR)
+execute_process(COMMAND ${MYSQL_CONFIG} --variable=pkgincludedir OUTPUT_VARIABLE MYSQL_INCLUDE_DIR OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE MYSQL_ERROR)
+
+if (NOT MYSQL_ERROR)
+
+  execute_process(COMMAND ${MYSQL_CONFIG} --variable=pkglibdir OUTPUT_VARIABLE MYSQL_LIB_DIR OUTPUT_STRIP_TRAILING_WHITESPACE ERROR_VARIABLE MYSQL_ERROR)
+
+else()
+
+  unset(MYSQL_INCLUDE_DIR)
+
+  find_path(MYSQL_INCLUDE_DIR NAMES "mysql.h" PATH_SUFFIXES "mysql")
+
+  if (NOT MYSQL_INCLUDE_DIR)
+    message(FATAL_ERROR "unable to find mysql include dir")
+  endif()
+
+  unset(MYSQL_LIB_DIR)
+
+  find_path(MYSQL_LIB_DIR NAMES "libmysqlclient.so" PATH_SUFFIXES "mysql" PATHS "/usr/lib" "/usr/local/lib")
+
+  if (NOT MYSQL_LIB_DIR)
+    message(FATAL_ERROR "unable to find mysql lib dir")
+  endif()
+endif()
+

 find_library(LIBMYSQLCLIENT_FOUND mysqlclient HINTS ${MYSQL_LIB_DIR})

@@ -22,9 +45,6 @@
 endif()

 set(MYSQL_LIBRARIES "-lmysqlclient")
-
-string(REGEX REPLACE " ?\n$" "" MYSQL_INCLUDE_DIR "${MYSQL_INCLUDE_DIR}")
-string(REGEX REPLACE " ?\n$" "" MYSQL_LIB_DIR "${MYSQL_LIB_DIR}")

 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(MYSQL


Attempt to force linkage to non-multithreaded boost on platforms other than MSVC.

--- cmake/ConfigurePackages.cmake
+++ cmake/ConfigurePackages.cmake
@@ -11,6 +11,7 @@
     set(Boost_USE_MULTITHREADED TRUE)
     set(Boost_USE_STATIC_LIBS TRUE)
 else ()
+    set(Boost_USE_MULTITHREADED FALSE)
     set(Boost_USE_STATIC_LIBS FALSE)
 endif ()

@@ -83,7 +84,7 @@

     # FindQt4.cmake
     if (QT4_FOUND AND QT_USE_FILE)
-
+
         include (${QT_USE_FILE})

         set (QT4_INCLUDE_DIRS


Tweak the last commit again for OSX

Tweak the last commit again for OSX

--- cmake/FindPythonLibsNew.cmake
+++ cmake/FindPythonLibsNew.cmake
@@ -111,7 +111,7 @@
 list(GET _PYTHON_VALUES 7 PYTHON_LIBRARY_SUFFIX)

 # Make sure the Python has the same pointer-size as the chosen compiler
-# Skip the check on OS X, it doesn't have CMAKE_SIZEOF_VOID_P defined
+# Skip the check on OS X, it doesn't consistently have CMAKE_SIZEOF_VOID_P defined
 if((NOT APPLE) AND (NOT "${PYTHON_SIZEOF_VOID_P}" STREQUAL "${CMAKE_SIZEOF_VOID_P}"))
     if(PythonLibsNew_FIND_REQUIRED)
         math(EXPR _PYTHON_BITS "${PYTHON_SIZEOF_VOID_P} * 8")
@@ -144,11 +144,12 @@
     set(PYTHON_LIBRARY
         "${PYTHON_PREFIX}/libs/Python${PYTHON_LIBRARY_SUFFIX}.lib")
 elseif(APPLE)
-    # Seems to require "-undefined dynamic_lookup" instead of linking
-    # against the .dylib, otherwise it crashes. This flag is added
-    # below
-    set(PYTHON_LIBRARY
-        "${PYTHON_PREFIX}/lib/libpython${PYTHON_LIBRARY_SUFFIX}.dylib")
+     # Seems to require "-undefined dynamic_lookup" instead of linking
+     # against the .dylib, otherwise it crashes. This flag is added
+     # below
+    set(PYTHON_LIBRARY "")
+    #set(PYTHON_LIBRARY
+    #    "${PYTHON_PREFIX}/lib/libpython${PYTHON_LIBRARY_SUFFIX}.dylib")
 else()
     if(${PYTHON_SIZEOF_VOID_P} MATCHES 8)
         set(_PYTHON_LIBS_SEARCH "${PYTHON_PREFIX}/lib64" "${PYTHON_PREFIX}/lib")
@@ -213,8 +214,14 @@

     SET_PROPERTY(GLOBAL  APPEND  PROPERTY  PY_MODULES_LIST ${_NAME})
     ADD_LIBRARY(${_NAME} ${PY_MODULE_TYPE} ${ARGN})
-    TARGET_LINK_LIBRARIES(${_NAME} ${PYTHON_LIBRARIES})
-
+    IF(APPLE)
+      # On OS X, linking against the Python libraries causes
+      # segfaults, so do this dynamic lookup instead.
+      SET_TARGET_PROPERTIES(${_NAME} PROPERTIES LINK_FLAGS
+                          "-undefined dynamic_lookup")
+    ELSE()
+      TARGET_LINK_LIBRARIES(${_NAME} ${PYTHON_LIBRARIES})
+    ENDIF()
     IF(PYTHON_MODULE_${_NAME}_BUILD_SHARED)
       SET_TARGET_PROPERTIES(${_NAME} PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}")
       SET_TARGET_PROPERTIES(${_NAME} PROPERTIES SUFFIX "${PYTHON_MODULE_EXTENSION}")


Added support for FLANN library version detection

--- cmake/Modules/FindFLANN.cmake
+++ cmake/Modules/FindFLANN.cmake
@@ -37,9 +37,30 @@
   SET( FLANN_LIBRARIES ${FLANN_LIBRARY} )
   SET( FLANN_INCLUDE_DIRS ${FLANN_INCLUDE_DIR} )

+  FILE( STRINGS "${FLANN_INCLUDE_DIR}/flann/config.h" FLANN_CONFIG )
+  FOREACH( LINE ${FLANN_CONFIG} )
+    STRING( REGEX MATCH
+      "FLANN_VERSION_ \"([0-9\\.]+)\""
+      LINE_MATCHES
+      ${LINE}
+    )
+
+    # We have a match, i.e. there is some sort of FLANN version
+    # identification available.
+    IF( NOT "${LINE_MATCHES}" STREQUAL "" )
+      SET(
+        FLANN_VERSION
+          ${CMAKE_MATCH_1}
+        CACHE STRING
+          "Detected version of the FLANN library"
+      )
+    ENDIF()
+  ENDFOREACH()
+
   MARK_AS_ADVANCED(
     FLANN_LIBRARY
     FLANN_INCLUDE_DIR
+    FLANN_VERSION
     FLANN_DIR
   )
 ELSE()


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

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

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

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

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

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

 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(Qhull DEFAULT_MSG QHULL_LIBRARY
     QHULL_INCLUDE_DIR)

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

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


remove lapack header in openblas

remove lapack header in openblas

--- cmake/external/openblas.cmake
+++ cmake/external/openblas.cmake
@@ -40,16 +40,6 @@
         UPDATE_COMMAND      ""
         CONFIGURE_COMMAND   ""
     )
-
-    ExternalProject_Add_Step(
-        openblas lapacke_install
-        COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_mangling_with_flags.h" "${CBLAS_INSTALL_DIR}/include/lapacke_mangling.h"
-        COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke.h" "${CBLAS_INSTALL_DIR}/include/lapacke.h"
-        COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_config.h" "${CBLAS_INSTALL_DIR}/include/lapacke_config.h"
-        COMMAND ${CMAKE_COMMAND} -E copy "${CBLAS_SOURCES_DIR}/src/openblas/lapack-netlib/LAPACKE/include/lapacke_utils.h" "${CBLAS_INSTALL_DIR}/include/lapacke_utils.h"
-        DEPENDEES install
-    )
-
     LIST(APPEND external_project_dependencies openblas)
 ENDIF(NOT ${CBLAS_FOUND})


cmake: remove ZEPHYR_GCC_VARIANT variable

ZEPHYR_GCC_VARIANT was deprecated in #6139 in 02/2018

Removing the variable now.

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

--- cmake/generic_toolchain.cmake
+++ cmake/generic_toolchain.cmake
@@ -19,14 +19,6 @@
     unset(ENV{${var}})
   endif()
 endforeach()
-
-# Until we completely deprecate it
-if(NOT DEFINED ENV{ZEPHYR_TOOLCHAIN_VARIANT})
-  if(DEFINED ENV{ZEPHYR_GCC_VARIANT})
-    message(WARNING "ZEPHYR_GCC_VARIANT is deprecated, please use ZEPHYR_TOOLCHAIN_VARIANT instead")
-    set(ZEPHYR_TOOLCHAIN_VARIANT $ENV{ZEPHYR_GCC_VARIANT})
-  endif()
-endif()

 if(NOT ZEPHYR_TOOLCHAIN_VARIANT)
   if(DEFINED ENV{ZEPHYR_TOOLCHAIN_VARIANT})


Do not require pkg-config in FindDavix.cmake

--- cmake/modules/FindDavix.cmake
+++ cmake/modules/FindDavix.cmake
@@ -39,31 +39,28 @@
 # Since Davix depends on OpenSSL and LibXml2, none of the above will be defined
 # unless both packages can be found.

-if(Davix_FIND_QUIETLY)
-  set(_FIND_DEPS_ARG QUIET)
-endif()
-
 foreach(var FOUND INCLUDE_DIR INCLUDE_DIRS LIBRARY LIBRARIES)
   unset(DAVIX_${var} CACHE)
 endforeach()

-find_package(LibXml2 ${_FIND_DEPS_ARG})
-find_package(OpenSSL ${_FIND_DEPS_ARG})
+find_package(LibXml2 QUIET)
+find_package(OpenSSL QUIET)

 if(LIBXML2_FOUND AND OPENSSL_FOUND)
-  find_path(DAVIX_INCLUDE_DIR davix.hpp PATH_SUFFIXES davix/include)
+  find_package(PkgConfig)

-  if(${Davix_FIND_REQUIRED})
-    set(Davix_REQUIRED REQUIRED)
+  if(PKG_CONFIG_FOUND)
+    if(${Davix_FIND_REQUIRED})
+      set(Davix_REQUIRED REQUIRED)
+    endif()
+
+    pkg_check_modules(DAVIX ${Davix_REQUIRED} davix>=${Davix_FIND_VERSION})
+
+    set(DAVIX_LIBRARIES ${DAVIX_LDFLAGS} ${LIBXML2_LIBRARIES} ${OPENSSL_LIBRARIES})
+    set(DAVIX_LIBRARY ${DAVIX_LIBRARIES})
+    set(DAVIX_INCLUDE_DIRS ${DAVIX_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS})
+    set(DAVIX_INCLUDE_DIR ${DAVIX_INCLUDE_DIRS})
   endif()
-
-  find_package(PkgConfig REQUIRED)
-  pkg_check_modules(DAVIX ${Davix_REQUIRED} davix>=${Davix_FIND_VERSION})
-
-  set(DAVIX_LIBRARIES ${DAVIX_LDFLAGS} ${LIBXML2_LIBRARIES} ${OPENSSL_LIBRARIES})
-  set(DAVIX_LIBRARY ${DAVIX_LIBRARIES})
-  set(DAVIX_INCLUDE_DIRS ${DAVIX_INCLUDE_DIRS} ${LIBXML2_INCLUDE_DIRS} ${OPENSSL_INCLUDE_DIRS})
-  set(DAVIX_INCLUDE_DIR ${DAVIX_INCLUDE_DIRS})
 endif()

 if(DAVIX_FOUND AND NOT TARGET Davix::Davix)


Build PIE binaries when cross-compiling to Android.

This change also removes CMAKE_LINK_FLAGS setting that seems to be ignored by cmake.

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

--- cmake/platforms/Android.cmake
+++ cmake/platforms/Android.cmake
@@ -25,4 +25,5 @@
 SET(ANDROID_COMMON_FLAGS "-target arm-linux-androideabi --sysroot=${LLVM_ANDROID_TOOLCHAIN_DIR}/sysroot -B${LLVM_ANDROID_TOOLCHAIN_DIR}")
 SET(CMAKE_C_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cflags" FORCE)
 SET(CMAKE_CXX_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_cxxflags" FORCE)
-SET(CMAKE_LINK_FLAGS "${ANDROID_COMMON_FLAGS}" CACHE STRING "toolchain_linkflags" FORCE)
+SET(CMAKE_EXE_LINKER_FLAGS "-pie" CACHE STRING "toolchain_exelinkflags" FORCE)
+


[cmake] Note future cleanup in comment. NFC

CMake 3.6 introduced CMAKE_TRY_COMPILE_PLATFORM_VARIABLES, which solves
precisely the problem that necessitated init_user_prop, so we can switch
over whenever we bump our minimum CMake requirement.

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

--- cmake/platforms/WinMsvc.cmake
+++ cmake/platforms/WinMsvc.cmake
@@ -92,7 +92,9 @@
 # won't see the value of any arguments the user passed via -D.  Since these are
 # necessary to properly configure MSVC in both the top-level configuration as well as
 # all feature-test invocations, we set environment variables with the values so that
-# these environments get inherited by child invocations.
+# these environments get inherited by child invocations. We can switch to
+# CMAKE_TRY_COMPILE_PLATFORM_VARIABLES once our minimum supported CMake version
+# is 3.6 or greater.
 function(init_user_prop prop)
   if(${prop})
     set(ENV{_${prop}} "${${prop}}")


Default doxygen builds off.

Default doxygen builds off.

--- CMake_build_options.cmake
+++ CMake_build_options.cmake
@@ -59,18 +59,19 @@

 #################################
 ## Optionally enable documentation build
-find_package(Doxygen)
-if (DOXYGEN_FOUND)
-    # get the doxygen version
-    exec_program(${DOXYGEN_EXECUTABLE} ${HOOMD_SOURCE_DIR} ARGS --version OUTPUT_VARIABLE DOXYGEN_VERSION)
+OPTION(ENABLE_DOXYGEN "Enables building of documentation with doxygen" OFF)
+if (ENABLE_DOXYGEN)
+    find_package(Doxygen)
+    if (DOXYGEN_FOUND)
+        # get the doxygen version
+        exec_program(${DOXYGEN_EXECUTABLE} ${HOOMD_SOURCE_DIR} ARGS --version OUTPUT_VARIABLE DOXYGEN_VERSION)

-    if (${DOXYGEN_VERSION} VERSION_GREATER 1.5.5)
-        OPTION(ENABLE_DOXYGEN "Enables building of documentation with doxygen" ON)
-    else (${DOXYGEN_VERSION} VERSION_GREATER 1.5.5)
-        message(STATUS "Doxygen version less than 1.5.5, defaulting ENABLE_DOXYGEN=OFF")
-        OPTION(ENABLE_DOXYGEN "Enables building of documentation with doxygen" OFF)
-    endif (${DOXYGEN_VERSION} VERSION_GREATER 1.5.5)
-endif (DOXYGEN_FOUND)
+        if (${DOXYGEN_VERSION} VERSION_GREATER 1.8.4)
+        else (${DOXYGEN_VERSION} VERSION_GREATER 1.8.4)
+            message(STATUS "Doxygen version less than 1.8.5, documentation may not build correctly")
+        endif (${DOXYGEN_VERSION} VERSION_GREATER 1.8.4)
+    endif ()
+endif ()

 ################################
 ## detect and optionally enable OpenMP


Graph Control 4.0.0-rc11 Release Candidate 11

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

--- version.cmake
+++ version.cmake
@@ -6,7 +6,7 @@
 set ( HPCC_MINOR 0 )
 set ( HPCC_POINT 0 )
 set ( HPCC_MATURITY "rc" )
-set ( HPCC_SEQUENCE 10 )
+set ( HPCC_SEQUENCE 11 )
 ###
 IF ( ${HPCC_POINT} GREATER 65 )
   error ( "HPCC_POINT must be less than 66." )


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


make host largeaddressaware

make host largeaddressaware

--- src/corehost/cli/setup.cmake
+++ src/corehost/cli/setup.cmake
@@ -26,6 +26,7 @@
     add_compile_options(/fp:precise)
     add_compile_options(/EHsc)

+    set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /LARGEADDRESSAWARE") # can handle addresses larger than 2 gigabytes
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /DEBUG")
     set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /INCREMENTAL:NO")
     set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /DEBUG /PDBCOMPRESS")


Build: Reformat CMake code for `FindANTLR4Cpp`

--- cmake/Modules/FindANTLR4Cpp.cmake
+++ cmake/Modules/FindANTLR4Cpp.cmake
@@ -1,15 +1,13 @@
 # Try to find the C++ runtime of ANTLR
 # ====================================

-# ~~~
 # Once done this will define
 #
-#  ANTLR4CPP_FOUND		Tells us if the script was able to find the C++ runtime of ANTLR
-#  ANTLR4CPP_INCLUDE_DIRS	The ANTLR C++ runtime include directories
-#  ANTLR4CPP_LIBRARIES		The libraries needed to use the ANTLR C++ runtime
+# - ANTLR4CPP_FOUND: Tells us if the script was able to find the C++ runtime of ANTLR
+# - ANTLR4CPP_INCLUDE_DIRS: The ANTLR C++ runtime include directories
+# - ANTLR4CPP_LIBRARIES: The libraries needed to use the ANTLR C++ runtime
 #
 # This script is a modified version of the code available here: https://cmake.org/Wiki/CMake:How_To_Find_Libraries#Writing_find_modules
-# ~~~

 find_path (ANTLR4CPP_INCLUDE_DIR NAMES antlr4-runtime.h PATH_SUFFIXES antlr4-runtime)
 find_library (ANTLR4CPP_LIBRARY NAMES antlr4-runtime)


Propagating prior merge from 'llvm.org/master'.

--- cmake/caches/Fuchsia-stage2.cmake
+++ cmake/caches/Fuchsia-stage2.cmake
@@ -13,6 +13,10 @@
 set(LLVM_ENABLE_ZLIB ON CACHE BOOL "")
 set(LLVM_EXTERNALIZE_DEBUGINFO ON CACHE BOOL "")
 set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
+
+set(ENABLE_LINKER_BUILD_ID ON CACHE BOOL "")
+set(ENABLE_X86_RELAX_RELOCATIONS ON CACHE BOOL "")
+set(ENABLE_EXPERIMENTAL_NEW_PASS_MANAGER ON CACHE BOOL "")

 set(LLVM_ENABLE_LTO ON CACHE BOOL "")
 if(NOT APPLE)


Documented boost requirements for Windows

As of boost-1.51.1 on Windows, users must make sure to
manually download all boost thread dependencies (System, Chrono,
Time/Date)

This can be achieved via boostpro, they just have to be explicitly
specified for installation for boost to be discovered and linked
properly.

--- src/main/resources/project-files/jace/Prerequisites.cmake
+++ src/main/resources/project-files/jace/Prerequisites.cmake
@@ -64,6 +64,11 @@
 if(WIN32)
   set(BOOST_ROOT ${Boost_INCLUDE_DIR})
 endif(WIN32)
+# NB: If installing on Windows, this find_package call will NOT
+# check for dependencies. If you installed boost via Boostpro (http://www.boostpro.com/download/)
+# make sure the Thread, System, Chrono and Date/Time were all installed (similarly,
+# boostpro doesn't install dependencies automatically).
+
 # NB: only thread is "required".. system is a dependency of thread,
 # and OSX requires it to be explicitly requested as of CMake 3.8.9, Boost-1.51
 find_package(Boost COMPONENTS system thread REQUIRED)


removed install prefix from simpleitk build

--- CMakeExternals/SimpleITK.cmake
+++ CMakeExternals/SimpleITK.cmake
@@ -54,11 +54,9 @@
        SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}-src
        BINARY_DIR ${proj}-build
        PREFIX ${proj}-cmake
-       INSTALL_DIR ${proj}-install
        PATCH_COMMAND ${SimpleITK_PATCH_COMMAND}
        CMAKE_ARGS
          ${ep_common_args}
-         -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
        CMAKE_CACHE_ARGS
          ${additional_cmake_args}
          -DSimpleITK_BUILD_DISTRIBUTE:BOOL=ON


build CHANGE find libyang module C++ bindings

--- CMakeModules/FindLibYANG.cmake
+++ CMakeModules/FindLibYANG.cmake
@@ -5,6 +5,10 @@
 #  LIBYANG_INCLUDE_DIRS - the LibYANG include directory
 #  LIBYANG_LIBRARIES - Link these to use LibYANG
 #  LIBYANG_VERSION - SO version of the found libyang library
+#
+#  LIBYANG_CPP_FOUND - system has LibYANG C++ bindings
+#  LIBYANG_CPP_INCLUDE_DIRS - the LibYANG C++ include directory
+#  LIBYANG_CPP_LIBRARIES - Link these to use LibYANG C++ bindings
 #
 #  Author Radek Krejci <rkrejci@cesnet.cz>
 #  Copyright (c) 2015 CESNET, z.s.p.o.
@@ -76,9 +80,54 @@
     set(LIBYANG_LIBRARIES ${LIBYANG_LIBRARY})
     mark_as_advanced(LIBYANG_INCLUDE_DIRS LIBYANG_LIBRARIES)

-    # handle the QUIETLY, REQUIRED and VERSION arguments and set LIBYANG_FOUND to TRUE
+    # handle the QUIETLY and REQUIRED arguments and set SYSREPO_FOUND to TRUE
     # if all listed variables are TRUE
     find_package_handle_standard_args(LibYANG FOUND_VAR LIBYANG_FOUND
         REQUIRED_VARS LIBYANG_LIBRARY LIBYANG_INCLUDE_DIR
         VERSION_VAR LIBYANG_VERSION)
 endif()
+
+#C++ bindings
+if (LIBYANG_CPP_LIBRARIES AND LIBYANG_CPP_INCLUDE_DIRS)
+    # in cache already
+    set(LIBYANG_CPP_FOUND TRUE)
+else ()
+    find_path(LIBYANG_CPP_INCLUDE_DIR
+        NAMES
+        libyang/Libyang.hpp
+        PATHS
+        /usr/include
+        /usr/local/include
+        /opt/local/include
+        /sw/include
+        ${CMAKE_INCLUDE_PATH}
+        ${CMAKE_INSTALL_PREFIX}/include
+    )
+
+    find_library(LIBYANG_CPP_LIBRARY
+        NAMES
+        yang-cpp
+        libyang-cpp
+        PATHS
+        /usr/lib
+        /usr/lib64
+        /usr/local/lib
+        /usr/local/lib64
+        /opt/local/lib
+        /sw/lib
+        ${CMAKE_LIBRARY_PATH}
+        ${CMAKE_INSTALL_PREFIX}/lib
+    )
+
+    if (LIBYANG_CPP_INCLUDE_DIR AND LIBYANG_CPP_LIBRARY)
+        set(LIBYANG_CPP_FOUND TRUE)
+    else ()
+        set(LIBYANG_CPP_FOUND FALSE)
+    endif ()
+
+    set(LIBYANG_CPP_INCLUDE_DIRS ${LIBYANG_CPP_INCLUDE_DIR})
+    set(LIBYANG_CPP_LIBRARIES ${LIBYANG_CPP_LIBRARY})
+
+    # show the LIBYANG_CPP_INCLUDE_DIRS and LIBYANG_CPP_LIBRARIES variables only in the advanced view
+    mark_as_advanced(LIBYANG_CPP_INCLUDE_DIRS LIBYANG_CPP_LIBRARIES)
+endif()


Fix CMake render_pipeline_find_plugins function

--- cmake/render_pipeline-macro.cmake
+++ cmake/render_pipeline-macro.cmake
@@ -45,7 +45,7 @@
         endforeach()
     endif()

-    if(${found_plugin_id_list})
+    if(found_plugin_id_list)
         message(STATUS "Found the following Render Pipeline plugins:")
         foreach(plugin_id ${found_plugin_id_list})
             message(STATUS "  ${plugin_id}")


COMP: Add CLI modules to SlicerCIP

COMP: Add CLI modules to SlicerCIP

Use SlicerCIPIntegration branch of ChestImagingPlatform, which defines
CLI module output and install destinations explicitly

--- SuperBuild/External_CIP.cmake
+++ SuperBuild/External_CIP.cmake
@@ -25,12 +25,13 @@
   ExternalProject_Add(${proj}
     ${${proj}_EP_ARGS}
     GIT_REPOSITORY "${git_protocol}://github.com/acil-bwh/ChestImagingPlatform.git"
-    GIT_TAG "769fba64dfd0e6f67e22c4c1e8021aa9641029b1" # include changes for ITK 64-bit and using Slicer Python in CIP develop branch
+    GIT_TAG "79c752196385124f592776e796c918c2176b0c1f" # use SlicerCIPIntegration branch to include CLI modules
     #DOWNLOAD_COMMAND ${CMAKE_COMMAND} -E echo "Remove this line and uncomment GIT_REPOSITORY and GIT_TAG"
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
     BINARY_DIR ${proj}-build
     CMAKE_CACHE_ARGS
       -DCIP_SUPERBUILD:BOOL=OFF
+      -DCIP_INTEGRATE_WITH_SLICER:BOOL=ON
       -DITK_DIR:PATH=${ITK_DIR}
       -DVTK_DIR:PATH=${VTK_DIR}
       -DVTK_SOURCE_DIR:PATH=${VTK_SOURCE_DIR}
@@ -38,9 +39,17 @@
       -DLIBXML2_INCLUDE_DIR:PATH=${vtklibxml2_INCLUDE_DIRS}
       -DLIBXML2_LIBRARIES:PATH=${vtklibxml2_LIBRARIES}
       -DBUILD_GENERATEMODEL:BOOL=OFF
-	  -DCIP_BUILD_TESTING_PYTHON:BOOL=OFF # to exclude cip_python from CIP build
-	  -DSLICER_PYTHON_CMD:FILEPATH=${PYTHON_EXECUTABLE}
+      -DBUILD_GENERATESIMPLELUNGMASK:BOOL=OFF # temporarily off due to lack of VtkGlue
+      -DBUILD_ComputeAirwayWallFromParticles:BOOL=OFF # temporarily off due to lack of VtkGlue
+      -DCIP_BUILD_TESTING_PYTHON:BOOL=OFF # to exclude cip_python from CIP build
+      -DSLICER_PYTHON_CMD:FILEPATH=${PYTHON_EXECUTABLE}
       -DSlicerExecutionModel_DIR:STRING=${SlicerExecutionModel_DIR}
+      -DCIP_CLI_LIBRARY_OUTPUT_DIRECTORY:PATH=${CMAKE_BINARY_DIR}/${EXTENSION_BUILD_SUBDIRECTORY}/${Slicer_CLIMODULES_LIB_DIR}
+      -DCIP_CLI_ARCHIVE_OUTPUT_DIRECTORY:PATH=${CMAKE_BINARY_DIR}/${EXTENSION_BUILD_SUBDIRECTORY}/${Slicer_CLIMODULES_LIB_DIR}
+      -DCIP_CLI_RUNTIME_OUTPUT_DIRECTORY:PATH=${CMAKE_BINARY_DIR}/${EXTENSION_BUILD_SUBDIRECTORY}/${Slicer_CLIMODULES_BIN_DIR}
+      -DCIP_CLI_INSTALL_LIBRARY_DESTINATION:PATH=${Slicer_INSTALL_CLIMODULES_LIB_DIR}
+      -DCIP_CLI_INSTALL_ARCHIVE_DESTINATION:PATH=${Slicer_INSTALL_CLIMODULES_LIB_DIR}
+      -DCIP_CLI_INSTALL_RUNTIME_DESTINATION:PATH=${Slicer_INSTALL_CLIMODULES_BIN_DIR}
       -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
       -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}
       -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}


Pass GDCM_ CMake variables to the ITK Superbuild

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -31,6 +31,7 @@
       OR _varName MATCHES "^ITKV3"
       OR _varName MATCHES "^ITKV4"
       OR _varName MATCHES "FFTW"
+      OR _varName MATCHES "^GDCM_"
       OR _varName MATCHES "^Module_")
     message( STATUS "Passing variable \"${_varName}=${${_varName}}\" to ITK external project.")
     list(APPEND ITK_VARS ${_varName})


Update superbuild ITK version to 5.1rc03

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -53,7 +53,7 @@
 mark_as_advanced(ITK_GIT_REPOSITORY)
 sitk_legacy_naming(ITK_GIT_REPOSITORY ITK_REPOSITORY)

-set(_DEFAULT_ITK_GIT_TAG "8f64ced3639d5dfd200ff46e99f3fed9f9f1aab6")
+set(_DEFAULT_ITK_GIT_TAG "v5.1rc03")
 set(ITK_GIT_TAG "${_DEFAULT_ITK_GIT_TAG}" CACHE STRING "Tag in ITK git repo")
 mark_as_advanced(ITK_GIT_TAG)
 set(ITK_TAG_COMMAND GIT_TAG "${ITK_GIT_TAG}")


CMake: Remove unused macro

CMake: Remove unused macro

--- src/cmake/macros.cmake
+++ src/cmake/macros.cmake
@@ -51,70 +51,6 @@
 		endforeach()
 	endif()
 endfunction()
-
-macro(target_link_libraries_optimized TARGET LIBS)
-	foreach(_LIB ${LIBS})
-		target_link_libraries(${TARGET} optimized "${_LIB}")
-	endforeach()
-	unset(_LIB)
-endmacro()
-
-macro(target_link_libraries_debug TARGET LIBS)
-	foreach(_LIB ${LIBS})
-		target_link_libraries(${TARGET} debug "${_LIB}")
-	endforeach()
-	unset(_LIB)
-endmacro()
-
-# foo_bar.spam --> foo_barMySuffix.spam
-macro(file_suffix
-	file_name_new file_name file_suffix
-	)
-
-	get_filename_component(_file_name_PATH ${file_name} PATH)
-	get_filename_component(_file_name_NAME_WE ${file_name} NAME_WE)
-	get_filename_component(_file_name_EXT ${file_name} EXT)
-	set(${file_name_new} "${_file_name_PATH}/${_file_name_NAME_WE}${file_suffix}${_file_name_EXT}")
-
-	unset(_file_name_PATH)
-	unset(_file_name_NAME_WE)
-	unset(_file_name_EXT)
-endmacro()
-
-# useful for adding debug suffix to library lists:
-# /somepath/foo.lib --> /somepath/foo_d.lib
-macro(file_list_suffix
-	fp_list_new fp_list fn_suffix
-	)
-
-	# incase of empty list
-	set(_fp)
-	set(_fp_suffixed)
-
-	set(fp_list_new)
-
-	foreach(_fp ${fp_list})
-		file_suffix(_fp_suffixed "${_fp}" "${fn_suffix}")
-		list(APPEND "${fp_list_new}" "${_fp_suffixed}")
-	endforeach()
-
-	unset(_fp)
-	unset(_fp_suffixed)
-
-endmacro()
-
-macro(target_link_libraries_decoupled target libraries_var)
-	if(NOT MSVC)
-		target_link_libraries(${target} ${${libraries_var}})
-	else()
-		# For MSVC we link to different libraries depending whether
-		# release or debug target is being built.
-		file_list_suffix(_libraries_debug "${${libraries_var}}" "_d")
-		target_link_libraries_debug(${target} "${_libraries_debug}")
-		target_link_libraries_optimized(${target} "${${libraries_var}}")
-		unset(_libraries_debug)
-	endif()
-endmacro()

 macro(remove_cc_flag
         flag)


Fix typo (#163)

Fix typo (#163)

Signed-off-by: Esteve Fernandez <16bfcab06c3ff66904f0d261c5a2b44be3409a39@apache.org>

--- ament_cmake_test/cmake/ament_add_test.cmake
+++ ament_cmake_test/cmake/ament_add_test.cmake
@@ -15,7 +15,7 @@
 #
 # Add a test.
 #
-# A test is expected to generated a JUnit result file
+# A test is expected to generate a JUnit result file
 # ${AMENT_TEST_RESULTS_DIR}/$PROJECT_NAME}/${testname}.xml.
 # Failing to do so is considered a failed test.
 #


using more standard names

using more standard names

--- doc/dox/FindOMPL.cmake
+++ doc/dox/FindOMPL.cmake
@@ -2,10 +2,9 @@
 # Once done this will define:
 #
 # OMPL_FOUND - OMPL was found
-# OMPL_LIBRARY - The OMPL library
-# OMPLAPP_LIBRARY - The OMPL.app library
-# OMPL_LIBRARIES - The OMPL library and (if found) the OMPL.app library
-# OMPL_INCLUDE_DIR - The OMPL include directory
+# OMPL_INCLUDE_DIRS - The OMPL include directory
+# OMPL_LIBRARIES - The OMPL library
+# OMPLAPP_LIBRARIES - The OMPL.app library

 include(FindPackageHandleStandardArgs)

@@ -40,19 +39,18 @@
     PATHS ${OMPL_LIB_PATH}
     PATH_SUFFIXES lib build/lib)
 # find the OMPL library
-find_library(OMPLAPP_LIBRARY ompl_app
+find_library(OMPLAPP_LIBRARIES ompl_app
     PATHS ${OMPL_LIB_PATH}
     PATH_SUFFIXES lib build/lib)
-set(OMPL_LIBRARIES "${OMPL_LIBRARY}" "${OMPLAPP_LIBRARY}")

 # find include path
-find_path(OMPL_INCLUDE_DIR SpaceInformation.h
+find_path(OMPL_INCLUDE_DIRS SpaceInformation.h
     PATHS ${OMPL_INCLUDE_PATH}
 PATH_SUFFIXES base ompl/base include/ompl/base src/ompl/base)
-if (OMPL_INCLUDE_DIR)
-    string(REGEX REPLACE "/ompl/base$" "" OMPL_INCLUDE_DIR ${OMPL_INCLUDE_DIR})
+if (OMPL_INCLUDE_DIRS)
+    string(REGEX REPLACE "/ompl/base$" "" OMPL_INCLUDE_DIRS ${OMPL_INCLUDE_DIRS})
 else()
-    set(OMPL_INCLUDE_DIR "")
+    set(OMPL_INCLUDE_DIRS "")
 endif()

-find_package_handle_standard_args(OMPL DEFAULT_MSG OMPL_LIBRARY OMPL_INCLUDE_DIR)
+find_package_handle_standard_args(OMPL DEFAULT_MSG OMPL_LIBRARIES OMPL_INCLUDE_DIRS)


emscripten: new standard exported func _emsc_put_msg

--- cmake-toolchains/emscripten.toolchain.cmake
+++ cmake-toolchains/emscripten.toolchain.cmake
@@ -59,7 +59,7 @@
 set(FIPS_EMSCRIPTEN_LTO_LEVEL 1 CACHE STRING "emscripten: Link-time-optimization level (0..3)")
 set(FIPS_EMSCRIPTEN_OUTLINING_LIMIT 60000 CACHE STRING "emscripten: outlining limit")
 set(FIPS_EMSCRIPTEN_MEM_INIT_METHOD 1 CACHE STRING "emscripten: how to represent initial memory content (0..2)")
-set(FIPS_EMSCRIPTEN_EXPORTED_FUNCTIONS "['_main','_enter_fullscreen','_enter_soft_fullscreen','_emsc_pass_data']" CACHE STRING "emscripten: exported C function names")
+set(FIPS_EMSCRIPTEN_EXPORTED_FUNCTIONS "['_main','_enter_fullscreen','_enter_soft_fullscreen','_emsc_pass_data','_emsc_put_msg']" CACHE STRING "emscripten: exported C function names")
 set(FIPS_EMSCRIPTEN_SHELL_HTML "${EMSCRIPTEN_ROOT_PATH}/src/shell_minimal.html" CACHE STRING "emscripten: path to shell html file")
 set(EMSCRIPTEN_TOTAL_MEMORY_WORKER 16777216)


StereoDepth: check if input/output messages are connected

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "2ae062fb9a446d23914256315b718f33a01f3de8")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "f503b7adfd44b696187b7825a12a134ded0ca3f3")

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


Update FW: FSYNC for IMX378

Update FW: FSYNC for IMX378

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "938ec3265a117befb20f3689d32c3c306146759a")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "0647981afd0f2f366666641f51b51494ea0b62b1")

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


Upgrade TBB version

Upgrade TBB version

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -1171,7 +1171,7 @@
   endif()
 endif()
 if(builtin_tbb)
-  set(tbb_version 44_20160413)
+  set(tbb_version 2017_20170226)
   ROOT_ADD_CXX_FLAG(_tbb_cxxflags -mno-rtm)
   set(TBB_LIBRARIES ${CMAKE_BINARY_DIR}/lib/libtbb${CMAKE_SHARED_LIBRARY_SUFFIX})
   ExternalProject_Add(


COMP: Use correct filename character case

--- Modules/QmitkExt/files.cmake
+++ Modules/QmitkExt/files.cmake
@@ -100,7 +100,7 @@
   SET(CPP_FILES
     ${CPP_FILES}
     QmitkVtkHistogramWidget.cpp
-    QMitkVtkLineProfileWidget.cpp
+    QmitkVtkLineProfileWidget.cpp
   )
 ENDIF()


[C++, Tools] Support relative path for joynr.generator.standalone.jar

Change-Id: I249fc95a2ce37d39fa8a067ca9e32bf291374f50

--- tools/generator/joynr-generator-standalone/src/main/scripts/JoynrGeneratorConfig.cmake
+++ tools/generator/joynr-generator-standalone/src/main/scripts/JoynrGeneratorConfig.cmake
@@ -15,7 +15,11 @@

 include(CMakeParseArguments)

-set(JoynrGenerator_JAR "${joynr.generator.standalone.jar}")
+if(IS_ABSOLUTE ${joynr.generator.standalone.jar})
+    set(JoynrGenerator_JAR "${joynr.generator.standalone.jar}")
+else()
+    set(JoynrGenerator_JAR "${CMAKE_CURRENT_LIST_DIR}/${joynr.generator.standalone.jar}")
+endif(IS_ABSOLUTE ${joynr.generator.standalone.jar})

 if(EXISTS "${JoynrGenerator_JAR}")
     set(JoynrGenerator_FOUND TRUE)


ENH: Add continuous reporting and viewcvs instead of cvsweb

--- DartConfig.cmake
+++ DartConfig.cmake
@@ -21,7 +21,7 @@

 # Dart server configuration
 SET (ROLLUP_URL "http://${DROP_SITE}/cgi-bin/vtk-rollup-dashboard.sh")
-SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/cvsweb.cgi/VTK/")
+SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/viewcvs.cgi/")
 SET (CVS_WEB_CVSROOT "VTK")
 SET (USE_DOXYGEN "On")
 SET (DOXYGEN_URL "http://www.vtk.org/doc/nightly/html/" )
@@ -35,5 +35,16 @@
 SET (CONTINUOUS_FROM "lorensen@crd.ge.com")
 SET (SMTP_MAILHOST "public.kitware.com")
 SET (CONTINUOUS_MONITOR_LIST "lorensen@crd.ge.com millerjv@crd.ge.com ken.martin@kitware.com")
-SET (CONTINUOUS_BASE_URL "http://www.vtk.org/Testing")
+SET (CONTINUOUS_BASE_URL "${PROJECT_URL}/Testing")

+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_FAILURES ON)
+SET (DELIVER_BROKEN_BUILD_EMAIL "Continuous Nightly")
+SET (EMAIL_FROM "vtk-dashboard@public.kitware.com")
+SET (DARTBOARD_BASE_URL "${PROJECT_URL}/Testing")
+
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_CONFIGURE_FAILURES 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_BUILD_ERRORS 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_BUILD_WARNINGS 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_NOT_RUNS 1)
+SET (DELIVER_BROKEN_BUILD_EMAIL_WITH_TEST_FAILURES 1)
+


Update Toolchain.cmake

Update Toolchain.cmake

--- linux/i686/Toolchain.cmake
+++ linux/i686/Toolchain.cmake
@@ -12,4 +12,3 @@
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_SYSROOT ${sys_root})


Update to python 3.6.4

Update to python 3.6.4

--- versions.cmake
+++ versions.cmake
@@ -46,12 +46,12 @@

 if (WIN32)
   add_revision(python
-    URL "https://www.tomviz.org/files/python3.6.0.tar.gz"
-    URL_MD5 "08c5a23fe5dd095d2aa363816ba25935")
+    URL "https://www.tomviz.org/files/python-3.6.4-win64.tar.gz"
+    URL_MD5 "e2a19a33f8e3c0de63f0171a2871e620")
 else()
   add_revision(python
-    URL "https://www.paraview.org/files/dependencies/Python-3.6.3.tgz"
-    URL_MD5 "e9180c69ed9a878a4a8a3ab221e32fa9")
+    URL "https://www.tomviz.org/files/Python-3.6.4.tgz"
+    URL_MD5 "9de6494314ea199e3633211696735f65")
 endif()

 foreach (fftw3kind float double long quad)


Update Toolchain.cmake

Update Toolchain.cmake

--- linux/armv6hf/Toolchain.cmake
+++ linux/armv6hf/Toolchain.cmake
@@ -12,4 +12,3 @@
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
-set(CMAKE_SYSROOT ${sys_root})


Added support for UIAlertView+Blocks

Added support for UIAlertView+Blocks

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -258,6 +258,7 @@
 add_target(SSTOOLKIT sstoolkit)
 add_target(SW_REVEAL_VIEW_CONTROLLER sw_reveal_view_controller)
 add_target(TBB tbb)
+add_target(UIALERTVIEW_BLOCKS uialertview_blocks)
 add_target(UIIMAGE_ANIMATED_GIF uiimage_animated_gif)
 add_target(VIRTUALENV virtualenv)
 add_target(XZ xz)
@@ -532,6 +533,8 @@
 set_libraries(sw_reveal_view_controller ${SW_REVEAL_VIEW_CONTROLLER_PREFIX}/lib
               sw_reveal_view_controller)
 set_libraries(tbb ${TBB_PREFIX}/lib tbb)
+set_libraries(uialertview_blocks ${UIALERTVIEW_BLOCKS_PREFIX}/lib
+              uialertview_blocks)
 set_libraries(uiimage_animated_gif ${UIIMAGE_ANIMATED_GIF_PREFIX}/lib
               uiimage_animated_gif)
 set_libraries(zlib ${ZLIB_PREFIX}/lib z)
@@ -581,7 +584,7 @@
                          third_party.mobile_commerce_ios_ios_rest_client)
 add_framework_dependencies(
     mobile_commerce_ios_atg_mobile_common CoreData SystemConfiguration)
-
+add_framework_dependencies(uialertview_blocks UIKit)
 add_framework_dependencies(uiimage_animated_gif ImageIO)

 # Aliases.
@@ -722,6 +725,7 @@
 set_include_directories(
     sw_reveal_view_controller ${SW_REVEAL_VIEW_CONTROLLER_PREFIX}/include)
 set_include_directories(tbb ${TBB_PREFIX}/include)
+set_include_directories(uialertview_blocks ${UIALERTVIEW_BLOCKS_PREFIX}/include)
 set_include_directories(
     uiimage_animated_gif ${UIIMAGE_ANIMATED_GIF_PREFIX}/include)

@@ -3592,6 +3596,36 @@
     ${UIIMAGE_ANIMATED_GIF_TARGET} ${UIIMAGE_ANIMATED_GIF_TARGET}_download)

 ################################################################################
+# UIAlertView+Blocks.
+set(DOWNLOAD_TARGET ${UIALERTVIEW_BLOCKS_TARGET}_download)
+add_external_project(
+  ${DOWNLOAD_TARGET}
+  PREFIX ${UIALERTVIEW_BLOCKS_PREFIX}
+  DOWNLOAD_COMMAND
+      ${GIT} clone --depth 1 git://github.com/jivadevoe/UIAlertView-Blocks.git
+          ${DOWNLOAD_TARGET}
+  CONFIGURE_COMMAND ${NOP}
+  BUILD_COMMAND ${NOP}
+  INSTALL_COMMAND
+      cd <SOURCE_DIR> &&
+      find . -name "*.h" | cpio -dp <INSTALL_DIR>/include/UIAlertView+Blocks)
+ExternalProject_Get_Property(${DOWNLOAD_TARGET} SOURCE_DIR)
+set(UIALERTVIEW_BLOCKS_SRCS
+    ${SOURCE_DIR}/RIButtonItem.m
+    ${SOURCE_DIR}/UIActionSheet+Blocks.m
+    ${SOURCE_DIR}/UIAlertView+Blocks.m)
+set_source_files_properties(
+    ${UIALERTVIEW_BLOCKS_SRCS} PROPERTIES GENERATED TRUE)
+objc_library(${UIALERTVIEW_BLOCKS_TARGET} ${UIALERTVIEW_BLOCKS_SRCS})
+link_framework(${UIALERTVIEW_BLOCKS_TARGET} UIKit)
+set_target_properties(
+    ${UIALERTVIEW_BLOCKS_TARGET} PROPERTIES
+    ARCHIVE_OUTPUT_DIRECTORY ${UIALERTVIEW_BLOCKS_PREFIX}/lib
+    LIBRARY_OUTPUT_DIRECTORY ${UIALERTVIEW_BLOCKS_PREFIX}/lib
+    OUTPUT_NAME uialertview_blocks)
+add_dependencies(${UIALERTVIEW_BLOCKS_TARGET} ${DOWNLOAD_TARGET})
+
+################################################################################
 # virtualenv.
 if (PYTHON_SUPPORTED)
   add_external_project(


BUG: Superbuild installs required itk sphinx six packages

--- Superbuild/External-Python.cmake
+++ Superbuild/External-Python.cmake
@@ -13,5 +13,5 @@
   DOWNLOAD_COMMAND ""
   CONFIGURE_COMMAND ""
   BUILD_COMMAND ${PYTHON_EXECUTABLE} -m venv "${_itk_venv}"
-  INSTALL_COMMAND ${ITKPYTHON_EXECUTABLE} -m pip install itk sphinx
+  INSTALL_COMMAND ${ITKPYTHON_EXECUTABLE} -m pip install --ignore-installed itk>=5.2rc2 sphinx==3.0.4 six
   )


Reorder macros on config.h.cmake to easily compare it against
config.h.in.

Patch by arrowdodger!

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

--- include/llvm/Config/config.h.cmake
+++ include/llvm/Config/config.h.cmake
@@ -1,4 +1,3 @@
-
 /**************************************
 ** Created by Kevin from config.h.in **
 ***************************************/
@@ -6,36 +5,36 @@
 #ifndef CONFIG_H
 #define CONFIG_H

+/* Relative directory for resource files */
+#define CLANG_RESOURCE_DIR "${CLANG_RESOURCE_DIR}"
+
+/* 32 bit multilib directory */
+#define CXX_INCLUDE_32BIT_DIR "${CXX_INCLUDE_32BIT_DIR}"
+
+/* 64 bit multilib directory */
+#define CXX_INCLUDE_64BIT_DIR "${CXX_INCLUDE_64BIT_DIR}"
+
+/* Architecture of libstdc++ headers */
+#define CXX_INCLUDE_ARCH "${CXX_INCLUDE_ARCH}"
+
+/* Directory clang will search for libstdc++ headers */
+#define CXX_INCLUDE_ROOT "${CXX_INCLUDE_ROOT}"
+
+/* Directories clang will search for headers */
+#define C_INCLUDE_DIRS "${C_INCLUDE_DIRS}"
+
 /* Define if CBE is enabled for printf %a output */
 #cmakedefine ENABLE_CBE_PRINTF_A ${ENABLE_CBE_PRINTF_A}

-/* Relative directory for resource files */
-#define CLANG_RESOURCE_DIR "${CLANG_RESOURCE_DIR}"
-
-/* Directories clang will search for headers */
-#define C_INCLUDE_DIRS "${C_INCLUDE_DIRS}"
-
-/* Directory clang will search for libstdc++ headers */
-#define CXX_INCLUDE_ROOT "${CXX_INCLUDE_ROOT}"
-
-/* Architecture of libstdc++ headers */
-#define CXX_INCLUDE_ARCH "${CXX_INCLUDE_ARCH}"
-
-/* 32 bit multilib directory */
-#define CXX_INCLUDE_32BIT_DIR "${CXX_INCLUDE_32BIT_DIR}"
-
-/* 64 bit multilib directory */
-#define CXX_INCLUDE_64BIT_DIR "${CXX_INCLUDE_64BIT_DIR}"
-
 /* Define if position independent code is enabled */
 #cmakedefine ENABLE_PIC

+/* Define if threads enabled */
+#cmakedefine ENABLE_THREADS ${ENABLE_THREADS}
+
 /* Define if timestamp information (e.g., __DATE___) is allowed */
 #cmakedefine ENABLE_TIMESTAMPS ${ENABLE_TIMESTAMPS}

-/* Define if threads enabled */
-#cmakedefine ENABLE_THREADS ${ENABLE_THREADS}
-
 /* Define to 1 if you have the `argz_append' function. */
 #cmakedefine HAVE_ARGZ_APPEND ${HAVE_ARGZ_APPEND}

@@ -63,9 +62,6 @@
 /* Define to 1 if you have the `bcopy' function. */
 #undef HAVE_BCOPY

-/* Does not have bi-directional iterator */
-#undef HAVE_BI_ITERATOR
-
 /* Define to 1 if you have the `ceilf' function. */
 #cmakedefine HAVE_CEILF ${HAVE_CEILF}

@@ -74,6 +70,12 @@

 /* Define to 1 if you have the `closedir' function. */
 #cmakedefine HAVE_CLOSEDIR ${HAVE_CLOSEDIR}
+
+/* Define to 1 if you have the <CrashReporterClient.h> header file. */
+#undef HAVE_CRASHREPORTERCLIENT_H
+
+/* Define if __crashreporter_info__ exists. */
+#undef HAVE_CRASHREPORTER_INFO

 /* Define to 1 if you have the <ctype.h> header file. */
 #cmakedefine HAVE_CTYPE_H ${HAVE_CTYPE_H}
@@ -124,6 +126,18 @@
 /* Define if the neat program is available */
 #cmakedefine HAVE_FDP ${HAVE_FDP}

+/* Define to 1 if you have the <fenv.h> header file. */
+#cmakedefine HAVE_FENV_H ${HAVE_FENV_H}
+
+/* Define if libffi is available on this platform. */
+#undef HAVE_FFI_CALL
+
+/* Define to 1 if you have the <ffi/ffi.h> header file. */
+#undef HAVE_FFI_FFI_H
+
+/* Define to 1 if you have the <ffi.h> header file. */
+#undef HAVE_FFI_H
+
 /* Set to 1 if the finite function is found in <ieeefp.h> */
 #cmakedefine HAVE_FINITE_IN_IEEEFP_H ${HAVE_FINITE_IN_IEEEFP_H}

@@ -133,9 +147,6 @@
 /* Define to 1 if you have the `fmodf' function. */
 #cmakedefine HAVE_FMODF ${HAVE_FMODF}

-/* Does not have forward iterator */
-#undef HAVE_FWD_ITERATOR
-
 /* Define to 1 if you have the `getcwd' function. */
 #cmakedefine HAVE_GETCWD ${HAVE_GETCWD}

@@ -151,18 +162,6 @@
 /* Define to 1 if you have the `gettimeofday' function. */
 #cmakedefine HAVE_GETTIMEOFDAY ${HAVE_GETTIMEOFDAY}

-/* Does not have <hash_map> */
-#undef HAVE_GLOBAL_HASH_MAP
-
-/* Does not have hash_set in global namespace */
-#undef HAVE_GLOBAL_HASH_SET
-
-/* Does not have ext/hash_map */
-#undef HAVE_GNU_EXT_HASH_MAP
-
-/* Does not have hash_set in gnu namespace */
-#undef HAVE_GNU_EXT_HASH_SET
-
 /* Define if the Graphviz program is available */
 #undef HAVE_GRAPHVIZ

@@ -213,6 +212,9 @@

 /* Define to 1 if you have the <limits.h> header file. */
 #cmakedefine HAVE_LIMITS_H ${HAVE_LIMITS_H}
+
+/* Define if you can use -Wl,-export-dynamic. */
+#define HAVE_LINK_EXPORT_DYNAMIC 1

 /* Define to 1 if you have the <link.h> header file. */
 #cmakedefine HAVE_LINK_H ${HAVE_LINK_H}
@@ -270,149 +272,173 @@
 /* Define if mmap() can map files into memory */
 #undef HAVE_MMAP_FILE

+/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
+#cmakedefine HAVE_NDIR_H ${HAVE_NDIR_H}
+
+/* Define to 1 if you have the `nearbyintf' function. */
+#cmakedefine HAVE_NEARBYINTF ${HAVE_NEARBYINTF}
+
+/* Define if the neat program is available */
+#cmakedefine HAVE_NEATO ${HAVE_NEATO}
+
+/* Define to 1 if you have the `opendir' function. */
+#cmakedefine HAVE_OPENDIR ${HAVE_OPENDIR}
+
+/* Define to 1 if you have the `posix_spawn' function. */
+#cmakedefine HAVE_POSIX_SPAWN ${HAVE_POSIX_SPAWN}
+
+/* Define to 1 if you have the `powf' function. */
+#cmakedefine HAVE_POWF ${HAVE_POWF}
+
+/* Define if libtool can extract symbol lists from object files. */
+#undef HAVE_PRELOADED_SYMBOLS
+
+/* Define to have the %a format string */
+#undef HAVE_PRINTF_A
+
+/* Have pthread_getspecific */
+#cmakedefine HAVE_PTHREAD_GETSPECIFIC ${HAVE_PTHREAD_GETSPECIFIC}
+
+/* Have pthread.h */
+#cmakedefine HAVE_PTHREAD_H ${HAVE_PTHREAD_H}
+
+/* Have pthread_mutex_lock */
+#cmakedefine HAVE_PTHREAD_MUTEX_LOCK ${HAVE_PTHREAD_MUTEX_LOCK}
+
+/* Have pthread_rwlock_init */
+#cmakedefine HAVE_PTHREAD_RWLOCK_INIT ${HAVE_PTHREAD_RWLOCK_INIT}
+
+/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
+#undef HAVE_RAND48
+
+/* Define to 1 if you have the `readdir' function. */
+#undef HAVE_READDIR
+
+/* Define to 1 if you have the `realpath' function. */
+#undef HAVE_REALPATH
+
+/* Define to 1 if you have the `rindex' function. */
+#undef HAVE_RINDEX
+
+/* Define to 1 if you have the `rintf' function. */
+#undef HAVE_RINTF
+
+/* Define to 1 if you have the `round' function. */
+#cmakedefine HAVE_ROUND ${HAVE_ROUND}
+
+/* Define to 1 if you have the `roundf' function. */
+#undef HAVE_ROUNDF
+
+/* Define to 1 if you have the `sbrk' function. */
+#cmakedefine HAVE_SBRK ${HAVE_SBRK}
+
+/* Define to 1 if you have the `setenv' function. */
+#cmakedefine HAVE_SETENV ${HAVE_SETENV}
+
+/* Define to 1 if you have the `setjmp' function. */
+#undef HAVE_SETJMP
+
+/* Define to 1 if you have the <setjmp.h> header file. */
+#cmakedefine HAVE_SETJMP_H ${HAVE_SETJMP_H}
+
+/* Define to 1 if you have the `setrlimit' function. */
+#cmakedefine HAVE_SETRLIMIT ${HAVE_SETRLIMIT}
+
+/* Define if you have the shl_load function. */
+#undef HAVE_SHL_LOAD
+
+/* Define to 1 if you have the `siglongjmp' function. */
+#undef HAVE_SIGLONGJMP
+
+/* Define to 1 if you have the <signal.h> header file. */
+#cmakedefine HAVE_SIGNAL_H ${HAVE_SIGNAL_H}
+
+/* Define to 1 if you have the `sigsetjmp' function. */
+#undef HAVE_SIGSETJMP
+
+/* Define to 1 if you have the <stdint.h> header file. */
+#cmakedefine HAVE_STDINT_H ${HAVE_STDINT_H}
+
+/* Define to 1 if you have the <stdio.h> header file. */
+#cmakedefine HAVE_STDIO_H ${HAVE_STDIO_H}
+
+/* Define to 1 if you have the <stdlib.h> header file. */
+#cmakedefine HAVE_STDLIB_H ${HAVE_STDLIB_H}
+
+/* Set to 1 if the std::isinf function is found in <cmath> */
+#undef HAVE_STD_ISINF_IN_CMATH
+
+/* Define to 1 if you have the `_chsize_s' function. */
+#cmakedefine HAVE__CHSIZE_S ${HAVE__CHSIZE_S}
+
 /* define if the compiler implements namespaces */
 #undef HAVE_NAMESPACES

-/* Define to 1 if you have the <ndir.h> header file, and it defines `DIR'. */
-#cmakedefine HAVE_NDIR_H ${HAVE_NDIR_H}
-
-/* Define to 1 if you have the `nearbyintf' function. */
-#cmakedefine HAVE_NEARBYINTF ${HAVE_NEARBYINTF}
-
-/* Define if the neat program is available */
-#cmakedefine HAVE_NEATO ${HAVE_NEATO}
-
-/* Define to 1 if you have the `opendir' function. */
-#cmakedefine HAVE_OPENDIR ${HAVE_OPENDIR}
-
-/* Define if libtool can extract symbol lists from object files. */
-#undef HAVE_PRELOADED_SYMBOLS
-
-/* Define to have the %a format string */
-#undef HAVE_PRINTF_A
-
-/* Have pthread.h */
-#cmakedefine HAVE_PTHREAD_H ${HAVE_PTHREAD_H}
-
-/* Have pthread_mutex_lock */
-#cmakedefine HAVE_PTHREAD_MUTEX_LOCK ${HAVE_PTHREAD_MUTEX_LOCK}
-
-/* Have pthread_rwlock_init */
-#cmakedefine HAVE_PTHREAD_RWLOCK_INIT ${HAVE_PTHREAD_RWLOCK_INIT}
-
-/* Have pthread_getspecific */
-#cmakedefine HAVE_PTHREAD_GETSPECIFIC ${HAVE_PTHREAD_GETSPECIFIC}
-
-/* Define to 1 if srand48/lrand48/drand48 exist in <stdlib.h> */
-#undef HAVE_RAND48
-
-/* Define to 1 if you have the `readdir' function. */
-#undef HAVE_READDIR
-
-/* Define to 1 if you have the `realpath' function. */
-#undef HAVE_REALPATH
-
-/* Define to 1 if you have the `rindex' function. */
-#undef HAVE_RINDEX
-
-/* Define to 1 if you have the `rintf' function. */
-#undef HAVE_RINTF
-
-/* Define to 1 if you have the `roundf' function. */
-#undef HAVE_ROUNDF
-
-/* Define to 1 if you have the `round' function. */
-#cmakedefine HAVE_ROUND ${HAVE_ROUND}
-
-/* Define to 1 if you have the `sbrk' function. */
-#cmakedefine HAVE_SBRK ${HAVE_SBRK}
-
-/* Define to 1 if you have the `setenv' function. */
-#cmakedefine HAVE_SETENV ${HAVE_SETENV}
-
-/* Define to 1 if you have the `_chsize_s' function. */
-#cmakedefine HAVE__CHSIZE_S ${HAVE__CHSIZE_S}
-
-/* Define to 1 if you have the `setjmp' function. */
-#undef HAVE_SETJMP
-
-/* Define to 1 if you have the <setjmp.h> header file. */
-#cmakedefine HAVE_SETJMP_H ${HAVE_SETJMP_H}
-
-/* Define to 1 if you have the `setrlimit' function. */
-#cmakedefine HAVE_SETRLIMIT ${HAVE_SETRLIMIT}
-
-/* Define if you have the shl_load function. */
-#undef HAVE_SHL_LOAD
-
-/* Define to 1 if you have the `siglongjmp' function. */
-#undef HAVE_SIGLONGJMP
-
-/* Define to 1 if you have the <signal.h> header file. */
-#cmakedefine HAVE_SIGNAL_H ${HAVE_SIGNAL_H}
-
-/* Define to 1 if you have the `sigsetjmp' function. */
-#undef HAVE_SIGSETJMP
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#cmakedefine HAVE_STDINT_H ${HAVE_STDINT_H}
-
-/* Define to 1 if you have the <stdio.h> header file. */
-#cmakedefine HAVE_STDIO_H ${HAVE_STDIO_H}
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#cmakedefine HAVE_STDLIB_H ${HAVE_STDLIB_H}
+/* Set to 1 if the std::isnan function is found in <cmath> */
+#undef HAVE_STD_ISNAN_IN_CMATH
+
+/* Does not have std namespace iterator */
+#undef HAVE_STD_ITERATOR
+
+/* Define to 1 if you have the `strchr' function. */
+#undef HAVE_STRCHR
+
+/* Define to 1 if you have the `strcmp' function. */
+#undef HAVE_STRCMP
+
+/* Define to 1 if you have the `strdup' function. */
+#undef HAVE_STRDUP
+
+/* Define to 1 if you have the `strerror' function. */
+#cmakedefine HAVE_STRERROR ${HAVE_STRERROR}
+
+/* Define to 1 if you have the `strerror_r' function. */
+#cmakedefine HAVE_STRERROR_R ${HAVE_STRERROR_R}
+
+/* Define to 1 if you have the `strerror_s' function. */
+#cmakedefine HAVE_STRERROR_S ${HAVE_STRERROR_S}
+
+/* Define to 1 if you have the <strings.h> header file. */
+#undef HAVE_STRINGS_H
+
+/* Define to 1 if you have the <string.h> header file. */
+#cmakedefine HAVE_STRING_H ${HAVE_STRING_H}
+
+/* Define to 1 if you have the `strrchr' function. */
+#undef HAVE_STRRCHR
+
+/* Define to 1 if you have the `strtoll' function. */
+#cmakedefine HAVE_STRTOLL ${HAVE_STRTOLL}
+
+/* Define to 1 if you have the `strtoq' function. */
+#undef HAVE_STRTOQ
+
+/* Define to 1 if you have the `sysconf' function. */
+#undef HAVE_SYSCONF
+
+/* Does not have forward iterator */
+#undef HAVE_FWD_ITERATOR
+
+/* Does not have bi-directional iterator */
+#undef HAVE_BI_ITERATOR
+
+/* Does not have <hash_map> */
+#undef HAVE_GLOBAL_HASH_MAP
+
+/* Does not have hash_set in global namespace */
+#undef HAVE_GLOBAL_HASH_SET
+
+/* Does not have ext/hash_map */
+#undef HAVE_GNU_EXT_HASH_MAP
+
+/* Does not have hash_set in gnu namespace */
+#undef HAVE_GNU_EXT_HASH_SET

 /* Does not have ext/hash_map> */
 #undef HAVE_STD_EXT_HASH_MAP

 /* Does not have hash_set in std namespace */
 #undef HAVE_STD_EXT_HASH_SET
-
-/* Set to 1 if the std::isinf function is found in <cmath> */
-#undef HAVE_STD_ISINF_IN_CMATH
-
-/* Set to 1 if the std::isnan function is found in <cmath> */
-#undef HAVE_STD_ISNAN_IN_CMATH
-
-/* Does not have std namespace iterator */
-#undef HAVE_STD_ITERATOR
-
-/* Define to 1 if you have the `strchr' function. */
-#undef HAVE_STRCHR
-
-/* Define to 1 if you have the `strcmp' function. */
-#undef HAVE_STRCMP
-
-/* Define to 1 if you have the `strdup' function. */
-#undef HAVE_STRDUP
-
-/* Define to 1 if you have the `strerror' function. */
-#cmakedefine HAVE_STRERROR ${HAVE_STRERROR}
-
-/* Define to 1 if you have the `strerror_r' function. */
-#cmakedefine HAVE_STRERROR_R ${HAVE_STRERROR_R}
-
-/* Define to 1 if you have the `strerror_s' function. */
-#cmakedefine HAVE_STRERROR_S ${HAVE_STRERROR_S}
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#cmakedefine HAVE_STRING_H ${HAVE_STRING_H}
-
-/* Define to 1 if you have the `strrchr' function. */
-#undef HAVE_STRRCHR
-
-/* Define to 1 if you have the `strtoll' function. */
-#cmakedefine HAVE_STRTOLL ${HAVE_STRTOLL}
-
-/* Define to 1 if you have the `strtoq' function. */
-#undef HAVE_STRTOQ
-
-/* Define to 1 if you have the `sysconf' function. */
-#undef HAVE_SYSCONF

 /* Define to 1 if you have the <sys/dir.h> header file, and it defines `DIR'.
    */
@@ -469,9 +495,6 @@

 /* Define to 1 if you have the <valgrind/valgrind.h> header file. */
 #cmakedefine HAVE_VALGRIND_VALGRIND_H ${HAVE_VALGRIND_VALGRIND_H}
-
-/* Define to 1 if you have the <fenv.h> header file. */
-#cmakedefine HAVE_FENV_H ${HAVE_FENV_H}

 /* Define to 1 if you have the <windows.h> header file. */
 #cmakedefine HAVE_WINDOWS_H ${HAVE_WINDOWS_H}


Do not set update step to an empty command

--- CMake/mitkTestProjectTemplate.cmake
+++ CMake/mitkTestProjectTemplate.cmake
@@ -11,7 +11,6 @@
     SOURCE_DIR "${MITK_BINARY_DIR}/${proj}"
     BINARY_DIR "${MITK-ProjectTemplate_BINARY_DIR}"
     PREFIX "${proj}-cmake"
-    UPDATE_COMMAND ""
     BUILD_COMMAND ""
     INSTALL_COMMAND ""
     CMAKE_GENERATOR "${CMAKE_GENERATOR}"


Unblock template jobs on main due to accidental PRIVATE linking

Summary:
I accidentally broke `main` as I added a PRIVATE link for external libraries.
I need to get back to this, but for the meantime I'm disabling this linking
to make the CI green.

Changelog:
[Internal] [Fixed] - Unblock template jobs on main due to accidental PRIVATE linking

Reviewed By: cipolleschi

Differential Revision: D39932205

fbshipit-source-id: 5acbf567e0c194224a01141273665a293ead8e32

--- ReactAndroid/cmake-utils/ReactNative-application.cmake
+++ ReactAndroid/cmake-utils/ReactNative-application.cmake
@@ -91,5 +91,6 @@
 if(EXISTS ${PROJECT_BUILD_DIR}/generated/rncli/src/main/jni/Android-rncli.cmake)
         include(${PROJECT_BUILD_DIR}/generated/rncli/src/main/jni/Android-rncli.cmake)
         target_link_libraries(${CMAKE_PROJECT_NAME} ${AUTOLINKED_LIBRARIES})
-        target_link_libraries(${AUTOLINKED_LIBRARIES} PRIVATE common_flags)
+        # TODO Re-link autlinking libraries against common_flags
+        # target_link_libraries(${AUTOLINKED_LIBRARIES} PRIVATE common_flags)
 endif()


#235: Use the cache values for plugin, library, and app options

when configuring the inner CTK build with super-build options.

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -84,15 +84,19 @@
   CTEST_USE_LAUNCHERS
   CTK_WRAP_PYTHONQT_FULL
   CTK_ENABLE_Python_Wrapping
-  ${ctk_libs_bool_vars}
-  ${ctk_plugins_bool_vars}
-  ${ctk_applications_bool_vars}
   ${ctk_lib_options_list}
   )

 set(ctk_superbuild_boolean_args)
 foreach(ctk_cmake_arg ${ctk_cmake_boolean_args})
   list(APPEND ctk_superbuild_boolean_args -D${ctk_cmake_arg}:BOOL=${${ctk_cmake_arg}})
+endforeach()
+
+foreach(ctk_cmake_arg ${ctk_libs_bool_vars} ${ctk_plugins_bool_vars} ${ctk_applications_bool_vars})
+  # Use the cached value of the option in case the current value has been
+  # overridden by a "CTK_BUILD_ALL" option.
+  get_property(arg_value CACHE ${ctk_cmake_arg} PROPERTY VALUE)
+  list(APPEND ctk_superbuild_boolean_args -D${ctk_cmake_arg}:BOOL=${arg_value})
 endforeach()

 # message("CMake boolean args:")


get this building on the mac

get this building on the mac

--- Code/cmake/Modules/RDKitUtils.cmake
+++ Code/cmake/Modules/RDKitUtils.cmake
@@ -1,5 +1,10 @@
 include(BoostUtils)
-set(RDKit_VERSION "${RDKit_ABI}.${RDKit_Year}${RDKit_Quarter}")
+IF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+# Mac OS X specific code
+  set(RDKit_VERSION "${RDKit_Year}${RDKit_Quarter}")
+ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+  set(RDKit_VERSION "${RDKit_ABI}.${RDKit_Year}${RDKit_Quarter}")
+ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
 set(RDKit_RELEASENAME "${RDKit_Year}Q${RDKit_Quarter}")
 if (RDKit_Revision)
   set(RDKit_RELEASENAME "${RDKit_RELEASENAME}_${RDKit_Revision}")
@@ -84,7 +89,7 @@
                           ${RDK_PYTHON_OUTPUT_DIRECTORY}/${RDKPY_DEST})
 endif(WIN32)
     target_link_libraries(${RDKPY_NAME} ${RDKPY_LINK_LIBRARIES}
-                          ${PYTHON_LIBRARIES} ${Boost_LIBRARIES})
+                          ${PYTHON_LIBRARIES} ${Boost_LIBRARIES} )

     INSTALL(TARGETS ${RDKPY_NAME}
             LIBRARY DESTINATION ${RDKit_PythonDir}/${RDKPY_DEST})


FIX (#2877): Removed options MITK_ITK_SOURCE_DIR and MITK_VTK_SOURCE_DIR in CMake GUI

--- Utilities/VTK_ITK.cmake
+++ Utilities/VTK_ITK.cmake
@@ -9,11 +9,11 @@
 SET(BUILD_TESTING OFF)
 SET(BUILD_EXAMPLES OFF)

-# these are optional
-SET(MITK_ITK_SOURCE_DIR "" CACHE PATH "An ITK source tree to be used for integrated build with MITK")
-SET(MITK_VTK_SOURCE_DIR "" CACHE PATH "An VTK source tree to be used for integrated build with MITK")
-MARK_AS_ADVANCED(MITK_ITK_SOURCE_DIR)
-MARK_AS_ADVANCED(MITK_VTK_SOURCE_DIR)
+# these are very advanced... Please set in CMake Cache, not in GUI.
+#SET(MITK_ITK_SOURCE_DIR "" CACHE PATH "An ITK source tree to be used for integrated build with MITK")
+#SET(MITK_VTK_SOURCE_DIR "" CACHE PATH "An VTK source tree to be used for integrated build with MITK")
+#MARK_AS_ADVANCED(MITK_ITK_SOURCE_DIR)
+#MARK_AS_ADVANCED(MITK_VTK_SOURCE_DIR)
 IF(EXISTS "${MITK_ITK_SOURCE_DIR}")
   ADD_SUBDIRECTORY("${MITK_ITK_SOURCE_DIR}" itk-bin)
   SET(ITK_DIR "${CMAKE_CURRENT_BINARY_DIR}/itk-bin" CACHE PATH "ITK for MITK binary dir")


Fix for Only bootstrap Buildyard if required...

--- Buildyard.cmake
+++ Buildyard.cmake
@@ -48,4 +48,4 @@
 else()
   message(STATUS "Use 'make -jN' to bootstrap and 'make -jN AllBuild' after bootstrap\n")
 endif()
-set(BUILDYARD_STOP TRUE PARENT_SCOPE)
+set(BUILDYARD_STOP TRUE)


[numerics] fix tests that are only passing with mumps

--- numerics/numerics_tests.cmake
+++ numerics/numerics_tests.cmake
@@ -307,17 +307,24 @@
     NEW_FC_3D_TEST(${_DAT} SICONOS_FRICTION_3D_NSN_FB 1e-3 1000)
     NEW_FC_3D_TEST(${_DAT} SICONOS_FRICTION_3D_NSN_NM 1e-3 1000)
   endforeach()
-  SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i100-1090_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i100-1090_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i100-889_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i100-889_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i101-404_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i101-404_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i103-990_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i103-990_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i122-1617_PROPERTIES WILL_FAIL TRUE)
-  SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i122-1617_PROPERTIES WILL_FAIL TRUE)
-
+
+  IF(WITH_MUMPS)
+    SET(fc3d__NSN_AC_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i100-1090_PROPERTIES WILL_FAIL TRUE)
+  ELSE()
+    SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i100-1090_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i100-1090_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i100-889_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i100-889_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i101-404_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i101-404_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i103-990_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i103-990_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-5_Max_1000_inTol_0_inMax_0_IPARAM_1_Capsules-i122-1617_PROPERTIES WILL_FAIL TRUE)
+    SET(fc3d__NSN_AC_TEST_Tol_1e-3_Max_1000_inTol_0_inMax_0_Capsules-i122-1617_PROPERTIES WILL_FAIL TRUE)
+  ENDIF()
+
+
+
   # --- NSGS with different local solvers and parameters ---
   NEW_FC_3D_TEST(FC3D_Example1_SBM.dat
     SICONOS_FRICTION_3D_NSGS 1e-16 ${NSGS_NB_IT}


updated FindPeregrine

updated FindPeregrine

using CMAKE_BINARY_DIR vs PWD to support windows

--- dev/cmake/FindPeregrine.cmake
+++ dev/cmake/FindPeregrine.cmake
@@ -21,10 +21,8 @@

 MESSAGE( STATUS "*********** Building ${CMAKE_BUILD_TYPE} version ${PG_MAJOR_VERSION}.${PG_MINOR_VERSION}.${PG_PATCH_VERSION} for ${CMAKE_SYSTEM_NAME}..." )

-MESSAGE( STATUS "$ENV{PWD}")
-
-GET_FILENAME_COMPONENT(LIBRARY_OUTPUT_PATH "$ENV{PWD}/$ENV{DEV_BUILDS}" ABSOLUTE)
-GET_FILENAME_COMPONENT(EXECUTABLE_OUTPUT_PATH "$ENV{PWD}/$ENV{DEV_BUILDS}" ABSOLUTE)
+GET_FILENAME_COMPONENT(LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/$ENV{DEV_BUILDS}" ABSOLUTE)
+GET_FILENAME_COMPONENT(EXECUTABLE_OUTPUT_PATH "${CMAKE_BINARY_DIR}/$ENV{DEV_BUILDS}" ABSOLUTE)

 # Add version definitions
 ADD_DEFINITIONS("-DPG_MAJOR_VERSION=${PG_MAJOR_VERSION}")


Set CMAKE_SYSTEM_PROCESSOR when cross building for win64 platform

--- win64-tc.cmake
+++ win64-tc.cmake
@@ -13,6 +13,7 @@
 endif()

 set(CMAKE_SYSTEM_NAME Windows)
+set(CMAKE_SYSTEM_PROCESSOR x86_64)
 set(MSYS 1)
 set(CMAKE_FIND_ROOT_PATH ${MXE_HOME}/usr/${MXE_CFG})
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)


CMake: adding a macro to get git current branch and hash of a given directory

Former-commit-id: ed9a6aed5508949e2e190201fd7250e12b704a94

--- SofaFramework/SofaMacros.cmake
+++ SofaFramework/SofaMacros.cmake
@@ -232,3 +232,27 @@
 endmacro()

+
+# get git current branch and hash for given directory
+macro(sofa_get_git_revision directory branch hash)
+
+    find_package(Git REQUIRED)
+
+    # get the current working branch
+    execute_process(
+      COMMAND ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
+      WORKING_DIRECTORY ${directory}
+      OUTPUT_VARIABLE ${branch}
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+
+    # get the latest commit hash of the working branch
+    execute_process(
+      COMMAND ${GIT_EXECUTABLE} rev-parse -q HEAD
+      WORKING_DIRECTORY ${directory}
+      OUTPUT_VARIABLE ${hash}
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+
+endmacro()
+


Deleting cmake-generated file MarginWidthTest/cmake_install.cmake

git-svn-id: 173bfced7225b0a4144fa0e9d72f2fb8f54e5b79@7467 7c0444ca-5550-0410-9008-faecdbe78eb5

--- MarginWidthTest/cmake_install.cmake
+++ MarginWidthTest/cmake_install.cmake
@@ -1,39 +0,0 @@
-# Install script for directory: /Users/pschultz/Workspace/NMC/eclipse-juno-workspace/MarginWidthTest
-
-# Set the install prefix
-IF(NOT DEFINED CMAKE_INSTALL_PREFIX)
-  SET(CMAKE_INSTALL_PREFIX "/usr/local")
-ENDIF(NOT DEFINED CMAKE_INSTALL_PREFIX)
-STRING(REGEX REPLACE "/$" "" CMAKE_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
-
-# Set the install configuration name.
-IF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
-  IF(BUILD_TYPE)
-    STRING(REGEX REPLACE "^[^A-Za-z0-9_]+" ""
-           CMAKE_INSTALL_CONFIG_NAME "${BUILD_TYPE}")
-  ELSE(BUILD_TYPE)
-    SET(CMAKE_INSTALL_CONFIG_NAME "Debug")
-  ENDIF(BUILD_TYPE)
-  MESSAGE(STATUS "Install configuration: \"${CMAKE_INSTALL_CONFIG_NAME}\"")
-ENDIF(NOT DEFINED CMAKE_INSTALL_CONFIG_NAME)
-
-# Set the component getting installed.
-IF(NOT CMAKE_INSTALL_COMPONENT)
-  IF(COMPONENT)
-    MESSAGE(STATUS "Install component: \"${COMPONENT}\"")
-    SET(CMAKE_INSTALL_COMPONENT "${COMPONENT}")
-  ELSE(COMPONENT)
-    SET(CMAKE_INSTALL_COMPONENT)
-  ENDIF(COMPONENT)
-ENDIF(NOT CMAKE_INSTALL_COMPONENT)
-
-IF(CMAKE_INSTALL_COMPONENT)
-  SET(CMAKE_INSTALL_MANIFEST "install_manifest_${CMAKE_INSTALL_COMPONENT}.txt")
-ELSE(CMAKE_INSTALL_COMPONENT)
-  SET(CMAKE_INSTALL_MANIFEST "install_manifest.txt")
-ENDIF(CMAKE_INSTALL_COMPONENT)
-
-FILE(WRITE "/Users/pschultz/Workspace/NMC/eclipse-juno-workspace/MarginWidthTest/${CMAKE_INSTALL_MANIFEST}" "")
-FOREACH(file ${CMAKE_INSTALL_MANIFEST_FILES})
-  FILE(APPEND "/Users/pschultz/Workspace/NMC/eclipse-juno-workspace/MarginWidthTest/${CMAKE_INSTALL_MANIFEST}" "${file}\n")
-ENDFOREACH(file)


Replace direct call to cmake with "CMAKE_COMMAND". Change: 146816847

--- tensorflow/contrib/cmake/tf_core_framework.cmake
+++ tensorflow/contrib/cmake/tf_core_framework.cmake
@@ -8,7 +8,7 @@
     message(SEND_ERROR "Error: RELATIVE_PROTOBUF_GENERATE_CPP() called without any proto files")
     return()
   endif()
-
+
   set(${SRCS})
   set(${HDRS})
   foreach(FIL ${ARGN})
@@ -191,7 +191,7 @@
 # target.
 set(VERSION_INFO_CC ${tensorflow_source_dir}/tensorflow/core/util/version_info.cc)
 add_custom_target(force_rebuild_target ALL DEPENDS ${VERSION_INFO_CC})
-add_custom_command(OUTPUT __force_rebuild COMMAND cmake -E echo)
+add_custom_command(OUTPUT __force_rebuild COMMAND ${CMAKE_COMMAND} -E echo)
 add_custom_command(OUTPUT
     ${VERSION_INFO_CC}
     COMMAND ${PYTHON_EXECUTABLE} ${tensorflow_source_dir}/tensorflow/tools/git/gen_git_source.py


OpenBSD: Link libuv against pthread

OpenBSD: Link libuv against pthread

--- deps/uv.cmake
+++ deps/uv.cmake
@@ -195,6 +195,12 @@
   )
 endif()

+if("${CMAKE_SYSTEM_NAME}" MATCHES "OpenBSD")
+  set(THREADS_PREFER_PTHREAD_FLAG ON)
+  find_package(Threads REQUIRED)
+  target_link_libraries(uv Threads::Threads)
+endif()
+
 if("${CMAKE_SYSTEM_NAME}" MATCHES "Linux")
   target_link_libraries(uv
     pthread