BUILD and TEST commands

BUILD and TEST commands

--- armadillo.cmake
+++ armadillo.cmake
@@ -29,7 +29,6 @@
     URL                 ${armadillo_URL}
     URL_MD5             ${armadillo_MD5}
     UPDATE_COMMAND      ""
-    BUILD_COMMAND       make
     PATCH_COMMAND       ${BUILDEM_ENV_STRING} ${PATCH_EXE}
     	${armadillo}/include/armadillo_bits/config.hpp ${PATCH_DIR}/armadillo.patch

@@ -40,7 +39,6 @@

     BUILD_COMMAND       ${BUILDEM_ENV_STRING} make
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} make install
-    TEST_COMMAND        ${BUILDEM_ENV_STRING} make check
 )

 set_target_properties(${armadillo_NAME} PROPERTIES EXCLUDE_FROM_ALL ON)


Update tf_core_framework.cmake

Update tf_core_framework.cmake

gpu_tracer.cc replaced by device_tracer.cc

--- tensorflow/contrib/cmake/tf_core_framework.cmake
+++ tensorflow/contrib/cmake/tf_core_framework.cmake
@@ -211,7 +211,7 @@
   list(REMOVE_ITEM tf_core_platform_srcs ${tf_core_platform_gpu_srcs})
 else()
   file(GLOB tf_core_platform_srcs_exclude
-      "${tensorflow_source_dir}/tensorflow/core/platform/default/gpu_tracer.cc")
+      "${tensorflow_source_dir}/tensorflow/core/platform/default/device_tracer.cc")
   list(REMOVE_ITEM tf_core_platform_srcs ${tf_core_platform_srcs_exclude})
 endif()


ENH: Bump TubeTK to support CUFFTW (#1788)

--- Modules/Remote/TubeTK.remote.cmake
+++ Modules/Remote/TubeTK.remote.cmake
@@ -49,5 +49,5 @@
 "
   MODULE_COMPLIANCE_LEVEL 3
   GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKTubeTK.git
-  GIT_TAG "a570e993fca02ffa0019c9f23f99239c8b3cae97"
+  GIT_TAG "d9f08724e7b6fa275f501c91bc07d46fd4615e58"
   )


* build: add HOST_NAME_MAX constant;

* build: add HOST_NAME_MAX constant;

--- config.h.cmake
+++ config.h.cmake
@@ -3,6 +3,9 @@
 #ifndef _GNU_SOURCE
 #cmakedefine _GNU_SOURCE @_GNU_SOURCE@
 #endif
+
+/* Maximum host name length */
+#define HOST_NAME_MAX 64

 /* Define if kmod is available */
 #cmakedefine HAVE_KMOD @HAVE_KMOD@


Minor improvement to our MSVC solution (#87).

--- src/plugins/3rdparty/LLVM/common.cmake
+++ src/plugins/3rdparty/LLVM/common.cmake
@@ -24,6 +24,7 @@
     )

     IF(MSVC)
+        SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} /wd4244")
         SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /wd4146 /wd4244 /wd4355 /wd4503 /wd4624 /wd4805")
         # Note: to build LLVM generates quite a few warnings from MSVC, so
         #       disable them since we have nothing to do with them...


[gcc_compatibles] use gnu++14 instead of gnu++1z

gnu++1z is not compatible with targets using Qt Framework

--- toolchains/gcc_compatibles.cmake
+++ toolchains/gcc_compatibles.cmake
@@ -29,7 +29,7 @@
 # "Unknown language" error with CMake 3.5.2 if COMPILE_LANGUAGE:C is used.
 # + 'COMPILE_LANGUAGE' isn't supported by VS generators:
 # https://cmake.org/cmake/help/latest/manual/cmake-generator-expressions.7.html#logical-expressions
-add_compile_options( $<$<COMPILE_LANGUAGE:CXX>:-std=gnu++1z> )
+add_compile_options( $<$<COMPILE_LANGUAGE:CXX>:-std=gnu++14> )
 add_compile_options( $<$<NOT:$<COMPILE_LANGUAGE:CXX>>:-std=gnu11> )
 set( CMAKE_C_STANDARD   11 )
 set( CMAKE_CXX_STANDARD 14 )


Now copies plugin configurations to proper locations.

Signed-off-by: Eric Barr <97a02664f35ad0c9cbf2121dceebca2d7373e34a@anhstudios.com>

--- tools/cmake/Win32PostBuild.cmake
+++ tools/cmake/Win32PostBuild.cmake
@@ -102,6 +102,13 @@
 add_custom_command(
     TARGET DEPS
     POST_BUILD
+    COMMAND for /d %a in ("${WIN_PROJECT_SOURCE_DIR}\\..\\src\\plugins") do xcopy "%a\\*.cfg" "${WIN_PROJECT_BINARY_DIR}\\bin\\$\(Configuration\)\\config\\plugins" /D /I /Y /s
+    VERBATIM
+)
+
+add_custom_command(
+    TARGET DEPS
+    POST_BUILD
     COMMAND xcopy "${WIN_PROJECT_SOURCE_DIR}\\..\\data\\scripts" "${WIN_PROJECT_BINARY_DIR}\\bin\\$\(Configuration\)\\scripts" /D /I /Y /s
     VERBATIM
 )


FIX: PluginDependencies: Use -sort argument in DGraph call again. It was lost during merging.

--- CMake/ctkMacroValidateBuildOptions.cmake
+++ CMake/ctkMacroValidateBuildOptions.cmake
@@ -115,10 +115,10 @@
       # Obtain dependency path
       ctkMacroSetPaths("${QT_INSTALLED_LIBRARY_DIR}")
       EXECUTE_PROCESS(
-        COMMAND "${executable}" "${CTK_BINARY_DIR}/DGraphInput-alldep.txt" -paths ${target_project_name}
+        COMMAND "${executable}" "${CTK_BINARY_DIR}/DGraphInput-alldep.txt" -sort ${target_project_name}
         WORKING_DIRECTORY ${CTK_BINARY_DIR}
         RESULT_VARIABLE RESULT_VAR
-        OUTPUT_VARIABLE dep_paths
+        OUTPUT_VARIABLE dep_path
         ERROR_VARIABLE error
         OUTPUT_STRIP_TRAILING_WHITESPACE
         )
@@ -126,23 +126,20 @@
         MESSAGE(FATAL_ERROR "Failed to obtain dependence path of ${subir}.\n${RESULT_VAR}\n${CTK_BINARY_DIR}\n${error}")
       ENDIF()

-      FOREACH(dep_path ${dep_paths})
+      # Convert 'dep_path' to a list
+      STRING(REPLACE " " "\\;" dep_path_list ${dep_path})
+      SET(dep_path_list ${dep_path_list})

-        # Convert 'dep_path' to a list
-        STRING(REPLACE " " "\\;" dep_path_list ${dep_path})
-        SET(dep_path_list ${dep_path_list})
-
-        #MESSAGE("path for ${target_project_name} is: ${dep_path}")
+      #MESSAGE("path for ${target_project_name} is: ${dep_path_list}")

-        # Check if all target included in the dependency path are enabled
-        FOREACH(dep ${dep_path_list})
-          ctkMacroGetOptionName("${target_directories_with_target_name}" ${dep} dep_option)
-          IF(NOT ${${dep_option}})
-            # Enable option
-            MESSAGE(STATUS "Enabling option [${dep_option}] required by [${target_project_name}]")
-            SET(${dep_option} ON CACHE BOOL "Enable ${target_project_name} library" FORCE)
-          ENDIF()
-        ENDFOREACH()
+      # Check if all target included in the dependency path are enabled
+      FOREACH(dep ${dep_path_list})
+        ctkMacroGetOptionName("${target_directories_with_target_name}" ${dep} dep_option)
+        IF(NOT ${${dep_option}})
+          # Enable option
+          MESSAGE(STATUS "Enabling option [${dep_option}] required by [${target_project_name}]")
+          SET(${dep_option} ON CACHE BOOL "Enable ${target_project_name} library" FORCE)
+        ENDIF()
       ENDFOREACH()
     ENDIF()


Disable run_binary_test on Android (#4402)

These tests were broken by https://github.com/google/iree/pull/4364
(https://buildkite.com/iree/iree-android-arm64-v8a/builds/3408#2703aa49-1075-4199-96bb-233f94d8727b).
Temporarily disabling to get things green so we avoid regressions while
I test out the fix.

--- build_tools/cmake/iree_run_binary_test.cmake
+++ build_tools/cmake/iree_run_binary_test.cmake
@@ -70,6 +70,8 @@
   string(REPLACE "::" "_" _TEST_BINARY_EXECUTABLE ${_TEST_BINARY_TARGET})

   if(ANDROID)
+    # TODO(gcmn): Fix this on android
+    return()
     set(_ANDROID_REL_DIR "${_PACKAGE_PATH}/${_RULE_NAME}")
     set(_ANDROID_ABS_DIR "/data/local/tmp/${_ANDROID_REL_DIR}")


Temporary fix for the compiler configuration.

--- cmake/DOConfigureCompiler.cmake
+++ cmake/DOConfigureCompiler.cmake
@@ -20,8 +20,9 @@
       set(ENABLE_CXX11 "-std=c++0x")
     endif ()
   endif ()
-  #set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${ENABLE_CXX11}")
-  add_definitions(${ENABLE_CXX11})
-  message(STATUS "  - Activating C++11 features, specifically for dependencies with Boost libraries.")
+  # TODO: investigate why C++11 is not still activated with the following.
+  # So I am commenting this for now.
+  #set (CMAKE_CXX_FLAGS "${ENABLE_CXX11}")
+  #message(STATUS "  - Activating C++11 features, specifically for dependencies with Boost libraries.")
   message(STATUS "  - C++11 compiler flags: ${CMAKE_CXX_FLAGS}")
 endif ()


Minor cmake change for protoc

Minor cmake change for protoc

Add a PROTOC_BIN variable for code like
tethys which generates .cc file from .proto

Also define variable with directory of libs
on windows because release and debug libs have different name.

Change-Id: I398f529917a5e16bff1c218870d85b754c6a6c2c

--- cmake/configureThirdParty.cmake
+++ cmake/configureThirdParty.cmake
@@ -166,11 +166,18 @@
         determine_compiler_and_arch()

         include_directories(SYSTEM ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0/include)
-        set(PROTOBUF_LIBRARIES ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0/vc${VS_VERSION}-${ARCH}/lib/libprotobuf.lib)
+        set(PROTOBUF_BIN ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0/protoc.exe)
+
+        #Don't define on windows because there is a different debug lib
+        #Instead normally these are linked using a statement like #pragma comment(lib, "libprotobufd.lib")
+        #set(PROTOBUF_LIBRARIES ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0/vc${VS_VERSION}-${ARCH}/lib/libprotobuf.lib)
+        set(PROTOBUF_LIBRARIES_DIRECTORY ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0/vc${VS_VERSION}-${ARCH}/lib)
         set(PROTOBUF_FOUND ON)
     elseif(CMAKE_HOST_APPLE)
         include_directories (SYSTEM ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0.2/include)
         set(PROTOBUF_LIBRARIES ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0.2/lib/libprotobuf.a)
+        set(PROTOBUF_BIN ${THIRDPARTY_LIB_ROOT}/protobuf/protobuf-3.0.2/bin/protoc)
+
         set(PROTOBUF_FOUND On)
     else()
         find_package(Protobuf)


CMake: Bugfix: Also export suitesparse include directories in project config

With 053bb82 a direct include of "umfpack.h" was introduced in
"sparse_direct.h" which makes it necessary for the user to have the umfpack
include directory location available

Closes #564

--- cmake/modules/FindUMFPACK.cmake
+++ cmake/modules/FindUMFPACK.cmake
@@ -1,6 +1,6 @@
 ## ---------------------------------------------------------------------
 ##
-## Copyright (C) 2012 - 2014 by the deal.II authors
+## Copyright (C) 2012 - 2015 by the deal.II authors
 ##
 ## This file is part of the deal.II library.
 ##
@@ -154,6 +154,9 @@
   INCLUDE_DIRS
     REQUIRED UMFPACK_INCLUDE_DIR AMD_INCLUDE_DIR
     OPTIONAL SuiteSparse_config_INCLUDE_DIR
+  USER_INCLUDE_DIRS
+    REQUIRED UMFPACK_INCLUDE_DIR AMD_INCLUDE_DIR
+    OPTIONAL SuiteSparse_config_INCLUDE_DIR
   LINKER_FLAGS
     OPTIONAL LAPACK_LINKER_FLAGS
   CLEAR


removed leftover cmake debugging output

removed leftover cmake debugging output

--- cmake/vienna_build_common.cmake
+++ cmake/vienna_build_common.cmake
@@ -22,7 +22,6 @@
 function (vienna_build_detail_include_prerequisites_and_globals SUB_PROJECT)
   #the scope provided by the function prevents subsequent variable changes from becoming permanent
   vienna_build_detail_prepare_subproject_variables(${SUB_PROJECT})
-  message("about to load globals for project ${SUB_PROJECT} - file dir: ${PROJECT_SOURCE_DIR}/cmake/prerequisites_and_globals.cmake")
   include(${PROJECT_SOURCE_DIR}/cmake/prerequisites_and_globals.cmake OPTIONAL)
 endfunction ()


Fix OxConfig.cmake prefix

Fix OxConfig.cmake prefix

--- OxConfig.cmake
+++ OxConfig.cmake
@@ -1,2 +1,2 @@
-set(Ox_INCLUDE_DIRS ${PREFIX}/include/ox)
-set(OxFs_LIBRARY ${PREFIX}/lib/ox/libOxFs.a)
+set(Ox_INCLUDE_DIRS ${CMAKE_FIND_ROOT_PATH}/include/)
+set(OxFs_LIBRARY ${CMAKE_FIND_ROOT_PATH}/lib/ox/libOxFs.a)


Revision = short SHA1

Revision = short SHA1

--- cmake/CheckGitVersion.cmake
+++ cmake/CheckGitVersion.cmake
@@ -19,6 +19,9 @@
 #  - ALIROOT_BRANCH - name of the branch or tag extracted from the current reference
 #  - GIT_SHA1 - current hash in the long format
 #  - GIT_SHORT_SHA1 - current hash in the short format
+#
+#  - ALIROOT_VERSION - name of the branch/tag
+#  - ALIROOT_REVISION - short sha1
 if(EXISTS ${PROJECT_SOURCE_DIR}/.git/)
     include(GetGitRevisionDescription)

@@ -26,6 +29,18 @@

     if(GIT_FOUND)
         get_git_head_revision(GIT_REFSPEC GIT_SHA1)
+
+        # generate the short version of the revision hash
+        execute_process(COMMAND git rev-parse --short ${GIT_SHA1}
+                          WORKING_DIRECTORY ${AliRoot_SOURCE_DIR}
+                          OUTPUT_STRIP_TRAILING_WHITESPACE
+                          RESULT_VARIABLE res
+                          OUTPUT_VARIABLE GIT_SHORT_SHA1)
+
+        # if the rev-parse fails we set the short sha to the long initial one
+        if(NOT res EQUAL 0)
+            set(GIT_SHORT_SHA1 ${GIT_SHA1})
+        endif()

         # GIT_REFSPEC is empty for detached mode = tags in detached mode or checkout to specific hash

@@ -42,24 +57,13 @@
             STRING(REGEX REPLACE "^(.+/)(.+/)(.*)$" "\\3" SHORT_BRANCH "${GIT_REFSPEC}" )
         else()
             set(SHORT_BRANCH ${ALIROOT_GIT_TAG})
-            set(ALIROOT_REVISION ${GIT_SHA1})
+            set(ALIROOT_REVISION ${GIT_SHORT_SHA1})
         endif()

         set(ALIROOT_BRANCH ${SHORT_BRANCH})
-
-        # generate the short version of the revision hash
-        execute_process(COMMAND git rev-parse --short ${GIT_SHA1}
-                          WORKING_DIRECTORY ${AliRoot_SOURCE_DIR}
-                          OUTPUT_STRIP_TRAILING_WHITESPACE
-                          RESULT_VARIABLE res
-                          OUTPUT_VARIABLE GIT_SHORT_SHA1)
+        set(ALIROOT_VERSION ${SHORT_BRANCH})

-        # if the rev-parse fails we set the short sha to the long initial one
-        if(NOT res EQUAL 0)
-            set(GIT_SHORT_SHA1 ${GIT_SHA1})
-        endif()
-
-        message(STATUS "Aliroot branch/tag: \"${ALIROOT_BRANCH}\" - Revision:  \"${GIT_SHORT_SHA1}\" ")
+        message(STATUS "Aliroot branch/tag: \"${ALIROOT_VERSION}\" - Revision:  \"${GIT_SHORT_SHA1}\" ")

     else()
         message(STATUS "Git not installed. I can't tell you which revision you are using!")


Update default.cmake

Update default.cmake

--- cmake/configs/default.cmake
+++ cmake/configs/default.cmake
@@ -24,7 +24,7 @@

 # NOTE: no names with spaces!

-hunter_config(vmime VERSION 0.9.2)
+hunter_config(vmime VERSION 0.9.2.1)
 hunter_config(gloox VERSION 1.0.20-p5)
 hunter_config(wdc VERSION 1.0.1-hunter-p1)
 hunter_config(pugixml VERSION 1.8.1)


update default to v0.40-p9

update default to v0.40-p9

--- cmake/configs/default.cmake
+++ cmake/configs/default.cmake
@@ -232,7 +232,7 @@
 hunter_config(xextproto VERSION 7.2.1)
 hunter_config(xf86vidmodeproto VERSION 2.3.1)
 hunter_config(xfixes VERSION 5.0.1)
-hunter_config(xgboost VERSION 0.40-p8)
+hunter_config(xgboost VERSION 0.40-p9)
 hunter_config(xi VERSION 1.6.1)
 hunter_config(xinerama VERSION 1.1.2)
 hunter_config(xineramaproto VERSION 1.1.2)


Upgrade bundled eigen version to 3.2.8

Upgrade bundled eigen version to 3.2.8

--- cmake/external/Eigen3.cmake
+++ cmake/external/Eigen3.cmake
@@ -5,8 +5,8 @@
 	Eigen3
 	PREFIX ${CMAKE_BINARY_DIR}/Eigen3
 	DOWNLOAD_DIR ${THIRD_PARTY_DIR}/Eigen3
-	URL http://bitbucket.org/eigen/eigen/get/3.1.4.tar.bz2
-	URL_MD5 15a7914c3768d51a3637fb3d64556a28
+	URL https://bitbucket.org/eigen/eigen/get/3.2.8.tar.bz2
+	URL_MD5 9e3bfaaab3db18253cfd87ea697b3ab1
 	CMAKE_ARGS -DEIGEN_INCLUDE_INSTALL_DIR:PATH=${THIRD_PARTY_DIR}/include/eigen
 		-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}${CMAKE_DEFINITIONS}
 		-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}${CMAKE_DEFINITIONS}


use the new MKLDNN repo url

use the new MKLDNN repo url

test=develop

--- cmake/external/mkldnn.cmake
+++ cmake/external/mkldnn.cmake
@@ -55,7 +55,7 @@
     ${MKLDNN_PROJECT}
     ${EXTERNAL_PROJECT_LOG_ARGS}
     DEPENDS             ${MKLDNN_DEPENDS}
-    GIT_REPOSITORY      "https://github.com/01org/mkl-dnn.git"
+    GIT_REPOSITORY      "https://github.com/intel/mkl-dnn.git"
     GIT_TAG             "830a10059a018cd2634d94195140cf2d8790a75a"
     PREFIX              ${MKLDNN_SOURCES_DIR}
     UPDATE_COMMAND      ""


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


cmake: post-copy-dlls: cleanup

cmake: post-copy-dlls: cleanup

--- cmake/qibuild/templates/post-copy-dlls.cmake
+++ cmake/qibuild/templates/post-copy-dlls.cmake
@@ -55,4 +55,4 @@
   endif()
 endforeach()

-file(COPY ${_in_dlls} DESTINATION ${CMAKE_BINARY_DIR}/sdk/${BUILD_TYPE})
+file(COPY ${_in_dlls} DESTINATION ${QI_SDK_DIR}/${QI_SDK_LIB}/${BUILD_TYPE})