remove CACHE settings

remove CACHE settings

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

--- cmake/modules/FindAssuan.cmake
+++ cmake/modules/FindAssuan.cmake
@@ -115,22 +115,22 @@
         ${CMAKE_INSTALL_PREFIX}/lib
     )

-    set( ASSUAN_INCLUDES ${ASSUAN_INCLUDES} CACHE INTERNAL "The assuan include paths" )
+    set( ASSUAN_INCLUDES ${ASSUAN_INCLUDES} )

     if ( _assuan_vanilla_library AND _gpg_error_library )
-      set( ASSUAN_VANILLA_LIBRARIES ${_assuan_vanilla_library} ${_gpg_error_library} CACHE INTERNAL "The assuan (vanilla) libraries" )
+      set( ASSUAN_VANILLA_LIBRARIES ${_assuan_vanilla_library} ${_gpg_error_library} )
       set( ASSUAN_VANILLA_FOUND     true )
       set( ASSUAN_FOUND             true )
     endif()

     #if ( _assuan_glib_library AND _gpg_error_library )
-    #  set( ASSUAN_GLIB_LIBRARIES    ${_assuan_glib_library}    ${_gpg_error_library} CACHE INTERNAL "The assuan-glib libraries" )
+    #  set( ASSUAN_GLIB_LIBRARIES    ${_assuan_glib_library}    ${_gpg_error_library} )
     #  set( ASSUAN_GLIB_FOUND        true )
     #  set( ASSUAN_FOUND             true )
     #endif()

     #if ( _assuan_qt_library AND _gpg_error_library )
-    #  set( ASSUAN_QT_LIBRARIES      ${_assuan_qt_library}      ${_gpg_error_library} CACHE INTERNAL "The assuan-qt libraries" )
+    #  set( ASSUAN_QT_LIBRARIES      ${_assuan_qt_library}      ${_gpg_error_library} )
     #  set( ASSUAN_QT_FOUND          true )
     #  set( ASSUAN_FOUND             true )
     #endif()
@@ -289,10 +289,10 @@
           endforeach( _flavour )

           # ensure that they are cached
-          set( ASSUAN_INCLUDES          ${ASSUAN_INCLUDES}          CACHE INTERNAL "The assuan include paths" )
-          set( ASSUAN_VANILLA_LIBRARIES ${ASSUAN_VANILLA_LIBRARIES} CACHE INTERNAL "The assuan (vanilla) libraries" )
-          set( ASSUAN_PTHREAD_LIBRARIES ${ASSUAN_PTHREAD_LIBRARIES} CACHE INTERNAL "The assuan-pthread libraries" )
-          set( ASSUAN_PTH_LIBRARIES     ${ASSUAN_PTH_LIBRARIES}     CACHE INTERNAL "The assuan-pth libraries" )
+          set( ASSUAN_INCLUDES          ${ASSUAN_INCLUDES}          )
+          set( ASSUAN_VANILLA_LIBRARIES ${ASSUAN_VANILLA_LIBRARIES} )
+          set( ASSUAN_PTHREAD_LIBRARIES ${ASSUAN_PTHREAD_LIBRARIES} )
+          set( ASSUAN_PTH_LIBRARIES     ${ASSUAN_PTH_LIBRARIES}     )

           if ( ASSUAN_VANILLA_FOUND OR ASSUAN_PTHREAD_FOUND OR ASSUAN_PTH_FOUND )
             set( ASSUAN_FOUND true )


TargetArch.cmake: Add support to aarch64 based platforms

This patch adds support to aarch64 arm 64 bit platforms.

Signed-off-by: Srinivas Kandagatla <e9a3fcd7365f8e6a430ada3b68b984cb4aaf0c3e@linaro.org>
Signed-off-by: Brendan Le Foll <3e0e8c4069934e8b47d99704927a85c66c0ceb33@intel.com>

--- cmake/modules/TargetArch.cmake
+++ cmake/modules/TargetArch.cmake
@@ -13,7 +13,9 @@
 # "There are many more known variants/revisions that we do not handle/detect."

 set(archdetect_c_code "
-#if defined(__arm__) || defined(__TARGET_ARCH_ARM)
+#if defined(__aarch64__)
+        #error cmake_ARCH armv8
+#elif defined(__arm__) || defined(__TARGET_ARCH_ARM)
     #if defined(__ARM_ARCH_7__) \\
         || defined(__ARM_ARCH_7A__) \\
         || defined(__ARM_ARCH_7R__) \\


add explanation

add explanation

addresses https://github.com/CCPPETMR/SIRF-SuperBuild/pull/213#discussion_r261286372

--- SuperBuild/External_NiftyReg.cmake
+++ SuperBuild/External_NiftyReg.cmake
@@ -64,6 +64,7 @@
       -DCMAKE_INCLUDE_PATH=${SUPERBUILD_INSTALL_DIR}
       -DCMAKE_INSTALL_PREFIX=${${proj}_Install_Dir}
       -DUSE_THROW_EXCEP=ON
+      # fixes lib_reg_maths.a `GOMP_parallel' undefined reference linker errors
       -DUSE_OPENMP:BOOL=OFF
     INSTALL_DIR ${${proj}_Install_Dir}
     DEPENDS ${${proj}_DEPENDENCIES})


PKG: add a comment to tell where package is created

--- SuperBuild/Packaging/PMacros.cmake
+++ SuperBuild/Packaging/PMacros.cmake
@@ -109,6 +109,7 @@
       "-rq" "${CMAKE_BINARY_DIR}/${archive_name}.zip" "${archive_name}"
       WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
       DEPENDS PACKAGE-${pkg}-build
+      COMMENT "Creating ${CMAKE_BINARY_DIR}/${archive_name}.zip"
       )
   else()
     add_custom_target(PACKAGE-${pkg}
@@ -122,6 +123,7 @@
       "./pkgsetup"
       WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
       DEPENDS PACKAGE-${pkg}-build
+      COMMENT "Creating ${CMAKE_CURRENT_BINARY_DIR}/${archive_name}.run"
       )
   endif()


boards: arduino due: add reset after load for Jlink flashing

Force the Arduino Due device to preform a reset after loading
the program using JLink, effectively allowing the program to
run after west flash.

Signed-off-by: Ioannis Glaropoulos <5921cc8bab7e1d4329f52fd8f6268f9692e3de80@nordicsemi.no>

--- boards/arm/arduino_due/board.cmake
+++ boards/arm/arduino_due/board.cmake
@@ -2,5 +2,5 @@

 include(${ZEPHYR_BASE}/boards/common/bossac.board.cmake)

-board_runner_args(jlink "--device=atsam3x8e" "--speed=4000")
+board_runner_args(jlink "--device=atsam3x8e" "--speed=4000" "--reset-after-load")
 include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)


Set USE_MATH_DEFINES for Windows CMake builds. (#3201)

Generally useful, and TF/MHLO now requires it for M_PI in a .td file.

Co-authored-by: Geoffrey Martin-Noble <1b50226fb1523bae5dacd737e03523712e2ae5a7@google.com>

--- build_tools/cmake/iree_copts.cmake
+++ build_tools/cmake/iree_copts.cmake
@@ -120,6 +120,7 @@
     "-fvisibility=hidden"
   MSVC_OR_CLANG_CL
     "/DWIN32_LEAN_AND_MEAN"
+    "/D_USE_MATH_DEFINES"
     "/wd4624"
     # 'inline': used more than once
     "/wd4141"


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -15,7 +15,7 @@
 SET(KWSYS_DATE_STAMP_YEAR  2011)

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -15,7 +15,7 @@
 SET(KWSYS_DATE_STAMP_YEAR  2010)

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -4,7 +4,7 @@
 SET(KWSYS_DATE_STAMP_YEAR  2008)

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


ImportedProjectUtils: Use lowercase "s" in function call

--- ImportedProjectUtils.cmake
+++ ImportedProjectUtils.cmake
@@ -407,7 +407,7 @@
         # run before the configure steps
         set (METAPROJECT_CMAKELISTS
              "${METAPROJECT_CMAKELISTS}\n"
-             "externalproject_add_Step (\"${PROJECT_NAME}\"\n"
+             "externalproject_add_step (\"${PROJECT_NAME}\"\n"
              "                          append_exports\n"
              "                          COMMENT\n"
              "                          \"Adding exports to ${PROJECT_NAME}\"\n"


[CMake] Fix bug in `add_weak_symbols()` function.

Previously the the `weak_symbols.txt` files could be modified and the
build system wouldn't update the link flags automatically. Instead the
developer had to know to reconfigure CMake manually.

This is now fixed by telling CMake that the file being used to
read weak symbols from is a configure-time dependency.

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

git-svn-id: c199f293c43da69278bea8e88f92242bf3aa95f7@339559 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/Modules/SanitizerUtils.cmake
+++ cmake/Modules/SanitizerUtils.cmake
@@ -51,7 +51,15 @@
 # This function is only used on Darwin, where undefined symbols must be specified
 # in the linker invocation.
 function(add_weak_symbols libname link_flags)
-  file(STRINGS "${COMPILER_RT_SOURCE_DIR}/lib/${libname}/weak_symbols.txt" WEAK_SYMBOLS)
+  set(weak_symbols_file "${COMPILER_RT_SOURCE_DIR}/lib/${libname}/weak_symbols.txt")
+  file(STRINGS  "${weak_symbols_file}" WEAK_SYMBOLS)
+  # Add this file as a configure-time dependency so that changes to this
+  # file trigger a re-configure. This is necessary so that `${link_flags}`
+  # is changed when appropriate.
+  set_property(
+    DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
+    APPEND
+    PROPERTY CMAKE_CONFIGURE_DEPENDS "${weak_symbols_file}")
   set(local_link_flags ${${link_flags}})
   foreach(SYMBOL ${WEAK_SYMBOLS})
     set(local_link_flags ${local_link_flags} -Wl,-U,${SYMBOL})


fix bug: use specific eigen

fix bug: use specific eigen

--- cmake/external/DownloadEigen.cmake
+++ cmake/external/DownloadEigen.cmake
@@ -6,7 +6,7 @@

 ExternalProject_Add(eigen
                     GIT_REPOSITORY "https://github.com/eigenteam/eigen-git-mirror.git"
-                    GIT_TAG "master"
+                    GIT_TAG "3.3.4"
                     SOURCE_DIR "${PROJECT_SOURCE_DIR}/third_party/eigen3"
                     BINARY_DIR "${CMAKE_BINARY_DIR}/eigen-build"
                     CONFIGURE_COMMAND ""


Fix include paths

Fix include paths

--- cmake/modules/FindKTelepathy.cmake
+++ cmake/modules/FindKTelepathy.cmake
@@ -22,7 +22,6 @@
 find_path(KTELEPATHY_INCLUDE_DIR
   NAMES KTelepathy/presence.h
   PATHS ${KDE4_INCLUDE_DIR}
-  PATH_SUFFIXES telepathy-1.0
 )

 find_library(KTELEPATHY_LIBRARIES NAMES telepathykdecommoninternalsprivate )


Update date and version number for 5.9.7 release. Increment SOVERSION for the core library to reflect backwards incompatible API changes that were made in previous versions.

svn path=/trunk/; revision=11241

--- cmake/modules/plplot_version.cmake
+++ cmake/modules/plplot_version.cmake
@@ -1,15 +1,15 @@
 # For now, must set this by hand before each release.  This value affects
 # at least the documentation build and perhaps other parts of the release.
-set(RELEASE_DATE "2010-06-05")
+set(RELEASE_DATE "2010-10-03")

 # Version data that need review and possible modification for each release.

-set(VERSION 5.9.6)
+set(VERSION 5.9.7)

 # CPack version numbers for release tarball name.
 set(CPACK_PACKAGE_VERSION_MAJOR 5)
 set(CPACK_PACKAGE_VERSION_MINOR 9)
-set(CPACK_PACKAGE_VERSION_PATCH 6)
+set(CPACK_PACKAGE_VERSION_PATCH 7)

 # PLplot library version information.

@@ -42,8 +42,8 @@
 set(qsastime_SOVERSION 0)
 set(qsastime_VERSION ${qsastime_SOVERSION}.0.1)

-set(plplot_SOVERSION 9)
-set(plplot_VERSION ${plplot_SOVERSION}.8.0)
+set(plplot_SOVERSION 10)
+set(plplot_VERSION ${plplot_SOVERSION}.0.0)

 set(plplotcxx_SOVERSION 9)
 set(plplotcxx_VERSION ${plplotcxx_SOVERSION}.3.0)


Changed version string to use space instead of comma to suppress gcc warning.

--- cmake/oskar_compiler_options.cmake
+++ cmake/oskar_compiler_options.cmake
@@ -72,7 +72,7 @@
 if (OSKAR_VERSION_SUFFIX)
     set(OSKAR_VERSION_STR "${OSKAR_VERSION}-${OSKAR_VERSION_SUFFIX}")
     if (OSKAR_SVN_REVISION)
-        set(OSKAR_VERSION_STR "${OSKAR_VERSION_STR},r${OSKAR_SVN_REVISION}")
+        set(OSKAR_VERSION_STR "${OSKAR_VERSION_STR} r${OSKAR_SVN_REVISION}")
     endif()
     if (CMAKE_BUILD_TYPE MATCHES debug)
         set(OSKAR_VERSION_STR "${OSKAR_VERSION_STR} -- debug --")


OpenCV: Disable implicit FFmpeg

OpenCV: Disable implicit FFmpeg

--- cmake/projects/OpenCV/hunter.cmake
+++ cmake/projects/OpenCV/hunter.cmake
@@ -458,6 +458,7 @@
         BUILD_opencv_dnn=OFF
         # Fix for https://travis-ci.org/ingenue/hunter/builds/452039597
         WITH_OPENEXR=OFF
+        WITH_FFMPEG=OFF
 )

 # Pick a download scheme


Fixed issue when building in a path that contains spaces.

--- tools/cmake/Win32PostBuild.cmake
+++ tools/cmake/Win32PostBuild.cmake
@@ -70,11 +70,11 @@
 add_custom_command(
     TARGET DEPS
     POST_BUILD
-    COMMAND for /R \"${WIN_PROJECT_SOURCE_DIR}\\plugins\\\" %%a IN \(*.cfg\) do \(xcopy %%a \"${WIN_PROJECT_BINARY_DIR}\\bin\\$\(Configuration\)\\config\\plugins\\\" /D /I /Y\)
+    COMMAND for /R \"${WIN_PROJECT_SOURCE_DIR}\\plugins\\\" %%a IN \(*.cfg\) do \(xcopy \"%%a\" \"${WIN_PROJECT_BINARY_DIR}\\bin\\$\(Configuration\)\\config\\plugins\\\" /D /I /Y\)
 )

 add_custom_command(
     TARGET DEPS
     POST_BUILD
-    COMMAND for /R \"${WIN_PROJECT_SOURCE_DIR}\\src\\\" %%a IN \(*.cfg\) do \(xcopy %%a \"${WIN_PROJECT_BINARY_DIR}\\bin\\$\(Configuration\)\\config\\plugins\\\" /D /I /Y\)
+    COMMAND for /R \"${WIN_PROJECT_SOURCE_DIR}\\src\\\" %%a IN \(*.cfg\) do \(xcopy \"%%a\" \"${WIN_PROJECT_BINARY_DIR}\\bin\\$\(Configuration\)\\config\\plugins\\\" /D /I /Y\)
 )


static blend2d build

static blend2d build

--- externals/CMakeExternals.cmake
+++ externals/CMakeExternals.cmake
@@ -242,7 +242,8 @@
       GIT_TAG "8aeac6cb34b00898ae725bd76eb3bb2c7cffcf86"
       BUILD_BYPRODUCTS "<INSTALL_DIR>/${BLEND2D_IMPORT_LIB}" "<INSTALL_DIR>/${BLEND2D_LIB}"
       CMAKE_ARGS
-        -DASMJIT_DIR=${SOURCE_DIR})
+        -DASMJIT_DIR=${SOURCE_DIR}
+        -DBLEND2D_STATIC=ON)

     add_external_library(blend2d
       DEPENDS asmjit


Use ${AR} for target architecture and if it's not set default to x64

--- data/findOpenFrameworks-v0.9.cmake
+++ data/findOpenFrameworks-v0.9.cmake
@@ -7,8 +7,12 @@
 set(ADDONS_PATH ${OF_PATH}/addons)
 set(USE_PRECOMPILED_LIB true)
 #This can also be Win32
-set(AR ${ARCHITECTURE})
-message("NOTICE: Compiling openFrameworks for ${AR}")
+if(AR STREQUAL "x64" OR AR STREQUAL "Win32")
+    message("NOTICE: Compiling openFrameworks for ${AR}")
+else()
+    set(AR x64)
+    message("NOTICE: Architecture is not set. Defaulting to x64")
+endif()

 if (CMAKE_BUILD_TYPE STREQUAL "Debug")
   set(DEBUG_MODE ON CACHE BOOL "turn on debug mode")


Removed old CMake directory

Removed old CMake directory

--- CMake/BuildType.cmake
+++ CMake/BuildType.cmake
@@ -1,12 +0,0 @@
-# Set a default build type if none was specified
-# Credit to Marcus D Hanwell on the CMake Blog
-set(default_build_type "RelWithDebInfo")
-
-if(NOT CMAKE_BUILD_TYPE AND NOT CMAKE_CONFIGURATION_TYPES)
-  message(STATUS "Setting build type to '${default_build_type}' as none was specified.")
-  set(CMAKE_BUILD_TYPE "${default_build_type}" CACHE
-      STRING "Choose the type of build." FORCE)
-  # Set the possible values of build type for cmake-gui
-  set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS
-    "Debug" "Release" "MinSizeRel" "RelWithDebInfo")
-endif()


Use CMake's FindDCMTK module

Use CMake's FindDCMTK module

--- CMake/FindDCMTK.cmake
+++ CMake/FindDCMTK.cmake
@@ -1,342 +0,0 @@
-#.rst:
-# FindDCMTK
-# ---------
-#
-# Find DCMTK libraries and applications
-#
-# The module defines the following variables::
-#
-#  DCMTK_INCLUDE_DIRS  - Directories to include to use DCMTK
-#  DCMTK_LIBRARIES     - Files to link against to use DCMTK
-#  DCMTK_FOUND         - If false, don't try to use DCMTK
-#  DCMTK_DIR           - (optional) Source directory for DCMTK
-#
-# Compatibility
-# ^^^^^^^^^^^^^
-#
-# This module is able to find a version of DCMTK that does or does not export
-# a *DCMTKConfig.cmake* file. It applies a two step process:
-#
-# * Step 1:  Attempt to find DCMTK version providing a *DCMTKConfig.cmake* file.
-# * Step 2:  If step 1 failed, rely on *FindDCMTK.cmake* to set `DCMTK_*` variables details below.
-#
-#
-# `Recent DCMTK
-# <http://git.dcmtk.org/web?p=dcmtk.git;a=commit;h=662ae187c493c6b9a73dd5e3875372cebd0c11fe>`_
-# provides a *DCMTKConfig.cmake* :manual:`package configuration file
-# <cmake-packages(7)>`. To exclusively use the package configuration file
-# (recommended when possible), pass the `NO_MODULE` option to
-# :command:`find_package`. For example, `find_package(DCMTK NO_MODULE)`.
-# This requires official DCMTK snapshot *3.6.1_20140617* or newer.
-#
-#
-# Until all clients update to the more recent DCMTK, build systems will need
-# to support different versions of DCMTK.
-#
-# On any given system, the following combinations of DCMTK versions could be
-# considered:
-#
-# +--------+---------------------+-----------------------+-------------------+
-# |        |   SYSTEM DCMTK      |      LOCAL DCMTK      |     Supported ?   |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case A |   NA                |      [ ] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case B |   NA                |      [X] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case C |   [ ] DCMTKConfig   |      NA               |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case D |   [X] DCMTKConfig   |      NA               |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case E |   [ ] DCMTKConfig   |      [ ] DCMTKConfig  |         YES (*)   |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case F |   [X] DCMTKConfig   |      [ ] DCMTKConfig  |         NO        |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case G |   [ ] DCMTKConfig   |      [X] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-# | Case H |   [X] DCMTKConfig   |      [X] DCMTKConfig  |         YES       |
-# +--------+---------------------+-----------------------+-------------------+
-#
-#  (*) See Troubleshooting section.
-#
-# Legend:
-#
-#   NA ...............: Means that no System or Local DCMTK is available
-#
-#   [ ] DCMTKConfig ..: Means that the version of DCMTK does NOT export a DCMTKConfig.cmake file.
-#
-#   [X] DCMTKConfig ..: Means that the version of DCMTK exports a DCMTKConfig.cmake file.
-#
-#
-# Troubleshooting
-# ^^^^^^^^^^^^^^^
-#
-# What to do if my project finds a different version of DCMTK?
-#
-# Remove DCMTK entry from the CMake cache per :command:`find_package`
-# documentation.
-
-#=============================================================================
-# Copyright 2004-2009 Kitware, Inc.
-# Copyright 2009-2010 Mathieu Malaterre <mathieu.malaterre@gmail.com>
-# Copyright 2010 Thomas Sondergaard <ts@medical-insight.com>
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-#
-# Written for VXL by Amitha Perera.
-# Upgraded for GDCM by Mathieu Malaterre.
-# Modified for EasyViz by Thomas Sondergaard.
-#
-
-set(_dcmtk_dir_description "The directory of DCMTK build or install tree.")
-
-# Ensure that DCMTK_DIR is set to a reasonable default value
-# so that DCMTK libraries can be found on a standard Unix distribution.
-# It also overwrite the value of DCMTK_DIR after this one has been
-# set by a successful discovery of DCMTK by the unpatched FindDCMTK.cmake module
-# distributed with CMake (as of 0167cea)
-if(NOT DCMTK_DIR OR DCMTK_DIR STREQUAL "/usr/include/dcmtk")
-  set(DCMTK_DIR "/usr" CACHE PATH ${_dcmtk_dir_description} FORCE)
-endif()
-
-set(_SAVED_DCMTK_DIR ${DCMTK_DIR})
-
-#
-# Step1: Attempt to find a version of DCMTK providing a DCMTKConfig.cmake file.
-#
-if(NOT DCMTK_FIND_QUIETLY)
-  message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake")
-endif()
-find_package(DCMTK QUIET NO_MODULE)
-if(DCMTK_FOUND
-    AND NOT "x" STREQUAL "x${DCMTK_LIBRARIES}"
-    AND NOT "x" STREQUAL "x${DCMTK_INCLUDE_DIRS}")
-
-  if(NOT DCMTK_FIND_QUIETLY)
-    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - ok")
-  endif()
-  return()
-else()
-  if(NOT DCMTK_FIND_QUIETLY)
-    message(STATUS "Trying to find DCMTK expecting DCMTKConfig.cmake - failed")
-  endif()
-endif()
-
-if(NOT DCMTK_FIND_QUIETLY)
-  message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake")
-endif()
-
-# Restore the value reset by the previous call to 'find_package(DCMTK QUIET NO_MODULE)'
-set(DCMTK_DIR ${_SAVED_DCMTK_DIR} CACHE PATH ${_dcmtk_dir_description} FORCE)
-
-
-#
-# Step2: Attempt to find a version of DCMTK that does NOT provide a DCMTKConfig.cmake file.
-#
-
-# prefer DCMTK_DIR over default system paths like /usr/lib
-if(DCMTK_DIR)
-  set(CMAKE_PREFIX_PATH ${DCMTK_DIR}/lib ${CMAKE_PREFIX_PATH}) # this is given to FIND_LIBRARY or FIND_PATH
-endif()
-
-# Find all libraries, store debug and release separately
-foreach(lib
-    dcmpstat
-    dcmsr
-    dcmsign
-    dcmtls
-    dcmqrdb
-    dcmnet
-    dcmjpeg
-    dcmimage
-    dcmimgle
-    dcmdata
-    dcmpmap
-    oflog
-    ofstd
-    ijg12
-    ijg16
-    ijg8
-    )
-
-  # Find Release libraries
-  find_library(DCMTK_${lib}_LIBRARY_RELEASE
-    ${lib}
-    PATHS
-    ${DCMTK_DIR}/${lib}/libsrc
-    ${DCMTK_DIR}/${lib}/libsrc/Release
-    ${DCMTK_DIR}/${lib}/Release
-    ${DCMTK_DIR}/lib
-    ${DCMTK_DIR}/lib/Release
-    ${DCMTK_DIR}/dcmjpeg/lib${lib}/Release
-    NO_DEFAULT_PATH
-    )
-
-  # Find Debug libraries
-  find_library(DCMTK_${lib}_LIBRARY_DEBUG
-    ${lib}${DCMTK_CMAKE_DEBUG_POSTFIX}
-    PATHS
-    ${DCMTK_DIR}/${lib}/libsrc
-    ${DCMTK_DIR}/${lib}/libsrc/Debug
-    ${DCMTK_DIR}/${lib}/Debug
-    ${DCMTK_DIR}/lib
-    ${DCMTK_DIR}/lib/Debug
-    ${DCMTK_DIR}/dcmjpeg/lib${lib}/Debug
-    NO_DEFAULT_PATH
-    )
-
-  mark_as_advanced(DCMTK_${lib}_LIBRARY_RELEASE)
-  mark_as_advanced(DCMTK_${lib}_LIBRARY_DEBUG)
-
-  # Add libraries to variable according to build type
-  if(DCMTK_${lib}_LIBRARY_RELEASE)
-    list(APPEND DCMTK_LIBRARIES optimized ${DCMTK_${lib}_LIBRARY_RELEASE})
-  endif()
-
-  if(DCMTK_${lib}_LIBRARY_DEBUG)
-    list(APPEND DCMTK_LIBRARIES debug ${DCMTK_${lib}_LIBRARY_DEBUG})
-  endif()
-
-endforeach()
-
-set(CMAKE_THREAD_LIBS_INIT)
-if(DCMTK_oflog_LIBRARY_RELEASE OR DCMTK_oflog_LIBRARY_DEBUG)
-  # Hack - Not having a DCMTKConfig.cmake file to read the settings from, we will attempt to
-  # find the library in all cases.
-  # Ideally, pthread library should be discovered only if DCMTK_WITH_THREADS is enabled.
-  set(CMAKE_THREAD_PREFER_PTHREAD TRUE)
-  find_package(Threads)
-endif()
-
-if(CMAKE_THREAD_LIBS_INIT)
-  list(APPEND DCMTK_LIBRARIES ${CMAKE_THREAD_LIBS_INIT})
-endif()
-
-#
-# SPECIFIC CASE FOR DCMTK BUILD DIR as DCMTK_DIR
-# (as opposed to a DCMTK install dir)
-# Have to find the source directory.
-if(EXISTS ${DCMTK_DIR}/CMakeCache.txt)
-          load_cache(${DCMTK_DIR} READ_WITH_PREFIX "EXT"
-          DCMTK_SOURCE_DIR)
-  if(NOT EXISTS ${EXTDCMTK_SOURCE_DIR})
-    message(FATAL_ERROR
-      "DCMTK build directory references
-nonexistant DCMTK source directory ${EXTDCMTK_SOURCE_DIR}")
-  endif()
-endif()
-
-set(DCMTK_config_TEST_HEADER osconfig.h)
-set(DCMTK_dcmdata_TEST_HEADER dctypes.h)
-set(DCMTK_dcmimage_TEST_HEADER dicoimg.h)
-set(DCMTK_dcmimgle_TEST_HEADER dcmimage.h)
-set(DCMTK_dcmjpeg_TEST_HEADER djdecode.h)
-set(DCMTK_dcmnet_TEST_HEADER assoc.h)
-set(DCMTK_dcmpstat_TEST_HEADER dcmpstat.h)
-set(DCMTK_dcmqrdb_TEST_HEADER dcmqrdba.h)
-set(DCMTK_dcmsign_TEST_HEADER sicert.h)
-set(DCMTK_dcmsr_TEST_HEADER dsrtree.h)
-set(DCMTK_dcmtls_TEST_HEADER tlslayer.h)
-set(DCMTK_ofstd_TEST_HEADER ofstdinc.h)
-set(DCMTK_oflog_TEST_HEADER oflog.h)
-set(DCMTK_dcmjpls_TEST_HEADER djlsutil.h)
-
-set(DCMTK_INCLUDE_DIR_NAMES)
-message("Using default CMAKE FindDCMTK")
-foreach(dir
-    config
-    dcmdata
-    dcmimage
-    dcmimgle
-    dcmjpeg
-    dcmjpls
-    dcmnet
-    dcmpstat
-    dcmqrdb
-    dcmsign
-    dcmsr
-    dcmtls
-    dcmpmap
-    ofstd
-    oflog)
-  if(EXTDCMTK_SOURCE_DIR)
-    set(SOURCE_DIR_PATH
-      ${EXTDCMTK_SOURCE_DIR}/${dir}/include/dcmtk/${dir})
-  endif()
-  find_path(DCMTK_${dir}_INCLUDE_DIR
-    ${DCMTK_${dir}_TEST_HEADER}
-    PATHS
-    ${DCMTK_DIR}/${dir}/include
-    ${DCMTK_DIR}/${dir}
-    ${DCMTK_DIR}/include/dcmtk/${dir}
-    ${DCMTK_DIR}/${dir}/include/dcmtk/${dir}
-    ${DCMTK_DIR}/include/${dir}
-    ${SOURCE_DIR_PATH}
-    )
-  mark_as_advanced(DCMTK_${dir}_INCLUDE_DIR)
-  list(APPEND DCMTK_INCLUDE_DIR_NAMES DCMTK_${dir}_INCLUDE_DIR)
-
-  if(DCMTK_${dir}_INCLUDE_DIR)
-    # add the 'include' path so eg
-    #include "dcmtk/dcmimgle/dcmimage.h"
-    # works
-    get_filename_component(_include ${DCMTK_${dir}_INCLUDE_DIR} PATH)
-    get_filename_component(_include ${_include} PATH)
-    list(APPEND
-      DCMTK_INCLUDE_DIRS
-      ${DCMTK_${dir}_INCLUDE_DIR}
-      ${_include})
-  endif()
-endforeach()
-
-list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_DIR}/include)
-
-if(WIN32)
-  list(APPEND DCMTK_LIBRARIES netapi32 wsock32)
-endif()
-
-if(DCMTK_ofstd_INCLUDE_DIR)
-  get_filename_component(DCMTK_dcmtk_INCLUDE_DIR
-    ${DCMTK_ofstd_INCLUDE_DIR}
-    PATH
-    CACHE)
-  list(APPEND DCMTK_INCLUDE_DIRS ${DCMTK_dcmtk_INCLUDE_DIR})
-  mark_as_advanced(DCMTK_dcmtk_INCLUDE_DIR)
-endif()
-
-# Compatibility: This variable is deprecated
-set(DCMTK_INCLUDE_DIR ${DCMTK_INCLUDE_DIRS})
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(DCMTK
-  REQUIRED_VARS ${DCMTK_INCLUDE_DIR_NAMES} DCMTK_LIBRARIES
-  FAIL_MESSAGE "Please set DCMTK_DIR and re-run configure")
-
-# Workaround bug in packaging of DCMTK 3.6.0 on Debian.
-# See http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=637687
-if(DCMTK_FOUND AND UNIX AND NOT APPLE)
-  include(CheckCXXSourceCompiles)
-  set(CMAKE_REQUIRED_FLAGS )
-  set(CMAKE_REQUIRED_DEFINITIONS )
-  set(CMAKE_REQUIRED_INCLUDES ${DCMTK_INCLUDE_DIRS})
-  set(CMAKE_REQUIRED_LIBRARIES ${DCMTK_LIBRARIES})
-  set(CMAKE_REQUIRED_QUIET ${DCMTK_FIND_QUIETLY})
-  check_cxx_source_compiles("#include <dcmtk/config/osconfig.h>\n#include <dcmtk/ofstd/ofstream.h>\nint main(int,char*[]){return 0;}"
-    DCMTK_HAVE_CONFIG_H_OPTIONAL
-    )
-  if(NOT DCMTK_HAVE_CONFIG_H_OPTIONAL)
-    set(DCMTK_DEFINITIONS "HAVE_CONFIG_H")
-  endif()
-endif()
-
-if(NOT DCMTK_FIND_QUIETLY)
-  message(STATUS "Trying to find DCMTK relying on FindDCMTK.cmake - ok")
-endif()


ENH: Add Remote module group description to Doxygen.

Change-Id: Ic70edec4c163ae0f06a42c3aff6b8ea0f1c7c8be

--- CMake/ITKGroups.cmake
+++ CMake/ITKGroups.cmake
@@ -1,5 +1,18 @@
 # Set a list of group names
-set(group_list Core IO Filtering Registration Segmentation Numerics Video ThirdParty Bridge Nonunit Compatibility)
+set(group_list
+  Core
+  IO
+  Filtering
+  Registration
+  Segmentation
+  Numerics
+  Video
+  ThirdParty
+  Bridge
+  Nonunit
+  Compatibility
+  Remote
+  )

 set(Core_documentation "This group of modules contain the toolkit framework used
 by other modules.  There are common base classes for data objects and process
@@ -43,6 +56,16 @@

 set(Nonunit_documentation "This group of modules are intended to make use of an
 extensive set of the toolkit modules.")
+
+set(Remote_documentation "This group of modules is for ITK based code that have
+additional third-party dependencies not bundled with the toolkit,
+new algorithms or implementations seeking greater exposure and adoption,
+algorithms that hope to eventually be integrated into the toolkit,
+niche algorithms with limited application, and Modules in progress that do not
+yet have the test coverage and cross-platform standards required by the main toolkit.
++The modules are OFF by default in ITK's CMake configuration.
+Note that these modules do get the same level of support and backwards
+compatibility as other modules in the toolkit.")

 # Set a module name list for each group
 foreach( group ${group_list} )


Add include(CheckFunctionExists) needs to compile on macosx

svn path=/trunk/KDE/kdepimlibs/; revision=705307

--- ConfigureChecks.cmake
+++ ConfigureChecks.cmake
@@ -1,4 +1,5 @@
 # gpgme configure checks
+include(CheckFunctionExists)

 set(CMAKE_REQUIRED_INCLUDES ${GPGME_INCLUDES})
 set(CMAKE_REQUIRED_LIBRARIES ${GPGME_LIBRARIES})


fixed: removed obsolete cudpp configure call

--- CMake/ExternalProjectHelper.cmake
+++ CMake/ExternalProjectHelper.cmake
@@ -223,12 +223,12 @@
       OSG_CONFIGURE_NVOCLUTILS()
       OSG_CONFIGURE_CUDACOMMON()
       OSG_CONFIGURE_CUDAUTIL()
-      OSG_CONFIGURE_CUDPP()
+#      OSG_CONFIGURE_CUDPP()
       OSG_CONFIGURE_CUDAPARTSDK()
     ENDIF(NOT OSG_BUILD_DEPENDEND)

     MESSAGE(STATUS "NV Status: NV:${OSG_NVSDKCOMMON_FOUND}")
-    MESSAGE(STATUS "Cuda Status: CC:${OSG_CUDACOMMON_FOUND} CU:${OSG_CUDAUTIL_FOUND} CP:${OSG_CUDPP_FOUND}")
+    MESSAGE(STATUS "Cuda Status: CC:${OSG_CUDACOMMON_FOUND} CU:${OSG_CUDAUTIL_FOUND}")
     MESSAGE(STATUS "OCL Status : NV:${OSG_NVOCLUTILS_FOUND}")

     IF(CUDA_FOUND)


Pull Request #236. Fix Freetype detection

--- CMake/Packages/FindFreetype.cmake
+++ CMake/Packages/FindFreetype.cmake
@@ -31,7 +31,7 @@
   FREETYPE_INCLUDE_DIR
 )

-set(FREETYPE_LIBRARY_NAMES freetype2501 freetype250 freetype2412 freetype2411 freetype2410 freetype249 freetype248 freetype246 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
+set(FREETYPE_LIBRARY_NAMES freetype251 freetype2501 freetype250 freetype2412 freetype2411 freetype2410 freetype249 freetype248 freetype246 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
 get_debug_names(FREETYPE_LIBRARY_NAMES)

 use_pkgconfig(FREETYPE_PKGC freetype2)
@@ -43,7 +43,7 @@
 findpkg_framework(FREETYPE)
 message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")

-find_path(FREETYPE_INCLUDE_DIR NAMES freetype/freetype.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES freetype2)
+find_path(FREETYPE_INCLUDE_DIR NAMES freetype.h freetype/freetype.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES freetype2)
 find_path(FREETYPE_FT2BUILD_INCLUDE_DIR NAMES ft2build.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS})

 find_library(FREETYPE_LIBRARY_REL NAMES ${FREETYPE_LIBRARY_NAMES} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" Release RelWithDebInfo MinSizeRel)


Improve output of GCC size (#817)

Improve output of GCC size (#817)

--- CMake/toolchain.ChibiOS.GCC.cmake
+++ CMake/toolchain.ChibiOS.GCC.cmake
@@ -95,7 +95,7 @@
     else()
       set(FILENAME "${TARGET}")
     endif()
-    add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND ${CMAKE_SIZE} ${FILENAME})
+    add_custom_command(TARGET ${TARGET} POST_BUILD COMMAND ${CMAKE_SIZE} -A -x ${FILENAME})
 endfunction()


fixing travis

fixing travis

Former-commit-id: 1c2c70bc7acc6c72410d0ab961ec46d7295fbfda

--- cmake-modules/Fetch_OpenBLAS.cmake
+++ cmake-modules/Fetch_OpenBLAS.cmake
@@ -171,7 +171,12 @@

 include(CheckIncludeFileCXX)
+include(CheckSymbolExists)
 check_include_file_cxx(cblas.h    has_cblas_h)
 if(has_cblas_h)
+    check_symbol_exists(openblas_set_num_threads cblas.h has_openblas_symbols)
+endif()
+if(has_cblas_h AND has_openblas_symbols)
     add_definitions(-DOpenBLAS_AVAILABLE)
 endif()
+


Fixing small errors

Fixing small errors

Former-commit-id: decef44aa1ef2c88772605a128f7dfd9a90abae0

--- cmake-modules/Fetch_OpenBLAS.cmake
+++ cmake-modules/Fetch_OpenBLAS.cmake
@@ -25,6 +25,8 @@
     add_library(lapack UNKNOWN IMPORTED)
     set(BLAS_LIBRARIES     ${BLAS_openblas_LIBRARY})
     set(LAPACK_LIBRARIES   ${LAPACK_openblas_LIBRARY})
+    add_definitions(-DOpenBLAS_AVAILABLE)
+
 endif()
 #exit (1)


added ability to set search path for Accelerate library (#10481)

--- cmake/Modules/FindAccelerate.cmake
+++ cmake/Modules/FindAccelerate.cmake
@@ -22,11 +22,13 @@
 #  Accelerate_INCLUDE_DIRS
 #  Accelerate_LIBRARIES

+file(TO_CMAKE_PATH "$ENV{Accelerate_HOME}" Accelerate_HOME)
 set(Accelerate_INCLUDE_SEARCH_PATHS
-  /System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current/Headers/
+  /System/Library/Frameworks/Accelerate.framework/Versions/Current/Frameworks/vecLib.framework/Versions/Current
+  ${Accelerate_HOME}
 )

-find_path(Accelerate_CBLAS_INCLUDE_DIR NAMES cblas.h   PATHS ${Accelerate_INCLUDE_SEARCH_PATHS})
+find_path(Accelerate_CBLAS_INCLUDE_DIR NAMES cblas.h PATHS ${Accelerate_INCLUDE_SEARCH_PATHS} PATH_SUFFIXES Headers)

 set(LOOKED_FOR
     Accelerate_CBLAS_INCLUDE_DIR


GitHub Actions: Fixing openblas build

GitHub Actions: Fixing openblas build

Former-commit-id: 174f3a855f83667ca25a73690ae22f934cc2b14e

--- cmake/SetupDependenciesConan.cmake
+++ cmake/SetupDependenciesConan.cmake
@@ -102,6 +102,7 @@
                 ${DMRG_CONAN_OPTIONS}
                 KEEP_RPATHS
                 BUILD missing
+                BUILD openblas # This builds openblas everytime on github actions
         )

     endif()


qi_create_gtest/gmock: Add gtest/gmock as system dependencies

To avoid compilation warnings about stuff inside gtest/gmock headers.

Change-Id: Id82fb05b6f76b7fdf8752cf91d34cc703a724b3d

--- cmake/qibuild/internal/tests.cmake
+++ cmake/qibuild/internal/tests.cmake
@@ -49,15 +49,15 @@
   if(_srcs)
     set(_deps ${ARG_DEPENDS})
     set(_submodules ${ARG_SUBMODULE})
-    if(ARG_GTEST_TEST)
-      list(APPEND _deps GTEST GTEST_MAIN)
-    endif()
-    if(ARG_GMOCK_TEST)
-      list(APPEND _deps GMOCK GMOCK_MAIN)
-    endif()
     # Using NO_INSTALL because we don't want to be in the 'runtime'
     # component like the other binaries
     qi_create_bin(${target_name} SRC ${_srcs} DEPENDS ${_deps} SUBMODULE ${_submodules} NO_INSTALL)
+    if(ARG_GTEST_TEST)
+      qi_use_lib(${target_name} ASSUME_SYSTEM_INCLUDE GTEST GTEST_MAIN)
+    endif()
+    if(ARG_GMOCK_TEST)
+      qi_use_lib(${target_name} ASSUME_SYSTEM_INCLUDE GMOCK GMOCK_MAIN)
+    endif()
   endif()

   # Validate target_name. We expect one of:


fixed: silence py setup

fixed: silence py setup

--- CMake/BuildFunctions.cmake
+++ CMake/BuildFunctions.cmake
@@ -34,7 +34,6 @@

 MACRO(OSG_SYMLINK_CHECKED _OSG_SRC_FILENAME _OSG_DST_FILENAME)
   IF(NOT EXISTS "${_OSG_DST_FILENAME}")
-    MESSAGE("symlink ${_OSG_SRC_FILENAME} | ${_OSG_DST_FILENAME}")
     EXECUTE_PROCESS(
       COMMAND "${CMAKE_COMMAND}" -E create_symlink
                "${_OSG_SRC_FILENAME}"


This improves the behavior of the configure step when the user provides -DCYCLUS_ROOT_DIR=/*/install/cyclus rather than -DCYCLUS_ROOT_DIR=/*/install.

--- CMake/Findcycluscore.cmake
+++ CMake/Findcycluscore.cmake
@@ -10,9 +10,9 @@

 # Look for the header files
 FIND_PATH(CYCLUS_CORE_INCLUDE_DIR suffix.h
-  HINTS ${CYCLUS_ROOT_DIR} "${CYCLUS_ROOT_DIR}/cyclus"
+  HINTS "${CYCLUS_ROOT_DIR}" "${CYCLUS_ROOT_DIR}/cyclus"
   /usr/local/cyclus /opt/local/cyclus
-  PATH_SUFFIXES cyclus/include)
+  PATH_SUFFIXES cyclus/include include)

 # Add the root dir to the hints
 IF(NOT DEFINED CYCLUS_ROOT_DIR)
@@ -21,23 +21,23 @@

 # Look for the header files
 FIND_PATH(CYCLUS_CORE_SHARE_DIR cyclus.rng.in
-  HINTS ${CYCLUS_ROOT_DIR} "${CYCLUS_ROOT_DIR}/cyclus"
+  HINTS "${CYCLUS_ROOT_DIR}" "${CYCLUS_ROOT_DIR}/cyclus"
   /usr/local/cyclus /opt/local/cyclus
-  PATH_SUFFIXES cyclus/share)
+  PATH_SUFFIXES cyclus/share share)

 # Look for the library
 FIND_LIBRARY(CYCLUS_CORE_LIBRARY NAMES cycluscore
-  HINTS ${CYCLUS_ROOT_DIR} "${CYCLUS_ROOT_DIR}/cyclus"
+  HINTS "${CYCLUS_ROOT_DIR}" "${CYCLUS_ROOT_DIR}/cyclus"
   /usr/local/cyclus/lib /usr/local/cyclus
   /opt/local /opt/local/cyclus
-  PATH_SUFFIXES cyclus/lib)
+  PATH_SUFFIXES cyclus/lib lib)

 # Look for the library
 FIND_LIBRARY(CYCLUS_GTEST_LIBRARY NAMES gtest
-  HINTS ${CYCLUS_ROOT_DIR} "${CYCLUS_ROOT_DIR}/cyclus"
+  HINTS "${CYCLUS_ROOT_DIR}" "${CYCLUS_ROOT_DIR}/cyclus"
   /usr/local/cyclus/lib /usr/local/cyclus
   /opt/local/lib /opt/local/cyclus/lib
-  PATH_SUFFIXES cyclus/lib)
+  PATH_SUFFIXES cyclus/lib lib)

 # Copy the results to the output variables.
 IF (CYCLUS_CORE_INCLUDE_DIR AND CYCLUS_CORE_LIBRARY AND CYCLUS_GTEST_LIBRARY AND CYCLUS_CORE_SHARE_DIR)


discard output

discard output

--- cmake/Modules/get-git-revision.cmake
+++ cmake/Modules/get-git-revision.cmake
@@ -13,6 +13,7 @@
         execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags --exact-match
             WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
             RESULT_VARIABLE EXIT_CODE
+            OUTPUT_QUIET
             ERROR_QUIET
         )
         # it failed => not a tagged revision


Refactor FindPOPT.cmake script

Refactor FindPOPT.cmake script

Refactor FindPOPT to:
- Use pkg-config when available. (popt installs with a pkg-config file)
- Use FindPackageHandleStandardArgs which is a default part of CMake
  and thus we don't need to maintain LibFindMacros

--- cmake/FindPOPT.cmake
+++ cmake/FindPOPT.cmake
@@ -1,18 +1,37 @@
-INCLUDE(LibFindMacros)
+# - Try to find the popt options processing library
+# The module will set the following variables
+#
+#  POPT_FOUND - System has popt
+#  POPT_INCLUDE_DIR - The popt include directory
+#  POPT_LIBRARIES - The libraries needed to use popt
+
+# use pkg-config to get the directories and then use these values
+# in the FIND_PATH() and FIND_LIBRARY() calls
+
+find_package(PkgConfig QUIET)
+pkg_search_module(PC_POPT QUIET popt)

 # Find the include directories
 FIND_PATH(POPT_INCLUDE_DIR
     NAMES popt.h
-    HINTS ${POPT_PREFIX}/include
+    HINTS
+          ${PC_POPT_INCLUDEDIR}
+          ${PC_POPT_INCLUDE_DIRS}
+    DOC "Path containing the popt.h include file"
     )

 FIND_LIBRARY(POPT_LIBRARY
     NAMES popt
-    HINTS ${POPT_PREFIX}/lib
+    HINTS
+          ${PC_POPT_LIBRARYDIR}
+          ${PC_POPT_LIBRARY_DIRS}
+    DOC "popt library path"
     )

-SET(POPT_PROCESS_INCLUDES POPT_INCLUDE_DIR)
-SET(POPT_PROCESS_LIBS POPT_LIBRARY)
+include(FindPackageHandleStandardArgs)

-LIBFIND_PROCESS(POPT)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(POPT
+  REQUIRED_VARS POPT_INCLUDE_DIR POPT_LIBRARY
+  VERSION_VAR PC_POPT_VERSION)

+MARK_AS_ADVANCED(POPT_INCLUDE_DIR POPT_LIBRARY)


remove unneeded variable expansion

remove unneeded variable expansion

--- hunter_recipes/projects/MPFR/hunter.cmake
+++ hunter_recipes/projects/MPFR/hunter.cmake
@@ -8,7 +8,7 @@
 include(hunter_configuration_types)

 # Makes it possible to use system gmp
-if(NOT ${GMP_FOUND})
+if(NOT GMP_FOUND)
   hunter_add_package(GMP)
   find_package(GMP REQUIRED)
   if(NOT GMP)
@@ -29,6 +29,6 @@

 hunter_pick_scheme(DEFAULT MPFR)
 get_filename_component(GMP_LIB_DIR ${GMP_LIBRARIES} DIRECTORY)
-hunter_cmake_args(MPFR CMAKE_ARGS GMP_INCLUDES=${GMP_INCLUDES} GMP_LIB_DIR=${GMP_LIB_DIR})
+hunter_cmake_args(MPFR CMAKE_ARGS GMP_INCLUDES="${GMP_INCLUDES}" GMP_LIB_DIR="${GMP_LIB_DIR}")
 hunter_configuration_types(MPFR CONFIGURATION_TYPES Release)
 hunter_download(PACKAGE_NAME MPFR PACKAGE_DEPENDS_ON GMP)


Fixed bug when expanding target

Fixed bug when expanding target

Former-commit-id: 3e2172fe1e27d0706c0993125427fb2aeb59961c

--- cmake-modules/getExpandedTarget.cmake
+++ cmake-modules/getExpandedTarget.cmake
@@ -1,6 +1,8 @@

 function(expand_target_libs target_names expanded_list)
+    unset(target_expanded)
+    unset(target_names_expanded)
     foreach(lib ${target_names})
 #        message("Checking if ${lib} is a target")
         if(TARGET ${lib})
@@ -25,15 +27,36 @@
 #            message("Expanded target ${lib} into ${target_expanded_${lib}}")
         endif()
     endforeach()
-
-    set(target_names_expanded ${target_names})
-    foreach(lib ${target_expanded})
-        list(TRANSFORM target_names_expanded REPLACE "${lib}" "${target_expanded_${lib}}")
-    endforeach()
+    if(target_expanded)
+        list(REMOVE_DUPLICATES target_expanded)
+    endif()
+#    message(STATUS "target names : ${target_names}")
+#    foreach(lib ${target_expanded})
+#        message(STATUS "target expanded [${lib}]: ${target_expanded_${lib}}")
+#    endforeach()
+    foreach(tgt ${target_names})
+        set(repl ${tgt})
+        foreach(lib ${target_expanded}) # Has no duplicates -> match only happens once
+            if("${tgt}" STREQUAL "${lib}")
+                message(STATUS "Replacing ${repl} with ${target_expanded_${lib}}")
+                set(repl ${target_expanded_${lib}})
+            endif()
+        endforeach()
+        list(APPEND target_names_expanded ${repl})
+    endforeach()
+    #message(STATUS "target_names_expanded: ${target_names_expanded} \n")
+    list(LENGTH target_names_expanded count)
+    if(count GREATER 500)
+        message(FATAL_ERROR "Length of list exeeds 500")
+        exit(0)
+    endif()

     # Now we do the recursion.
     # If there are any targets left in target_names_expanded, we call expand_target_libs again
     # Note that nothing actually happens in the following two "foreach" if there are no targets left
+    if("Threads::Threads_core" IN_LIST target_names_expanded)
+        message(FATAL_ERROR "1")
+    endif()
     foreach(lib ${target_names_expanded})
         if(TARGET ${lib})
             expand_target_libs(${lib} recursed_libs)


[CMake] Turns out CMake was passing the space as part of the argument instead of separating two arguments.

git-svn-id: c199f293c43da69278bea8e88f92242bf3aa95f7@245624 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/Modules/CompilerRTCompile.cmake
+++ cmake/Modules/CompilerRTCompile.cmake
@@ -33,7 +33,7 @@
        OUTPUT_VARIABLE OSX_SYSROOT
        ERROR_QUIET
        OUTPUT_STRIP_TRAILING_WHITESPACE)
-    set(OSX_SYSROOT_FLAG "-isysroot ${OSX_SYSROOT}")
+    set(OSX_SYSROOT_FLAG "-isysroot${OSX_SYSROOT}")
   endif()
 endif()


CMake: Prevent bundled boost from (dl)opening itself on Windows

--- cmake/configure/configure_boost.cmake
+++ cmake/configure/configure_boost.cmake
@@ -35,6 +35,16 @@
   ENABLE_IF_SUPPORTED(BOOST_CXX_FLAGS "-Wno-unused-local-typedefs")

   SET(BOOST_BUNDLED_INCLUDE_DIRS ${BOOST_FOLDER}/include)
+
+  IF(CMAKE_SYSTEM_NAME MATCHES "Windows")
+    #
+    # Bundled boost tries to (dl)open itself as a dynamic library on
+    # Windows. Disable this undesired behavior by exporting
+    # BOOST_ALL_NO_LIB on Windows platforms (for bundled boost).
+    #
+    LIST(APPEND BOOST_DEFINITIONS "BOOST_ALL_NO_LIB")
+    LIST(APPEND BOOST_USER_DEFINITIONS "BOOST_ALL_NO_LIB")
+  ENDIF()
 ENDMACRO()


Don't use -ffunction-sections if -fno-function-sections is not supported in the compiler.

This will disable -ffunction-sections in older versions of Clang where it
breaks build of sanitizer runtime library.

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -350,13 +350,23 @@
   append("-fcolor-diagnostics" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
 endif()

+# Clang prior to 3.5 ignored -fno-function-sections.
+# It's pretty hard to test directly, so we rely on the version number.
+if( ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") AND (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 3.5) )
+  set(LLVM_COMPILER_HAS_BROKEN_FNO_FUNCTION_SECTIONS ON)
+endif()
+
 # Add flags for add_dead_strip().
 # FIXME: With MSVS, consider compiling with /Gy and linking with /OPT:REF?
 # But MinSizeRel seems to add that automatically, so maybe disable these
 # flags instead if LLVM_NO_DEAD_STRIP is set.
 if(NOT CYGWIN AND NOT WIN32)
   if(NOT ${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-    append("-ffunction-sections -fdata-sections" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+    # Don't add -ffunction-section if it can be disabled with -fno-function-sections.
+    # Doing so will break sanitizers.
+    if (NOT LLVM_COMPILER_HAS_BROKEN_FNO_FUNCTION_SECTIONS)
+      append("-ffunction-sections -fdata-sections" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+    endif()
   endif()
 endif()


Add RapidJSON 0.11-p2

Add RapidJSON 0.11-p2

--- cmake/projects/RapidJSON/hunter.cmake
+++ cmake/projects/RapidJSON/hunter.cmake
@@ -57,6 +57,17 @@
     PACKAGE_NAME
     RapidJSON
     VERSION
+    "0.11-p2"
+    URL
+    "https://github.com/hunter-packages/rapidjson/archive/v0.11-p2.tar.gz"
+    SHA1
+    bb0bfb8ad5cf2b575b57efbf2957619735a1696e
+)
+
+hunter_add_version(
+    PACKAGE_NAME
+    RapidJSON
+    VERSION
     "0.11-p1"
     URL
     "https://github.com/hunter-packages/rapidjson/archive/v0.11-p1.tar.gz"


Refs #5926.  Leif made fortify do the right thing, so unding r54709.  Leif says: The RelWithDebInfo target uses -O1 -g, see lines 119 and 120.

git-svn-id: b5c078ec0b4d3a50497e9dd3081db18a5b4f16e5@54726 c7de825b-a66e-492c-adef-691d508d4ae1

--- cmake_modules/TokuSetupCompiler.cmake
+++ cmake_modules/TokuSetupCompiler.cmake
@@ -25,9 +25,7 @@
 ## add TOKU_PTHREAD_DEBUG for debug builds
 set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_DEBUG TOKU_PTHREAD_DEBUG=1)
 set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO TOKU_PTHREAD_DEBUG=1)
-## fortify doesn't work with -O0, so we are deprecating it for now.  Sometime we should turn on
-## fortify for -O1 builds, but we don't want it on the release builds.
-## #set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO _FORTIFY_SOURCE=2)
+set_property(DIRECTORY APPEND PROPERTY COMPILE_DEFINITIONS_RELWITHDEBINFO _FORTIFY_SOURCE=2)

 ## coverage
 option(USE_GCOV "Use gcov for test coverage." OFF)


Removed lest examples from unit tests.

Removed lest examples from unit tests.

--- cmake_scripts/external-projects.cmake
+++ cmake_scripts/external-projects.cmake
@@ -26,5 +26,5 @@
     PREFIX "${EXTERNAL_PROJECTS_PREFIX}"
     GIT_REPOSITORY "https://github.com/martinmoene/lest.git"
     GIT_TAG "master"
-    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX}
+    CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_INSTALL_PREFIX} -DLEST_BUILD_EXAMPLE=OFF
     )


Add postgres test

Add postgres test

--- plugin.cmake
+++ plugin.cmake
@@ -26,6 +26,7 @@
 add_python_test(wms PLUGIN minerva)
 add_python_test(elasticsearch PLUGIN minerva)
 add_python_test(geojson PLUGIN minerva)
+add_python_test(postgres PLUGIN minerva)

 set(SPARK_TEST_MASTER_URL  "" CACHE STRING "Spark master URL")


Remove client tests until migration is finished

--- plugin.cmake
+++ plugin.cmake
@@ -61,12 +61,12 @@
 )

 # front-end tests
-add_web_client_test(
-    HistomicsTK_visualization "${PROJECT_SOURCE_DIR}/plugins/HistomicsTK/plugin_tests/client/visualization.js"
-    ENABLEDPLUGINS "HistomicsTK" "large_image")
-add_web_client_test(
-    HistomicsTK_body "${PROJECT_SOURCE_DIR}/plugins/HistomicsTK/plugin_tests/client/body.js"
-    ENABLEDPLUGINS "HistomicsTK" "large_image")
+#add_web_client_test(
+#    HistomicsTK_visualization "${PROJECT_SOURCE_DIR}/plugins/HistomicsTK/plugin_tests/client/visualization.js"
+#    ENABLEDPLUGINS "HistomicsTK" "large_image")
+#add_web_client_test(
+#    HistomicsTK_body "${PROJECT_SOURCE_DIR}/plugins/HistomicsTK/plugin_tests/client/body.js"
+#    ENABLEDPLUGINS "HistomicsTK" "large_image")

 add_eslint_test(


Get libraries from rticonnextmsgcpp, requires librticonnextdds-messaging51-dev >= 5.1.0-3

--- connext_cmake_module/cmake/Modules/FindConnext.cmake
+++ connext_cmake_module/cmake/Modules/FindConnext.cmake
@@ -66,7 +66,6 @@
   "nddsc"
   "nddscore"
   "nddscpp"
-  "rticonnextmsgc"
   "rticonnextmsgcpp"
 )

@@ -218,10 +217,11 @@
 else()
   # try to find_package() it
   find_package(nddscpp)
-  if(nddscpp_FOUND)
+  find_package(rticonnextmsgcpp)
+  if(nddscpp_FOUND AND rticonnextmsgcpp_FOUND)
     message(STATUS "Found RTI Connext: ${nddscpp_DIR}")
     set(Connext_INCLUDE_DIRS ${nddscpp_INCLUDE_DIRS})
-    set(Connext_LIBRARIES ${nddscpp_LIBRARIES})
+    set(Connext_LIBRARIES ${rticonnextmsgcpp_LIBRARIES})
     set(Connext_LIBRARY_DIRS "")
     set(Connext_LIBRARY_DIR "")
     set(Connext_DEFINITIONS ${nddscpp_DEFINITIONS})


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -535,7 +535,7 @@
 	endforeach()
 endmacro()

-macro(cmaki_python_gtest)
+macro(cmaki_boost_python_test)
 	cmaki_find_package(python)
 	cmaki_find_package(boost-python)
 	cmaki2_gtest(${ARGV} PTHREADS)
@@ -545,7 +545,6 @@

 macro(cmaki_python_test)
 	cmaki_find_package(python)
-	cmaki_find_package(boost-python)
 	cmaki_parse_parameters(${ARGV})
 	add_test(	NAME ${_MAIN_NAME}_test
 			COMMAND ./bin/python3 ${_SOURCES}
@@ -553,7 +552,7 @@
 	set_tests_properties(${_MAIN_NAME}_test PROPERTIES ENVIRONMENT "LD_LIBRARY_PATH=${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE}")
 endmacro()

-macro(cmaki_install_python)
+macro(cmaki_python_install)
 	cmaki_find_package(python)
 	cmaki_find_package(boost-python)
 	get_filename_component(PYTHON3_DIR ${PYTHON3_EXECUTABLE} DIRECTORY)


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -648,8 +648,7 @@
 macro(cmaki_python_install)
 	cmaki_find_package(python)
 	cmaki_find_package(boost-python)
-	get_filename_component(PYTHON3_DIR ${PYTHON3_EXECUTABLE} DIRECTORY)
-	get_filename_component(PYTHON3_PARENT_DIR ${PYTHON3_DIR} DIRECTORY)
-	cmaki_install_inside_dir(${PYTHON3_PARENT_DIR})
+	get_filename_component(PYTHON_DIR ${PYTHON_EXECUTABLE} DIRECTORY)
+	get_filename_component(PYTHON_PARENT_DIR ${PYTHON_DIR} DIRECTORY)
+	cmaki_install_inside_dir(${PYTHON_PARENT_DIR})
 endmacro()
-


python.cmake: Add the python bin directory to the PATH env var in the BUILDEM_ENV_STRING.

--- python.cmake
+++ python.cmake
@@ -59,6 +59,14 @@
 set (PYTHON_EXE ${PYTHON_PREFIX}/bin/python)
 set (BUILDEM_PYTHONPATH  ${PYTHON_PREFIX}/lib/python2.7:${PYTHON_PREFIX}/lib/python2.7/site-packages:${PYTHON_PREFIX}/lib)

+# Update our bin PATH variable to include the python bin path
+# (Important for Mac OS X, which uses a special python prefix.  See above)
+set (BUILDEM_BIN_PATH ${PYTHON_PREFIX}/bin:${BUILDEM_BIN_PATH})
+
+# Append our revised bin PATH variable to ENV string.
+# (This means that PATH will be specified TWICE in the env string, but the second one takes precedence.)
+set (BUILDEM_ENV_STRING   env ${BUILDEM_ENV_STRING} PATH=${BUILDEM_BIN_PATH})
+
 set_target_properties(${python_NAME} PROPERTIES EXCLUDE_FROM_ALL ON)

 endif (NOT python_NAME)


FIX: Hopefully fixes the update problem for internal dartclients. Updates were always taken from previous day 21:00 CET. Should now be the current day. Also switched to CEST in internal and external DartConfig.cmake

--- DartConfig.cmake
+++ DartConfig.cmake
@@ -2,8 +2,8 @@

 # internal cdash
 set(CTEST_PROJECT_NAME "MITK")
-set(CTEST_NIGHTLY_START_TIME "21:00:00 CET")
-set(NIGHTLY_START_TIME "21:00:00 CET")
+set(CTEST_NIGHTLY_START_TIME "21:00:00 CEST")
+set(NIGHTLY_START_TIME "21:00:00 CEST")

 set(CTEST_DROP_METHOD "http")
 set(CTEST_DROP_SITE "mbits")
@@ -27,8 +27,8 @@
     SET(CTEST_DROP_LOCATION "/submit.php?project=MITK")
     SET(CTEST_DROP_SITE_CDASH TRUE)

-    SET(CTEST_NIGHTLY_START_TIME "21:00 CET")
-    SET (NIGHTLY_START_TIME "21:00:00 CET")
+    SET(CTEST_NIGHTLY_START_TIME "21:00 CEST")
+    SET (NIGHTLY_START_TIME "21:00:00 CEST")

     SET (DOXYGEN_URL "http://docs.mitk.org/nightly/" )


Replace OPENSSL_INCLUDE_DIRS with OPENSSL_INCLUDE_DIR in external_dependencies.cmake

--- cmake/external_dependencies.cmake
+++ cmake/external_dependencies.cmake
@@ -48,7 +48,7 @@
             message(STATUS "  Openssl include directory: ${OPENSSL_INCLUDE_DIR}")
             message(STATUS "  Openssl library: ${OPENSSL_LIBRARIES}")
         endif()
-        List(APPEND EXTERNAL_DEPS_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIRS})
+        List(APPEND EXTERNAL_DEPS_INCLUDE_DIRS ${OPENSSL_INCLUDE_DIR})
     endif()
     set(CRYPTO_LIBS ${OPENSSL_LIBRARIES} ${ZLIB_LIBRARIES})
     # ssl depends on libcrypto


cmake: use exact working trompeloeil version

--- cmake/external_dependencies.cmake
+++ cmake/external_dependencies.cmake
@@ -142,6 +142,7 @@
     setup_library("${CHECK_SOURCE}"
                   NAME trompeloeil
                   GIT_REPOSITORY https://github.com/rollbear/trompeloeil.git
+                  GIT_TAG 64fd171
                   HEADER_ONLY
                   )
     add_library(trompeloeil::trompeloeil ALIAS trompeloeil)


Add ROOTCLING_ targets that allow more parallel rootcling invocations.

So far GENERATE_DICTIONARY depends on all the targets passed to its
DEPENDENCIES argument. However, this means for some targets not
only the generation of PCMs, rootmaps etc, but also the linking of
this target (as for example the target `Hist` generates Hist.pcm
and then also links libHist.so). We only care about the files
generated by rootcling when we specify the dependencies here,
so we can improve build performance here.

This patch creates a new target for each dictionary generation
command called ROOTCLING_{MODULE} which can be refernced by other
rootcling invocations to state that they depend on the
rootcling files (PCMs, rootmap, root-PCMs) of this module, but
not on a fully built module. We then start checking for each
dependency passed to GENERATE_DICTIONARY if there is a
ROOTCLING_MODULE target and depend on this if possible.

This should cause that all the rootcling invocations can be
started earlier and the linking of modules and rootcling
invocations of its dependencies now run in parallel.

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -380,6 +380,16 @@
   if (cxxmodules)
       set(genverbosity "-v2")
   endif(cxxmodules)
+
+  set(module_dependencies "")
+  foreach(dep ${ARG_DEPENDENCIES})
+    if(TARGET ROOTCLING_${dep})
+      set(module_dependencies ${module_dependencies} ROOTCLING_${dep})
+    else()
+      set(module_dependencies ${module_dependencies} ${dep})
+    endif()
+  endforeach()
+
   #---call rootcint------------------------------------------
   add_custom_command(OUTPUT ${dictionary}.cxx ${pcm_name} ${rootmap_name}
                      COMMAND ${command} ${genverbosity} -f  ${dictionary}.cxx ${newargs} ${excludepathsargs} ${rootmapargs}
@@ -403,6 +413,20 @@
     else()
       install(FILES ${pcm_name} ${rootmap_name}
                     DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
+    endif()
+  endif()
+  # Create a target for this rootcling invocation based on the module name.
+  # We can use this in other ROOT_GENERATE_DICTIONARY that only care about
+  # the generation of PCMs without waiting on the whole module.
+  if(ARG_MODULE)
+    # If we have multiple modules with the same name, let's just attach the
+    # generation of this dictionary to the ROOTCLING_X target of the existing
+    # module. This happens for example with ROOTCLING_Smatrix which also comes
+    # in a "Smatrix32" version.
+    if (TARGET ROOTCLING_${ARG_MODULE})
+      add_dependencies(ROOTCLING_${ARG_MODULE} ${dictname})
+    else()
+      add_custom_target(ROOTCLING_${ARG_MODULE} DEPENDS ${dictname})
     endif()
   endif()


Remove dependancy on EP TVM in unit test project (#11170)

--- cmake/onnxruntime_unittests.cmake
+++ cmake/onnxruntime_unittests.cmake
@@ -560,15 +560,6 @@
     list(APPEND onnxruntime_test_providers_dependencies onnxruntime_providers_coreml)
     list(APPEND onnxruntime_test_providers_libs onnxruntime_providers_coreml)
   endif()
-endif()
-
-if (onnxruntime_USE_TVM)
-  file (GLOB_RECURSE onnxruntime_test_tvm_src CONFIGURE_DEPENDS
-    "${TEST_SRC_DIR}/tvm/*.h"
-    "${TEST_SRC_DIR}/tvm/*.cc"
-  )
-
-  list(APPEND onnxruntime_test_providers_dependencies onnxruntime_providers_tvm)
 endif()

 if(WIN32)


Use full path to library for linking embedded opencl

--HG--
extra : rebase_source : 110d166d6e012976549a829c30f0ddeaaf4f82c5

--- cmake/modules/FindRenderScript.cmake
+++ cmake/modules/FindRenderScript.cmake
@@ -129,7 +129,7 @@
     HINTS ${EMBEDDED_OPENCL_INC_PATH} ${OPENCL_INC_PATH})

 SET(EMBEDDED_OPENCL_CFLAGS "-I${EMBEDDED_OPENCL_INCLUDE_DIR}")
-SET(EMBEDDED_OPENCL_LFLAGS "-L${EMBEDDED_OPENCL_LIBRARY_DIR} -l${EMBEDDED_OPENCL_LIB}")
+SET(EMBEDDED_OPENCL_LFLAGS "-l${EMBEDDED_OPENCL_LIBRARY_DIR}/${EMBEDDED_OPENCL_LIB}")

 SET(NDK_INCLUDE_DIRS_STR "")
 FOREACH(S ${NDK_INCLUDE_DIRS})


ENH: Update FixedPointInverseDisplacementField remote module

Bradley Lowekamp (7):
      BUG: Always request the full input image
      ENH: replace run-time check of dimension with concept check
      ENH: Prefer raw pointers in pipeline methods
      ENH: Prefer FillBuffer over iterator loop
      ENH: Remove unneeded negative input
      COMP: Fix warning about variable index being shadowed
      Merge pull request #3 from blowekamp/FixShadowWarning

Francois Budin (2):
      Merge pull request #1 from
      blowekamp/PipelineFixesAndImprovements
      Merge pull request #2 from blowekamp/Improvements

Change-Id: Ica14efa46f5ee2ef7d38ab9b22999f69f98b3eb6

--- Modules/Remote/FixedPointInverseDisplacementField.remote.cmake
+++ Modules/Remote/FixedPointInverseDisplacementField.remote.cmake
@@ -1,5 +1,5 @@
 itk_fetch_module(FixedPointInverseDisplacementField
   "Computes the inverse of a displacement field."
   GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKFixedPointInverseDisplacementField.git
-  GIT_TAG 23698cf58d439e62c872a3e7426c364702494ceb
+  GIT_TAG 57eec80969458bb1ff9c0da79548f7965e15851f
   )


add shape function test to ctest

add shape function test to ctest

--- test/testing.cmake
+++ test/testing.cmake
@@ -155,4 +155,5 @@
   ./newdim)
 add_test(ma_insphere
   ma_insphere)
+add_test(shapefun shapefun)
 #todo - ph_test on crossflow ?


fix compute_75 of cuda_cmake (#15209)

fix compute_75 of cuda_cmake (#15209)

test=develop

--- cmake/cuda.cmake
+++ cmake/cuda.cmake
@@ -2,9 +2,11 @@
     return()
 endif()

-set(paddle_known_gpu_archs "30 35 50 52 60 61 70 75")
+set(paddle_known_gpu_archs "30 35 50 52 60 61 70")
 set(paddle_known_gpu_archs7 "30 35 50 52")
 set(paddle_known_gpu_archs8 "30 35 50 52 60 61")
+set(paddle_known_gpu_archs9 "30 35 50 52 60 61 70")
+set(paddle_known_gpu_archs10 "30 35 50 52 60 61 70 75")

 ######################################################################################
 # A function for automatic detection of GPUs installed  (if autodetection is enabled)
@@ -155,6 +157,16 @@
   # warning for now.
   list(APPEND CUDA_NVCC_FLAGS "-Wno-deprecated-gpu-targets")
   add_definitions("-DPADDLE_CUDA_BINVER=\"80\"")
+elseif (${CUDA_VERSION} LESS 10.0) # CUDA 9.x
+  set(paddle_known_gpu_archs ${paddle_known_gpu_archs9})
+  list(APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED")
+  list(APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__")
+  add_definitions("-DPADDLE_CUDA_BINVER=\"90\"")
+elseif (${CUDA_VERSION} LESS 11.0) # CUDA 10.x
+  set(paddle_known_gpu_archs ${paddle_known_gpu_archs10})
+  list(APPEND CUDA_NVCC_FLAGS "-D_MWAITXINTRIN_H_INCLUDED")
+  list(APPEND CUDA_NVCC_FLAGS "-D__STRICT_ANSI__")
+  add_definitions("-DPADDLE_CUDA_BINVER=\"100\"")
 endif()

 include_directories(${CUDA_INCLUDE_DIRS})


i updated trio.cmake to work more like ramalloc.cmake.

--- cmake/trio.cmake
+++ cmake/trio.cmake
@@ -33,39 +33,61 @@
 # steps have to be split up to be compatible with submitting to the
 # dashboard.

-include(ExternalProject)
+find_package(Doxygen)

+
+option(TRIO_DOWNLOAD
+	"indicates that i should download and build trio, if i can't find it."
+	NO)
+option(TRIO_RUN_TESTS
+	"indicates whether i should run tests on trio after building."
+	YES)
+
+set(TRIO_DOWNLOAD_URL "http://ncu.dl.sourceforge.net/project/ctrio/trio/1.14/trio-1.14.tar.gz"
+	CACHE STRING
+	"a URL describing where trio can be fetched; only necessary if CVS is unavilable.")
+set(TRIO_MD5SUM 0278513e365675ca62bacb6f257b5045
+	CACHE STRING
+	"the MD5 sum of the file at TRIO_DOWNLOAD_URL; only necessary if CVS is unavailable.")
+
+set(TRIO_LIBRARY_NAME libtrio.a)
 set(TRIO_LIBRARY_DOC "path to the trio library.")
 set(TRIO_BINDIR_PREFIX ${CMAKE_CURRENT_BINARY_DIR}/trio-prefix)

-find_library(TRIO_LIBRARY libtrio.a DOC ${TRIO_LIBRARY_DOC})
-if(NOT TRIO_LIBRARY OR TRIO_LIBRARY STREQUAL ${TRIO_BINDIR_PREFIX}/lib/libtrio.a)
-	if(NOT TRIO_IS_A_TARGET)
-		set(TRIO_DOWNLOAD_URL "http://ncu.dl.sourceforge.net/project/ctrio/trio/1.14/trio-1.14.tar.gz"
-			CACHE STRING
-			"a URL describing where trio can be fetched; only necessary if CVS is unavilable.")
-		set(TRIO_MD5SUM 0278513e365675ca62bacb6f257b5045
-			CACHE STRING
-		"the MD5 sum of the file at TRIO_DOWNLOAD_URL; only necessary if CVS is unavailable.")
-		# TODO: i can't seem to find an example of how URL_MD5 is supposed
-		# to be used, and the naive approach doesn't.
+find_library(TRIO_LIBRARY ${TRIO_LIBRARY_NAME} DOC ${TRIO_LIBRARY_DOC})
+if(NOT TRIO_LIBRARY AND NOT TRIO_DOWNLOAD)
+	message(WARNING "i couldn't find trio on your system. set TRIO_DOWNLOAD=1 if you would like me to download and install it for you.")
+elseif(TRIO_LIBRARY STREQUAL ${TRIO_BINDIR_PREFIX}/lib/${TRIO_LIBRARY_NAME}
+		OR NOT TRIO_LIBRARY)
+	if(NOT TRIO_IS_A_TARGET AND TRIO_DOWNLOAD)
+		include(ExternalProject)
 		ExternalProject_Add(trio
 			PREFIX ${TRIO_BINDIR_PREFIX}
 			URL ${TRIO_DOWNLOAD_URL}
+			# TODO: i can't seem to find an example of how URL_MD5 is supposed
+			# to be used, and the naive approach doesn't.
 			#URL_MD5 ${TRIO_MD5SUM}
 			CONFIGURE_COMMAND ${TRIO_BINDIR_PREFIX}/src/trio/configure --prefix=${TRIO_BINDIR_PREFIX}
-			TEST_BEFORE_INSTALL 1				)
+			TEST_BEFORE_INSTALL ${TRIO_RUN_TESTS}
+			)
 		set(TRIO_LIBRARY
-			${TRIO_BINDIR_PREFIX}/lib/libtrio.a
+			${TRIO_BINDIR_PREFIX}/lib/${TRIO_LIBRARY_NAME}
 			CACHE FILEPATH ${TRIO_LIBRARY_DOC} FORCE
 			)
-		include_directories(${TRIO_BINDIR_PREFIX}/include)
 		set(TRIO_IS_A_TARGET YES)
 	endif()
 endif()

+get_filename_component(TRIO_PREFIX ${TRIO_LIBRARY} PATH)
+get_filename_component(TRIO_PREFIX ${TRIO_PREFIX}/.. ABSOLUTE)
+
+include_directories(${TRIO_PREFIX}/include)
+
 function(add_dependency_on_trio TARGET)
-	if(TRIO_LIBRARY STREQUAL ${TRIO_BINDIR_PREFIX}/lib/libtrio.a)
+	set(TRIO_LIBRARIES
+		${TRIO_LIBRARY}
+		)
+	if(TRIO_LIBRARY STREQUAL ${TRIO_PREFIX}/lib/${TRIO_LIBRARY_NAME})
 		add_dependencies(${TARGET} trio)
 	endif()
 	get_target_property(Type ${TARGET} TYPE)


Update phy++ CMake script

Update phy++ CMake script

--- cmake/Findphypp.cmake
+++ cmake/Findphypp.cmake
@@ -86,13 +86,27 @@
     set(PHYPP_LIBRARIES ${PHYPP_LIBRARIES} ${CMAKE_THREAD_LIBS_INIT})

     # find optional libraries
-    find_package(LibUnwind)
-    find_package(LibDwarf)
-    find_package(GSL)
-    find_package(FFTW 3)
-    find_package(GooglePerfTools)
-    find_package(LAPACK)
-    find_package(WCSLib)
+    if (NOT NO_LIBUNWIND)
+        find_package(LibUnwind)
+    endif()
+    if (NOT NO_LIBDWARF)
+        find_package(LibDwarf)
+    endif()
+    if (NOT NO_FFTW)
+        find_package(FFTW 3)
+    endif()
+    if (NOT NO_PROFILER OR NOT NO_TCMALLOC)
+        find_package(GooglePerfTools)
+    endif()
+    if (NOT NO_LAPACK)
+        find_package(LAPACK)
+    endif()
+    if (NOT NO_GSL AND NOT NO_LAPACK)
+        find_package(GSL)
+    endif()
+    if (NOT NO_WCSLIB)
+        find_package(WCSLib)
+    endif()

     # handle conditional reflection support
     # WIP: just disabled for now


Work around cmake bug for custom targets in older versions of cmake on Linux.

--- cmake/UseCython.cmake
+++ cmake/UseCython.cmake
@@ -31,6 +31,8 @@
 # Source file properties that effect the build process are
 #
 #  CYTHON_IS_CXX
+#  CYTHON_IS_PUBLIC
+#  CYTHON_IS_API
 #
 # If this is set of a *.pyx file with CMake set_source_files_properties()
 # command, the file will be compiled as a C++ file.
@@ -210,8 +212,10 @@
     COMMAND ${CYTHON_EXECUTABLE} ${cxx_arg} ${include_directory_arg}
     ${annotate_arg} ${no_docstrings_arg} ${cython_debug_arg} ${CYTHON_FLAGS}
     --output-file ${_generated_files} ${pyx_locations}
-    DEPENDS ${pyx_locations} ${pxd_dependencies} ${pyx_lang} ${c_header_dependencies}
-    BYPRODUCTS ${_generated_files}
+    DEPENDS ${pyx_locations} ${pxd_dependencies} ${c_header_dependencies}
+    # do not specify byproducts for now since they don't work with the older
+    # version of cmake available in the apt repositories.
+    #BYPRODUCTS ${_generated_files}
     COMMENT ${comment}
     )


r9497/sofa : FIX: compilation on mac

r9497/sofa : FIX: compilation on mac

Former-commit-id: 7003202b1cd9cf5ac6ce8044d38338ff0ca6aa49

--- cmake/externals.cmake
+++ cmake/externals.cmake
@@ -80,12 +80,16 @@
 			set(GLEW_LIBRARIES "")
 		endif()
 	else()
-		if (SOFA-EXTERNAL_HAVE_FREEGLUT && !PS3)
+		if(NOT PS3)
+		if (SOFA-EXTERNAL_HAVE_FREEGLUT)
 			find_library(GLUT_LIBRARIES "freeglut")
 		else()
-			if(!PS3)
-				find_library(GLUT_LIBRARIES "glut")
-			endif()
+			if(APPLE)
+       			find_library(GLUT_LIBRARIES "GLUT")
+            else()
+                find_library(GLUT_LIBRARIES "glut")
+            endif()
+		endif()
 		endif()
 		## GLU
 		if(UNIX)
@@ -95,7 +99,7 @@
 			list(APPEND GLUT_LIBRARIES dl)
 		endif()
 		list(REMOVE_DUPLICATES GLUT_LIBRARIES)
-		if (SOFA-EXTERNAL_HAVE_GLEW && !PS3)
+		if (SOFA-EXTERNAL_HAVE_GLEW AND NOT PS3)
 			find_package(GLEW REQUIRED)
 		else()
 			set(GLEW_LIBRARIES "")


small fix in cmake

small fix in cmake

git-svn-id: 6b1c4fe79111c0bc0cce83313250759594f8984b@4907 e128ff1e-fa79-4151-a8cb-522299a2c450

--- cmake/gsLibrary.cmake
+++ cmake/gsLibrary.cmake
@@ -83,10 +83,10 @@
     find_program( patch_cmd "patch" REQUIRED )
     add_definitions( -DFORTRAN_INTEGER_TYPE=int -DHAVE_CMATH -DHAVE_CSTDIO)
     target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_IpOpt} dl )
-    target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Blas} )
-    target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Lapack} )
-    target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Mumps} )
-    target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Metis} )
+    #target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Blas} )
+    #target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Lapack} )
+    #target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Mumps} )
+    #target_link_libraries(${PROJECT_NAME} ${IpOpt_LIB_Metis} )
   endif()

   IF (GISMO_EXTRA_DEBUG AND DBGHELP_FOUND)
@@ -152,4 +152,4 @@
   #ARCHIVE DESTINATION lib
   )

-endif(GISMO_BUILD_LIB)+endif(GISMO_BUILD_LIB)


add a compilation test in FindGoogleHash.cmake to catch configuration issues when multiple compilers are used on the same system.

--- cmake/FindGoogleHash.cmake
+++ cmake/FindGoogleHash.cmake
@@ -10,7 +10,14 @@
   ${INCLUDE_INSTALL_DIR}
 )

+if(GOOGLEHASH_INCLUDES)
+  # let's make sure it compiles with the current compiler
+  file(WRITE ${CMAKE_BINARY_DIR}/googlehash_test.cpp
+  "#include <google/sparse_hash_map>\n#include <google/dense_hash_map>\nint main(int argc, char** argv) { google::dense_hash_map<int,float> a; google::sparse_hash_map<int,float> b; return 0;}\n")
+  try_compile(GOOGLEHASH_COMPILE ${CMAKE_BINARY_DIR} ${CMAKE_BINARY_DIR}/googlehash_test.cpp OUTPUT_VARIABLE GOOGLEHASH_COMPILE_RESULT)
+endif(GOOGLEHASH_INCLUDES)
+
 include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GOOGLEHASH DEFAULT_MSG GOOGLEHASH_INCLUDES)
+find_package_handle_standard_args(GOOGLEHASH DEFAULT_MSG GOOGLEHASH_INCLUDES GOOGLEHASH_COMPILE)

 mark_as_advanced(GOOGLEHASH_INCLUDES)


[cmake] more python fun

[cmake] more python fun

--- cmake/FindPythonFull.cmake
+++ cmake/FindPythonFull.cmake
@@ -55,16 +55,24 @@
       string(REPLACE "\\" "/" PYTHON_PREFIX ${PYTHON_PREFIX})
     endif(WIN32)

+    set(PY_VARIANTS "mu;m;u")
+    set(PYLIB_NAMES python${PYTHON_VERSION_NO_DOTS})
+    set(PYLIB_HINTS ${PYTHON_PREFIX})
+    foreach(_PY_V ${PY_VARIANTS})
+      set(_PY_N  python${PYTHON_VERSION}${_PY_V})
+      list(APPEND PYLIB_NAMES ${_PY_N})
+      list(APPEND PYLIB_HINTS ${PYTHON_PREFIX}/lib/${_PY_N}/config) # I'm not sure this one is used anywhere, but it doesn't hurt to add it
+      list(APPEND PYLIB_HINTS ${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config-${PYTHON_VERSION}${_PY_V}-${CMAKE_LIBRARY_ARCHITECTURE})
+    endforeach(_PY_V ${PY_VARIANTS})
+    list(APPEND PYLIB_NAMES python${PYTHON_VERSION})
+    list(APPEND PYLIB_HINTS ${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config)
+    list(APPEND PYLIB_HINTS ${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config-${CMAKE_LIBRARY_ARCHITECTURE})
+
     # --- Search python library corresponding to python exec.
     find_library(PYTHON_LIBRARY
-      NAMES
-      python${PYTHON_VERSION_NO_DOTS}
-      python${PYTHON_VERSION}mu
-      python${PYTHON_VERSION}m
-      python${PYTHON_VERSION}u
-      python${PYTHON_VERSION}
+      NAMES ${PYLIB_NAMES}
       NO_DEFAULT_PATH
-      HINTS ${PYTHON_PREFIX} ${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config ${PYTHON_PREFIX}/lib/python${PYTHON_VERSION}/config-${CMAKE_LIBRARY_ARCHITECTURE}
+      HINTS ${PYLIB_HINTS}
       PATH_SUFFIXES lib libs
       )


Fix CMAKE_MODULE_PATH

Fix CMAKE_MODULE_PATH

--- cmake/MyPackageStart.cmake
+++ 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


Version information cached

Version information cached

--- cmake/MyPackageStart.cmake
+++ cmake/MyPackageStart.cmake
@@ -5,16 +5,11 @@
   PROJECT (${packageName} VERSION ${versionMajor}.${versionMinor}.${versionPatch} LANGUAGES C CXX)  # This is setting PROJECT_NAME -;
   MESSAGE (STATUS "[${PROJECT_NAME}-START-STATUS] Starting version ${versionMajor}.${versionMinor}.${versionPatch}")
   STRING (TOUPPER ${PROJECT_NAME} _PROJECTNAME)
-  SET (${_PROJECTNAME}_VERSION_MAJOR ${versionMajor})
-  SET (${_PROJECTNAME}_VERSION_MINOR ${versionMinor})
-  SET (${_PROJECTNAME}_VERSION_PATCH ${versionPatch})
-  SET (${_PROJECTNAME}_VERSION "${${_PROJECTNAME}_VERSION_MAJOR}.${${_PROJECTNAME}_VERSION_MINOR}.${${_PROJECTNAME}_VERSION_PATCH}")
-  MARK_AS_ADVANCED(
-    ${_PROJECTNAME}_VERSION_MAJOR
-    ${_PROJECTNAME}_VERSION_MINOR
-    ${_PROJECTNAME}_VERSION_PATH
-    ${_PROJECTNAME}_VERSION
-    )
+  SET (${_PROJECTNAME}_VERSION_MAJOR ${versionMajor} CACHE STRING "${PROJECT_NAME} major version")
+  SET (${_PROJECTNAME}_VERSION_MINOR ${versionMinor} CACHE STRING "${PROJECT_NAME} minor version")
+  SET (${_PROJECTNAME}_VERSION_PATCH ${versionPatch} CACHE STRING "${PROJECT_NAME} patch version")
+  SET (${_PROJECTNAME}_VERSION "${${_PROJECTNAME}_VERSION_MAJOR}.${${_PROJECTNAME}_VERSION_MINOR}.${${_PROJECTNAME}_VERSION_PATCH}"
+     CACHE STRING "${PROJECT_NAME} version")
   #
   # Options
   #


update doc to clarify importance of case

--- cmake/catkin_package.cmake
+++ cmake/catkin_package.cmake
@@ -31,7 +31,9 @@
 # :param DEPENDS: a list of CMake projects which this project depends
 #   on.  Since they might not be *find_packagable* or lack a pkg-config
 #   file their ``INCLUDE_DIRS`` and ``LIBRARIES`` are passed directly.
-#   This requires that it has been ``find_package``\ -ed before.
+#   This requires that it has been ``find_package``\ -ed before and all
+#   variables (``<name>_FOUND``, ``<name>_INCLUDE_DIRS``, etc.) have the
+#   same case as this argument.
 # :type DEPENDS: list of strings
 # :param CFG_EXTRAS: a CMake file containing extra stuff that should
 #   be accessible to users of this package after


fix output directory and output format

fix output directory and output format

--- tools/cmake/ANHLibrary.cmake
+++ tools/cmake/ANHLibrary.cmake
@@ -192,7 +192,7 @@
                     add_test(
                         NAME all_${name}_tests_${configuration}
                         CONFIGURATIONS ${configuration}
-                        COMMAND ${name}_test "--catch_system_error=yes  --log_level=test_suite output_format=XML:${PROJECT_BINARY_DIR}/reports/$<CONFIGURATION>/"
+                        COMMAND ${name}_test "--catch_system_error=yes  --log_level=test_suite --output_format=XML>${PROJECT_BINARY_DIR}/reports/$<CONFIGURATION>/"
                         WORKING_DIRECTORY ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${configuration}
                     )
                 endforeach()


Corrects test binary paths in the CMake build script.

--- cmake/internal_utils.cmake
+++ cmake/internal_utils.cmake
@@ -184,7 +184,7 @@
     # only at ctest runtime (by calling ctest -c <Configuration>), so
     # we have to escape $ to delay variable substitution here.
     add_test(${name}
-      ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/test/${name}.py
-          --build_dir=${CMAKE_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
+      ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/test/${name}.py
+          --build_dir=${CMAKE_CURRENT_BINARY_DIR}/\${CTEST_CONFIGURATION_TYPE})
   endif()
 endfunction()


CMake ARMClang: use -masm=auto

CMake ARMClang: use -masm=auto

Auto mode for ASM files. There might be rare cases where this fails, we will fix
them by requesting the component to use gnu syntax for assembly files.

--- cmake/toolchains/ARM.cmake
+++ cmake/toolchains/ARM.cmake
@@ -44,7 +44,7 @@

     target_compile_options(${target}
         PUBLIC
-            $<$<COMPILE_LANGUAGE:ASM>:--target=arm-arm-none-eabi -masm=armasm>
+            $<$<COMPILE_LANGUAGE:ASM>:--target=arm-arm-none-eabi -masm=auto>
             $<$<COMPILE_LANGUAGE:ASM>:${MBED_STUDIO_ARM_COMPILER}>
     )


Revert "[KAA-621] Samsung Artik 5 integration"

--- client/client-multi/client-cpp/toolchains/artik.cmake
+++ client/client-multi/client-cpp/toolchains/artik.cmake
@@ -1,29 +0,0 @@
-include(CMakeForceCompiler)
-
-#Set the target parameters
-set(CMAKE_SYSTEM_NAME Linux)
-set(CMAKE_SYSTEM_VERSION arm-linux)
-set(CMAKE_SYSTEM_PROCESSOR arm)
-
-set(artik_sdk_root /opt/gcc-linaro-arm-linux-gnueabihf)
-set(cross_compiler_sysroot ${artik_sdk_root})
-
-CMAKE_FORCE_C_COMPILER(${cross_compiler_sysroot}/bin/arm-linux-gnueabihf-gcc GNU)
-
-set(CMAKE_SYSROOT ${artik_sdk_root}/arm-linux-gnueabihf/libc)
-set(CMAKE_FIND_ROOT_PATH ${CMAKE_SYSROOT})
-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_FIND_ROOT_PATH_MODE_PACKAGE ONLY)
-
-
-SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Os -g3 -Wall --sysroot=${CMAKE_SYSROOT}"  CACHE STRING "" FORCE)
-SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Os -g3 -Wall --sysroot=${CMAKE_SYSROOT}"  CACHE STRING "" FORCE)
-
-set(CMAKE_SHARED_LIBRARY_LINK_C_FLAGS "")
-set(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "")
-
-INCLUDE_DIRECTORIES(${CMAKE_SYSROOT}/arm-linux-gnueabihf/include/c++/4.8.2)
-INCLUDE_DIRECTORIES(${CMAKE_SYSROOT}/arm-linux-gnueabihf/libc/usr/include)
-INCLUDE_DIRECTORIES(${CMAKE_SYSROOT}/lib/gcc/arm-linux-gnueabihf/4.8.2/include)


CMake prior v3.7 does not support %a %b for TIMESTAMP

--- common/cmake/package.cmake
+++ common/cmake/package.cmake
@@ -224,7 +224,11 @@
     SET(CPACK_RPM_PACKAGE_LICENSE "ASL 2.0") # Apache Software License, Version 2.0
     SET(CPACK_RPM_PACKAGE_GROUP "Development/Libraries")
     SET(CPACK_RPM_CHANGELOG_FILE ${CMAKE_BINARY_DIR}/rpm_changelog.txt) # ChangeLog of the RPM
-    STRING(TIMESTAMP CHANGELOG_DATE "%a %b %d %Y")
+    IF (CMAKE_VERSION VERSION_LESS "3.7.0")
+      EXECUTE_PROCESS(COMMAND date "+%a %b %d %Y" OUTPUT_VARIABLE CHANGELOG_DATE OUTPUT_STRIP_TRAILING_WHITESPACE)
+    ELSE()
+      STRING(TIMESTAMP CHANGELOG_DATE "%a %b %d %Y")
+    ENDIF()
     SET(RPM_CHANGELOG "* ${CHANGELOG_DATE} Johannes Günther <johannes.guenther@intel.com> - ${EMBREE_VERSION}-${CPACK_RPM_PACKAGE_RELEASE}\n- First package")
     FILE(WRITE ${CPACK_RPM_CHANGELOG_FILE} ${RPM_CHANGELOG})
     SET(CPACK_RPM_PACKAGE_URL http://embree.github.io/)


updated Windows package names to be different for Win32 and x64

--- common/cmake/package.cmake
+++ common/cmake/package.cmake
@@ -168,8 +168,8 @@
     SET(CPACK_PACKAGE_FILE_NAME "${CPACK_PACKAGE_FILE_NAME}.${ARCH}")
     SET(CPACK_COMPONENTS_ALL lib devel examples)
     SET(CPACK_NSIS_INSTALL_ROOT "${PROGRAMFILES}\\\\Intel")
-    SET(CPACK_NSIS_DISPLAY_NAME "Embree: High Performance Ray Tracing Kernels")
-    SET(CPACK_NSIS_PACKAGE_NAME "Embree ${EMBREE_VERSION}")
+    SET(CPACK_NSIS_DISPLAY_NAME "Embree: High Performance Ray Tracing Kernels ${ARCH}")
+    SET(CPACK_NSIS_PACKAGE_NAME "Embree ${EMBREE_VERSION} ${ARCH}")
     SET(CPACK_NSIS_URL_INFO_ABOUT http://embree.github.io/)
     #SET(CPACK_NSIS_HELP_LINK http://embree.github.io/downloads.html#windows)
     SET(CPACK_NSIS_MUI_ICON ${PROJECT_SOURCE_DIR}/scripts/install_windows/icon32.ico)


Drop diff-clang-format.py and use check_format_cpp.sh instead

--- cmake/CodeFormat.cmake
+++ cmake/CodeFormat.cmake
@@ -25,69 +25,21 @@
 if(NOT CLANG_FORMAT_VERSION MATCHES "6.0")
     message(FATAL_ERROR "You must use clang-format version 6.0")
 endif()
-# Download diff-clang-format.py from ORNL-CEES/Cap
-file(DOWNLOAD
-    https://raw.githubusercontent.com/ORNL-CEES/Cap/master/diff-clang-format.py
-    ${CMAKE_BINARY_DIR}/diff-clang-format.py
-    STATUS status
-)
-list(GET status 0 error_code)
-if(error_code)
-    list(GET status 1 error_string)
-    message(WARNING "Failed downloading diff-clang-format.py from GitHub"
-            " (${error_string})")
-    message("-- " "NOTE: Disabling C++ code formatting because "
-            "diff-clang-format-cpp.py is missing")
-    set(skip TRUE)
-endif()

-# Do not bother continuing if not able to fetch diff-clang-format.py
-if(NOT skip)
-
-# Download docopt command line argument parser
-file(DOWNLOAD
-    https://raw.githubusercontent.com/docopt/docopt/0.6.2/docopt.py
-    ${CMAKE_BINARY_DIR}/docopt.py
-)
 # Add a custom target that applies the C++ code formatting style to the source
 add_custom_target(format-cpp
-    ${PYTHON_EXECUTABLE} ${CMAKE_BINARY_DIR}/diff-clang-format.py
-        --file-extension='.hpp'
-        --file-extension='.cpp'
-        --file-extension='.h'
-        --file-extension='.c'
-        --binary=${CLANG_FORMAT_EXECUTABLE}
-        --style=file
-        --config=${${PACKAGE_NAME}_SOURCE_DIR}/.clang-format
-        --apply-patch
-        ${${PACKAGE_NAME}_SOURCE_DIR}/packages
+    COMMAND
+        CLANG_FORMAT_EXE=${CLANG_FORMAT_EXECUTABLE}
+        ${${PACKAGE_NAME}_SOURCE_DIR}/scripts/check_format_cpp.sh --apply-patch
+    WORKING_DIRECTORY ${${PACKAGE_NAME}_SOURCE_DIR}
 )
+
 # Add a test that checks the code is formatted properly
-file(WRITE
-    ${${PACKAGE_NAME}_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/check_format_cpp.sh
-    "#!/usr/bin/env bash\n"
-    "\n"
-    "${PYTHON_EXECUTABLE} "
-    "${CMAKE_BINARY_DIR}/diff-clang-format.py "
-    "--file-extension='.hpp' --file-extension='.cpp' "
-    "--file-extension='.h' --file-extension='.c' "
-    "--binary=${CLANG_FORMAT_EXECUTABLE} "
-    "--style=file "
-    "--config=${${PACKAGE_NAME}_SOURCE_DIR}/.clang-format "
-    "${${PACKAGE_NAME}_SOURCE_DIR}/packages"
-)
-file(COPY
-    ${${PACKAGE_NAME}_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/check_format_cpp.sh
-    DESTINATION
-        ${${PACKAGE_NAME}_BINARY_DIR}
-    FILE_PERMISSIONS
-        OWNER_READ OWNER_WRITE OWNER_EXECUTE
-        GROUP_READ GROUP_EXECUTE
-        WORLD_READ WORLD_EXECUTE
-)
 add_test(
     NAME check_format_cpp
-    COMMAND ${${PACKAGE_NAME}_BINARY_DIR}/check_format_cpp.sh
+    COMMAND ${${PACKAGE_NAME}_SOURCE_DIR}/scripts/check_format_cpp.sh
+    WORKING_DIRECTORY ${${PACKAGE_NAME}_SOURCE_DIR}
 )
-
-endif() # skip when download fails
+set_tests_properties( check_format_cpp PROPERTIES
+    ENVIRONMENT CLANG_FORMAT_EXE=${CLANG_FORMAT_EXECUTABLE}
+)


Avoid testing for FOUR_ARGS_SIGNATURE on systems without bfd

--- cmake/FindLibBfd.cmake
+++ cmake/FindLibBfd.cmake
@@ -42,6 +42,7 @@

 mark_as_advanced(LIBBFD_INCLUDE_DIRS LIBBFD_LIBRARIES)

+if(${LIBBFD_FOUND})
 SET(CMAKE_REQUIRED_LIBRARIES bfd opcodes)
 INCLUDE(CheckCXXSourceCompiles)
 CHECK_CXX_SOURCE_COMPILES("
@@ -60,3 +61,4 @@
   return 0;
 }" LIBBFD_DISASM_FOUR_ARGS_SIGNATURE)
 SET(CMAKE_REQUIRED_LIBRARIES)
+endif()


Torch3 library location depend on the system.

--- cmake/FindTorch3.cmake
+++ cmake/FindTorch3.cmake
@@ -29,7 +29,7 @@
       ${TORCH3_DIR}/gradients
       )
     set(TORCH3_LIBRARY_DIRS
-      ${TORCH3_DIR}/libs/Linux_opt_float
+      ${TORCH3_DIR}/libs/${CMAKE_SYSTEM_NAME}_opt_float
       )
     set(TORCH3_LIBRARIES
       torch


Added support for Windows static linking.  This required refactoring of the dependency management so now that is more robust.

--- scripts/project.cmake
+++ scripts/project.cmake
@@ -1,10 +1,10 @@
 set(DOLLAR_SIGN "$")

-if (IOS OR ANDROID)
-  set(BUILD_SHARED_LIBS OFF)
-else ()
-  set(BUILD_SHARED_LIBS true)
-endif ()
+#if (IOS OR ANDROID)
+set(BUILD_SHARED_LIBS OFF)
+#else ()
+#  set(BUILD_SHARED_LIBS true)
+#endif ()

 if (IOS)
   add_definitions(-DIOS=1)
@@ -14,6 +14,8 @@
   set(CMAKE_OSX_ARCHITECTURES "armv7 arm64")
   list(APPEND ALL_PROJECTS ${target})
   set(ALL_PROJECTS ${ALL_PROJECTS} PARENT_SCOPE)
+  set(IS_EXECUTABLE ${is_executable})
+  set(IS_EXECUTABLE ${is_executable} PARENT_SCOPE)

   # Optimize debug build to help diagnose release build crashes.
   if (GCC_DEBUG_OPTIMIZATION_LEVEL)
@@ -109,43 +111,78 @@
   endif ()
 endmacro(create_test)

+macro(append_dependency_hierarchy libraries output_variable)
+  #  message("${libraries}")
+  foreach (library_name ${libraries})
+    list(FIND ${output_variable} ${library_name} already_added)
+    #    message("'${${output_variable}}' ${library_name} ${already_added}")
+    if (${already_added} EQUAL "-1")
+      list(APPEND ${output_variable} ${library_name})
+      append_dependency_hierarchy("${${library_name}_dependencies}" ${output_variable})
+    endif ()
+  endforeach ()
+endmacro()
+
+macro(get_dependency_hierarchy libraries output_variable)
+  set(${output_variable} "")
+  append_dependency_hierarchy("${libraries}" ${output_variable})
+endmacro()
+
 macro(include_project library_name)
   if (${library_name}_includes)
     include_directories(${${library_name}_includes})
   else ()
     #    message("${library_name}_DIR ${${library_name}_DIR}")
-#    find_package(${library_name} REQUIRED)
+    #    find_package(${library_name} REQUIRED)
     include(${${library_name}_DIR}/${library_name}-config.cmake)
   endif ()
-  set(temp ${${library_name}_dependencies})
-
-  foreach (dependency IN LISTS temp)
-        include_project(${dependency})
-  endforeach ()
+
+  #
+  #  set(temp ${${library_name}_dependencies})
+  #  foreach (dependency IN LISTS temp)
+  #    include_project(${dependency})
+  #  endforeach ()
 endmacro()

 macro(require)
+
   if (LOCAL_TARGET)
+    get_dependency_hierarchy("${ARGN}" all_dependencies)
+    #    message("  ${CURRENT_TARGET}: ${all_dependencies}")
+    foreach (library_name ${all_dependencies})
+      include_project(${library_name})
+      if (TARGET ${library_name} AND IS_EXECUTABLE)
+        target_link_libraries(${CURRENT_TARGET}
+          $<TARGET_FILE:${library_name}>
+          )
+
+        if (${library_name}_external_dependencies)
+          #          message("*** ${${library_name}_external_dependencies}")
+          set(temp ${${library_name}_external_dependencies})
+          foreach (external_library IN LISTS temp)
+            message("Linking dynamic: ${external_library}")
+            link_external(${external_library})
+          endforeach ()
+        endif ()
+
+        if (${library_name}_external_static_dependencies)
+          #          message("*** ${${library_name}_external_dependencies}")
+          set(temp ${${library_name}_external_static_dependencies})
+          foreach (external_library IN LISTS temp)
+            message("Linking  static: ${external_library}")
+            link_external_static(${external_library})
+            #            link_external_static(${external_library} ${external_library} ${external_library_${libname}_is_dynamc})
+          endforeach ()
+        endif ()
+      endif ()
+    endforeach ()
+
     foreach (library_name ${ARGN})
-      #          message(WARNING "${PROJECT_NAME} require ${library_name}")
-      include_project(${library_name})
-
       if (TARGET ${library_name})
-        if (IOS)
-          target_link_libraries(${CURRENT_TARGET}
-            $<TARGET_FILE:${library_name}>
-            )
-        else ()
-          target_link_libraries(${CURRENT_TARGET}
-            $<TARGET_LINKER_FILE:${library_name}>
-            )
-        endif ()
-
         add_dependencies(${CURRENT_TARGET}
           ${library_name}
           )
         list(APPEND "${CURRENT_TARGET}_dependencies" "${library_name}")
-        #        message("${${CURRENT_TARGET}_dependencies}")
         set(${CURRENT_TARGET}_dependencies ${${CURRENT_TARGET}_dependencies} PARENT_SCOPE)
       endif ()
     endforeach ()
@@ -170,15 +207,15 @@
     endif ()

     project(${project_name})
-#    message("project ${project_name}")
+    #    message("project ${project_name}")
     if (EXISTS "${CMAKE_CURRENT_LIST_DIR}/${project_name}-config.cmake")
-#      message(${CMAKE_CURRENT_LIST_DIR}/${project_name}-config.cmake)
-#      if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
-        set(${project_name}_DIR ${CMAKE_CURRENT_LIST_DIR} CACHE INTERNAL "${project_name} dir")
-#      else ()
-#        set(${project_name}_DIR ${CMAKE_CURRENT_LIST_DIR} PARENT_SCOPE)
-#      endif ()
-#      message("${project_name}_DIR ${${project_name}_DIR}")
+      #      message(${CMAKE_CURRENT_LIST_DIR}/${project_name}-config.cmake)
+      #      if (CMAKE_SOURCE_DIR STREQUAL CMAKE_CURRENT_SOURCE_DIR)
+      set(${project_name}_DIR ${CMAKE_CURRENT_LIST_DIR} CACHE INTERNAL "${project_name} dir")
+      #      else ()
+      #        set(${project_name}_DIR ${CMAKE_CURRENT_LIST_DIR} PARENT_SCOPE)
+      #      endif ()
+      #      message("${project_name}_DIR ${${project_name}_DIR}")

       include(${project_name}-config.cmake)

@@ -356,6 +393,11 @@
     set(libname ${path})
   endif ()

+  if (NOT is_dynamic)
+    list(APPEND "${CURRENT_TARGET}_external_static_dependencies" "${libname}")
+    set(${CURRENT_TARGET}_external_static_dependencies ${${CURRENT_TARGET}_external_static_dependencies} PARENT_SCOPE)
+  endif ()
+
   set(include_suffix "${ARGV3}")
   if (NOT include_suffix)
     set(include_suffix "")
@@ -384,6 +426,8 @@
     doctor_static(libname ${fullpath} ${is_dynamic})

     #  message("${CURRENT_TARGET} ${fullpath}/${libname}")
+    message("${CURRENT_TARGET} ${fullpath}/${libname} ${is_dynamic}")
+
     if (IOS)
       target_link_libraries(${CURRENT_TARGET} "-l${fullpath}/${libname}")
     else ()
@@ -406,26 +450,35 @@
     set(dllname ${libname})
   endif ()

-  if (IOS OR ANDROID)
+  if (NOT IS_EXECUTABLE)
+    list(APPEND "${CURRENT_TARGET}_external_dependencies" "${libname}")
+    set(${CURRENT_TARGET}_external_dependencies ${${CURRENT_TARGET}_external_dependencies} PARENT_SCOPE)
+    #    set(external_library_${libname}_is_dynamic TRUE)
+  endif (
+
+  )
+  if (IOS)
     link_external_static(${path} ${libname})
   else ()
     link_external_static(${path} ${libname} TRUE)

-    if (MSVC)
-      #      set(fullpath "${MYTHIC_DEPENDENCIES}/$<$<CONFIG:debug>:Debug>$<$<CONFIG:release>:Release>:Debug>$<$<CONFIG:relwithdebinfo>:Release>/${path}/bin")
-      set(fullpath "${MYTHIC_DEPENDENCIES}/RelWithDebInfo/${path}/bin")
-    else ()
-      set(fullpath "${MYTHIC_DEPENDENCIES}/${path}/bin")
-    endif ()
-
-    doctor_dynamic(dllname ${fullpath})
-    #message("${CURRENT_TARGET} ${fullpath}/${dllname}")
-    add_custom_command(TARGET ${CURRENT_TARGET} POST_BUILD
-      COMMAND ${CMAKE_COMMAND} -E copy ${fullpath}/${dllname} $<TARGET_FILE_DIR:${CURRENT_TARGET}>
-      )
-
-  endif ()
-endmacro()
+    if (IS_EXECUTABLE)
+      if (MSVC)
+        #      set(fullpath "${MYTHIC_DEPENDENCIES}/$<$<CONFIG:debug>:Debug>$<$<CONFIG:release>:Release>:Debug>$<$<CONFIG:relwithdebinfo>:Release>/${path}/bin")
+        set(fullpath "${MYTHIC_DEPENDENCIES}/RelWithDebInfo/${path}/bin")
+      else ()
+        set(fullpath "${MYTHIC_DEPENDENCIES}/${path}/bin")
+      endif ()
+
+      doctor_dynamic(dllname ${fullpath})
+      #      message(WARNING "${CURRENT_TARGET} ${fullpath}/${dllname}")
+      add_custom_command(TARGET ${CURRENT_TARGET} POST_BUILD
+        COMMAND ${CMAKE_COMMAND} -E copy ${fullpath}/${dllname} $<TARGET_FILE_DIR:${CURRENT_TARGET}>
+        )
+    endif ()
+  endif ()
+endmacro()
+
 #if (ANRDOID_NDK)
 macro(add_system_libraries)
   #    if (NOT "${ARGN}" STREQUAL "")


Fixed tokudb with ccache build failure.

Fixed tokudb with ccache build failure.

--- storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake
+++ storage/tokudb/ft-index/cmake_modules/TokuThirdParty.cmake
@@ -7,7 +7,7 @@
   list(APPEND xz_configure_opts --disable-assembler)
 endif ()

-list(APPEND xz_configure_opts CC=${CMAKE_C_COMPILER})
+list(APPEND xz_configure_opts "CC=${CMAKE_C_COMPILER} ${CMAKE_C_COMPILER_ARG1}")
 if (CMAKE_BUILD_TYPE STREQUAL Debug OR CMAKE_BUILD_TYPE STREQUAL drd)
   list(APPEND xz_configure_opts --enable-debug)
 endif ()


[CMake] Disable BUILD_TESTING for Eigen. (#7586)

We don't actually run these tests, so building them is a waste of time. They can also cause surprising interactions with the environment (e.g. see issue #7374), in cases where some of the test dependencies are available.

--- tensorflow/contrib/cmake/external/eigen.cmake
+++ tensorflow/contrib/cmake/external/eigen.cmake
@@ -36,4 +36,5 @@
         -DCMAKE_VERBOSE_MAKEFILE:BOOL=OFF
         -DCMAKE_INSTALL_PREFIX:STRING=${eigen_INSTALL}
         -DINCLUDE_INSTALL_DIR:STRING=${CMAKE_CURRENT_BINARY_DIR}/external/eigen_archive
+        -DBUILD_TESTING:BOOL=OFF
 )


config-gpgme++.h: --warnings

config-gpgme++.h: --warnings

svn path=/trunk/KDE/kdepimlibs/; revision=1204249

--- config-gpgme++.h.cmake
+++ config-gpgme++.h.cmake
@@ -118,8 +118,14 @@
 /* Define to 1 if your gpgme_conf_arg_new takes its 'value' parameter as const void* */
 #cmakedefine HAVE_GPGME_CONF_ARG_NEW_WITH_CONST_VALUE 1

+#ifndef GPGMEPP_ERR_SOURCE_DEFAULT
 #define GPGMEPP_ERR_SOURCE_DEFAULT 22
+#endif
+#ifndef   GPGME_ERR_SOURCE_DEFAULT
 #define   GPGME_ERR_SOURCE_DEFAULT ((gpgme_err_source_t)22)
+#endif
+#ifndef     GPG_ERR_SOURCE_DEFAULT
 #define     GPG_ERR_SOURCE_DEFAULT ((gpg_err_source_t)22)
+#endif

 #endif /* __GPGMEPP_CONFIG_GPGMEPP_H__ */


Fixed CMake flags to allow for crosscompiling

--- src/cmake/BuzzBuildFlags.cmake
+++ src/cmake/BuzzBuildFlags.cmake
@@ -9,8 +9,8 @@
 #
 # General compilation flags
 #
-set(CMAKE_C_FLAGS   "-Wall -std=c99 -D_GNU_SOURCE")
-set(CMAKE_CXX_FLAGS "-Wall -D_GNU_SOURCE")
+set(CMAKE_C_FLAGS   "${CMAKE_C_FLAGS} -Wall -std=c99 -D_GNU_SOURCE")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -D_GNU_SOURCE")
 if(NOT APPLE)
   set(BUZZ_FLAGS_DEBUG "-g -ggdb3")
   add_definitions(-D_GNU_SOURCE)


Small fix for SALOME_CONFIGURE_PREPARE() macros

--- salome_adm/cmake_files/SalomeMacros.cmake
+++ salome_adm/cmake_files/SalomeMacros.cmake
@@ -846,7 +846,13 @@
 MACRO(SALOME_APPEND_LIST_OF_LIST result element_list)
   SET(_tmp_res)
   STRING(REPLACE ";" "," _tmp_res "${${element_list}}")
-  SET(${result} "${${result}};${_tmp_res}")  # LIST(APPEND ...) doesn't handle well empty elements!?
+
+  LIST(LENGTH result _list_len)
+  IF(NOT _list_len EQUAL 0)
+    SET(${result} "${${result}};${_tmp_res}")  # LIST(APPEND ...) doesn't handle well empty elements!?
+  ELSE()
+    SET(${result} "${_tmp_res}")               # to avoid first excess ; at the beginning of the list
+  ENDIF()
 ENDMACRO(SALOME_APPEND_LIST_OF_LIST)

 #########################################################################
@@ -873,7 +879,9 @@
     IF(${_prereq}_DIR)
       SET(_PREREQ_LIST "${_PREREQ_LIST} ${_prereq}")
       SET(_PREREQ_DIR_LIST "${_PREREQ_DIR_LIST} \"${${_prereq}_DIR}\"")
+      MESSAGE(STATUS "before _PREREQ_COMPO_LIST=${_PREREQ_COMPO_LIST}")
       SALOME_APPEND_LIST_OF_LIST(_PREREQ_COMPO_LIST Salome${_prereq}_COMPONENTS)
+      MESSAGE(STATUS "after _PREREQ_COMPO_LIST=${_PREREQ_COMPO_LIST}")
     ENDIF()
   ENDFOREACH()
 ENDMACRO(SALOME_CONFIGURE_PREPARE)


Add an option to the MSVC build to suppress boost's out of date config messages

Summary:
MSVC moves faster than boost updates, so it's not unusual to be building with an MSVC newer than the boost being used was able to be tested against. This causes Boost to emit a message at compile time for every compilation unit it is included in.
Luckly, boost provides a way out of the message, so add a config option to do so and enable it by default.

Reviewed By: yfeldblum

Differential Revision: D7388583

fbshipit-source-id: 8ecddc048df432df5200f4601e4121bdbd275220

--- CMake/FollyCompilerMSVC.cmake
+++ CMake/FollyCompilerMSVC.cmake
@@ -8,6 +8,7 @@
 option(MSVC_ENABLE_PARALLEL_BUILD "If enabled, build multiple source files in parallel." ON)
 option(MSVC_ENABLE_STATIC_ANALYSIS "If enabled, do more complex static analysis and generate warnings appropriately." OFF)
 option(MSVC_USE_STATIC_RUNTIME "If enabled, build against the static, rather than the dynamic, runtime." OFF)
+option(MSVC_SUPPRESS_BOOST_CONFIG_OUTDATED "If enabled, suppress Boost's warnings about the config being out of date." ON)

 # Alas, option() doesn't support string values.
 set(MSVC_FAVORED_ARCHITECTURE "blend" CACHE STRING "One of 'blend', 'AMD64', 'INTEL64', or 'ATOM'. This tells the compiler to generate code optimized to run best on the specified architecture.")
@@ -257,6 +258,7 @@

       $<$<BOOL:${MSVC_ENABLE_CPP_LATEST}>:_HAS_AUTO_PTR_ETC=1> # We're building in C++ 17 or greater mode, but certain dependencies (Boost) still have dependencies on unary_function and binary_function, so we have to make sure not to remove them.
       $<$<BOOL:${MSVC_ENABLE_LEAN_AND_MEAN_WINDOWS}>:WIN32_LEAN_AND_MEAN> # Don't include most of Windows.h
+      $<$<BOOL:${MSVC_SUPPRESS_BOOST_CONFIG_OUTDATED}>:BOOST_CONFIG_SUPPRESS_OUTDATED_MESSAGE> # MSVC moves faster than boost, so add a quick way to disable the messages.
   )

   # Ignore a warning about an object file not defining any symbols,


GC ENABLE_PIC

GC ENABLE_PIC

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

--- include/llvm/Config/config.h.cmake
+++ include/llvm/Config/config.h.cmake
@@ -12,9 +12,6 @@

 /* Define to 1 to enable crash overrides, and to 0 otherwise. */
 #cmakedefine01 ENABLE_CRASH_OVERRIDES
-
-/* Define if position independent code is enabled */
-#cmakedefine ENABLE_PIC

 /* Define to 1 if you have the `backtrace' function. */
 #cmakedefine HAVE_BACKTRACE ${HAVE_BACKTRACE}