cosmetics

cosmetics

--- src/Mac/projectDef.cmake
+++ src/Mac/projectDef.cmake
@@ -89,4 +89,4 @@
     )

 #To create a DMG, include the following file
-#include(Mac/installer.cmake)
+#include( Mac/installer.cmake )


cmake: Drop reports via https only.

cmake: Drop reports via https only.

Signed-off-by: Andreas Schneider <5be00ddc76278cf6077f5047ca3384a88460c671@cryptomilk.org>

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -3,7 +3,7 @@
 set(CTEST_PROJECT_NAME "libssh")
 set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")

-set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_METHOD "https")
 set(CTEST_DROP_SITE "test.libssh.org")
 set(CTEST_DROP_LOCATION "/submit.php?project=libssh")
 set(CTEST_DROP_SITE_CDASH TRUE)


Add ctest retry count/delay.

Add ctest retry count/delay.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -13,3 +13,6 @@
 set(CTEST_DROP_SITE "my.cdash.org")
 set(CTEST_DROP_LOCATION "/submit.php?project=oftr")
 set(CTEST_DROP_SITE_CDASH TRUE)
+
+set(CTEST_SUBMIT_RETRY_COUNT 4)
+set(CTEST_SUBMIT_RETRY_DELAY 90)


Switched CDash test location to the netcdf-staging branch.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -8,10 +8,10 @@

 set(DART_TESTING_TIMEOUT "4800")

-set(CTEST_PROJECT_NAME "netcdf-c")
+set(CTEST_PROJECT_NAME "netcdf-staging")
 set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

 set(CTEST_DROP_METHOD "http")
 set(CTEST_DROP_SITE "my.cdash.org")
-set(CTEST_DROP_LOCATION "/submit.php?project=netcdf-c")
+set(CTEST_DROP_LOCATION "/submit.php?project=netcdf-staging")
 set(CTEST_DROP_SITE_CDASH TRUE)


[t:4814] don't patch out recovery_fileops_unit.tdb, we want it to run and
need to fix it

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

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -124,7 +124,6 @@
 ## these tests fail often and aren't helpful
 set(known_failing_tests
   diskfull.tdb
-  recovery_fileops_unit.tdb
   )
 list(APPEND CTEST_CUSTOM_MEMCHECK_IGNORE ${known_failing_tests})
 list(APPEND CTEST_CUSTOM_TESTS_IGNORE ${known_failing_tests})


ASAN: correct libasan linking (gcc vs clang), workaround gtest gcc

We should only pass -lasan when using gcc and ASAN_ENABLED as this
otherwise results in clang linking the gcc sanitizer which in return
results in broken binarys.

Also currently use a workaround to add -lpthread when using ASAN with
gcc. This probably should be moved into the GTest logic of the cmake
files, but i am currently lacking the expertise to do this correctly.

--- cmake/ElektraCompiling.cmake
+++ cmake/ElektraCompiling.cmake
@@ -68,7 +68,12 @@
 if (ENABLE_ASAN)
 	set (EXTRA_FLAGS "${EXTRA_FLAGS} -fsanitize=address -fno-omit-frame-pointer")
 	set (ASAN_LIBRARY "-lasan") #this is needed for GIR to put asan in front
-	set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -lasan")
+	if (CMAKE_COMPILER_IS_GNUCXX)
+		set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fsanitize=address")
+		# this is currently a workaround so gtests compile with ASAN
+		#TODO someone with expertise migrate this into LibAddTest
+		set (COMMON_FLAGS "${COMMON_FLAGS} -lpthread")
+	endif ()
 	set (DISABLE_LSAN "LSAN_OPTIONS=detect_leaks=0") #this is needed so ASAN is not used during GIR compilation
 	message (STATUS "To use ASAN:\n"
 		 "   ASAN_OPTIONS=symbolize=1 ASAN_SYMBOLIZER_PATH=$(shell which llvm-symbolizer) ./bin \n"


docs: Update license of FindNCCL.cmake

docs: Update license of FindNCCL.cmake

--- cmake/Modules/FindNCCL.cmake
+++ cmake/Modules/FindNCCL.cmake
@@ -1,3 +1,79 @@
+# Copyright (c) 2021, NVIDIA CORPORATION. All rights reserved.
+#
+# From PyTorch:
+#
+# Copyright (c) 2016-     Facebook, Inc            (Adam Paszke)
+# Copyright (c) 2014-     Facebook, Inc            (Soumith Chintala)
+# Copyright (c) 2011-2014 Idiap Research Institute (Ronan Collobert)
+# Copyright (c) 2012-2014 Deepmind Technologies    (Koray Kavukcuoglu)
+# Copyright (c) 2011-2012 NEC Laboratories America (Koray Kavukcuoglu)
+# Copyright (c) 2011-2013 NYU                      (Clement Farabet)
+# Copyright (c) 2006-2010 NEC Laboratories America (Ronan Collobert, Leon Bottou, Iain Melvin, Jason Weston)
+# Copyright (c) 2006      Idiap Research Institute (Samy Bengio)
+# Copyright (c) 2001-2004 Idiap Research Institute (Ronan Collobert, Samy Bengio, Johnny Mariethoz)
+#
+# From Caffe2:
+#
+# Copyright (c) 2016-present, Facebook Inc. All rights reserved.
+#
+# All contributions by Facebook:
+# Copyright (c) 2016 Facebook Inc.
+#
+# All contributions by Google:
+# Copyright (c) 2015 Google Inc.
+# All rights reserved.
+#
+# All contributions by Yangqing Jia:
+# Copyright (c) 2015 Yangqing Jia
+# All rights reserved.
+#
+# All contributions by Kakao Brain:
+# Copyright 2019-2020 Kakao Brain
+#
+# All contributions from Caffe:
+# Copyright(c) 2013, 2014, 2015, the respective contributors
+# All rights reserved.
+#
+# All other contributions:
+# Copyright(c) 2015, 2016 the respective contributors
+# All rights reserved.
+#
+# Caffe2 uses a copyright model similar to Caffe: each contributor holds
+# copyright over their contributions to Caffe2. The project versioning records
+# all such contribution and copyright details. If a contributor wants to further
+# mark their specific copyright on a particular contribution, they should
+# indicate their copyright solely in the commit message of the change when it is
+# committed.
+#
+# All rights reserved.
+#
+# Redistribution and use in source and binary forms, with or without
+# modification, are permitted provided that the following conditions are met:
+#
+# 1. Redistributions of source code must retain the above copyright
+#    notice, this list of conditions and the following disclaimer.
+#
+# 2. Redistributions in binary form must reproduce the above copyright
+#    notice, this list of conditions and the following disclaimer in the
+#    documentation and/or other materials provided with the distribution.
+#
+# 3. Neither the names of Facebook, Deepmind Technologies, NYU, NEC Laboratories America
+#    and IDIAP Research Institute nor the names of its contributors may be
+#    used to endorse or promote products derived from this software without
+#    specific prior written permission.
+#
+# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
+# AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
+# IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
+# ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
+# LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
+# CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
+# SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
+# INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
+# CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
+# ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
+# POSSIBILITY OF SUCH DAMAGE.
+#
 # Find the nccl libraries
 #
 # The following variables are optionally searched for defaults


Only set QVTK_FOUND if it's actually found

list(FIND ..) set's the variable to -1 if the string is not found, so
QVTK_FOUND was set regardless if it was installed or not. This uses the
shorter MATCHES syntax to test for the modules.

--- cmake/Modules/FindQVTK.cmake
+++ cmake/Modules/FindQVTK.cmake
@@ -21,12 +21,10 @@
     set (VTK_USE_QVTK ON)
   endif(NOT QVTK_FOUND)
 else (${VTK_MAJOR_VERSION} VERSION_LESS "6.0")
-  list (FIND VTK_MODULES_ENABLED vtkGUISupportQt GUI_SUPPORT_QT_FOUND)
-  list (FIND VTK_MODULES_ENABLED vtkRenderingQt RENDERING_QT_FOUND)
-  if (GUI_SUPPORT_QT_FOUND AND RENDERING_QT_FOUND)
+  if (";${VTK_MODULES_ENABLED};" MATCHES ";vtkGUISupportQt;" AND ";${VTK_MODULES_ENABLED};" MATCHES ";vtkRenderingQt;")
     set (VTK_USE_QVTK ON)
     set (QVTK_LIBRARY vtkRenderingQt vtkGUISupportQt)
-  else (GUI_SUPPORT_QT_FOUND AND RENDERING_QT_FOUND)
+  else ()
     unset(QVTK_FOUND)
-  endif (GUI_SUPPORT_QT_FOUND AND RENDERING_QT_FOUND)
+  endif ()
 endif (${VTK_MAJOR_VERSION} VERSION_LESS "6.0")


fix: use CXX_STANDARD when extracting compiler flags for PCH with GNUCXX

When compiling with cmake using -DCMAKE_CXX_STANDARD=11 use `-std=gnu++11`
for PCH compiler flags, otherwise it triggers an error:

   opencv_core_Release.gch: not used because `__cplusplus' defined as ` 201103L' not ` 199711L' [-Winvalid-pch]

Use CXX_EXTENSIONS property to select `gnu++11` or `c++11`.
Trying to mimic cmake logic here: https://gitlab.kitware.com/cmake/cmake/blob/master/Source/cmLocalGenerator.cxx#L1527-1557

--- cmake/OpenCVPCHSupport.cmake
+++ cmake/OpenCVPCHSupport.cmake
@@ -56,6 +56,15 @@
           endforeach()
         endif()

+        GET_TARGET_PROPERTY(_cxx_standard ${_PCH_current_target} CXX_STANDARD)
+        if (_cxx_standard)
+            GET_TARGET_PROPERTY(_cxx_extensions ${_PCH_current_target} CXX_EXTENSIONS)
+            if (_cxx_extensions)
+                LIST(APPEND ${_out_compile_flags} "${CMAKE_CXX${_cxx_standard}_EXTENSION_COMPILE_OPTION}")
+            else()
+                LIST(APPEND ${_out_compile_flags} "${CMAKE_CXX${_cxx_standard}_STANDARD_COMPILE_OPTION}")
+            endif()
+        endif()
     ELSE()
         ## TODO ... ? or does it work out of the box
     ENDIF()


Change size reporting to include both firmware and eeprom and provide per section details

--- cmake/Platform/Arduino.cmake
+++ cmake/Platform/Arduino.cmake
@@ -781,6 +781,7 @@
     add_custom_command(TARGET ${TARGET_NAME} POST_BUILD
                         COMMAND ${CMAKE_COMMAND}
                         ARGS    -DFIRMWARE_IMAGE=${TARGET_PATH}.hex
+                                -DEEPROM_IMAGE=${TARGET_PATH}.eep
                                 -P ${ARDUINO_SIZE_SCRIPT}
                         COMMENT "Calculating image size"
                         VERBATIM)
@@ -789,6 +790,7 @@
     add_custom_target(${TARGET_NAME}-size
                         COMMAND ${CMAKE_COMMAND}
                                 -DFIRMWARE_IMAGE=${TARGET_PATH}.hex
+                                -DEEPROM_IMAGE=${TARGET_PATH}.eep
                                 -P ${ARDUINO_SIZE_SCRIPT}
                         DEPENDS ${TARGET_NAME}
                         COMMENT "Calculating ${TARGET_NAME} image size")
@@ -1527,19 +1529,11 @@
     set(AVRSIZE_PROGRAM ${AVRSIZE_PROGRAM})
     set(AVRSIZE_FLAGS --target=ihex -d)

-    execute_process(COMMAND \${AVRSIZE_PROGRAM} \${AVRSIZE_FLAGS} \${FIRMWARE_IMAGE}
+    execute_process(COMMAND \${AVRSIZE_PROGRAM} \${AVRSIZE_FLAGS} \${FIRMWARE_IMAGE} \${EEPROM_IMAGE}
                     OUTPUT_VARIABLE SIZE_OUTPUT)

-    string(STRIP \"\${SIZE_OUTPUT}\" SIZE_OUTPUT)
-
-    # Convert lines into a list
-    string(REPLACE \"\\n\" \";\" SIZE_OUTPUT \"\${SIZE_OUTPUT}\")
-
-    list(GET SIZE_OUTPUT 1 SIZE_ROW)
-
-    if(SIZE_ROW MATCHES \"[ \\t]*[0-9]+[ \\t]*[0-9]+[ \\t]*[0-9]+[ \\t]*([0-9]+)[ \\t]*([0-9a-fA-F]+).*\")
-        message(\"Total size \${CMAKE_MATCH_1} bytes\")
-    endif()")
+    string( REGEX REPLACE \"/[^\\n]*/\" \"\" SIZE_OUTPUT \"\${SIZE_OUTPUT}\" )
+    message( \"\n\${SIZE_OUTPUT}\" )" )

     set(${OUTPUT_VAR} ${ARDUINO_SIZE_SCRIPT_PATH} PARENT_SCOPE)
 endfunction()


[FreeBSD] Fix undefined references to __atomic*

--- cmake/modules/AddSwift.cmake
+++ cmake/modules/AddSwift.cmake
@@ -1531,6 +1531,11 @@
             if("${sdk}" STREQUAL "ANDROID")
               list(APPEND swiftlib_private_link_libraries_targets
                    "-latomic")
+            # the same issue on FreeBSD, missing symbols:
+            # __atomic_store, __atomic_compare_exchange, __atomic_load
+            elseif("${sdk}" STREQUAL "FREEBSD")
+              list(APPEND swiftlib_private_link_libraries_targets
+                   "${SWIFTLIB_DIR}/clang/lib/freebsd/libclang_rt.builtins-${arch}.a")
             endif()
           elseif("${lib}" STREQUAL "ICU_I18N")
             list(APPEND swiftlib_private_link_libraries_targets


When building ROOT's libGFAL using gfal2, srm-ifce is not a build dependency.

--- cmake/modules/FindGFAL.cmake
+++ cmake/modules/FindGFAL.cmake
@@ -17,22 +17,26 @@
           HINTS ${GFAL_DIR}/include $ENV{GFAL_DIR}/include)
 find_library(GFAL_LIBRARY NAMES gfal gfal2
              HINTS ${GFAL_DIR}/lib $ENV{GFAL_DIR}/lib)
-find_path(SRM_IFCE_INCLUDE_DIR  gfal_srm_ifce_types.h
-          HINTS ${SRM_IFCE_DIR}/include $ENV{SRM_IFCE_DIR}/include)

 set(GFAL_LIBRARIES ${GFAL_LIBRARY})
-set(GFAL_INCLUDE_DIRS ${GFAL_INCLUDE_DIR} ${SRM_IFCE_INCLUDE_DIR})
+set(GFAL_INCLUDE_DIRS ${GFAL_INCLUDE_DIR})

 if(GFAL_LIBRARY MATCHES gfal2)
   # use pkg-config to get the directories for glib and then use these values
   find_package(PkgConfig)
   pkg_check_modules(GLIB2 REQUIRED glib-2.0)
   list(APPEND GFAL_INCLUDE_DIRS ${GLIB2_INCLUDE_DIRS})
+  set(GFAL_DEP GLIB2_INCLUDE_DIRS)
+else()
+  find_path(SRM_IFCE_INCLUDE_DIR gfal_srm_ifce_types.h
+            HINTS ${SRM_IFCE_DIR}/include $ENV{SRM_IFCE_DIR}/include)
+  list(APPEND GFAL_INCLUDE_DIRS ${SRM_IFCE_INCLUDE_DIR})
+  set(GFAL_DEP SRM_IFCE_INCLUDE_DIR)
 endif()

 # handle the QUIETLY and REQUIRED arguments and set GFAL_FOUND to TRUE if
 # all listed variables are TRUE
 include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(GFAL DEFAULT_MSG GFAL_INCLUDE_DIR SRM_IFCE_INCLUDE_DIR GFAL_LIBRARY)
+find_package_handle_standard_args(GFAL DEFAULT_MSG GFAL_INCLUDE_DIR ${GFAL_DEP} GFAL_LIBRARY)

-mark_as_advanced(GFAL_FOUND GFAL_INCLUDE_DIR GFAL_LIBRARY SRM_IFCE_INCLUDE_DIR GLIB_INCLUDE_DIR)
+mark_as_advanced(GFAL_FOUND GFAL_INCLUDE_DIR GFAL_LIBRARY SRM_IFCE_INCLUDE_DIR GLIB2_INCLUDE_DIRS)


[CMake] Parallel make breaks on native tablegen

Patch by Alex Wang

This patch resolves a parallelization issue that occurs when native tablegen targets are built at the same time. They both try to build libSupport and clobber each other causing the builds to fail.

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

--- cmake/modules/TableGen.cmake
+++ cmake/modules/TableGen.cmake
@@ -70,6 +70,15 @@
   set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} ${target} PARENT_SCOPE)
 endfunction()

+if(LLVM_USE_HOST_TOOLS)
+  add_custom_command(OUTPUT LIB_LLVMSUPPORT
+      COMMAND ${CMAKE_COMMAND} --build . --target LLVMSupport --config Release
+      DEPENDS CONFIGURE_LLVM_NATIVE
+      WORKING_DIRECTORY ${LLVM_NATIVE_BUILD}
+      COMMENT "Building libLLVMSupport for native TableGen...")
+  add_custom_target(NATIVE_LIB_LLVMSUPPORT DEPENDS LIB_LLVMSUPPORT)
+endif(LLVM_USE_HOST_TOOLS)
+
 macro(add_tablegen target project)
   set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
   set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
@@ -109,7 +118,7 @@

       add_custom_command(OUTPUT ${${project}_TABLEGEN_EXE}
         COMMAND ${CMAKE_COMMAND} --build . --target ${target} --config Release
-        DEPENDS CONFIGURE_LLVM_NATIVE ${target}
+        DEPENDS ${target} NATIVE_LIB_LLVMSUPPORT
         WORKING_DIRECTORY ${LLVM_NATIVE_BUILD}
         COMMENT "Building native TableGen...")
       add_custom_target(${project}-tablegen-host DEPENDS ${${project}_TABLEGEN_EXE})


Merging r297403:

Merging r297403:

------------------------------------------------------------------------
r297403 | tstellar | 2017-03-09 14:24:07 -0500 (Thu, 09 Mar 2017) | 17 lines

CMake: Don't install llvm-tblgen twice

Summary:
The add_tablegen macros defines its own install target, and it was also calling
add_llvm_utility which adds another install target.

Configuring with -DLLVM_TOOLS_INSTALL_DIR set to something other than
'bin' along with -DLLVM_INSTALL_UTILS=ON was causing llvm-tablgen
to be installed to two separate directories.

Reviewers: beanz, hans

Reviewed By: beanz

Subscribers: llvm-commits, mgorny

Differential Revision: https://reviews.llvm.org/D30656
------------------------------------------------------------------------

git-svn-id: 27e84c199cfb3049f109a3001c965f4b97b0bded@303413 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/modules/TableGen.cmake
+++ cmake/modules/TableGen.cmake
@@ -92,7 +92,7 @@
     set(LLVM_ENABLE_OBJLIB ON)
   endif()

-  add_llvm_utility(${target} ${ARGN})
+  add_llvm_executable(${target} DISABLE_LLVM_LINK_LLVM_DYLIB ${ARGN})
   set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})

   set(${project}_TABLEGEN "${target}" CACHE


#145 more attempts to find header files

#145 more attempts to find header files

--- cmake_modules/FindOCCT.cmake
+++ cmake_modules/FindOCCT.cmake
@@ -38,7 +38,7 @@
 		set(OCCT_LIB_DIR $ENV{OCCT_LIB_DIR})
 		message(STATUS "$OCCT_LIB_DIR defined: ${OCCT_LIB_DIR}")
 	endif()
-	find_path(OCCT_INCLUDE_DIR  NAMES opencascade
+	find_path(OCCT_INCLUDE_DIR  NAMES gp_Pnt.hxx
 		PATHS
 		${OCCT_ROOT}/include
 		${OCCT_ROOT}/include/opencascade


Minor improvements

Minor improvements

- removed -fPIC

--- cmake_modules/compiler.cmake
+++ cmake_modules/compiler.cmake
@@ -140,6 +140,4 @@
  endif ()

  set(CMAKE_POSITION_INDEPENDENT_CODE ON)
- set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fPIC")
-
  message(STATUS "Building with flags: ${CMAKE_CXX_FLAGS}.")


fixed search path and fixed dependencies

--- tools/cmake/FindTurtle.cmake
+++ tools/cmake/FindTurtle.cmake
@@ -1,4 +1,4 @@
-find_path(TURTLE_INCLUDE_DIR mock.hpp
+find_path(TURTLE_INCLUDE_DIR turtle/mock.hpp
     HINTS
         $ENV{TURTLE_ROOT}
     PATH_SUFFIXES include


Allow * in artifact version strings

Allow * in artifact version strings

This actually doesn't break anything, and can be a useful feature if
you want the version number to be a wildcard.

--- Artifactory.cmake
+++ Artifactory.cmake
@@ -548,8 +548,11 @@
 endfunction()

 function(_artifactory_check_version version_string)
-    # Ensure there are no special characters that would break things
-    set(invalid_chars "*/[]\\")
+    # Ensure there are no special characters that would break things.
+    # * is allowed, and this lets the user share artifacts between different
+    # version numbers. This makes sense if they are also filtering by
+    # properties e.g. by commit SHA1 of the source repo.
+    set(invalid_chars "/[]\\")

     if(${version_string} MATCHES "[${invalid_chars}]?")
         message(FATAL_ERROR


cpack: Ignore obj directory.

cpack: Ignore obj directory.

--- CPackConfig.cmake
+++ CPackConfig.cmake
@@ -19,7 +19,7 @@

 ### source generator
 set(CPACK_SOURCE_GENERATOR "TGZ")
-set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/build/;tags;cscope.*")
+set(CPACK_SOURCE_IGNORE_FILES "~$;[.]swp$;/[.]svn/;/[.]git/;.gitignore;/build/;/obj/;tags;cscope.*")
 set(CPACK_SOURCE_PACKAGE_FILE_NAME "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}")

 if (WIN32)


Experimental CDash

Experimental CDash

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -9,7 +9,7 @@
 set(CTEST_NIGHTLY_START_TIME "00:00:00 CST")

 set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "cdash.hdfgroup.org")
-set(CTEST_DROP_LOCATION "/submit.php?project=MERCURY")
+set(CTEST_DROP_SITE "149.28.123.102/CDash")
+set(CTEST_DROP_LOCATION "/submit.php?project=Mercury")
 set(CTEST_DROP_SITE_CDASH TRUE)


fixed testing for new normal oriented curves definition

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

 set(CTEST_PROJECT_NAME "Embree")
 set(CTEST_NIGHTLY_START_TIME "22:00:00 UTC")
-set(TEST_MODELS_HASH ba1bd24186ccdf939d2e749a514f81718f3a2b20)
+set(TEST_MODELS_HASH 73da8944fd962e0f6243b88c17e8dcf7d224b0a3)

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


Updated CTestConfig.cmake file.

Updated CTestConfig.cmake file.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,6 +1,7 @@
 # CTest/CDash configuration

 SET(CTEST_PROJECT_SUBPROJECTS netcdf ncgen ncdump nccopy nc_test)
+SET(CTEST_USE_LAUNCHERS 1)

 IF(USE_REMOTE_CDASH)
 	set(CTEST_PROJECT_NAME "NetCDF-C")


[t:4871] don't run helgrind_helgrind{2,3}.tdb under valgrind

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

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -15,9 +15,9 @@
   ydb/drd_test_4015.tdb
   ydb/drd_test_groupcommit_count.tdb
   ydb/filesize.tdb
-  ydb/helgrind2.tdb
-  ydb/helgrind3.tdb
   ydb/helgrind_helgrind1.tdb
+  ydb/helgrind_helgrind2.tdb
+  ydb/helgrind_helgrind3.tdb
   ydb/helgrind_test_groupcommit_count.tdb
   ydb/hot-optimize-table-tests.tdb
   ydb/insert-dup-prelock.tdb


BUG: got bitten by extra space in url string

--- SuperBuild/CMake/External_geos.cmake
+++ SuperBuild/CMake/External_geos.cmake
@@ -3,8 +3,7 @@
 SETUP_SUPERBUILD(GEOS)

 if(MSVC)
-
-  set(GEOS_URL "  https://github.com/libgeos/libgeos/archive/714127ef49087634e7f6687424fdf041d18c3d0f.zip")
+  set(GEOS_URL "https://github.com/libgeos/libgeos/archive/714127ef49087634e7f6687424fdf041d18c3d0f.zip")
   set(GEOS_URL_MD5 "d4bc49008dc712e8c612e8b8a91030c0")
   set(GEOS_SB_CONFIG "-DProject_WC_REVISION:STRING=99999")
   list(APPEND GEOS_SB_CONFIG "-DGEOS_BUILD_PACKAGED:BOOL=OFF")


Updating Superbuild version of virtualenv to 15.0.2

Change-Id: I909ca6b7f9f644ec93c7060d3ba9b2684dacfae0

--- SuperBuild/External_virtualenv.cmake
+++ SuperBuild/External_virtualenv.cmake
@@ -7,11 +7,11 @@

 set(proj virtualenv)

-set(${proj}_TARGET_VERSION 15.0.1)
-set(${proj}_DOWNLOAD_SOURCE_HASH "28d76a0d9cbd5dc42046dd14e76a6ecc")
+set(${proj}_TARGET_VERSION 15.0.2)
+set(${proj}_DOWNLOAD_SOURCE_HASH "0ed59863994daf1292827ffdbba80a63")

 # based on the standard EP_PREFIX locations, but since we don't build
-# or install, then standars install directory is also the source
+# or install, then standards install directory is also the source
 set(${proj}_binary_dir ${CMAKE_CURRENT_BINARY_DIR}/${proj}-prefix/src/${proj}-build)
 set(${proj}_source_dir ${CMAKE_CURRENT_BINARY_DIR}/${proj})
 set(${proj}_install_dir ${CMAKE_CURRENT_BINARY_DIR}/${proj})


Android: switch to libc++_static (gnustl doesn't seem to be supported anymore)

--- cmake-toolchains/android.toolchain.cmake
+++ cmake-toolchains/android.toolchain.cmake
@@ -189,7 +189,7 @@
   set(ANDROID_PLATFORM_LEVEL 21)
 endif()
 if(NOT ANDROID_STL)
-  set(ANDROID_STL gnustl_static)
+  set(ANDROID_STL c++_static)
 endif()
 if(NOT DEFINED ANDROID_PIE)
   if(ANDROID_PLATFORM_LEVEL LESS 16)
@@ -334,9 +334,9 @@
   set(ANDROID_STL_STATIC_LIBRARIES supc++)
   set(ANDROID_STL_SHARED_LIBRARIES gnustl_shared)
 elseif(ANDROID_STL STREQUAL c++_static)
-  set(ANDROID_STL_STATIC_LIBRARIES c++)
+  set(ANDROID_STL_STATIC_LIBRARIES c++_static)
 elseif(ANDROID_STL STREQUAL c++_shared)
-  set(ANDROID_STL_SHARED_LIBRARIES c++)
+  set(ANDROID_STL_SHARED_LIBRARIES c++_shared)
 elseif(ANDROID_STL STREQUAL none)
 else()
   message(FATAL_ERROR "Invalid Android STL: ${ANDROID_STL}.")


Update wx with new sha

Update wx with new sha

--- deps/wxWidgets/wxWidgets.cmake
+++ deps/wxWidgets/wxWidgets.cmake
@@ -13,7 +13,7 @@
     # GIT_REPOSITORY "https://github.com/prusa3d/wxWidgets"
     # GIT_TAG tm_cross_compile #${_wx_git_tag}
     URL https://github.com/prusa3d/wxWidgets/archive/refs/heads/v3.1.4-patched.zip
-    URL_HASH SHA256=8567cbb8486b533a61e050983126333501fdd38623d5b8afc6477780aa5ffe48
+    URL_HASH SHA256=a1e145a083d173cf320c0bd8522c7ee5829052b49b68fe5268ac84f0c576b940
     DEPENDS ${PNG_PKG} ${ZLIB_PKG} ${EXPAT_PKG} dep_TIFF dep_JPEG
     CMAKE_ARGS
         -DwxBUILD_PRECOMP=ON


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 07)

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


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 07)

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


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   11)
+SET(KWSYS_DATE_STAMP_DAY   12)


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   02)
+SET(KWSYS_DATE_STAMP_DAY   03)


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 10)

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

 # 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 12)

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


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   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   12)
+SET(KWSYS_DATE_STAMP_DAY   13)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


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   03)
+SET(KWSYS_DATE_STAMP_DAY   04)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


Adding in gcc version for linux builds. We may eventually want to make this
a variable that can be set

--- Resources/MXAFindBoost.cmake
+++ Resources/MXAFindBoost.cmake
@@ -164,7 +164,8 @@
     PATH_SUFFIXES
       ${BOOST_PATH_SUFFIX}
   )
- # MESSAGE (STATUS "BOOST_INCLUDE_DIR: ${BOOST_INCLUDE_DIR}")
+  MESSAGE (STATUS "BOOST_INCLUDE_DIR: ${BOOST_INCLUDE_DIR}")
+
 ############################################
 #
 # Check the existence of the libraries.
@@ -248,7 +249,7 @@
     IF (APPLE)
         SET (BOOST_COMPILER "")
     ELSE (APPLE)
-        SET (BOOST_COMPILER "-gcc")
+        SET (BOOST_COMPILER "-gcc34")
     ENDIF (APPLE)
   ENDIF(UNIX)


Correcting compile error on Big Endian Machines Debugging the Expat build system

--- Resources/MXAFindExpat.cmake
+++ Resources/MXAFindExpat.cmake
@@ -17,7 +17,8 @@
 FIND_PATH(EXPAT_INCLUDE_DIR
   NAMES expat.h
   PATHS ${EXPAT_INCLUDE_SEARCH_DIRS}
-  NO_DEFAULT_PATH)
+  NO_DEFAULT_PATH
+  )

 # MARK_AS_ADVANCED(EXPAT_INCLUDE_DIR)

@@ -25,7 +26,8 @@
 FIND_LIBRARY(EXPAT_LIBRARY
   NAMES expat
   PATHS ${EXPAT_LIB_SEARCH_DIRS}
-  NO_DEFAULT_PATH)
+  NO_DEFAULT_PATH
+  )
 # MARK_AS_ADVANCED(EXPAT_LIBRARY)

 # Copy the results to the output variables.


Place Python library out in dedicated folder

Place the built Python module library in a dedicated folder inside of
lib/.  This ensures that even if the Python 2 and Python 3 module names
conflict, they will not overwrite one another.

--- modules/python/common.cmake
+++ modules/python/common.cmake
@@ -71,6 +71,7 @@
                 OUTPUT_STRIP_TRAILING_WHITESPACE)

 set_target_properties(${the_module} PROPERTIES
+                      LIBRARY_OUTPUT_DIRECTORY  "${LIBRARY_OUTPUT_PATH}/${MODULE_NAME}"
                       PREFIX ""
                       OUTPUT_NAME cv2
                       SUFFIX ${CVPY_SUFFIX})


fixed NPP library search (it was splitted)

--- cmake/OpenCVDetectCUDA.cmake
+++ cmake/OpenCVDetectCUDA.cmake
@@ -24,6 +24,15 @@

   if(WITH_CUBLAS)
     set(HAVE_CUBLAS 1)
+  endif()
+
+  if(${CUDA_VERSION} VERSION_LESS "5.5")
+    find_cuda_helper_libs(npp)
+  else()
+    find_cuda_helper_libs(nppc)
+    find_cuda_helper_libs(nppi)
+    find_cuda_helper_libs(npps)
+    set(CUDA_npp_LIBRARY ${CUDA_nppc_LIBRARY} ${CUDA_nppi_LIBRARY} ${CUDA_npps_LIBRARY})
   endif()

   if(WITH_NVCUVID)
@@ -136,8 +145,6 @@

   mark_as_advanced(CUDA_BUILD_CUBIN CUDA_BUILD_EMULATION CUDA_VERBOSE_BUILD CUDA_SDK_ROOT_DIR)

-  find_cuda_helper_libs(npp)
-
   macro(ocv_cuda_compile VAR)
     foreach(var CMAKE_CXX_FLAGS CMAKE_CXX_FLAGS_RELEASE CMAKE_CXX_FLAGS_DEBUG)
       set(${var}_backup_in_cuda_compile_ "${${var}}")


Fix for http://opensync.org/ticket/834 this time fixing it at shared cmake OpenSyncDefaults.cmake
level.

This way we have the proper path in the pkgconfig file while still removing one level of
include path.

git-svn-id: e31799a7ad59d6ea355ca047c69e0aee8a59fcd3@3630 53f5c7ee-bee3-0310-bbc5-ea0e15fffd5e

--- cmake/OpenSyncDefaults.cmake
+++ cmake/OpenSyncDefaults.cmake
@@ -40,7 +40,7 @@

 SET( OPENSYNC_LIBRARIES_DIR "${LIB_INSTALL_DIR}" CACHE PATH "OpenSync library location" )
 SET( OPENSYNC_LIBEXEC_DIR "${LIBEXEC_INSTALL_DIR}/${OPENSYNC_API_DIR}" CACHE PATH "OpenSync libexec location" )
-SET( OPENSYNC_INCLUDE_DIR "${INCLUDE_INSTALL_DIR}/${OPENSYNC_API_DIR}/opensync" CACHE PATH "OpenSync headers location" )
+SET( OPENSYNC_INCLUDE_DIR "${INCLUDE_INSTALL_DIR}/${OPENSYNC_API_DIR}" CACHE PATH "OpenSync headers location" )
 SET( OPENSYNC_DATA_DIR "${SHARE_INSTALL_DIR}/${OPENSYNC_API_DIR}" CACHE PATH "OpenSync data directory" )

 # OpenSync build options:


Changed version parsing, which is needed in order to get backwards compatability working. Version 1.0 now required as a minimum.

--- cmake/Platform/Arduino.cmake
+++ cmake/Platform/Arduino.cmake
@@ -280,13 +280,14 @@
         if(ARDUINO_SDK_VERSION MATCHES "([0-9]+)[.]([0-9]+)")
             string(REPLACE "." "" ARDUINO_VERSION_DEFINE "${ARDUINO_SDK_VERSION}") # Normalize version (remove all periods)
             set(ARDUINO_VERSION_DEFINE "${CMAKE_MATCH_1}")
-            if(CMAKE_MATCH_2 GREATER 10)
+            if(CMAKE_MATCH_1 GREATER 10)
                 set(ARDUINO_VERSION_DEFINE "${ARDUINO_VERSION_DEFINE}${CMAKE_MATCH_2}")
             else()
+                message("HI")
                 set(ARDUINO_VERSION_DEFINE "${ARDUINO_VERSION_DEFINE}0${CMAKE_MATCH_2}")
             endif()
         else()
-            set(ARDUINO_VERSION_DEFINE "00${ARDUINO_SDK_VERSION}")
+            message("Invalid Arduino SDK Version (${ARDUINO_SDK_VERSION})")
         endif()
         set(BOARD_CORE_PATH ${ARDUINO_CORES_PATH}/${BOARD_CORE})
         include_directories(${ARDUINO_VARIANTS_PATH}/${PIN_HEADER})
@@ -765,7 +766,7 @@
     if(ARDUINO_VERSION_PATH)
         file(READ ${ARDUINO_VERSION_PATH} ARD_VERSION)
         if("${ARD_VERSION}" MATCHES " *[0]+([0-9]+)")
-            set(${VAR_NAME} ${CMAKE_MATCH_1} PARENT_SCOPE)
+            set(${VAR_NAME} 0.${CMAKE_MATCH_1} PARENT_SCOPE)
         elseif("${ARD_VERSION}" MATCHES "[ ]*([0-9]+[.][0-9]+)")
             set(${VAR_NAME} ${CMAKE_MATCH_1} PARENT_SCOPE)
         endif()
@@ -1221,6 +1222,9 @@
                                                     ARDUINO_SDK_VERSION
                                       VERSION_VAR ARDUINO_SDK_VERSION)

+     if(ARDUINO_SDK_VERSION LESS 1.0)
+         message(FATAL_ERROR "Unsupported Arduino SDK (require verion 1.0 or higher)")
+     endif()

      mark_as_advanced(ARDUINO_CORES_PATH
 		              ARDUINO_VARIANTS_PATH


CMake: add messages to format and tidy targets

--- cmake/clang-cpp-checks.cmake
+++ cmake/clang-cpp-checks.cmake
@@ -9,6 +9,7 @@
 # Adding clang-format check and formatter if found
 FIND_PROGRAM(CLANG_FORMAT "clang-format")
 IF(CLANG_FORMAT)
+    MESSAGE(STATUS "Found clang-format, adding formatting targets")
     ADD_CUSTOM_TARGET(
         format
         COMMAND
@@ -34,6 +35,8 @@
                   ${CMAKE_BINARY_DIR}/check_format_file.txt > /dev/null
         COMMENT "Checking format compliance"
     )
+ELSE()
+    MESSAGE(STATUS "Could NOT find clang-format")
 ENDIF()

 # Adding clang-tidy target if executable is found
@@ -55,6 +58,8 @@
     GET_FILENAME_COMPONENT(CLANG_DIR ${CLANG_TIDY} DIRECTORY)
     FIND_PROGRAM(RUN_CLANG_TIDY NAMES "run-clang-tidy.py" "run-clang-tidy-4.0.py" HINTS /usr/share/clang/ ${CLANG_DIR}/../share/clang/ /usr/bin/)
     IF(RUN_CLANG_TIDY)
+        MESSAGE(STATUS "Found clang-tidy, adding linting targets")
+
         # Set export commands on
         SET (CMAKE_EXPORT_COMPILE_COMMANDS ON)

@@ -79,7 +84,11 @@
             COMMAND ! grep -c ": error: " ${CMAKE_BINARY_DIR}/check_lint_file.txt > /dev/null
             COMMENT "Checking for problems in source files"
         )
+    ELSE()
+        MESSAGE(STATUS "Could NOT find run-clang-tidy script")
     ENDIF()
+ELSE()
+    MESSAGE(STATUS "Could NOT find clang-tidy")
 ENDIF()

 FIND_PROGRAM(CPPCHECK "cppcheck")


build: fix typo (IC -> ICU)

build: fix typo (IC -> ICU)

--- cmake/modules/AddSwift.cmake
+++ cmake/modules/AddSwift.cmake
@@ -425,7 +425,7 @@
     list(APPEND library_search_directories "${SWIFT_${sdk}_${arch}_ICU_UC_LIBDIR}")
   endif()
   if(NOT "${SWIFT_${LFLAGS_SDK}_${LFLAGS_ARCH}_ICU_I18N}" STREQUAL "")
-    get_filename_component(SWIFT_${sdk}_${arch}_ICU_I18N_LIBDIR "${SWIFT_${sdk}_${arch}_IC_I18N}" DIRECTORY)
+    get_filename_component(SWIFT_${sdk}_${arch}_ICU_I18N_LIBDIR "${SWIFT_${sdk}_${arch}_ICU_I18N}" DIRECTORY)
     list(APPEND library_search_directories "${SWIFT_${sdk}_${arch}_ICU_I18N_LIBDIR}")
   endif()


Updated compiler linker for clang (win)

Updated compiler linker for clang (win)

--- cmake_modules/compiler.cmake
+++ cmake_modules/compiler.cmake
@@ -12,17 +12,38 @@
  #         Software Competence Center Hagenberg GmbH (SCCH)
  #         <thomas.natschlaeger@scch.at>, <office@scch.at>

+
+ ####################
+ # Debug information
+ ####################
+ message("")
+ message("*** COMPILER CONFIGURATION ***")
+ message("")
+ message(STATUS "CMAKE_C_COMPILER:   ${CMAKE_CXX_COMPILER}")
+ message(STATUS "CMAKE_CXX_COMPILER: ${CMAKE_CXX_COMPILER}")
+
  add_compile_definitions(CMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE})
+
  # Provide options to force building with GNU or Clang, if the standard compiler is not desired
  option(USE_CLANG "Force build with clang (if gcc is standard)" OFF) # OFF is the default
  option(USE_GNU "Force build with gcc (if clang is standard)" OFF) # OFF is the default
- set(CLANG_C_COMPILER "/usr/bin/clang" CACHE FILEPATH "Path to clang C compiler")
- set(CLANG_CXX_COMPILER "/usr/bin/clang++" CACHE FILEPATH "Path to clang C++ compiler")
- set(GNU_C_COMPILER "/usr/bin/gcc" CACHE FILEPATH "Path to C compiler")
- set(GNU_CXX_COMPILER "/usr/bin/g++" CACHE FILEPATH "Path to C++ compiler")
+
+ if (UNIX AND NOT APPLE)
+     set(CLANG_C_COMPILER "/usr/bin/clang" CACHE FILEPATH "Path to clang C compiler")
+     set(CLANG_CXX_COMPILER "/usr/bin/clang++" CACHE FILEPATH "Path to clang C++ compiler")
+     set(GNU_C_COMPILER "/usr/bin/gcc" CACHE FILEPATH "Path to C compiler")
+     set(GNU_CXX_COMPILER "/usr/bin/g++" CACHE FILEPATH "Path to C++ compiler")
+ elseif (APPLE)
+     # ...
+ elseif (WIN32)
+     # ...
+ endif ()
+ message(STATUS "CMAKE_CXX_COMPILER_VERSION ${CMAKE_CXX_COMPILER_VERSION}")

  # Set the platform type and override compiler if necessary
  if (USE_CLANG OR USE_GNU)
+     message(STATUS "Forcing compiler selection... I hope you know what you're doing.")
+     message(AUTHOR_WARNING "This attempts to guess the CMAKE_C(XX)_COMPILER. Other Compiler variables are not deduced.")
      message(STATUS "Guessing compiler executables:")
      if (USE_GNU)
          message(STATUS "  GNU C     : ${GNU_C_COMPILER}")
@@ -61,30 +82,136 @@

  # Set the compile flags
  if (TUDAT_BUILD_CLANG)
+     # add compile definition and print status
      add_compile_definitions(TUDAT_BUILD_CLANG)
-     if(WIN32)
-      add_definitions("-D_ENABLE_EXTENDED_ALIGNED_STORAGE -D_MD")
-     endif()
      message(STATUS "Using clang compiler.")
+
+     # set default cmake c flags for clang
      set(CMAKE_C_FLAGS "-Wall -std=c11")
      set(CMAKE_C_FLAGS_DEBUG "-g")
      set(CMAKE_C_FLAGS_MINSIZEREL "-Os -DNDEBUG")
      set(CMAKE_C_FLAGS_RELEASE "-O3 -DNDEBUG")
      set(CMAKE_C_FLAGS_RELWITHDEBINFO "-O2 -g")
+
      if (APPLE)
-         set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -std=c++11 -stdlib=libc++")
-     elseif (NOT WIN32)
-         set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -std=c++11 -stdlib=libstdc++")
-     else()
-         # this implies clang on windows
-         set(CMAKE_CXX_FLAGS "-Wall -Wextra -Wno-unused-parameter -Wno-unused-variable -std=c++11 -Wno-unused-result")
-         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CXXFLAGS} /MD /EHsc /W3 /FC /Ox -D_SCL_SECURE_NO_WARNINGS")
-         set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CFLAGS}")
-     endif ()
-     set(CMAKE_CXX_FLAGS_DEBUG "-g")
-     set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
-     set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
-     set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
+         # standard apple clang compiler flags
+         set(CMAKE_CXX_FLAGS
+                 "${CMAKE_CXX_FLAGS}"
+                 " -std=c++11"
+                 " -stdlib=libc++"
+                 " -Wall "
+                 " -Wextra"
+                 )
+         string(CONCAT CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+
+         # disabled warnings for warnings coming from legacy tudat code
+         set(CMAKE_CXX_FLAGS
+                 "${CMAKE_CXX_FLAGS}"
+                 " -Wno-unused-parameter"
+                 " -Wno-unused-variable"
+                 )
+         string(CONCAT CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+
+     elseif (UNIX AND NOT APPLE)
+         # standard linux clang compiler flags
+         set(CMAKE_CXX_FLAGS
+                 "${CMAKE_CXX_FLAGS}"
+                 " -std=c++11"
+                 " -stdlib=libstdc++"
+                 " -Wall"
+                 " -Wextra"
+                 " -Wno-unused-parameter"
+                 " -Wno-unused-variable")
+         string(CONCAT CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+
+     elseif (WIN32)
+         # fixes an issue [reference this]
+         add_definitions("-D_ENABLE_EXTENDED_ALIGNED_STORAGE")
+
+         # standard windows clang c++ compiler flags
+         set(CMAKE_CXX_FLAGS
+                 "${CMAKE_CXX_FLAGS}"
+                 " -std=c++11"
+                 " -Wall"
+                 " -Wextra"
+                 " -Wno-unused-parameter"
+                 " -Wno-unused-variable"
+                 " -Wno-unused-result"
+                 )
+         string(CONCAT CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+
+         # if the clang msvc-like command line interface is being used
+         if (${CMAKE_CXX_COMPILER_ID} STREQUAL "Clang" AND "x${CMAKE_CXX_SIMULATE_ID}" STREQUAL "xMSVC")
+             set(CMAKE_CXX_FLAGS
+                     "${CMAKE_CXX_FLAGS}"
+                     " /MD"
+                     " /EHsc"
+                     " /W3"
+                     " /FC"
+                     " /Ox"
+                     " -D_SCL_SECURE_NO_WARNINGS"
+                     " ${CXXFLAGS}"
+                     )
+             string(CONCAT CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+
+             # clang-cl 9 doesn't properly implement an alternative for -isystem <dir>
+             # for system headers, all warnings incurred by eigen must be silenced to
+             # make the build log readable.
+             if (CMAKE_CXX_COMPILER_VERSION LESS_EQUAL 12.0.0)
+                 set(CMAKE_CXX_FLAGS
+                         " -Wno-float-conversion"
+                         " -Wno-unreachable-code-return"
+                         " -Wno-unused-template"
+                         " -Wno-sign-conversion"
+                         " -Wno-undef"
+                         " -Wno-unused-result"
+                         " -Wno-documentation-unknown-command"
+                         " -Wno-missing-prototypes"
+                         " -Wno-missing-noreturn"
+                         " -Wno-deprecated-declarations"
+                         " -Wno-implicit-int-conversion"
+                         " -Wno-shadow-field-in-constructor"
+                         " -Wno-shadow-field"
+                         " -Wno-switch-enum"
+                         " -Wno-cast-align"
+                         " -Wno-float-equal"
+                         " -Wno-deprecated-dynamic-exception-spec"
+                         " -Wno-header-hygiene"
+                         " -Wno-zero-as-null-pointer-constant"
+                         " -Wno-vla-extension"
+                         " -Wno-old-style-cast"
+                         " -Wno-disabled-macro-expansion"
+                         " -Wno-covered-switch-default"
+                         " -Wno-range-loop-analysis"
+                         " -Wno-shadow"
+                         " -Wno-reserved-id-macro"
+                         " -Wno-float-overflow-conversion"
+                         " -Wno-unknown-argument"
+                         " -Wno-extra-semi"
+                         " -Wno-global-constructors"
+                         " -Wno-extra-semi-stmt"
+                         " -Wno-documentation-deprecated-sync"
+                         " -Wno-unused-variable"
+                         " -Wno-shadow-uncaptured-local"
+                         " -Wno-documentation"
+                         " -Wno-deprecated"
+                         " -Wno-unused-macros"
+                         " -Wno-vla"
+                         " -Wno-unreachable-code-break"
+                         " -Wno-implicit-fallthrough"
+                         " -Wno-conditional-uninitialized"
+                         " -Wno-exit-time-destructors"
+                         " -Wno-undefined-func-template"
+                         )
+                 string(CONCAT CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
+
+             endif ()
+         endif ()
+         set(CMAKE_CXX_FLAGS_DEBUG "-g")
+         set(CMAKE_CXX_FLAGS_MINSIZEREL "-Os -DNDEBUG")
+         set(CMAKE_CXX_FLAGS_RELEASE "-O3 -DNDEBUG")
+         set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -g")
+     endif ()

  elseif (TUDAT_BUILD_GNU)
      add_compile_definitions(TUDAT_BUILD_GNU)
@@ -214,7 +341,7 @@
      endif ()
      if (CMAKE_C_COMPILER_ID MATCHES "Clang")

-     else()
+     else ()
          string(REPLACE "C" " -wd" MSVC_DISABLED_WARNINGS_STR ${MSVC_DISABLED_WARNINGS_LIST})
          string(REGEX REPLACE "[/-]W[1234][ ]?" "" CMAKE_C_FLAGS ${CMAKE_C_FLAGS})
      endif ()


Fix inconsistent my_find_package behaviour (glfw link issue on windows)

Original error: the glfw3.lib wasn't linked, because the GLFW_LIBRARIES variable
was empty (instead, only GLFW_LIBRARY was set).

Let's require that the first find_package call only uses cmake modules (and assume
that when/if such a module is available, it sets the plural variable as it should);
and if there is no module, continue with the manual `find_` calls, where we
use consistent variable naming.

--- cmake_support/FindDeps.cmake
+++ cmake_support/FindDeps.cmake
@@ -18,7 +18,7 @@
 # add possible lib names at the end of the arg list
 macro( my_find_package pkg_name header default_lib_name )

-    find_package( ${pkg_name} QUIET )
+    find_package( ${pkg_name} QUIET MODULE )

     if(NOT ${${pkg_name}_FOUND})
         message(STATUS "Package ${pkg_name} not found! Trying to find paths manually ...")


Re-introduce empty line

Re-introduce empty line

--- TargetHooks.cmake
+++ TargetHooks.cmake
@@ -7,6 +7,7 @@
 include(clangcheckTargets)
 include(CppcheckTargets)
 include(CpplintTargets)
+
 set(ALL_DEP_TARGETS "")
 set(ALL_LIB_TARGETS "")
 set(CPPCHECK_EXTRA_ARGS --suppress=unusedFunction --suppress=missingInclude


add debug option for enabling more output for failed cxxfeaturechecks (#1467)

fixes #1466

--- cmake/CXXFeatureCheck.cmake
+++ cmake/CXXFeatureCheck.cmake
@@ -16,6 +16,8 @@
   return()
 endif()
 set(__cxx_feature_check INCLUDED)
+
+option(CXXFEATURECHECK_DEBUG OFF)

 function(cxx_feature_check FILE)
   string(TOLOWER ${FILE} FILE)
@@ -64,7 +66,11 @@
     add_definitions(-DHAVE_${VAR})
   else()
     if(NOT COMPILE_${FEATURE})
-      message(STATUS "Performing Test ${FEATURE} -- failed to compile: ${COMPILE_OUTPUT_VAR}")
+      if(CXXFEATURECHECK_DEBUG)
+        message(STATUS "Performing Test ${FEATURE} -- failed to compile: ${COMPILE_OUTPUT_VAR}")
+      else()
+        message(STATUS "Performing Test ${FEATURE} -- failed to compile")
+      endif()
     else()
       message(STATUS "Performing Test ${FEATURE} -- compiled but failed to run")
     endif()


Re-add missing flags

Re-add missing flags

--- cmake/common/px4_base.cmake
+++ cmake/common/px4_base.cmake
@@ -633,10 +633,16 @@
 		-DCONFIG_ARCH_BOARD_${board_config}
 		)

-
+	if (NOT ${CMAKE_C_COMPILER_ID} MATCHES ".*Clang.*")
+		set(added_exe_link_flags
+			-Wl,--warn-common
+			-Wl,--gc-sections
+			)
+	else()
 		set(added_exe_link_flags
 			-Wl,--warn-common
 			)
+	endif()

 	# output
 	foreach(var ${inout_vars})


Update default.cmake

Update default.cmake

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

 # NOTE: no names with spaces!

+hunter_config(puffin-stream VERSION 0.1.0.0)
 hunter_config(puffin-buffer VERSION 0.3.0.0)
 hunter_config(AllTheFlopsThreads VERSION 0.1-p0)
 hunter_config(Android-Apk VERSION 1.1.13)


update anakin commit id due to fix 5117 compile bug

--- cmake/external/anakin.cmake
+++ cmake/external/anakin.cmake
@@ -52,9 +52,8 @@
     extern_anakin
     ${EXTERNAL_PROJECT_LOG_ARGS}
     DEPENDS             ${MKLML_PROJECT}
-    # Anakin codes error on Intel(R) Xeon(R) Gold 5117 CPU, temporary do not compile avx512 related code.
-    GIT_REPOSITORY      "https://github.com/luotao1/Anakin"
-    GIT_TAG             "211d1fc5d813d70c0c14072f9083cf25f40940ea"
+    GIT_REPOSITORY      "https://github.com/PaddlePaddle/Anakin"
+    GIT_TAG             "9424277cf9ae180a14aff09560d3cd60a49c76d2"
     PREFIX              ${ANAKIN_SOURCE_DIR}
     UPDATE_COMMAND      ""
     CMAKE_ARGS          -DUSE_GPU_PLACE=YES


fixed to v0.10 mkldnn git tag

fixed to v0.10 mkldnn git tag

--- cmake/external_mkldnn.cmake
+++ cmake/external_mkldnn.cmake
@@ -27,6 +27,7 @@
         ExternalProject_Add(
             ext_mkldnn
             GIT_REPOSITORY ${MKLDNN_GIT_REPO_URL}
+            GIT_TAG "v0.10"
             UPDATE_COMMAND ""
             PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/third-party/patches/mkldnn-cmake-openmp.patch
             CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${MKLDNN_INSTALL_DIR}
@@ -35,6 +36,7 @@
         ExternalProject_Add(
             ext_mkldnn
             GIT_REPOSITORY ${MKLDNN_GIT_REPO_URL}
+            GIT_TAG "v0.10"
             UPDATE_COMMAND ""
             PATCH_COMMAND patch -p1 < ${CMAKE_SOURCE_DIR}/third-party/patches/mkldnn-cmake-openmp.patch
             CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${MKLDNN_INSTALL_DIR}


Remove usage of CMAKE_MAKE_PROGRAM as it slows down parallel build (#871)

* Remove usage of CMAKE_MAKE_PROGRAM as it slows down parallel build

* Make make properly propagate to child and add back targeted build.

* Revert "Make make properly propagate to child and add back targeted build."

This reverts commit b4b1d8db0f0d42850e53d4e0f773261c292ccaf6.

--- cmake/external_mkldnn.cmake
+++ cmake/external_mkldnn.cmake
@@ -39,7 +39,6 @@
                 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
                 -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
                 -DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_ROOT}/mkldnn
-            BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} mkldnn
             TMP_DIR "${EXTERNAL_PROJECTS_ROOT}/mkldnn/tmp"
             STAMP_DIR "${EXTERNAL_PROJECTS_ROOT}/mkldnn/stamp"
             DOWNLOAD_DIR "${EXTERNAL_PROJECTS_ROOT}/mkldnn/download"
@@ -60,7 +59,6 @@
                 -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
                 -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
                 -DCMAKE_INSTALL_PREFIX=${EXTERNAL_PROJECTS_ROOT}/mkldnn
-            BUILD_COMMAND ${CMAKE_MAKE_PROGRAM} mkldnn
             TMP_DIR "${EXTERNAL_PROJECTS_ROOT}/mkldnn/tmp"
             STAMP_DIR "${EXTERNAL_PROJECTS_ROOT}/mkldnn/stamp"
             DOWNLOAD_DIR "${EXTERNAL_PROJECTS_ROOT}/mkldnn/download"


[cmake] Add linker detection for Apple platforms

LLVM currently assumes that Apple platforms will always use ld64. In the
future, LLD Mach-O might also be supported, so add the beginnings of
linker detection support. ld64 is currently the only detected linker,
since `ld64.lld -v` doesn't yield any useful version output, but we can
add that detection later, and in the meantime it's still useful to have
the ld64 identification.

Switch clang's order file check to use this new detection rather than
just checking for the presence of an ld64 executable.

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

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -147,7 +147,20 @@
   set(LLVM_COMMON_DEPENDS ${LLVM_COMMON_DEPENDS} PARENT_SCOPE)
 endfunction(add_llvm_symbol_exports)

-if(NOT WIN32 AND NOT APPLE)
+if(APPLE)
+  execute_process(
+    COMMAND "${CMAKE_LINKER}" -v
+    ERROR_VARIABLE stderr
+    )
+  set(LLVM_LINKER_DETECTED ON)
+  if("${stderr}" MATCHES "PROJECT:ld64")
+    set(LLVM_LINKER_IS_LD64 ON)
+    message(STATUS "Linker detection: ld64")
+  else()
+    set(LLVM_LINKER_DETECTED OFF)
+    message(STATUS "Linker detection: unknown")
+  endif()
+elseif(NOT WIN32)
   # Detect what linker we have here
   if( LLVM_USE_LINKER )
     set(command ${CMAKE_C_COMPILER} -fuse-ld=${LLVM_USE_LINKER} -Wl,--version)


doc: import doc on qi_install

doc: import doc on qi_install

--- cmake/qibuild/install.cmake
+++ cmake/qibuild/install.cmake
@@ -147,10 +147,10 @@
 #
 # .. code-block:: cpp
 #
-#   const std::string foo_lib = qi::path::findLib(bar/foo);
-#   void* handle = qi::os::dlopen(foo_lib);
-#   // ... do something using qi::os::dlsym(handle ...);
-#   qi::os::dlclose(handle);
+#    const std::string foo_lib = qi::path::findLib(bar/foo);
+#    void* handle = qi::os::dlopen(foo_lib);
+#    // ... do something using qi::os::dlsym(handle ...);
+#    qi::os::dlclose(handle);
 #
 #
 # About configuration files
@@ -182,8 +182,38 @@
 #
 # will always work
 #
-# Special syntax features
-# -----------------------
+# Special features
+# -----------------
+#
+# qi_install ends up calling regular install() CMake functions, but there
+# are some differences, here are a few
+#
+# Check of arguments
+# ++++++++++++++++++
+#
+# If you try to install a file that does not exists,
+# using `install()` will exit during installation, but qi_install will
+# exit during configuration.
+# This does no prevent you from installing generated files, but you have to make
+# sure the are generated *before* creating the install rule.
+#
+# .. code-block:: cmake
+#
+#    # Always generate files in cmake build dir:
+#    set(_out ${CMAKE_CURRENT_BINARY_DIR}/foobar)
+#    configure_file(foobar.in "${_out}")
+#    qi_install("${_out}"
+#      DESTINATION /etc/init.d/
+#      )
+#
+#    # Note the trailing "/" at the end of the DESTINATION argument.
+#
+#    # Do NOT use:
+#    qi_install("${_out}"
+#      DESTINATION /etc/init.d/foobar
+#      )
+#
+#    # or you'll end up with /etc/init.d/foobar/foobar ...
 #
 # Support of glob and directories
 # +++++++++++++++++++++++++++++++


opentar-9: rpm meta information updated

opentar-9: rpm meta information updated

--- cmake/tarantool_cpack.cmake
+++ cmake/tarantool_cpack.cmake
@@ -3,14 +3,13 @@
 # List generators
 #
 if ("${CPACK_GENERATOR}" STREQUAL "RPM")
-    set (CPACK_RPM_PACKAGE_NAME "tarantool_box")
-    set (CPACK_RPM_PACKAGE_SUMMARY "tarantool_box")
-    execute_process (COMMAND "date" "+%Y%m%d.%H%M" OUTPUT_VARIABLE RPM_PACKAGE_VERSION)
-    set (CPACK_RPM_PACKAGE_VERSION "${RPM_PACKAGE_VERSION}")
+    set (CPACK_RPM_PACKAGE_NAME "tarantool")
+    set (CPACK_RPM_PACKAGE_SUMMARY "tarantool")
+    set (CPACK_RPM_PACKAGE_VERSION "${TARANTOOL_VERSION}")
     set (CPACK_RPM_PACKAGE_RELEASE "8")
     set (CPACK_RPM_PACKAGE_LICENSE "BSD")
-    set (CPACK_RPM_PACKAGE_GROUP "MAIL.RU")
-    set (CPACK_RPM_PACKAGE_DESCRIPTION "Tarantool in-memory DB storage")
+    set (CPACK_RPM_PACKAGE_VENDOR "MAIL.RU")
+    set (CPACK_RPM_PACKAGE_DESCRIPTION "Tarantool/Box - an efficient in-memory data store")
     set (CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_SOURCE_DIR}/cmake/rpm_post_install.sh")
     set (CPACK_SET_DESTDIR "ON")
     set (CPACK_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
@@ -30,7 +29,6 @@
     "\\\\.o" "\\\\.so" "\\\\.a"
     "client/tarantool/tarantool"
     "mod/box/tarantool_box"
-    "mod/box/tarantool_feeder"
     "install_manifest.txt"
     "cmake_install.cmake" "test/var/"
 )


Update download instructions for Debian.

--- doc/www-data.in/download.cmake
+++ doc/www-data.in/download.cmake
@@ -18,59 +18,26 @@
 symbol information. Additionally, **-debug-**
 packages contain asserts and are compiled without optimization.

+#### Source tarball
+
+The latest source archive is
+tarantool-@TARANTOOL_VERSION@-src.tar.gz.
+Please consult with README for build instructions on your system.
+
+### Binary downloads
+
 To simplify problem analysis and avoid various bugs induced
 by compilation parameters and environment, it is recommended
 that production systems use the builds provided on this site.
-The latest build can be found below.
+
+#### RedHat, FreeBSD, Mac OS X

-

-    Source tarball
-
-        tarantool-@TARANTOOL_VERSION@-src.tar.gz
-
-

-
-  Linux
-
-
-

-
-        Debian (.deb)
-
-
-
-        32-bit
-
-
-
-        64-bit
-
-

-
-

-
-        Debian (.deb), with debug info
-
-
-        32-bit
-
-
-
-        64-bit
-
-

-
-

-    &nbsp
-
-        common
-
-

-

+  RedHat
+

         RedHat .rpm
@@ -102,6 +69,7 @@

+  Other Linux distributions

@@ -139,11 +107,30 @@

-### All downloads
-
-An archive of old releases can be found here.
-
-### Connectors
+#### Debian GNU/Linux and Ubuntu
+
+We maintain an always up-to-date Debian GNU/Linux and Ubuntu package
+repository at http://tarantoo.org/dist/debian and http://tarantool.org/dist/ubuntu respectively.
+
+At the moment the repository contains builds for Debian "Sid", "Squeeze",
+"Wheezy" and Ubuntu "Precise". It can be added to your apt sources list with:
+
+    wget http://tarantool.org/dist/public.key
+    sudo apt-key add ./public.key
+    release=`lsb_release -c -s`
+    sudo echo "deb http://tarantool.org/dist/debian/ $release main" | sudo tee -a /etc/apt/sources.list.d/tarantool.list
+    sudo echo "deb-src http://tarantool.org/dist/debian/ $release main" | sudo tee -a /etc/apt/sources.list.d/tarantool.list
+    sudo apt-get update
+    sudo apt-get install tarantool tarantool-client
+
+#### All downloads
+
+An archive of old releases can be found at http://tarantool.org/dist.
+
+#### Connectors

 - Perl driver, [CPAN home](http://search.cpan.org/~yuran/MR-Tarantool/)
 - [Ruby driver](https://github.com/mailru/tarantool-ruby)


hp-fedora-fix: update download page with Fedora repository link.

--- doc/www-data.in/download.cmake
+++ doc/www-data.in/download.cmake
@@ -73,6 +73,20 @@
     [tarantool]
     name=CentOS-$releasever - Tarantool
     baseurl=http://tarantool.org/dist/centos/$releasever/os/$basearch/
+    enabled=1
+    gpgcheck=0
+
+### Fedora
+
+Fedora repository is available at
+http://tarantool.org/dist/fedora.
+
+Add the following section to your yum repository list (/etc/yum.repos.d/tarantool.repo)
+to enable it:
+
+    [tarantool]
+    name=Fedora-$releasever - Tarantool
+    baseurl=http://tarantool.org/dist/fedora/$releasever/os/$basearch/
     enabled=1
     gpgcheck=0


Switch boost to master branch (updated to boost 1.58.0).

--- src/CMake/BoostConfig.cmake
+++ src/CMake/BoostConfig.cmake
@@ -66,12 +66,7 @@
   ENDIF()

   IF(${compress_type} MATCHES "GIT")
-
-
-# TODO: temporary - switch git tag back to master for all
-#       builds once boost 1.56 is available and boost atomic
-#       library fix is verified.
-SET(boost_GIT_TAG "origin/boost_1_58_test")
+    SET(boost_GIT_TAG "origin/master")

     # TODO: fix install step
     #


iOS.cmake: Update from upstream source.

iOS.cmake: Update from upstream source.

--- iOS/iOS.cmake
+++ iOS/iOS.cmake
@@ -28,7 +28,6 @@
 #  A macro used to find executable programs on the host system, not within the iOS environment.
 #  Thanks to the android-cmake project for providing the command

-
 # Standard settings
 set (CMAKE_SYSTEM_NAME Darwin)
 set (CMAKE_SYSTEM_VERSION 1)
@@ -48,8 +47,9 @@

 # Force the compilers to gcc for iOS
 include (CMakeForceCompiler)
-CMAKE_FORCE_C_COMPILER (gcc gcc)
-CMAKE_FORCE_CXX_COMPILER (g++ g++)
+CMAKE_FORCE_C_COMPILER (/usr/bin/clang Apple)
+CMAKE_FORCE_CXX_COMPILER (/usr/bin/clang++ Apple)
+set(CMAKE_AR ar CACHE FILEPATH "" FORCE)

 # Skip the platform compiler checks for cross compiling
 set (CMAKE_CXX_COMPILER_WORKS TRUE)
@@ -70,7 +70,7 @@

 # Hidden visibilty is required for cxx on iOS
 set (CMAKE_C_FLAGS_INIT "")
-set (CMAKE_CXX_FLAGS_INIT "-headerpad_max_install_names -fvisibility=hidden -fvisibility-inlines-hidden")
+set (CMAKE_CXX_FLAGS_INIT "-fvisibility=hidden -fvisibility-inlines-hidden -isysroot ${CMAKE_OSX_SYSROOT}")

 set (CMAKE_C_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
 set (CMAKE_CXX_LINK_FLAGS "-Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")


Disable libkml

Disable libkml

--- CI/sb_configure_options.cmake
+++ CI/sb_configure_options.cmake
@@ -24,7 +24,7 @@
 CMAKE_INSTALL_PREFIX:PATH=${CTEST_INSTALL_DIRECTORY}")

 set ( temporary_option
-"OTB_USE_LIBKML=ON")
+"OTB_USE_LIBKML=OFF")

 set(concat_options
 "${cmake_configure_option}


activated test again

activated test again

--- Core/Code/Testing/files.cmake
+++ Core/Code/Testing/files.cmake
@@ -20,7 +20,7 @@
   mitkInstantiateAccessFunctionTest.cpp
   mitkInteractorTest.cpp
   mitkITKThreadingTest.cpp
-  # mitkLevelWindowManagerTest.cpp
+  mitkLevelWindowManagerTest.cpp
   mitkLevelWindowTest.cpp
   mitkMessageTest.cpp
   #mitkPipelineSmartPointerCorrectnessTest.cpp


Merging FindBFD cmake module from GDS branch

--- contrib/cmake/FindBFD.cmake
+++ contrib/cmake/FindBFD.cmake
@@ -1,4 +1,6 @@
-find_library( GOO_LIB NAMES bfd PATH /usr/lib /usr/lib64 )
+find_library( BFD_LIBRARY NAMES bfd PATH /usr/lib /usr/lib64 )
+
+find_package_handle_standard_args(bfd DEFAULT_MSG BFD_LIBRARY )

 include(CheckCSourceCompiles)
 check_c_source_compiles(
@@ -8,10 +10,7 @@
   int main(void) {
   return 0;
   }" BFD_WORKS)
-if( BFD_LIB AND BFD_WORKS)
-	set( BFD_FOUND TRUE )
-endif( BFD_LIB AND BFD_WORKS)
+#if( BFD_LIBRARY AND BFD_WORKS)
+#    message( STATUS "Found libbfd: ${BFD_LIBRARY}")
+#endif( BFD_LIBRARY AND BFD_WORKS)

-if( BFD_FOUND )
-	message( STATUS "Found libbfd: ${BFD_LIB}")
-endif( BFD_FOUND )


Import FindOpenCL cmake module with mac header path

--- FindOpenCL.cmake
+++ FindOpenCL.cmake
@@ -40,7 +40,9 @@
 ENDIF(OPENCL_LIBRARIES)

 FIND_PATH(OPENCL_INCLUDE_DIR CL/cl.h
-    PATHS ${OPENCL_ROOT} /usr/local/cuda/include
+    PATHS
+        /usr/local/cuda/include
+        /System/Library/Frameworks/OpenCL.framework/Headers
     PATH_SUFFIXES nvidia)

 FIND_LIBRARY(OPENCL_LIBRARIES NAMES OpenCL PATH_SUFFIXES nvidia nvidia-current)
@@ -57,10 +59,7 @@
    ENDIF(NOT OpenCL_FIND_QUIETLY)
 ELSE(OPENCL_FOUND)
    IF(OpenCL_FIND_REQUIRED)
-     IF(NOT OPENCL_INCLUDE_DIR)
-      MESSAGE(FATAL_ERROR "Could NOT find OpenCL (headers)")
-    ENDIF(NOT OPENCL_INCLUDE_DIR)
-    MESSAGE(FATAL_ERROR "Could NOT find OpenCL (libraries)")
+     MESSAGE(FATAL_ERROR "Could NOT find OpenCL")
    ENDIF(OpenCL_FIND_REQUIRED)
 ENDIF(OPENCL_FOUND)


Remove temporary fix

Remove temporary fix

--- CMake/FixMacOSInstaller.cmake
+++ CMake/FixMacOSInstaller.cmake
@@ -39,14 +39,3 @@
 set(app_path "${bundle_path}/Contents/MacOS/${app}")
 execute_process(COMMAND install_name_tool -add_rpath "@executable_path/../Frameworks" ${app_path} ERROR_QUIET)
 execute_process(COMMAND install_name_tool -add_rpath "@executable_path/../../../../.." ${qtwebengineprocess_path} ERROR_QUIET)
-
-##################################################
-# (2) Fix hard dependencies to auto-load modules #
-##################################################
-
-# Create symlinks to auto-load modules in MitkCore directory
-file(GLOB autoload_module_paths "${bundle_path}/Contents/MacOS/MitkCore/*.dylib")
-foreach(autoload_module_path ${autoload_module_paths})
-  get_filename_component(autoload_module ${autoload_module_path} NAME)
-  execute_process(COMMAND ln -s MitkCore/${autoload_module} WORKING_DIRECTORY "${bundle_path}/Contents/MacOS")
-endforeach()


ENH: Update minimum required version of ITK

Do not support outdated versions of ITK from new ITK
tree.

--- CMake/ITKModuleExternal.cmake
+++ CMake/ITKModuleExternal.cmake
@@ -4,8 +4,8 @@
 if(NOT ITK_FOUND)
   message(FATAL_ERROR "ITK must be found before module macros can be used.")
 endif()
-if(NOT ITK_VERSION VERSION_GREATER "4.8")
-  message(FATAL_ERROR "Requires ITK 4.9 or later to work.")
+if(NOT ITK_VERSION VERSION_GREATER "5.1")
+  message(FATAL_ERROR "Requires ITK 5.1 or later to work.")
 endif()
 if(NOT EXISTS ${ITK_CMAKE_DIR}/ITKModuleMacros.cmake)
   message(FATAL_ERROR "Modules can only be built against an ITK build tree; they cannot be built against an ITK install tree.")


Changed MITK-Data tag in order to have the current version.

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

 if(BUILD_TESTING)

-  set(revision_tag 470c1d98) # first 8 characters of hash-tag
+  set(revision_tag fee70ea2) # first 8 characters of hash-tag
 #                  ^^^^^^^^  these are just to check correct length of hash part

   ExternalProject_Add(${proj}


Revert FindDirectX and guard the win8 search path inside OGRE_BUILD_PLATFORM_WINRT

--- CMake/Packages/FindDirectX.cmake
+++ CMake/Packages/FindDirectX.cmake
@@ -38,6 +38,17 @@
 	"$ENV{ProgramFiles}/Microsoft DirectX SDK*"
   )

+if(OGRE_BUILD_PLATFORM_WINRT)
+  # Windows 8 SDK has custom layout
+  set(DirectX_INC_SEARCH_PATH
+    "C:/Program Files (x86)/Windows Kits/8.0/Include/shared"
+    "C:/Program Files (x86)/Windows Kits/8.0/Include/um"
+  )
+  set(DirectX_LIB_SEARCH_PATH
+    "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um"
+  )
+endif()
+
   create_search_paths(DirectX)
   # redo search if prefix path changed
   clear_if_changed(DirectX_PREFIX_PATH
@@ -46,7 +57,6 @@
   )

   find_path(DirectX_INCLUDE_DIR NAMES d3d9.h HINTS ${DirectX_INC_SEARCH_PATH})
-
   # dlls are in DirectX_ROOT_DIR/Developer Runtime/x64|x86
   # lib files are in DirectX_ROOT_DIR/Lib/x64|x86
   if(CMAKE_CL_64)
@@ -59,6 +69,13 @@
   find_library(DirectX_DXERR_LIBRARY NAMES DxErr HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
   find_library(DirectX_DXGUID_LIBRARY NAMES dxguid HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})

+
+  # look for dxgi (needed by both 10 and 11)
+  find_library(DirectX_DXGI_LIBRARY NAMES dxgi HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+
+  # look for d3dcompiler (needed by 11)
+  find_library(DirectX_D3DCOMPILER_LIBRARY NAMES d3dcompiler HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
+
   findpkg_finish(DirectX)
   set(DirectX_LIBRARIES ${DirectX_LIBRARIES}
     ${DirectX_D3DX9_LIBRARY}
@@ -66,31 +83,17 @@
     ${DirectX_DXGUID_LIBRARY}
   )

+  mark_as_advanced(DirectX_D3DX9_LIBRARY DirectX_DXERR_LIBRARY DirectX_DXGUID_LIBRARY
+    DirectX_DXGI_LIBRARY DirectX_D3DCOMPILER_LIBRARY)
+
+
   # look for D3D11 components
   if (DirectX_FOUND)
-    find_library(DirectX_D3DX11_LIBRARY NAMES d3dx11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-
-    # Windows 8 SDK has custom layout
-    set(DirectX_INC_SEARCH_PATH
-	  "C:/Program Files (x86)/Windows Kits/8.0/Include/shared"
-	  "C:/Program Files (x86)/Windows Kits/8.0/Include/um"
-    )
-
-    set(DirectX_LIB_SEARCH_PATH
-	  "C:/Program Files (x86)/Windows Kits/8.0/Lib/win8/um"
-    )
-
-    # look for dxgi (needed by both 10 and 11)
-    find_library(DirectX_DXGI_LIBRARY NAMES dxgi HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-
-    # look for d3dcompiler (needed by 11)
-    find_library(DirectX_D3DCOMPILER_LIBRARY NAMES d3dcompiler HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-
     find_path(DirectX_D3D11_INCLUDE_DIR NAMES D3D11Shader.h HINTS ${DirectX_INC_SEARCH_PATH})
 	get_filename_component(DirectX_LIBRARY_DIR "${DirectX_LIBRARY}" PATH)
 	message(STATUS "DX lib dir: ${DirectX_LIBRARY_DIR}")
     find_library(DirectX_D3D11_LIBRARY NAMES d3d11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
-
+    find_library(DirectX_D3DX11_LIBRARY NAMES d3dx11 HINTS ${DirectX_LIB_SEARCH_PATH} PATH_SUFFIXES ${DirectX_LIBPATH_SUFFIX})
 	if (DirectX_D3D11_INCLUDE_DIR AND DirectX_D3D11_LIBRARY)
 	  set(DirectX_D3D11_FOUND TRUE)
 	  set(DirectX_D3D11_INCLUDE_DIR ${DirectX_D3D11_INCLUDE_DIR})
@@ -110,5 +113,4 @@
 	mark_as_advanced(DirectX_D3D11_INCLUDE_DIR DirectX_D3D11_LIBRARY DirectX_D3DX11_LIBRARY)
   endif ()

-  mark_as_advanced(DirectX_D3DX9_LIBRARY DirectX_DXERR_LIBRARY DirectX_DXGUID_LIBRARY DirectX_DXGI_LIBRARY DirectX_D3DCOMPILER_LIBRARY)
-endif(WIN32)
+endif(WIN32)


Fix libsvn detection for some Linux distros Distros like Debian/Ubuntu use architecture-specific directory structures (like /usr/lib/x86_64-linux-gnu) which we cannot hardcode/guess, so we really need to search the default paths.

--- CMakeModules/FindSvnClient.cmake
+++ CMakeModules/FindSvnClient.cmake
@@ -19,8 +19,13 @@
     # NO_DEFAULT_PATH is important on Mac - we need to ensure subversion
     # libraires in dist/ or Macports are picked over the Apple version
     # in /usr, since that's what we will ship.
+    # On other platforms we do need default paths though, i.e. since Linux
+    # distros may use architecture-specific directories (like
+    # /usr/lib/x86_64-linux-gnu) which we cannot hardcode/guess here.
     FIND_LIBRARY(${compLibName}
+if(APPLE)
       NO_DEFAULT_PATH
+endif(APPLE)
       NAMES ${compLib}
       HINTS $ENV{LIBSVN_DIR} ${CMAKE_INSTALL_PREFIX} ${MSVC_3RDPARTY_ROOT}/${MSVC_3RDPARTY_DIR}/lib
       PATH_SUFFIXES lib64 lib libs64 libs libs/Win32 libs/Win64


Fix default module env

Fix default module env

--- GNUModules.cmake
+++ GNUModules.cmake
@@ -25,15 +25,15 @@
 #   set(MODULE_ENV "
 #   setenv         FOO_INCLUDE_DIR  $root/include
 #   setenv         FOO_ROOT         $root
-#   append-path    PATH             $root/bin
-#   append-path    LD_LIBRARY_PATH  $root/lib")
+#   prepend-path   PATH             $root/bin
+#   prepend-path   LD_LIBRARY_PATH  $root/lib")
 if(NOT MODULE_ENV)
   string(TOUPPER ${CMAKE_PROJECT_NAME} UPPER_PROJECT_NAME)
   set(MODULE_ENV "
   setenv         ${UPPER_PROJECT_NAME}_INCLUDE_DIR  $root/include
   setenv         ${UPPER_PROJECT_NAME}_ROOT         $root
-  append-path    PATH             $root/bin
-  append-path    LD_LIBRARY_PATH  $root/lib")
+  prepend-path    PATH             $root/bin
+  prepend-path    LD_LIBRARY_PATH  $root/lib")
 endif()

 # the base directory containing all modules on a machine


COMP Fixed CMake error

COMP Fixed CMake error

--- Modules/Core/test/files.cmake
+++ Modules/Core/test/files.cmake
@@ -178,12 +178,13 @@
     mitkImageToItkTest.cpp
     mitkImageSliceSelectorTest.cpp
     mitkSurfaceDepthPeelingTest.cpp
-    if(NOT WIN32)
-    # Currently not working on windows because of a rendering timing issue
-    # see bug 18083 for details
-    mitkSurfaceDepthSortingTest.cpp
-    endif()
 )
+
+# Currently not working on windows because of a rendering timing issue
+# see bug 18083 for details
+if(NOT WIN32)
+ set(MODULE_CUSTOM_TESTS ${MODULE_CUSTOM_TESTS} mitkSurfaceDepthSortingTest.cpp)
+endif()

 set(RESOURCE_FILES
   Interactions/AddAndRemovePoints.xml


Set MODULE_SUBPROJECTS in the parent scope.

--- CMake/mitkFunctionCreateModule.cmake
+++ CMake/mitkFunctionCreateModule.cmake
@@ -55,6 +55,7 @@
 #! List of variables available after the function is called:
 #! - MODULE_NAME
 #! - MODULE_IS_ENABLED
+#! - MODULE_SUBPROJECTS
 #!
 #! \param MODULE_NAME_IN The name for the new module
 #! \param HEADERS_ONLY specify this if the modules just contains header files.
@@ -540,5 +541,6 @@

   set(MODULE_NAME ${MODULE_NAME} PARENT_SCOPE)
   set(MODULE_IS_ENABLED ${MODULE_IS_ENABLED} PARENT_SCOPE)
+  set(MODULE_SUBPROJECTS ${MODULE_SUBPROJECTS} PARENT_SCOPE)

 endfunction()


Address CMP0058 issue with configure time generated files

Use the configure_file CMake command to copy from temporary file to
the build tree for a dependency.

Change-Id: I3a7953875efda06026ef1ca77ff1e85405c3e961

--- CMake/sitkGenerateFilterSource.cmake
+++ CMake/sitkGenerateFilterSource.cmake
@@ -210,24 +210,25 @@
   # Create list of generated headers
   ######

-  # clear the include files
-  file ( WRITE ${generated_code_output_path}/include/SimpleITK${directory_name}GeneratedHeaders.h "" )
-  file ( WRITE ${generated_code_output_path}/include/SimpleITK${directory_name}GeneratedHeaders.i "" )
-
   set(generated_headers_h ${generated_code_output_path}/include/SimpleITK${directory_name}GeneratedHeaders.h)
   set(generated_headers_i ${generated_code_output_path}/include/SimpleITK${directory_name}GeneratedHeaders.i)
+  set(tmp_generated_headers_h ${CMAKE_CURRENT_BINARY_DIR}/CMakeTmp/SimpleITK${directory_name}GeneratedHeaders.h)
+  set(tmp_generated_headers_i ${CMAKE_CURRENT_BINARY_DIR}/CMakeTmp/include/SimpleITK${directory_name}GeneratedHeaders.i)
+
+  file ( WRITE ${generated_headers_i} "")

   # Add ifndefs
-  file ( APPEND ${generated_headers_h} "#ifndef __SimpleITK${directory_name}GeneratedHeaders_h\n")
-  file ( APPEND ${generated_headers_h} "#define __SimpleITK${directory_name}GeneratedHeaders_h\n")
+  file ( WRITE "${tmp_generated_headers_h}" "#ifndef __SimpleITK${directory_name}GeneratedHeaders_h\n")
+  file ( APPEND "${tmp_generated_headers_h}" "#define __SimpleITK${directory_name}GeneratedHeaders_h\n")

   foreach ( filter ${GENERATED_FILTER_LIST} )
-    file ( APPEND ${generated_headers_h} "#include \"sitk${filter}.h\"\n" )
-    file ( APPEND ${generated_headers_i} "%include \"sitk${filter}.h\"\n" )
+    file ( APPEND "${tmp_generated_headers_h}" "#include \"sitk${filter}.h\"\n" )
+    file ( APPEND "${tmp_generated_headers_i}" "%include \"sitk${filter}.h\"\n" )
   endforeach()

-  file ( APPEND ${generated_headers_h} "#endif\n")
-
-
+  file ( APPEND "${tmp_generated_headers_h}" "#endif\n")
+
+  configure_file( "${tmp_generated_headers_h}" "${generated_headers_h}" COPYONLY )
+  configure_file( "${tmp_generated_headers_i}" "${generated_headers_i}" COPYONLY )

 endmacro()


cmake: Ensure fortran library are properly fixed-up and packaged on macOS

--- SPHARM-PDM.cmake
+++ SPHARM-PDM.cmake
@@ -41,11 +41,15 @@
 set(${EXTENSION_NAME}_CPACK_INSTALL_CMAKE_PROJECTS "${EXTENSION_CPACK_INSTALL_CMAKE_PROJECTS}" CACHE STRING "List of external projects to install" FORCE)

 # Install fortran runtime libraries
-if(DEFINED Slicer_DIR AND NOT APPLE)
-  Fortran_InstallLibrary(
-    FILES ${Fortran_${LAPACKE_Fortran_COMPILER_ID}_RUNTIME_LIBRARIES}
-    DESTINATION ${${LOCAL_PROJECT_NAME}_INSTALL_LIBRARY_DESTINATION} COMPONENT RuntimeLibraries
-    )
+if(DEFINED Slicer_DIR)
+  if(NOT APPLE)
+    Fortran_InstallLibrary(
+      FILES ${Fortran_${LAPACKE_Fortran_COMPILER_ID}_RUNTIME_LIBRARIES}
+      DESTINATION ${Slicer_INSTALL_THIRDPARTY_LIB_DIR} COMPONENT RuntimeLibraries
+      )
+  else()
+    set(${EXTENSION_NAME}_FIXUP_BUNDLE_LIBRARY_DIRECTORIES ${Fortran_${LAPACKE_Fortran_COMPILER_ID}_RUNTIME_DIRECTORIES} CACHE STRING "List of fixup bundle library directories" FORCE)
+  endif()
 endif()

 #-----------------------------------------------------------------------------


If set, pass Qt5_DIR to AwesomeProject.

If set, pass Qt5_DIR to AwesomeProject.

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -154,6 +154,12 @@

 set(proj ${MY_PROJECT_NAME}-Configure)

+set(cmake_cache_args)
+
+if(Qt5_DIR)
+  set(cmake_cache_args "-DQt5_DIR:PATH=${Qt5_DIR}")
+endif()
+
 ExternalProject_Add(${proj}
   DOWNLOAD_COMMAND ""
   CMAKE_GENERATOR ${gen}
@@ -166,6 +172,7 @@
     "-DCMAKE_PREFIX_PATH:PATH=${CMAKE_PREFIX_PATH}"
     "-DCMAKE_LIBRARY_PATH:PATH=${CMAKE_LIBRARY_PATH}"
     "-DCMAKE_INCLUDE_PATH:PATH=${CMAKE_INCLUDE_PATH}"
+    ${cmake_cache_args}
     # --------------- Compile options ----------------
     -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
     -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}


FIX: Windows build error on extension server

Error: Variable Subversion_SVN_EXECUTABLE is set to an inexistent
directory or file !

Reference:
http://massmail.spl.harvard.edu/public-archives/slicer-devel/2013/013437
.html

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -54,6 +54,7 @@
     -DMIDAS_PACKAGE_API_KEY:STRING=${MIDAS_PACKAGE_API_KEY}
     -D${EXTENSION_NAME}_SUPERBUILD:BOOL=OFF
     -DEXTENSION_SUPERBUILD_BINARY_DIR:PATH=${${EXTENSION_NAME}_BINARY_DIR}
+    -DSubversion_SVN_EXECUTABLE:STRING=${Subversion_SVN_EXECUTABLE}
   DEPENDS
     ${${proj}_DEPENDS}
   )


need to build niftyreg by default for travis

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -165,7 +165,7 @@
 option(BUILD_GADGETRON "Build Gadgetron" ${build_Gadgetron_default})
 option(BUILD_siemens_to_ismrmrd "Build siemens_to_ismrmrd" OFF)
 option(BUILD_petmr_rd_tools "Build petmr_rd_tools" OFF)
-option(BUILD_NiftyReg "Build NiftyReg" OFF)
+option(BUILD_NiftyReg "Build NiftyReg" ON)

 if (BUILD_petmr_rd_tools)
     set(USE_ITK ON CACHE BOOL "Use ITK" FORCE)


Use a default install prefix inside the MITK-build directory.

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -233,6 +233,7 @@
   CMAKE_GENERATOR ${gen}
   CMAKE_CACHE_ARGS
     ${ep_common_args}
+    -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_BINARY_DIR}/MITK-build/install
     ${mitk_superbuild_boolean_args}
     ${mitk_optional_cache_args}
     -DMITK_USE_SUPERBUILD:BOOL=OFF


BUG: Missing executables extension on Windows

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -264,9 +264,9 @@
 if( FiberViewerLight_BUILD_SLICER_EXTENSION )
   find_package(Slicer REQUIRED)
   include(${Slicer_USE_FILE})
-  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${proj}-install/bin/FiberViewerLightLauncher DESTINATION ${SlicerExecutionModel_DEFAULT_CLI_INSTALL_RUNTIME_DESTINATION})
+  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${proj}-install/bin/FiberViewerLightLauncher${fileextension} DESTINATION ${SlicerExecutionModel_DEFAULT_CLI_INSTALL_RUNTIME_DESTINATION})
   set( NOCLI_INSTALL_DIR ${SlicerExecutionModel_DEFAULT_CLI_INSTALL_RUNTIME_DESTINATION}/../hidden-cli-modules)
-  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${proj}-install/bin/FiberViewerLight DESTINATION ${NOCLI_INSTALL_DIR})
+  install(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/${proj}-install/bin/FiberViewerLight${fileextension} DESTINATION ${NOCLI_INSTALL_DIR})
   set(CPACK_INSTALL_CMAKE_PROJECTS "${CPACK_INSTALL_CMAKE_PROJECTS};${CMAKE_BINARY_DIR};${EXTENSION_NAME};ALL;/")
   include(${Slicer_EXTENSION_CPACK})
   # For the tests, we manually import the targets built in the inner-build directory


COMP: Switch to using GIT for checkout of ITK.

This switches ITK as an external project to use GIT instead of CVS.

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -24,13 +24,12 @@
   ##
   set(proj Insight)
   ExternalProject_Add(${proj}
-    CVS_REPOSITORY
-      ":pserver:anonymous:insight@public.kitware.com:/cvsroot/Insight"
-    CVS_MODULE "Insight"
-    SOURCE_DIR Insight
+    GIT_REPOSITORY "http://itk.org/ITK.git"
+    SOURCE_DIR ${CMAKE_BINARY_DIR}/Insight
     BINARY_DIR Insight-Build
     CMAKE_GENERATOR ${gen}
     CMAKE_ARGS
+      -Dgit_EXECUTABLE:FILEPATH=${GIT_EXECUTABLE}
       -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
       -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
       -DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}


Missing @ONLY in UpdateFile

Missing @ONLY in UpdateFile

--- UpdateFile.cmake
+++ UpdateFile.cmake
@@ -8,7 +8,7 @@
     return()
   endif()

-  configure_file(${IN} ${OUT}.tmp)
+  configure_file(${IN} ${OUT}.tmp @ONLY)
   file(READ ${OUT} _old_contents)
   file(READ ${OUT}.tmp _new_contents)
   if("${_old_contents}" STREQUAL "${_new_contents}")


ENH: Bump ITK ExternalProject to 4.9.0.

ENH: Bump ITK ExternalProject to 4.9.0.

Change-Id: I2473ba321819b34d6c1e0e865328ab205c93f0f2

--- Superbuild/External-ITK.cmake
+++ Superbuild/External-ITK.cmake
@@ -2,8 +2,8 @@
 # Get and build itk

 if( NOT ITK_TAG )
-  # ITK release 2016-01-19
-  set( ITK_TAG "774576c7f17dd5fcca9f1e0028c98b1c42b93e18" )
+  # ITK release 2016-01-30
+  set( ITK_TAG "v4.9.0" )
 endif()

 set( _vtk_args )


Update install of FindGPerfTools.cmake

Update install of FindGPerfTools.cmake

--- cmake/Modules/ConfigurePackage.cmake
+++ cmake/Modules/ConfigurePackage.cmake
@@ -28,7 +28,7 @@
     ${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake
     ${PROJECT_SOURCE_DIR}/cmake/Modules/MacroUtilities.cmake
     ${PROJECT_SOURCE_DIR}/cmake/Modules/Packages.cmake
-    ${PROJECT_SOURCE_DIR}/cmake/Modules/FindGooglePerf.cmake
+    ${PROJECT_SOURCE_DIR}/cmake/Modules/FindGPerfTools.cmake
     ${PROJECT_SOURCE_DIR}/cmake/Modules/FindTBB.cmake
     ${PROJECT_SOURCE_DIR}/cmake/Modules/Findittnotify.cmake
     ${PROJECT_SOURCE_DIR}/cmake/Modules/CudaConfig.cmake


Add VecCore options to RootBuildOptions.cmake

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -83,6 +83,7 @@
 ROOT_BUILD_OPTION(builtin_xrootd OFF "Build the XROOTD internally (downloading tarfile from the Web)")
 ROOT_BUILD_OPTION(builtin_llvm ON "Build the LLVM internally")
 ROOT_BUILD_OPTION(builtin_tbb OFF "Build the TBB internally")
+ROOT_BUILD_OPTION(builtin_veccore OFF "Build VecCore internally")
 ROOT_BUILD_OPTION(builtin_vdt OFF "Build the VDT package internally")
 ROOT_BUILD_OPTION(builtin_vc OFF "Build the Vc package internally")
 ROOT_BUILD_OPTION(cxx11 ON "Build using C++11 compatible mode, requires gcc > 4.7.x or clang")
@@ -158,6 +159,7 @@
 ROOT_BUILD_OPTION(thread ON "Using thread library (cannot be disabled)")
 ROOT_BUILD_OPTION(tmva ON "Build TMVA multi variate analysis library")
 ROOT_BUILD_OPTION(unuran OFF "UNURAN - package for generating non-uniform random numbers")
+ROOT_BUILD_OPTION(veccore OFF "VecCore SIMD abstraction library")
 ROOT_BUILD_OPTION(vecgeom OFF "VecGeom is a vectorized geometry library enhancing the performance of geometry navigation.")
 ROOT_BUILD_OPTION(vc OFF "Vc adds a few new types for portable and intuitive SIMD programming")
 ROOT_BUILD_OPTION(vdt OFF "VDT adds a set of fast and vectorisable mathematical functions")
@@ -219,6 +221,7 @@
   set(builtin_xrootd_defvalue ON)
   set(builtin_llvm_defvalue ON)
   set(builtin_tbb_defvalue ON)
+  set(builtin_veccore_defvalue ON)
   set(builtin_vdt_defvalue ON)
   set(builtin_vc_defvalue ON)
 endif()


Upgrading ITK superbuild to ITK 4.4.0

Upgrading ITK superbuild to ITK 4.4.0

Change-Id: I2bad11fc47c83cf5da230935df788ce45742864c

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

 # NOTE: it is very important to update the ITK_DIR path with the
-set(ITK_TAG_COMMAND GIT_TAG v4.4rc01
+set(ITK_TAG_COMMAND GIT_TAG v4.4.0
  )

 if( ${ITK_WRAPPING} OR ${BUILD_SHARED_LIBS} )


Fixed cross triple

Fixed cross triple

--- android-arm64/Toolchain.cmake
+++ android-arm64/Toolchain.cmake
@@ -1,7 +1,7 @@
 set(CMAKE_SYSTEM_NAME Android)
 set(CMAKE_SYSTEM_VERSION 1)

-set(cross_triple arm-linux-androideabi)
+set(cross_triple aarch64-linux-android)
 set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN /usr/${cross_triple}/)
 set(CMAKE_ANDROID_ARM_MODE 1)
 set(CMAKE_ANDROID_ARM_NEON 1)
@@ -16,3 +16,4 @@
 set(CMAKE_SYSROOT /usr/${cross_triple}/sysroot)

 set(CMAKE_CROSSCOMPILING_EMULATOR /usr/bin/qemu-arm)
+


SuperBuild: geos patch also needed for windows

--- SuperBuild/CMake/External_geos.cmake
+++ SuperBuild/CMake/External_geos.cmake
@@ -39,9 +39,7 @@

 # Patch still needed with version 3.6.1 to avoid error during CMake configuration
 # See https://trac.osgeo.org/geos/ticket/753
-if(NOT MSVC)
-  SUPERBUILD_PATCH_SOURCE(GEOS)
-endif()
+SUPERBUILD_PATCH_SOURCE(GEOS)

 set(_SB_GEOS_INCLUDE_DIR ${SB_INSTALL_PREFIX}/include)
 if(WIN32)


Updated listed email address (issue #565).

git-svn-id: 99aa2048cf63c94f97d904899d0fb24168b99718@441 ac7aa084-b6da-11df-bf42-7fac39f0224f

--- Tudat/External/CMake/FindSpice.cmake
+++ Tudat/External/CMake/FindSpice.cmake
@@ -6,7 +6,7 @@
 # Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
 # Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
 # Copyright (c) 2012 Bryan Tong Minh <b.tongminh@student.tudelft.nl>
-# Copyright (c) 2012 Paul Musegaas <p.musegaas@gmail.com>
+# Copyright (c) 2012 Paul Musegaas <p.musegaas@student.tudelft.nl>
 # Copyright (c) 2012 Dominic Dirkx <d.dirkx@tudelft.nl>
 # Redistribution and use is allowed according to the terms of the 2-clause BSD license.


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   26)
+SET(KWSYS_DATE_STAMP_DAY   27)


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   16)
+SET(KWSYS_DATE_STAMP_DAY   17)


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   06)
+SET(KWSYS_DATE_STAMP_DAY   07)


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   18)
+SET(KWSYS_DATE_STAMP_DAY   19)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


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   02)
+SET(KWSYS_DATE_STAMP_DAY   03)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


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 10)
+SET(KWSYS_DATE_STAMP_MONTH 11)

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


disable installation for external project (to be fixed later)

--- bin/dsn.ext.cmake
+++ bin/dsn.ext.cmake
@@ -50,7 +50,8 @@
     CMAKE_ARGS "${CMAKE_ARGS};-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX};${my_cmake_args};"
     BINARY_DIR "${target_bin_dir}"
     INSTALL_DIR "${target_bin_dir}"
-    INSTALL_COMMAND "${install_cmd}"
+    #INSTALL_COMMAND "${install_cmd}"
+    INSTALL_COMMAND "" #TODO: fix installation later to be cross-platform
 )

 # Specify source dir


Make corrections to macro. Fix library prefix.

--- src/CMake/ZlibConfig.cmake
+++ src/CMake/ZlibConfig.cmake
@@ -30,14 +30,20 @@
   SET(zlib_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}/Externals/zlib")

   SET(SCI_ZLIB_INCLUDE "${zlib_SOURCE_DIR};${zlib_BINARY_DIR}" CACHE INTERNAL "Zlib include directories." FORCE)
-  SET(SCI_ZLIB_LIBRARY zlib CACHE INTERNAL "Zlib library name." FORCE)
+  SET(SCI_ZLIB_LIBRARY z CACHE INTERNAL "Zlib library name." FORCE)

   # TODO: prefix for windows build?
+  IF(WIN32)
+    #SET(zlib_LIB_PREFIX "lib")
+    SET(zlib_LIB_PREFIX "")
+  ELSE()
+    SET(zlib_LIB_PREFIX ${CMAKE_STATIC_LIBRARY_PREFIX})
+  ENDIF()

-  SET(zlib_LIBRARY_PATH "${zlib_BINARY_DIR}/${SCI_ZLIB_LIBRARY}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+  SET(zlib_LIBRARY_PATH "${zlib_BINARY_DIR}/${zlib_LIB_PREFIX}${SCI_ZLIB_LIBRARY}${CMAKE_STATIC_LIBRARY_SUFFIX}")
   # other configuration options are RELWITHDEBINFO and MINSIZEREL
-  SET(zlib_LIBRARY_PATH_RELEASE "${zlib_BINARY_DIR}/Release/${SCI_ZLIB_LIBRARY}${CMAKE_STATIC_LIBRARY_SUFFIX}")
-  SET(zlib_LIBRARY_PATH_DEBUG "${zlib_BINARY_DIR}/Debug/${SCI_ZLIB_LIBRARY}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+  SET(zlib_LIBRARY_PATH_RELEASE "${zlib_BINARY_DIR}/Release/${zlib_LIB_PREFIX}${SCI_ZLIB_LIBRARY}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+  SET(zlib_LIBRARY_PATH_DEBUG "${zlib_BINARY_DIR}/Debug/${zlib_LIB_PREFIX}${SCI_ZLIB_LIBRARY}${CMAKE_STATIC_LIBRARY_SUFFIX}")

   IF(${compress_type} MATCHES "GIT")

@@ -75,7 +81,7 @@
   ADD_DEPENDENCIES(${SCI_ZLIB_LIBRARY} Zlib_external)
   ADD_DEPENDENCIES(${SCI_ZLIB_LIBRARY} ${SCI_ZLIB_INCLUDE})

-  IF (CMAKE_GENERATOR MATCHES "Makefiles")
+  IF(CMAKE_GENERATOR MATCHES "Makefiles")
     SET_TARGET_PROPERTIES(${SCI_ZLIB_LIBRARY}
       PROPERTIES
         IMPORTED_LOCATION ${zlib_LIBRARY_PATH}


add Intel CPU 6 - 62 to the known list

add Intel CPU 6 - 62 to the known list

--- cmake/OptimizeForArchitecture.cmake
+++ cmake/OptimizeForArchitecture.cmake
@@ -71,7 +71,9 @@
    if(_vendor_id STREQUAL "GenuineIntel")
       if(_cpu_family EQUAL 6)
          # Any recent Intel CPU except NetBurst
-         if(_cpu_model EQUAL 58)
+         if(_cpu_model EQUAL 62)
+            set(TARGET_ARCHITECTURE "ivy-bridge")
+         elseif(_cpu_model EQUAL 58)
             set(TARGET_ARCHITECTURE "ivy-bridge")
          elseif(_cpu_model EQUAL 47) # Xeon E7 4860
             set(TARGET_ARCHITECTURE "westmere")


Fixed include path for GLV headers

Fixed include path for GLV headers

--- cmake_modules/CMakeRunTargets.cmake
+++ cmake_modules/CMakeRunTargets.cmake
@@ -53,7 +53,7 @@
 endif(TARGET Gamma)

 if(TARGET GLV)
-  set(GLV_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/GLV/GLV)
+  set(GLV_INCLUDE_DIR ${CMAKE_SOURCE_DIR}/GLV)
   get_target_property(GLV_LIBRARY GLV LOCATION)
   add_dependencies(${APP_NAME} GLV)
 else()


Enable FastRTPS for C (#128)

Enable FastRTPS for C (#128)

--- rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake
+++ rosidl_generator_py/cmake/rosidl_generator_py_get_typesupports.cmake
@@ -14,10 +14,8 @@

 macro(accumulate_typesupports)
   set(_typesupport_impl "")
-  if(NOT rmw_implementation STREQUAL "rmw_fastrtps_cpp")
-    get_rmw_typesupport(_typesupport_impl ${rmw_implementation} LANGUAGE "C")
-    list(APPEND _typesupport_impls ${_typesupport_impl})
-  endif()
+  get_rmw_typesupport(_typesupport_impl ${rmw_implementation} LANGUAGE "C")
+  list(APPEND _typesupport_impls ${_typesupport_impl})
 endmacro()

 macro(rosidl_generator_py_get_typesupports TYPESUPPORT_IMPLS)


fix glew XP_PRO_GLEW_<VERSION> cmake options

* INTERNAL when XP_DEFAULT, BOOL otherwise
* so these options don't always show up in ccmake - behave like other options of this type

issue https://github.com/smanders/externpro/issues/171

--- projects/glew.cmake
+++ projects/glew.cmake
@@ -10,12 +10,17 @@
     return()
   endif()
   if(XP_DEFAULT OR (XP_PRO_GLEW AND NOT (XP_PRO_GLEW_${mswVer} OR XP_PRO_GLEW_${bldVer})))
+    if(XP_DEFAULT)
+      set(TYPE INTERNAL)
+    else()
+      set(TYPE BOOL)
+    endif()
     if(WIN32)
-      set(XP_PRO_GLEW_${mswVer} ON CACHE BOOL "include glew_${mswVer}" FORCE)
-      set(XP_PRO_GLEW_${bldVer} OFF CACHE BOOL "include glew_${bldVer}" FORCE)
+      set(XP_PRO_GLEW_${mswVer} ON CACHE ${TYPE} "include glew_${mswVer}" FORCE)
+      set(XP_PRO_GLEW_${bldVer} OFF CACHE ${TYPE} "include glew_${bldVer}" FORCE)
     else()
-      set(XP_PRO_GLEW_${mswVer} OFF CACHE BOOL "include glew_${mswVer}" FORCE)
-      set(XP_PRO_GLEW_${bldVer} ON CACHE BOOL "include glew_${bldVer}" FORCE)
+      set(XP_PRO_GLEW_${mswVer} OFF CACHE ${TYPE} "include glew_${mswVer}" FORCE)
+      set(XP_PRO_GLEW_${bldVer} ON CACHE ${TYPE} "include glew_${bldVer}" FORCE)
     endif()
   endif()
 endfunction()


update FindMKL to match the default installation behavior of MKL 11

--- bench/btl/cmake/FindMKL.cmake
+++ bench/btl/cmake/FindMKL.cmake
@@ -20,12 +20,23 @@
   PATHS
   $ENV{MKLLIB}
   /opt/intel/mkl/*/lib/em64t
+  /opt/intel/Compiler/*/*/mkl/lib/em64t
   ${LIB_INSTALL_DIR}
 )

-if(MKL_LIBRARIES)
-set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel_lp64 mkl_sequential guide pthread)
-endif(MKL_LIBRARIES)
+find_library(MKL_GUIDE
+  guide
+  PATHS
+  $ENV{MKLLIB}
+  /opt/intel/mkl/*/lib/em64t
+  /opt/intel/Compiler/*/*/mkl/lib/em64t
+  /opt/intel/Compiler/*/*/lib/intel64
+  ${LIB_INSTALL_DIR}
+)
+
+if(MKL_LIBRARIES AND MKL_GUIDE)
+  set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel_lp64 mkl_sequential ${MKL_GUIDE} pthread)
+endif()

 else(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")

@@ -34,12 +45,23 @@
   PATHS
   $ENV{MKLLIB}
   /opt/intel/mkl/*/lib/32
+  /opt/intel/Compiler/*/*/mkl/lib/32
   ${LIB_INSTALL_DIR}
 )

-if(MKL_LIBRARIES)
-set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel mkl_sequential guide pthread)
-endif(MKL_LIBRARIES)
+find_library(MKL_GUIDE
+  guide
+  PATHS
+  $ENV{MKLLIB}
+  /opt/intel/mkl/*/lib/32
+  /opt/intel/Compiler/*/*/mkl/lib/32
+  /opt/intel/Compiler/*/*/lib/intel32
+  ${LIB_INSTALL_DIR}
+)
+
+if(MKL_LIBRARIES AND MKL_GUIDE)
+  set(MKL_LIBRARIES ${MKL_LIBRARIES} mkl_intel mkl_sequential ${MKL_GUIDE} pthread)
+endif()

 endif(${CMAKE_HOST_SYSTEM_PROCESSOR} STREQUAL "x86_64")


COMP: more cmake-friendly find_path prototype

--- CMake/ImportGdal.cmake
+++ CMake/ImportGdal.cmake
@@ -64,7 +64,12 @@
   MATH(EXPR GDAL_NUM_VERSION "((${GDAL_VERSION_MAJOR})*100+${GDAL_VERSION_MINOR})*100+${GDAL_VERSION_PATCH}")

   # Find geotiff headers
-  FIND_PATH(GEOTIFF_INCLUDE_DIRS geotiff.h ${GDAL_INCLUDE_DIR} /usr/include/geotiff /usr/include/libgeotiff)
+  FIND_PATH(GEOTIFF_INCLUDE_DIRS geotiff.h
+            HINTS
+              ${GDAL_INCLUDE_DIR}
+            PATH_SUFFIXES
+              geotiff
+              libgeotiff)
   MARK_AS_ADVANCED(GEOTIFF_INCLUDE_DIRS)
   IF (NOT GEOTIFF_INCLUDE_DIRS)
   MESSAGE(FATAL_ERROR
@@ -72,7 +77,8 @@
   ENDIF (NOT GEOTIFF_INCLUDE_DIRS)

   # Find tiff headers
-  FIND_PATH(TIFF_INCLUDE_DIRS tiffio.h ${GDAL_INCLUDE_DIR})
+  FIND_PATH(TIFF_INCLUDE_DIRS tiffio.h
+              HINTS ${GDAL_INCLUDE_DIR})
   MARK_AS_ADVANCED(TIFF_INCLUDE_DIRS)
   IF (NOT TIFF_INCLUDE_DIRS)
   MESSAGE(FATAL_ERROR
@@ -80,6 +86,8 @@
   ENDIF (NOT TIFF_INCLUDE_DIRS)

   # Find jpeg headers
+  FIND_PATH(JPEG_INCLUDE_DIRS jpeglib.h
+              HINTS ${GDAL_INCLUDE_DIR})
   FIND_PATH(JPEG_INCLUDE_DIRS jpeglib.h ${GDAL_INCLUDE_DIR})
   MARK_AS_ADVANCED(JPEG_INCLUDE_DIRS)
   IF (NOT JPEG_INCLUDE_DIRS)
@@ -89,7 +97,8 @@
   INCLUDE_DIRECTORIES(${JPEG_INCLUDE_DIRS})

   # Find ogr headers
-  FIND_PATH(OGR_INCLUDE_DIRS ogrsf_frmts.h ${GDAL_INCLUDE_DIR})
+  FIND_PATH(OGR_INCLUDE_DIRS ogrsf_frmts.h
+              HINTS ${GDAL_INCLUDE_DIR})
   MARK_AS_ADVANCED(OGR_INCLUDE_DIRS)
   IF (NOT OGR_INCLUDE_DIRS)
   MESSAGE(FATAL_ERROR


updated findcycluscore to correctly bail if its not found. thanks for the suggestion @katyhuff

--- src/CMake/Findcycluscore.cmake
+++ src/CMake/Findcycluscore.cmake
@@ -32,14 +32,12 @@

 # Add the root dir to the hints
 SET(CYCLUS_ROOT_DIR "${CYCLUS_CORE_INCLUDE_DIR}/../..")
-MESSAGE(STATUS "CYCLUS_ROOT_DIR hint has been set to : ${CYCLUS_ROOT_DIR}")

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

 # Look for the library
 FIND_LIBRARY(CYCLUS_CORE_LIBRARY NAMES cycluscore
@@ -47,7 +45,6 @@
   /usr/local/cyclus/lib /usr/local/cyclus
   /opt/local /opt/local/cyclus
   PATH_SUFFIXES cyclus/lib lib)
-MESSAGE(STATUS "CYCLUS_CORE_LIBRARY Found : ${CYCLUS_CORE_LIBRARY}")

 # Look for the library
 FIND_LIBRARY(CYCLUS_GTEST_LIBRARY NAMES gtest
@@ -56,21 +53,20 @@
   /usr/local/cyclus/lib /usr/local/cyclus
   /opt/local/lib /opt/local/cyclus/lib
   PATH_SUFFIXES cyclus/lib lib)
-MESSAGE(STATUS "CYCLUS_GTEST_LIBRARY Found : ${CYCLUS_GTEST_LIBRARY}")

 # 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)
-	SET(CYCLUS_CORE_FOUND 1)
-        SET(CYCLUS_CORE_LIBRARIES ${CYCLUS_CORE_LIBRARY})
-        SET(CYCLUS_GTEST_LIBRARIES ${CYCLUS_GTEST_LIBRARY})
-        SET(CYCLUS_CORE_INCLUDE_DIRS "${CYCLUS_CORE_INCLUDE_DIR}")
-        SET(CYCLUS_CORE_SHARE_DIRS ${CYCLUS_CORE_SHARE_DIR})
+  SET(CYCLUS_CORE_FOUND 1)
+  SET(CYCLUS_CORE_LIBRARIES ${CYCLUS_CORE_LIBRARY})
+  SET(CYCLUS_GTEST_LIBRARIES ${CYCLUS_GTEST_LIBRARY})
+  SET(CYCLUS_CORE_INCLUDE_DIRS "${CYCLUS_CORE_INCLUDE_DIR}")
+  SET(CYCLUS_CORE_SHARE_DIRS ${CYCLUS_CORE_SHARE_DIR})
 ELSE (CYCLUS_CORE_INCLUDE_DIR AND CYCLUS_CORE_LIBRARY AND CYCLUS_GTEST_LIBRARY AND CYCLUS_CORE_SHARE_DIR)
-	SET(CYCLUS_CORE_FOUND 0)
-	SET(CYCLUS_CORE_LIBRARIES)
-        SET(CYCLUS_GTEST_LIBRARIES)
-	SET(CYCLUS_CORE_INCLUDE_DIRS)
-        SET(CYCLUS_CORE_SHARE_DIRS)
+  SET(CYCLUS_CORE_FOUND 0)
+  SET(CYCLUS_CORE_LIBRARIES)
+  SET(CYCLUS_GTEST_LIBRARIES)
+  SET(CYCLUS_CORE_INCLUDE_DIRS)
+  SET(CYCLUS_CORE_SHARE_DIRS)
 ENDIF (CYCLUS_CORE_INCLUDE_DIR AND CYCLUS_CORE_LIBRARY AND CYCLUS_GTEST_LIBRARY AND CYCLUS_CORE_SHARE_DIR)

 # Report the results.
@@ -90,13 +86,16 @@
 ELSE (CYCLUS_CORE_FOUND)
 	SET(CYCLUS_CORE_DIR_MESSAGE
 		"Cyclus was not found. Make sure CYCLUS_CORE_LIBRARY and CYCLUS_CORE_INCLUDE_DIR are set.")
-	IF (NOT CYCLUS_CORE_FIND_QUIETLY)
-		MESSAGE(STATUS "${CYCLUS_CORE_DIR_MESSAGE}")
-	ELSE (NOT CYCLUS_CORE_FIND_QUIETLY)
-		IF (CYCLUS_CORE_FIND_REQUIRED)
-			MESSAGE(FATAL_ERROR "${CYCLUS_CORE_DIR_MESSAGE}")
-		ENDIF (CYCLUS_CORE_FIND_REQUIRED)
-	ENDIF (NOT CYCLUS_CORE_FIND_QUIETLY)
+	IF (NOT cycluscore_FIND_QUIETLY)
+	  MESSAGE(STATUS "${CYCLUS_CORE_DIR_MESSAGE}")
+	  MESSAGE(STATUS "CYCLUS_CORE_SHARE_DIR was set to : ${CYCLUS_CORE_SHARE_DIR}")
+	  MESSAGE(STATUS "CYCLUS_CORE_LIBRARY was set to : ${CYCLUS_CORE_LIBRARY}")
+	  MESSAGE(STATUS "CYCLUS_GTEST_LIBRARY was set to : ${CYCLUS_GTEST_LIBRARY}")
+
+	  IF (cycluscore_FIND_REQUIRED)
+	    MESSAGE(FATAL_ERROR "${cycluscore_DIR_MESSAGE}")
+	  ENDIF (cycluscore_FIND_REQUIRED)
+	ENDIF (NOT cycluscore_FIND_QUIETLY)
 ENDIF (CYCLUS_CORE_FOUND)

 MARK_AS_ADVANCED(