cmake: Do not use visibility attribute with GCC on OS/2

Closes #68.

--- cmake/VisibilityDetect.cmake
+++ cmake/VisibilityDetect.cmake
@@ -12,6 +12,7 @@
                                             !defined(__hpux)  && !defined(hpux)   && \\\\
                                             !defined(__sgi)   && !defined(sgi)    && \\\\
                                             !defined(__osf__) && !defined(__osf)  && \\\\
+                                            !defined(__OS2__)                        \\\\
                                             !defined(_AIX)   && !defined(__CYGWIN__) && !defined(__MSYS__)
                                         return 0;
                                         #else


[cmake] Remove debug message.

[cmake] Remove debug message.

--- cmake/modules/AddSwift.cmake
+++ cmake/modules/AddSwift.cmake
@@ -88,8 +88,6 @@
       "-arch" "${CFLAGS_ARCH}"
       "-F" "${SWIFT_SDK_${CFLAGS_SDK}_PATH}/../../../Developer/Library/Frameworks"
       "-m${SWIFT_SDK_${CFLAGS_SDK}_VERSION_MIN_NAME}-version-min=${DEPLOYMENT_VERSION}")
-
-    message("SDK=${CFLAGS_SDK} + ARCH=${CFLAGS_ARCH} + DEPLOYMENT_VERSION=${DEPLOYMENT_VERSION} + INPUT_DEPLOYMENT_VERS_IOS=${CFLAGS_DEPLOYMENT_VERSION_IOS}")

     if(analyze_code_coverage)
       list(APPEND result "-fprofile-instr-generate"


Typo.

Typo.

--- cmake/modules/FindNVML.cmake
+++ cmake/modules/FindNVML.cmake
@@ -6,8 +6,8 @@
 #  NVML_FOUND           - True if NVML is found

 SET(NVML_INC_PATHS /usr/include/nvidia/gdk/ /usr/include)
-FIND_PATH(NVML_INCLUDE_DIR nxml.h PATHS ${NVML_INC_PATHS})
-FIND_LIBRARY(NVML_LIBRARY nxidia-ml)
+FIND_PATH(NVML_INCLUDE_DIR nvml.h PATHS ${NVML_INC_PATHS})
+FIND_LIBRARY(NVML_LIBRARY nvidia-ml)

 SET(NVML_INCLUDE_DIRS ${NVML_INCLUDE_DIR})
 SET(NVML_LIBRARIES ${NVML_LIBRARY})


fbcode_builder: fix install_fb_python_library() to work with old CMake versions

Summary:
Update install_fb_python_library() to work with CMake versions older than 3.7.

Previously the code used a generator expression in the directory argument
supplied to `install(DIRECTORY)`.  Support for generators in this parameter
was only added in CMake 3.5, but it was buggy and did not correctly handle
absolute paths until 3.7.

This updates the code to avoid using a generator expression.  This does
require that the corresponding `add_fb_python_library()` statement appear
before the `install_fb_python_library()` statement, but this seems like a
pretty reasonable restriction.

Reviewed By: chadaustin

Differential Revision: D17103597

fbshipit-source-id: 54d6af93a3f530373cfe3137db99436d8484f308

--- build/fbcode_builder/CMake/FBPythonBinary.cmake
+++ build/fbcode_builder/CMake/FBPythonBinary.cmake
@@ -369,10 +369,9 @@

   # Copy the intermediate install directory generated at build time into
   # the desired install location.
-  set(dest_dir "$<TARGET_PROPERTY:${LIB_NAME}.py_lib_install,INSTALL_DIR>")
-  set(
-    build_install_dir
-    "$<TARGET_PROPERTY:${LIB_NAME}.py_lib_install,BUILD_INSTALL_DIR>"
+  get_target_property(dest_dir "${LIB_NAME}.py_lib_install" "INSTALL_DIR")
+  get_target_property(
+    build_install_dir "${LIB_NAME}.py_lib_install" "BUILD_INSTALL_DIR"
   )
   install(
     DIRECTORY "${build_install_dir}/${LIB_NAME}"


Cleanup iree_hal_cts_test_suite function (#10511)

Address post-merge comment in
https://github.com/iree-org/iree/pull/10461

--- build_tools/cmake/iree_hal_cts_test_suite.cmake
+++ build_tools/cmake/iree_hal_cts_test_suite.cmake
@@ -90,11 +90,7 @@
     endif()

     if(CMAKE_SYSTEM_PROCESSOR STREQUAL "riscv64" AND
-       CMAKE_SYSTEM_NAME STREQUAL "Linux" AND
-       NOT  _TRANSLATE_FLAGS MATCHES "iree-llvm-target-triple")
-      # RV64 Linux crosscompile toolchain can support iree-compile with
-      # specific CPU flags. Add the llvm flags to support RV64 RVV codegen if
-      # llvm-target-triple is not specified.
+       CMAKE_SYSTEM_NAME STREQUAL "Linux")
       list(APPEND  _TRANSLATE_FLAGS ${RISCV64_TEST_DEFAULT_LLVM_FLAGS})
     endif()


update libbot superbuild

update libbot superbuild

--- distro/superbuild/cmake/externals.cmake
+++ distro/superbuild/cmake/externals.cmake
@@ -111,6 +111,38 @@
     )

   set(lcm_depends lcm ${cmake3_depends})
+endif()
+
+
+###############################################################################
+# libbot
+
+if(USE_LIBBOT AND NOT USE_SYSTEM_LIBBOT)
+
+  if(NOT USE_LCM)
+    message(SEND_ERROR "Error, USE_LIBBOT is enabled but USE_LCM is OFF.")
+  endif()
+
+  ExternalProject_Add(libbot
+    GIT_REPOSITORY https://github.com/RobotLocomotion/libbot.git
+    GIT_TAG 2cfd369
+    CMAKE_CACHE_ARGS
+      ${default_cmake_args}
+      -DWITH_BOT_VIS:BOOL=OFF
+
+    DEPENDS
+      ${lcm_depends}
+    )
+
+  set(libbot_depends libbot)
+
+endif()
+
+
+###############################################################################
+# lcm message types repos
+
+if (USE_LCM)

   ExternalProject_Add(bot_core_lcmtypes
     GIT_REPOSITORY https://github.com/openhumanoids/bot_core_lcmtypes
@@ -122,6 +154,10 @@

     DEPENDS
       ${lcm_depends}
+
+      # build bot_core_lcmtypes after libbot, even though it is not a dependency.
+      # see https://github.com/RobotLocomotion/libbot/issues/20
+      ${libbot_depends}
     )

   ExternalProject_Add(robotlocomotion-lcmtypes
@@ -133,7 +169,8 @@
       ${python_args}

     DEPENDS
-      ${lcm_depends} bot_core_lcmtypes
+      ${lcm_depends}
+      bot_core_lcmtypes
     )

     list(APPEND lcm_depends bot_core_lcmtypes robotlocomotion-lcmtypes)
@@ -142,32 +179,11 @@

 ###############################################################################
-# libbot
-
-if(USE_LIBBOT AND NOT USE_SYSTEM_LIBBOT)
-
-  if(NOT USE_LCM)
-    message(SEND_ERROR "Error, USE_LIBBOT is enabled but USE_LCM is OFF.")
-  endif()
-
-  ExternalProject_Add(libbot
-    GIT_REPOSITORY https://github.com/RobotLocomotion/libbot.git
-    GIT_TAG c328b73
-    CONFIGURE_COMMAND ""
-    INSTALL_COMMAND ""
-    BUILD_COMMAND $(MAKE) BUILD_PREFIX=${install_prefix} BUILD_TYPE=${CMAKE_BUILD_TYPE}
-    BUILD_IN_SOURCE 1
-
-    DEPENDS
-      ${lcm_depends}
-    )
-
-  set(libbot_depends libbot)
-
-endif()
-
-
 if(USE_STANDALONE_LCMGL)
+
+  if(USE_LIBBOT)
+    message(SEND_ERROR "USE_LIBBOT and USE_STANDALONE_LCMGL are incompatible.  Please disable one options.")
+  endif()

   ExternalProject_Add(bot-lcmgl-download
     GIT_REPOSITORY https://github.com/RobotLocomotion/libbot.git


v2x: Strip comments in v2x test output.

v2x: Strip comments in v2x test output.

Signed-off-by: Tim 'mithro' Ansell <b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@mith.ro>

--- utils/vlog/tests/v2x_tests.cmake
+++ utils/vlog/tests/v2x_tests.cmake
@@ -35,10 +35,20 @@
   # pb_type checking
   set(GOLDEN_XML golden.${TYPE}.xml)
   add_file_target(FILE ${GOLDEN_XML} SCANNER_TYPE xml)
-  xml_canonicalize_merge(NAME ${NAME}_${TYPE}_golden_sort FILE ${GOLDEN_XML} OUTPUT ${NAME}.${TYPE}.golden.xml)
+  xml_canonicalize_merge(
+    NAME ${NAME}_${TYPE}_golden_sort
+    FILE ${GOLDEN_XML}
+    OUTPUT ${NAME}.${TYPE}.golden.xml
+    EXTRA_ARGUMENTS "-param" "strip_comments" "1"
+    )

   set(ACTUAL_XML ${NAME}.${TYPE}.xml)
-  xml_canonicalize_merge(NAME ${NAME}_${TYPE}_actual_sort FILE ${ACTUAL_XML} OUTPUT ${NAME}.${TYPE}.actual.xml)
+  xml_canonicalize_merge(
+    NAME ${NAME}_${TYPE}_actual_sort
+    FILE ${ACTUAL_XML}
+    OUTPUT ${NAME}.${TYPE}.actual.xml
+    EXTRA_ARGUMENTS "-param" "strip_comments" "1"
+    )

   diff(NAME ${NAME}_${TYPE}_diff GOLDEN ${NAME}.${TYPE}.golden.xml ACTUAL ${NAME}.${TYPE}.actual.xml)


Important (in the case where the zlib or png headers are missing) fix
for misspelling of macro names.

Implement standard preprocessor logic
to avoid including these macros more than once.

svn path=/trunk/; revision=12358

--- cmake/build_projects/libharu/include/hpdf_config.h.cmake
+++ cmake/build_projects/libharu/include/hpdf_config.h.cmake
@@ -22,6 +22,9 @@

 /* include/hpdf_config.h.in.  Generated from configure.in by autoheader.  */

+#ifndef _HPDF_CONFIG_H
+#define _HPDF_CONFIG_H
+
 /* Define to 1 if you have the <dlfcn.h> header file. */
 #cmakedefine LIBHPDF_HAVE_DLFCN_H

@@ -29,10 +32,10 @@
 #cmakedefine LIBHPDF_HAVE_INTTYPES_H

 /* Define to 1 if you have the `png' library (-lpng). */
-#cmakedefine LIBHPDF_HAVE_LIBPNG
+#cmakedefine HAVE_LIBPNG

 /* Define to 1 if you have the `z' library (-lz). */
-#cmakedefine LIBHPDF_HAVE_LIBZ
+#cmakedefine HAVE_LIBZ

 /* Define to 1 if you have the <memory.h> header file. */
 #cmakedefine LIBHPDF_HAVE_MEMORY_H
@@ -65,10 +68,10 @@
 #cmakedefine LIBHPDF_DEBUG_TRACE

 /* libpng is not available */
-#cmakedefine LIBHPDF_HAVE_NOPNGLIB
+#cmakedefine HPDF_NOPNGLIB

 /* zlib is not available */
-#cmakedefine LIBHPDF_HAVE_NOZLIB
+#cmakedefine HPDF_NOZLIB

 /* Define to the address where bug reports for this package should be sent. */
 #cmakedefine LIBHPDF_PACKAGE_BUGREPORT
@@ -90,3 +93,5 @@

 /* Define to `unsigned int' if <sys/types.h> does not define. */
 #cmakedefine LIBHPDF_size_t
+
+#endif /* _HPDF_CONFIG_H */


Include community board in cmake select (#599)

--- CMake/Modules/CHIBIOS_STM32F4xx_sources.cmake
+++ CMake/Modules/CHIBIOS_STM32F4xx_sources.cmake
@@ -71,7 +71,8 @@
                ${CHIBIOS_BOARD} STREQUAL "NETDUINO3_WIFI" OR
                ${CHIBIOS_BOARD} STREQUAL "I2M_ELECTRON_NF" OR
                ${CHIBIOS_BOARD} STREQUAL "I2M_OXYGEN_NF" OR
-               ${CHIBIOS_BOARD} STREQUAL "ST_NUCLEO64_F411RE_NF")
+               ${CHIBIOS_BOARD} STREQUAL "ST_NUCLEO64_F411RE_NF" OR
+               ${CHIBIOS_BOARD} STREQUAL "GHI_FEZ_CERB40_NF")
                 ${PROJECT_BINARY_DIR}/ChibiOS_Source/os/hal/ports/STM32/LLD/I2Cv1
             else()
                 ${PROJECT_BINARY_DIR}/ChibiOS_Source/os/hal/ports/STM32/LLD/I2Cv2
@@ -108,7 +109,8 @@
    ${CHIBIOS_BOARD} STREQUAL "NETDUINO3_WIFI" OR
    ${CHIBIOS_BOARD} STREQUAL "I2M_ELECTRON_NF" OR
    ${CHIBIOS_BOARD} STREQUAL "I2M_OXYGEN_NF" OR
-   ${CHIBIOS_BOARD} STREQUAL "ST_NUCLEO64_F411RE_NF")
+   ${CHIBIOS_BOARD} STREQUAL "ST_NUCLEO64_F411RE_NF" OR
+   ${CHIBIOS_BOARD} STREQUAL "GHI_FEZ_CERB40_NF")
     list(APPEND CHIBIOS_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/ChibiOS_Source/os/hal/ports/STM32/LLD/I2Cv1)
 else()
     list(APPEND CHIBIOS_INCLUDE_DIRS ${PROJECT_BINARY_DIR}/ChibiOS_Source/os/hal/ports/STM32/LLD/I2Cv2)


fixed opencv superbuild usage for unix systems

--- CMake/PackageDepends/MITK_OpenCV_Config.cmake
+++ CMake/PackageDepends/MITK_OpenCV_Config.cmake
@@ -8,11 +8,14 @@
   set(OpenCV_LIB_DIR_OPT "")
   foreach(folderPart ${OpenCV_LIB_DIR_OPT_LIST})
     if(NOT folderPart MATCHES  "Release")
-    if(NOT OpenCV_LIB_DIR_OPT)
-      set(OpenCV_LIB_DIR_OPT "${folderPart}")
-    else()
-      set(OpenCV_LIB_DIR_OPT "${OpenCV_LIB_DIR_OPT}/${folderPart}")
-    endif()
+      if(NOT OpenCV_LIB_DIR_OPT)
+        if(NOT WIN32)
+          set(folderPart "/${folderPart}")
+        endif()
+        set(OpenCV_LIB_DIR_OPT "${folderPart}")
+      else()
+        set(OpenCV_LIB_DIR_OPT "${OpenCV_LIB_DIR_OPT}/${folderPart}")
+      endif()
     endif()
   endforeach()
   set(OpenCV_LIB_DIR_DBG ${OpenCV_LIB_DIR_OPT})
@@ -21,11 +24,14 @@
   set(OpenCV_3RDPARTY_LIB_DIR_OPT "")
   foreach(folderPart ${OpenCV_3RDPARTY_LIB_DIR_OPT_LIST})
     if(NOT folderPart MATCHES  "Release")
-    if(NOT OpenCV_3RDPARTY_LIB_DIR_OPT)
-      set(OpenCV_3RDPARTY_LIB_DIR_OPT "${folderPart}")
-    else()
-      set(OpenCV_3RDPARTY_LIB_DIR_OPT "${OpenCV_3RDPARTY_LIB_DIR_OPT}/${folderPart}")
-    endif()
+      if(NOT OpenCV_3RDPARTY_LIB_DIR_OPT)
+        if(NOT WIN32)
+          set(folderPart "/${folderPart}")
+        endif()
+        set(OpenCV_3RDPARTY_LIB_DIR_OPT "${folderPart}")
+      else()
+        set(OpenCV_3RDPARTY_LIB_DIR_OPT "${OpenCV_3RDPARTY_LIB_DIR_OPT}/${folderPart}")
+      endif()
     endif()
   endforeach()
   set(OpenCV_3RDPARTY_LIB_DIR_DBG ${OpenCV_3RDPARTY_LIB_DIR_OPT})
@@ -46,4 +52,4 @@
 # adding option for videoinput library on windows (for directshow based frame grabbing)
 if(WIN32)
   option(MITK_USE_videoInput "Use videoInput (DirectShow wrapper) library" OFF)
-endif(WIN32)+endif(WIN32)


Add basic support for MSVC ARM64 (#261)

Add basic support for MSVC ARM64 (#261)

--- cmake/modules/hunter_setup_msvc.cmake
+++ cmake/modules/hunter_setup_msvc.cmake
@@ -21,10 +21,12 @@
 #       Visual Studio 12 2013 -> x86
 #       Visual Studio 12 2013 Win64 -> amd64
 #       Visual Studio 12 2013 ARM -> x86_arm
+#       Visual Studio 15 2017 ARM64 -> x86_arm64
 #     CMake's MSVC_CXX_ARCHITECTURE_ID:
 #       X86 -> x86
 #       x64 -> amd64
 #       ARMV7 -> x86_arm
+#       ARM64 -> x86_arm64
 # * HUNTER_MSVC_VCVARSALL - full path to the 'vcvarsall.bat' script

 # This function should work with all generators that provide MSVC compiler:
@@ -90,6 +92,7 @@
     string(COMPARE EQUAL "${_architecture_id}" "X86" _is_x86)
     string(COMPARE EQUAL "${_architecture_id}" "x64" _is_x64)
     string(COMPARE EQUAL "${_architecture_id}" "ARMV7" _is_arm)
+    string(COMPARE EQUAL "${_architecture_id}" "ARM64" _is_arm64)

     if(_is_x86)
       set(HUNTER_MSVC_ARCH "x86")
@@ -97,6 +100,8 @@
       set(HUNTER_MSVC_ARCH "amd64")
     elseif(_is_arm)
       set(HUNTER_MSVC_ARCH "x86_arm")
+    elseif(_is_arm64)
+      set(HUNTER_MSVC_ARCH "x86_arm64")
     else()
       hunter_internal_error(
           "Unexpected MSVC_*_ARCHITECTURE_ID: '${_architecture_id}'"


CMake: Add PATH_SUFFIXES to second include file

--- CMake/Packages/FindFreetype.cmake
+++ CMake/Packages/FindFreetype.cmake
@@ -44,7 +44,7 @@
 message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")

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

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


cmake MAINTENANCE strip output of uncrutify version

--- CMakeModules/FindUncrustify.cmake
+++ CMakeModules/FindUncrustify.cmake
@@ -8,7 +8,7 @@

 find_program(UNCRUSTIFY uncrustify)
 if(UNCRUSTIFY)
-    execute_process(COMMAND ${UNCRUSTIFY} --version OUTPUT_VARIABLE VERSION)
+    execute_process(COMMAND ${UNCRUSTIFY} --version OUTPUT_STRIP_TRAILING_WHITESPACE OUTPUT_VARIABLE VERSION)
     string(FIND ${VERSION} "-" START_IDX)
     math(EXPR START_IDX "${START_IDX} + 1")
     string(SUBSTRING "${VERSION}" ${START_IDX} -1 VERSION)


CMake: Reduce branch depth

CMake: Reduce branch depth

--- scripts/cmake/ElektraManPage.cmake
+++ scripts/cmake/ElektraManPage.cmake
@@ -21,10 +21,12 @@
 			"\\1"
 			GIT_ADDED_LINES
 			"${GIT_OUTPUT}")
-	if (GIT_ADDED_LINES STREQUAL 1)
-		execute_process (COMMAND "${GIT_COMMAND}" diff ${OUTFILE} OUTPUT_VARIABLE GIT_DIFF)
-		if (GIT_DIFF MATCHES "\n-.TH")
-			execute_process (COMMAND "${GIT_COMMAND}" checkout ${OUTFILE})
-		endif (GIT_DIFF MATCHES "\n-.TH")
-	endif (GIT_ADDED_LINES STREQUAL 1)
+	if (NOT GIT_ADDED_LINES STREQUAL 1)
+		return ()
+	endif (NOT GIT_ADDED_LINES STREQUAL 1)
+
+	execute_process (COMMAND "${GIT_COMMAND}" diff ${OUTFILE} OUTPUT_VARIABLE GIT_DIFF)
+	if (GIT_DIFF MATCHES "\n-.TH")
+		execute_process (COMMAND "${GIT_COMMAND}" checkout ${OUTFILE})
+	endif (GIT_DIFF MATCHES "\n-.TH")
 endif (GIT_COMMAND)


Update source/cmake_modules/EnableClangTidy.cmake

Co-authored-by: pbench <117eb54568988a7b0e22722b7ac33ccbcf3b6aeb@users.noreply.github.com>

--- source/cmake_modules/EnableClangTidy.cmake
+++ source/cmake_modules/EnableClangTidy.cmake
@@ -1,5 +1,5 @@

-message(STATUS "cland-tools")
+message(STATUS "clang-tools")

 # Generates a compile_commands.json file containing the exact compiler calls for all translation units
 set(CMAKE_EXPORT_COMPILE_COMMANDS ON)


Loader: Fix 32-bit Cmake detection of ImageMagick

Older versions of Cmake didn't like the newer script.

--- cmake/FindImageMagick.cmake
+++ cmake/FindImageMagick.cmake
@@ -101,10 +101,10 @@
   if (WIN32)
     # If a 64-bit compile, it can only appear in "[HKLM]\\software\\ImageMagick"
     if (CMAKE_CL_64)
-
-      set (IMAGEMAGIC_REG_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]" PARENT_SCOPE)
-      set (IMAGEMAGIC_REGINCLUDE_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include" PARENT_SCOPE)
-      set (IMAGEMAGIC_REGLIB_PATH "[HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib" PARENT_SCOPE)
+
+        GET_FILENAME_COMPONENT(IM_BIN_PATH
+          [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]
+          ABSOLUTE CACHE)

     else()

@@ -115,23 +115,28 @@
         [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]
         PATH)

-      # If a 32-bit compile on a 64-bit Windows, it appears in "[HKLM]\\software\\WOW6432Node\\ImageMagick"
-      if (TESTING STREQUAL "C:/Program Files (x86)")
+      # If the WOW6432Node reg string returns empty, assume 32-bit OS, and look in the standard reg path.
+      if (TESTING STREQUAL "")

-        set (IMAGEMAGIC_REG_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath] PARENT_SCOPE)
-        set (IMAGEMAGIC_REGINCLUDE_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]/include PARENT_SCOPE)
-        set (IMAGEMAGIC_REGLIB_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]/lib PARENT_SCOPE)
-
-      # If a 32-bit compile on a 32-bit Windows, it appears in "[HKLM]\\software\\ImageMagick"
+        GET_FILENAME_COMPONENT(IM_BIN_PATH
+          [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]
+          ABSOLUTE CACHE)
+
+      # Otherwise, the WOW6432Node returned a string, assume 32-bit build on 64-bit OS and use that string.
       else()
-
-        set (IMAGEMAGIC_REG_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath] PARENT_SCOPE)
-        set (IMAGEMAGIC_REGINCLUDE_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/include PARENT_SCOPE)
-        set (IMAGEMAGIC_REGLIB_PATH [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]/lib PARENT_SCOPE)
+
+        GET_FILENAME_COMPONENT(IM_BIN_PATH
+          [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]
+          ABSOLUTE CACHE)

       endif()

     endif()
+
+    set (IMAGEMAGIC_REG_PATH ${IM_BIN_PATH} PARENT_SCOPE)
+    set (IMAGEMAGIC_REGINCLUDE_PATH ${IM_BIN_PATH}/include PARENT_SCOPE)
+    set (IMAGEMAGIC_REGLIB_PATH ${IM_BIN_PATH}/lib PARENT_SCOPE)
+
   else()

   message(WARNING "In FIND_REGISTRY:  LINUX_BUILD")


add simmetrix acis interface to FindSimModSuite

--- cmake/FindSimModSuite.cmake
+++ cmake/FindSimModSuite.cmake
@@ -44,7 +44,9 @@
 set(SIM_OPT_LIB_NAMES
   SimAdvMeshing
   SimParasolid260
-  pskernel)
+  pskernel
+  SimAcis240
+  SpaACIS)

 simLibCheck("${SIM_LIB_NAMES}" TRUE)
 simLibCheck("${SIM_OPT_LIB_NAMES}" FALSE)


refine install hacks

refine install hacks

--- cmake/WinInstallHacks.cmake
+++ cmake/WinInstallHacks.cmake
@@ -5,14 +5,31 @@

 	# Windows Installer Specials for Deployment

+	# ToDo - Targets are to specific - the ZIP comprising examples or tools also need all binaries ... same for ubuntu -> if not installed but downloaded as archive ...
+
+	find_package(OpenGL REQUIRED)
+

 	# GLEW Dependencies (currently relying on custom findGLEW script)
+
+	find_package(GLEW REQUIRED)

 	install(FILES ${GLEW_BINARY} DESTINATION ${INSTALL_EXAMPLES} COMPONENT examples_glfw)
 	message(STATUS ${GLEW_BINARY})

+	# ToDo: cpplocate Dependencies - there might already be a nice way to do this
+
+	find_package(cpplocate REQUIRED)
+
+	set(CPPLOCATE_BINARY "${cpplocate_DIR}/cpplocate.dll")
+	install(FILES ${CPPLOCATE_BINARY} DESTINATION ${INSTALL_EXAMPLES} COMPONENT examples_glfw)
+	message(STATUS ${CPPLOCATE_BINARY})
+
+
 	# ToDo: glfw3 Dependencies - there might already be a nice way to do this -> see glfw3Targets-release.cmake ...
+
+	find_package(glfw3 REQUIRED)

 	set(GLFW3_BINARY "${glfw3_DIR}/../../../bin/glfw3.dll")
 	install(FILES ${GLFW3_BINARY} DESTINATION ${INSTALL_EXAMPLES} COMPONENT examples_glfw)


cmake: Do not abort even if git describe failed

The commit 1b80f00f56fb66ae7b03d3a95389b85380b2a2a3 made git describe
failure as fatal.  But a failure can happens when no tag is in a
repository.  And such a repository might exist for a internal build
system or some test environments.

Zephyr's build system is capable building without a commit hash.

This commit makes it non-fatal again and inform users that the build
system is failed to execute "git describe" but continues building with
KERNEL_VERSION_STRING.

Signed-off-by: Yasushi SHOJI <b0fcb18d68856f3f248fde2125e5497d662c9efd@ispace-inc.com>

--- cmake/app/boilerplate.cmake
+++ cmake/app/boilerplate.cmake
@@ -263,11 +263,12 @@
     WORKING_DIRECTORY ${ZEPHYR_BASE}
     OUTPUT_VARIABLE BUILD_VERSION
     OUTPUT_STRIP_TRAILING_WHITESPACE
+    ERROR_STRIP_TRAILING_WHITESPACE
     ERROR_VARIABLE stderr
     RESULT_VARIABLE return_code
     )
   if(return_code)
-    message(FATAL_ERROR "${stderr}")
+    message(STATUS "git describe failed: ${stderr}; ${KERNEL_VERSION_STRING} will be used instead")
   elseif(CMAKE_VERBOSE_MAKEFILE)
     message(STATUS "git describe stderr: ${stderr}")
   endif()


cmake: fix support for out of tree shields

After the rework in #12403, specifying a shield which has overlay
out of the tree causes unnecessary inclusions of overlays.
For every board root, overlays that have same index as
expected overlay are being included.
Fix this by removing already included overlays from SHIELD list.

Signed-off-by: Marcin Szymczyk <8fc8da9290e253bcb8b4ee9416a0003a2a8e3fa1@nordicsemi.no>

--- cmake/app/boilerplate.cmake
+++ cmake/app/boilerplate.cmake
@@ -291,6 +291,7 @@

   if(DEFINED SHIELD)
     foreach(s ${SHIELD_AS_LIST})
+      list(REMOVE_ITEM SHIELD ${s})
       list(FIND SHIELD_LIST ${s} _idx)
       if (NOT _idx EQUAL -1)
         list(GET shields_refs_list ${_idx} s_path)


[cmake] Mimick the structure of the install directory in the build directory, to simplify the use of iDynTree from the build

--- cmake/iDynTreeOptions.cmake
+++ cmake/iDynTreeOptions.cmake
@@ -106,4 +106,9 @@
     list(APPEND IDYNTREE_WARNING_FLAGS -pedantic)
 endif()

+# Create build artifacts in ${build}/bin for binaries and ${build}/lib for libraries
+# This simplifies the use of isaac software directly from the build directory
+set(CMAKE_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_BINDIR}")
+set(CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")
+set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR}")


Fixed options

Fixed options

--- cmake/megamol_options.cmake
+++ cmake/megamol_options.cmake
@@ -72,8 +72,8 @@
   find_package(OpenMP)
 endif()
 if(OPENMP_FOUND OR WIN32)
-  list(APPEND CMAKE_C_FLAGS ${OpenMP_C_FLAGS})
-  list(APPEND CMAKE_CXX_FLAGS ${OpenMP_CXX_FLAGS})
+  set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
 endif()

 # OpenGL


Fixing windows bots.

Fixing windows bots.

Third time's the try.

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -423,16 +423,18 @@
     set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
   else()
     if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY OR ${name} STREQUAL "LTO")
-      if(WIN32 OR CYGWIN)
-        install(TARGETS ${name}
-          EXPORT LLVMExports
-          RUNTIME DESTINATION lib${LLVM_LIBDIR_SUFFIX}
-          COMPONENT ${name})
-      elseif(ARG_SHARED OR BUILD_SHARED_LIBS)
-        install(TARGETS ${name}
-          EXPORT LLVMExports
-          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
-          COMPONENT ${name})
+      if(ARG_SHARED OR BUILD_SHARED_LIBS)
+        if(WIN32 OR CYGWIN)
+          install(TARGETS ${name}
+            EXPORT LLVMExports
+            RUNTIME DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+            COMPONENT ${name})
+        else()
+          install(TARGETS ${name}
+            EXPORT LLVMExports
+            LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+            COMPONENT ${name})
+        endif()
       else()
         install(TARGETS ${name}
           EXPORT LLVMExports


Disable all link optimizations in a debug build.

This taking linking clang on my machine with gold from 16.980257914 to
15.933037649 seconds.

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -158,35 +158,38 @@
 endif()

 function(add_link_opts target_name)
-  # Pass -O3 to the linker. This enabled different optimizations on different
-  # linkers. Don't do it in debug builds since it slows down the linker
-  # in a context where the optimizations are not important.
-  if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32) AND
-     NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG")
-    set_property(TARGET ${target_name} APPEND_STRING PROPERTY
-                 LINK_FLAGS " -Wl,-O3")
-  endif()
-
-  if(LLVM_LINKER_IS_GOLD)
-    # With gold gc-sections is always safe.
-    set_property(TARGET ${target_name} APPEND_STRING PROPERTY
-                 LINK_FLAGS " -Wl,--gc-sections")
-    # Note that there is a bug with -Wl,--icf=safe so it is not safe
-    # to enable. See https://sourceware.org/bugzilla/show_bug.cgi?id=17704.
-  endif()
-
-  if(NOT LLVM_NO_DEAD_STRIP)
-    if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-      # ld64's implementation of -dead_strip breaks tools that use plugins.
+  # Don't use linker optimizations in debug builds since it slows down the
+  # linker in a context where the optimizations are not important.
+  if (NOT uppercase_CMAKE_BUILD_TYPE STREQUAL "DEBUG")
+
+    # Pass -O3 to the linker. This enabled different optimizations on different
+    # linkers.
+    if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32))
       set_property(TARGET ${target_name} APPEND_STRING PROPERTY
-                   LINK_FLAGS " -Wl,-dead_strip")
-    elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD)
-      # Object files are compiled with -ffunction-data-sections.
-      # Versions of bfd ld < 2.23.1 have a bug in --gc-sections that breaks
-      # tools that use plugins. Always pass --gc-sections once we require
-      # a newer linker.
+                   LINK_FLAGS " -Wl,-O3")
+    endif()
+
+    if(LLVM_LINKER_IS_GOLD)
+      # With gold gc-sections is always safe.
       set_property(TARGET ${target_name} APPEND_STRING PROPERTY
                    LINK_FLAGS " -Wl,--gc-sections")
+      # Note that there is a bug with -Wl,--icf=safe so it is not safe
+      # to enable. See https://sourceware.org/bugzilla/show_bug.cgi?id=17704.
+    endif()
+
+    if(NOT LLVM_NO_DEAD_STRIP)
+      if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+        # ld64's implementation of -dead_strip breaks tools that use plugins.
+        set_property(TARGET ${target_name} APPEND_STRING PROPERTY
+                     LINK_FLAGS " -Wl,-dead_strip")
+      elseif(NOT WIN32 AND NOT LLVM_LINKER_IS_GOLD)
+        # Object files are compiled with -ffunction-data-sections.
+        # Versions of bfd ld < 2.23.1 have a bug in --gc-sections that breaks
+        # tools that use plugins. Always pass --gc-sections once we require
+        # a newer linker.
+        set_property(TARGET ${target_name} APPEND_STRING PROPERTY
+                     LINK_FLAGS " -Wl,--gc-sections")
+      endif()
     endif()
   endif()
 endfunction(add_link_opts)


update re2c to v2.0.3

update re2c to v2.0.3

--- cmake/modules/GetRE2C.cmake
+++ cmake/modules/GetRE2C.cmake
@@ -20,7 +20,7 @@
     download_project(
             PROJ                re2c
             GIT_REPOSITORY      https://github.com/skvadrik/re2c.git
-            GIT_TAG             2.0.2
+            GIT_TAG             2.0.3
             GIT_PROGRESS        1
     )


Hardcode WinML tests umbrella lib (#4161)

--- cmake/winml_unittests.cmake
+++ cmake/winml_unittests.cmake
@@ -49,7 +49,7 @@
   if (_UT_DEPENDS)
     add_dependencies(${_UT_TARGET} ${_UT_DEPENDS})
   endif()
-  target_link_libraries(${_UT_TARGET} PRIVATE ${_UT_LIBS} gtest winml_google_test_lib ${onnxruntime_EXTERNAL_LIBRARIES} winml_lib_common onnxruntime)
+  target_link_libraries(${_UT_TARGET} PRIVATE ${_UT_LIBS} gtest winml_google_test_lib ${onnxruntime_EXTERNAL_LIBRARIES} winml_lib_common onnxruntime windowsapp.lib)

   add_test(NAME ${_UT_TARGET}
     COMMAND ${_UT_TARGET}


MKL_<C>_LIB -> MKL_<C>_LIBRARY

MKL_<C>_LIB -> MKL_<C>_LIBRARY

--- modules/FindMKL.cmake
+++ modules/FindMKL.cmake
@@ -388,13 +388,13 @@
     endif()
     unset(_MKL_MPI_LC)

-    find_library(MKL_BLACS_LIB
+    find_library(MKL_BLACS_LIBRARY
                  "${_MKL_BLACS_LIBNAME}"
                  HINTS ${_MKL_LIBRARY_SEARCH_DIRS})
-    if("${MKL_BLACS_LIB}" STREQUAL "MKL_BLACS_LIB-NOTFOUND")
+    if("${MKL_BLACS_LIBRARY}" STREQUAL "MKL_BLACS_LIBRARY-NOTFOUND")
       set(MKL_FOUND 0)
     else()
-      list(APPEND MKL_LIBRARIES ${MKL_BLACS_LIB})
+      list(APPEND MKL_LIBRARIES ${MKL_BLACS_LIBRARY})
       set(MKL_BLACS_FOUND TRUE)
     endif()

@@ -416,13 +416,13 @@
     # CDFT
     list(FIND MKL_FIND_COMPONENTS CDFT _MKL_INDEXOF_CDFT)
     if (${_MKL_INDEXOF_CDFT} GREATER -1)
-      find_library(MKL_CDFT_LIB
+      find_library(MKL_CDFT_LIBRARY
                    "mkl_cdft_core"
                    HINTS ${_MKL_LIBRARY_SEARCH_DIRS})
-      if("${MKL_CDFT_LIB}" STREQUAL "MKL_CDFT_LIB-NOTFOUND")
+      if("${MKL_CDFT_LIBRARY}" STREQUAL "MKL_CDFT_LIBRARY-NOTFOUND")
         set(MKL_FOUND 0)
       else()
-        list(APPEND MKL_LIBRARIES ${MKL_CDFT_LIB})
+        list(APPEND MKL_LIBRARIES ${MKL_CDFT_LIBRARY})
         set(MKL_CDFT_FOUND TRUE)
       endif()
     endif()
@@ -431,13 +431,13 @@
     # ScaLAPACK
     list(FIND MKL_FIND_COMPONENTS ScaLAPACK _MKL_INDEXOF_SCALAPACK)
     if (${_MKL_INDEXOF_SCALAPACK} GREATER -1)
-      find_library(MKL_SCALAPACK_LIB
+      find_library(MKL_SCALAPACK_LIBRARY
                    "mkl_scalapack_${_MKL_INTERFACE_LC}"
                    HINTS ${_MKL_LIBRARY_SEARCH_DIRS})
-      if("${MKL_SCALAPACK_LIB}" STREQUAL "MKL_SCALAPACK_LIB-NOTFOUND")
+      if("${MKL_SCALAPACK_LIBRARY}" STREQUAL "MKL_SCALAPACK_LIBRARY-NOTFOUND")
         set(MKL_FOUND 0)
       else()
-        list(APPEND MKL_LIBRARIES ${MKL_SCALAPACK_LIB})
+        list(APPEND MKL_LIBRARIES ${MKL_SCALAPACK_LIBRARY})
         set(MKL_SCALAPACK_FOUND TRUE)
       endif()
     endif()


Patch 2651453: MACRO_DISPLAY_FEATURE_LOG should write dependency failure report as FATAL_ERROR, not STATUS to ensure it is displayed in ccmake

--HG--
extra : convert_revision : svn%3A8631bf8a-c64b-0410-883c-f3eb003322f7/trunk%40563

--- CMake/Utils/MacroLogFeature.cmake
+++ CMake/Utils/MacroLogFeature.cmake
@@ -88,7 +88,7 @@
    SET(_file ${CMAKE_BINARY_DIR}/MissingRequirements.txt)
    IF (EXISTS ${_file})
       FILE(READ ${_file} _requirements)
-      MESSAGE(STATUS "\n-----------------------------------------------------------------------------\n-- The following REQUIRED packages could NOT be located on your system.\n-- Please install them before continuing this software installation.\n-- If you are in Windows, try passing -DOGRE_DEPENDENCIES_DIR=<path to dependencies>\n-----------------------------------------------------------------------------\n${_requirements}-----------------------------------------------------------------------------")
+      MESSAGE(FATAL_ERROR "\n-----------------------------------------------------------------------------\n-- The following REQUIRED packages could NOT be located on your system.\n-- Please install them before continuing this software installation.\n-- If you are in Windows, try passing -DOGRE_DEPENDENCIES_DIR=<path to dependencies>\n-----------------------------------------------------------------------------\n${_requirements}-----------------------------------------------------------------------------")
       FILE(REMOVE ${_file})
       MESSAGE(FATAL_ERROR "Exiting: Missing Requirements")
    ENDIF (EXISTS ${_file})


Delete patch.

Delete patch.

--- 3rdparty/libprocess/cmake/macros/VsBuildCommand.cmake
+++ 3rdparty/libprocess/cmake/macros/VsBuildCommand.cmake
@@ -1,46 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one
-# or more contributor license agreements.  See the NOTICE file
-# distributed with this work for additional information
-# regarding copyright ownership.  The ASF licenses this file
-# to you under the Apache License, Version 2.0 (the
-# "License"); you may not use this file except in compliance
-# with the License.  You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-##############################################################
-# VS_BUILD_CMD generates a build command for project which have Visual Studio
-# Solution File(.sln). For example, when we want to build GLOG through Visual
-# Studio in command line, we would run this command. It would define
-# ${LIB_NAME_UPPER}_BUILD_CMD with build command finally.
-function(
-    VS_BUILD_CMD
-    LIB_NAME
-    SOLUTION_FILE
-    BUILD_CONFIGURATION
-    PROJECT_ROOT
-    PROJECT_NAMES)
-
-  string(TOUPPER ${LIB_NAME} LIB_NAME_UPPER)
-
-  set(VS_BUILD_SCRIPT
-    ${CMAKE_SOURCE_DIR}/3rdparty/libprocess/cmake/macros/VsBuildCommand.bat)
-  set(BUILD_CMD_VAR ${LIB_NAME_UPPER}_BUILD_CMD)
-
-  # Generate the build command with ${VS_BUILD_SCRIPT}.
-  ## 1. Convert the path to Windows style.
-  file(
-    TO_NATIVE_PATH
-    "${VS_BUILD_SCRIPT} ${SOLUTION_FILE} ${BUILD_CONFIGURATION} ${PROJECT_ROOT} ${PROJECT_NAMES}"
-    BUILD_CMD_STRING)
-  ## 2. Convert the command to list so that CMake could handle it correctly.
-  string(REPLACE " " ";" BUILD_CMD ${BUILD_CMD_STRING})
-
-  set(${BUILD_CMD_VAR} ${BUILD_CMD} PARENT_SCOPE)
-endfunction()


Issue #1955: Remove THREADS_PREFER_PTHREAD_FLAG

--- googletest/cmake/internal_utils.cmake
+++ googletest/cmake/internal_utils.cmake
@@ -56,7 +56,6 @@
   unset(GTEST_HAS_PTHREAD)
   if (NOT gtest_disable_pthreads AND NOT MINGW)
     # Defines CMAKE_USE_PTHREADS_INIT and CMAKE_THREAD_LIBS_INIT.
-    set(THREADS_PREFER_PTHREAD_FLAG ON)
     find_package(Threads)
     if (CMAKE_USE_PTHREADS_INIT)
       set(GTEST_HAS_PTHREAD ON)


[FIX] Suppressing unused variable warnings in demos again.

--- util/cmake/SeqAnBuildSystem.cmake
+++ util/cmake/SeqAnBuildSystem.cmake
@@ -593,6 +593,7 @@
     set (SEQAN_FIND_DEPENDENCIES ALL)
     find_package (SeqAn REQUIRED)

+    # Setup include directories and definitions for SeqAn; flags follow below.
     include_directories (${SEQAN_INCLUDE_DIRS})
     add_definitions (${SEQAN_DEFINITIONS})

@@ -605,7 +606,7 @@
     seqan_setup_cuda_vars(ARCH sm_20 DISABLE_WARNINGS)

     # Add SeqAn flags to CXX and NVCC flags.
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SEQAN_CXX_FLAGS}" PARENT_SCOPE)
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SEQAN_CXX_FLAGS}")

     # Add all demos with found flags in SeqAn.
     foreach (ENTRY ${ENTRIES})


Allow CPack generator to be set on the cmdline

Allow commandline Cpack generator setting arguments to override default so we are not forced to always build debs on rpm based systems or vise versa

Former-commit-id: acc3cdc5439e3849096eb94847de2f983913eb40

--- src/gop/cmake/LStoreCommon.cmake
+++ src/gop/cmake/LStoreCommon.cmake
@@ -123,8 +123,12 @@
 # Below is used for building packages
 set(CPACK_PACKAGE_NAME "accre-${LSTORE_PROJECT_NAME}")
 set(CPACK_PACKAGE_VERSION "${LSTORE_PROJECT_VERSION}")
-set(CPACK_GENERATOR "RPM;DEB")
-set(CPACK_SOURCE_GENERATOR "RPM;DEB")
+if(NOT DEFINED CPACK_GENERATOR)
+    set(CPACK_GENERATOR "RPM;DEB")
+endif(NOT DEFINED CPACK_GENERATOR)
+if(NOT DEFINED CPACK_SOURCE_GENERATOR)
+    set(CPACK_SOURCE_GENERATOR "RPM;DEB")
+endif(NOT DEFINED CPACK_SOURCE_GENERATOR)
 set(CPACK_PACKAGE_RELEASE ${LSTORE_PROJECT_REVISION})
 set(CPACK_PACKAGE_CONTACT "Andrew Melo or Alan Tackett")
 set(CPACK_PACKAGE_VENDOR "Advanced Computing Center for Research and Education, Vanderbilt University")


Update MITK Data

Update MITK Data

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

 if(BUILD_TESTING)

-  set(revision_tag deced76d) # first 8 characters of hash-tag
+  set(revision_tag 2bf10394) # first 8 characters of hash-tag
 #                  ^^^^^^^^  these are just to check correct length of hash part

   ExternalProject_Add(${proj}


COMP: Fix regression by effectively updating PythonQt version

List of PythonQt changes for patched-8 branch:

$ git shortlog 30d788f..946253d --no-merges
Jean-Christophe Fillion-Robin (2):
      Fix setRedirectStdInCallbackEnabled
      Add support for enabling stdout/stderr redirection

List of PythonQt changes for patched-5 branch:

$ git shortlog 1afe4f8..5d46804 --no-merges
Jean-Christophe Fillion-Robin (3):
      Remove README.md now available on welcome branch
      Fix setRedirectStdInCallbackEnabled
      Add support for enabling stdout/stderr redirection

--- CMakeExternals/PythonQt.cmake
+++ CMakeExternals/PythonQt.cmake
@@ -78,9 +78,9 @@
   endif()

   if (CTK_QT_VERSION VERSION_GREATER "4")
-    set(revision_tag 30d788f4543b87f2e9fcade063d9007447c0e95d) # patched-8
+    set(revision_tag 946253d4584a4cc5238335d9a4bedeaed1a55d27) # patched-8
   else()
-    set(revision_tag 1afe4f8906345063b25047652e8962f641010a55) # patched-5
+    set(revision_tag 5d46804e39c72c224cee8e258c30fc618171f57d) # patched-5
   endif()

   if(${proj}_REVISION_TAG)


[FEATURE] Build System: added support for CUDA demos

--- util/cmake/SeqAnBuildSystem.cmake
+++ util/cmake/SeqAnBuildSystem.cmake
@@ -465,10 +465,11 @@
     set (CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -DSEQAN_ENABLE_DEBUG=0")
     set (CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -DSEQAN_ENABLE_DEBUG=1")

-    # Get a list of all .cpp files in the current directory.
+    # Get a list of all .cpp and .cu files in the current directory.
     file (GLOB ENTRIES
           RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
-          ${CMAKE_CURRENT_SOURCE_DIR}/[!.]*.cpp)
+          ${CMAKE_CURRENT_SOURCE_DIR}/[!.]*.cpp
+          ${CMAKE_CURRENT_SOURCE_DIR}/[!.]*.cu)

     # Get path to current source directory, relative from root.  Will be used to install demos in.
     file (RELATIVE_PATH INSTALL_DIR "${SEQAN_ROOT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
@@ -481,24 +482,48 @@
 endmacro (seqan_install_demos_release)

 macro (seqan_build_demos_develop PREFIX)
-    # Get a list of all .cpp files in the current directory.
+    # Get a list of all .cpp and .cu files in the current directory.
     file (GLOB_RECURSE ENTRIES
           RELATIVE ${CMAKE_CURRENT_SOURCE_DIR}
-          ${CMAKE_CURRENT_SOURCE_DIR}/**.cpp)
+          ${CMAKE_CURRENT_SOURCE_DIR}/[!.]*.cpp
+          ${CMAKE_CURRENT_SOURCE_DIR}/[!.]*.cu)

     # Find SeqAn with all dependencies.
     set (SEQAN_FIND_DEPENDENCIES ALL)
     find_package (SeqAn REQUIRED)

+    # Search for CUDA.
+    find_package (CUDA QUIET)
+
+    # Remember original CMAKE_CXX_FLAGS flags.
+    set (CMAKE_CXX_FLAGS_ORIG "${CMAKE_CXX_FLAGS}")
+
+    # Supress unused parameter warnings for demos.
+    if (CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG)
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
+    endif (CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG)
+
     # Add flags for SeqAn.
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${SEQAN_CXX_FLAGS}")
+    set (CMAKE_CXX_FLAGS_SEQAN "${CMAKE_CXX_FLAGS} ${SEQAN_CXX_FLAGS}")
+    string (REGEX REPLACE "\\-pedantic" "" CMAKE_CXX_FLAGS_SEQAN_CUDA "${CMAKE_CXX_FLAGS_SEQAN}")
+
     include_directories (${SEQAN_INCLUDE_DIRS})
     add_definitions (${SEQAN_DEFINITIONS})

-    # Supress unused parameter warnings for demos.
-    if (CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG)
-        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-unused-parameter")
-    endif (CMAKE_COMPILER_IS_GNUCXX OR COMPILER_IS_CLANG)
+    # Add flags for CUDA.
+    list (APPEND CUDA_NVCC_FLAGS_RELEASE "-O3")
+    list (APPEND CUDA_NVCC_FLAGS_MINSIZEREL "-O3")
+    list (APPEND CUDA_NVCC_FLAGS_RELWITHDEBINFO "-O3 -g -lineinfo")
+    list (APPEND CUDA_NVCC_FLAGS_DEBUG "-O0 -g -G -lineinfo")
+
+    # Turn CUDA cross-execution-space call warnings into errors.
+#    list (APPEND CUDA_NVCC_FLAGS --Werror=cross-execution-space-call)
+
+    # Supress all warnings for CUDA.
+    list (APPEND CUDA_NVCC_FLAGS --disable-warnings)
+
+    # Build CUDA demos from Tesla architecture upwards.
+    list (APPEND CUDA_NVCC_FLAGS -arch sm_20)

     # Add all demos with found flags in SeqAn.
     foreach (ENTRY ${ENTRIES})
@@ -507,13 +532,20 @@
         get_filename_component (BIN_NAME "${BIN_NAME}" NAME_WE)

         get_filename_component (FILE_NAME "${ENTRY}" NAME)
-        if (NOT "${FILE_NAME}" MATCHES "^\\.")
+        if (CUDA_FOUND AND "${FILE_NAME}" MATCHES "\\.cu$")
+            set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_SEQAN_CUDA}")
+            cuda_add_executable(${PREFIX}${BIN_NAME} ${ENTRY})
+        else (CUDA_FOUND AND "${FILE_NAME}" MATCHES "\\.cu$")
+            set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_SEQAN}")
             add_executable(${PREFIX}${BIN_NAME} ${ENTRY})
-            target_link_libraries (${PREFIX}${BIN_NAME} ${SEQAN_LIBRARIES})
         endif ()
+        target_link_libraries (${PREFIX}${BIN_NAME} ${SEQAN_LIBRARIES})

         _seqan_setup_demo_test (${ENTRY} ${PREFIX}${BIN_NAME})
     endforeach (ENTRY ${ENTRIES})
+
+    # Reset original flags.
+    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS_ORIG}")
 endmacro (seqan_build_demos_develop)

 function (seqan_register_demos)


Linux cmake build fixes/improvments for autobuild builds. (!standalone) Instead of letting the linker search for libs, use cmake to find the prebuilt libs so that the linker will only link to said libs and not any system libs it may have found. TODO: Expand this to other prebuilt libs instead of the UI ones.

--- indra/cmake/UI.cmake
+++ indra/cmake/UI.cmake
@@ -34,13 +34,13 @@
 else (STANDALONE)
   use_prebuilt_binary(gtk-atk-pango-glib)
   if (LINUX)
-    set(UI_LIBRARIES
+    set(UI_LIB_NAMES
         freetype
         atk-1.0
         gdk-x11-2.0
         gdk_pixbuf-2.0
-        Xinerama
         glib-2.0
+        gio-2.0
         gmodule-2.0
         gobject-2.0
         gthread-2.0
@@ -49,8 +49,18 @@
         pangoft2-1.0
         pangox-1.0
         pangoxft-1.0
-        ${FREETYPE_LIBRARIES}
         )
+    foreach(libname ${UI_LIB_NAMES})
+      find_library(UI_LIB_${libname}
+                   NAMES ${libname}
+                   PATHS
+                     debug ${LIBS_PREBUILT_DIR}/lib/debug
+                     optimized ${LIBS_PREBUILT_DIR}/lib/release
+                   NO_DEFAULT_PATH
+                   )
+      set(UI_LIBRARIES ${UI_LIBRARIES} ${UI_LIB_${libname}})
+    endforeach(uilibname)
+    set(UI_LIBRARIES ${UI_LIBRARIES} Xinerama)
   endif (LINUX)

   include_directories (


cmake: yeah

cmake: yeah

--- include/x0/sysconfig.h.cmake
+++ include/x0/sysconfig.h.cmake
@@ -29,7 +29,6 @@

 #cmakedefine HAVE_LDAP_H

-#cmakedefine ENABLE_PLUGIN_SSL
 #cmakedefine ENABLE_PLUGIN_AUTH_PAM

 #cmakedefine ENABLE_INOTIFY


Removing -g flag from mac builds

Removing -g flag from mac builds

--- indra/cmake/00-Common.cmake
+++ indra/cmake/00-Common.cmake
@@ -195,7 +195,7 @@
   # This is a known issue where getcontext(3) is writing past the end of the
   # ucontext_t struct when _XOPEN_SOURCE is not defined (rdar://problem/5578699 ).
   # As a workaround, define _XOPEN_SOURCE before including ucontext.h.
-  add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE -g)
+  add_definitions(-DLL_DARWIN=1 -D_XOPEN_SOURCE)
   set(CMAKE_CXX_LINK_FLAGS "-Wl,-headerpad_max_install_names,-search_paths_first")
   set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_CXX_LINK_FLAGS}")
   set(DARWIN_extra_cstar_flags "-mlong-branch")


Sync common cmake files

Sync common cmake files

--- src/lio/cmake/LStoreCommon.cmake
+++ src/lio/cmake/LStoreCommon.cmake
@@ -104,7 +104,14 @@
 set(LSTORE_PROJECT_OBJS ${LSTORE_PROJECT_OBJS} ${LSTORE_PROJECT_NAME}_version.c)

 add_library(library SHARED ${LSTORE_PROJECT_OBJS})
-set_target_properties(library PROPERTIES OUTPUT_NAME "${LSTORE_PROJECT_NAME}")
+
+# Possibly override the library filename
+if(DEFINED LSTORE_LIBRARY_NAME)
+    set_target_properties(library PROPERTIES OUTPUT_NAME "${LSTORE_LIBRARY_NAME}")
+else()
+    set_target_properties(library PROPERTIES OUTPUT_NAME "${LSTORE_PROJECT_NAME}")
+endif(DEFINED LSTORE_LIBRARY_NAME)
+
 set_target_properties(library PROPERTIES CLEAN_DIRECT_OUTPUT 1)
 if(WANT_STATIC)
     message(STATUS "Building a static library")
@@ -112,6 +119,11 @@
     set_target_properties(library-static PROPERTIES OUTPUT_NAME "${LSTORE_PROJECT_NAME}")
     set_target_properties(library-static PROPERTIES CLEAN_DIRECT_OUTPUT 1)
     SET(library_lib library-static)
+    if(DEFINED LSTORE_LIBRARY_NAME)
+        set_target_properties(library-static PROPERTIES OUTPUT_NAME "${LSTORE_LIBRARY_NAME}")
+    else()
+        set_target_properties(library-static PROPERTIES OUTPUT_NAME "${LSTORE_PROJECT_NAME}")
+    endif(DEFINED LSTORE_LIBRARY_NAME)
 else()
     message(STATUS "NOT building a static library")
     SET(library_lib library)


minor

minor

--- myCMakeFiles/FortranEnvironment.cmake
+++ myCMakeFiles/FortranEnvironment.cmake
@@ -91,7 +91,8 @@
 else()
   message(STATUS "Building with -DBUILD_SHARED_LIBS=OFF")
 endif()
-message(STATUS "Using the following linker flags \n ${CMAKE_EXE_LINKER_FLAGS}")
+message(STATUS "Using the following library link flags \n ${CMAKE_SHARED_LINKER_FLAGS}")
+message(STATUS "Using the following program link flags \n ${CMAKE_EXE_LINKER_FLAGS}")

 message(STATUS "make install will install to ${CMAKE_INSTALL_PREFIX}")
 message(STATUS "To change, use option -DCMAKE_INSTALL_PREFIX:PATH=/path/to/install/to")


Spell comment consistently with other library comments.

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

--- include/llvm/Config/config.h.cmake
+++ include/llvm/Config/config.h.cmake
@@ -105,7 +105,7 @@
 /* Define to 1 if you have the `isatty' function. */
 #cmakedefine HAVE_ISATTY 1

-/* Define to 1 if you have the 'edit' library (-ledit). */
+/* Define to 1 if you have the `edit' library (-ledit). */
 #cmakedefine HAVE_LIBEDIT ${HAVE_LIBEDIT}

 /* Define to 1 if you have the `psapi' library (-lpsapi). */


GC left-over from workarounds for missing pid_t and size_t

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

--- include/llvm/Config/config.h.cmake
+++ include/llvm/Config/config.h.cmake
@@ -452,12 +452,6 @@
 /* Define as the return type of signal handlers (`int' or `void'). */
 #cmakedefine RETSIGTYPE ${RETSIGTYPE}

-/* Define to `int' if <sys/types.h> does not define. */
-#undef pid_t
-
-/* Define to `unsigned int' if <sys/types.h> does not define. */
-#undef size_t
-
 /* Define to a function replacing strtoll */
 #cmakedefine strtoll ${strtoll}


Set pkg-config exe

Set pkg-config exe

--- toolchain/iOS.cmake
+++ toolchain/iOS.cmake
@@ -50,6 +50,7 @@
 set (CMAKE_CXX_COMPILER /usr/bin/g++)
 set(CMAKE_AR ar CACHE FILEPATH "" FORCE)
 set(CMAKE_RANLIB ranlib CACHE FILEPATH "" FORCE)
+set(PKG_CONFIG_EXECUTABLE pkg-config CACHE FILEPATH "" FORCE)

 # All iOS/Darwin specific settings - some may be redundant
 set (CMAKE_SHARED_LIBRARY_PREFIX "lib")


Fix the library name in the FindGLES2 script

--- CMake/Packages/FindOpenGLES2.cmake
+++ CMake/Packages/FindOpenGLES2.cmake
@@ -50,7 +50,7 @@

     FIND_LIBRARY(OPENGLES2_gl_LIBRARY
-      NAMES GLES_CM
+      NAMES GLESv2
       PATHS /opt/graphics/OpenGL/lib
             /usr/openwin/lib
             /usr/shlib /usr/X11R6/lib


Fix more compiler warnings

Fix more compiler warnings

--- CMake/hoomd/HOOMDCFlagsSetup.cmake
+++ CMake/hoomd/HOOMDCFlagsSetup.cmake
@@ -27,11 +27,12 @@
     if(CMAKE_COMPILER_IS_GNUCXX OR "${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")

         set(_common_options "-march=${GCC_ARCH} -Wall -Wno-unknown-pragmas")
+        set(_common_cxx_options "-march=${GCC_ARCH} -Wall -Wno-unknown-pragmas")

         include(CheckCXXCompilerFlag)
         check_cxx_compiler_flag("-Wno-c++14-extensions" HAS_WCPP14_EXTENSIONS)
         if (HAS_WCPP14_EXTENSIONS)
-            set(_common_options "${_common_options} -Wno-c++14-extensions")
+            set(_common_cxx_options "${_common_options} -Wno-c++14-extensions")
         endif()

         # default flags for g++
@@ -40,10 +41,10 @@
         set(CMAKE_C_FLAGS_RELEASE "${_common_options} -O3 -funroll-loops -DNDEBUG" CACHE STRING "Flags used by the compiler during release builds." FORCE)
         set(CMAKE_C_FLAGS_RELWITHDEBINFO "${_common_options} -g -O3 -funroll-loops -DNDEBUG" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)

-        set(CMAKE_CXX_FLAGS_DEBUG "${_common_options} -g -std=c++11" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
-        set(CMAKE_CXX_FLAGS_MINSIZEREL "${_common_options} -Os -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during minimum size release builds." FORCE)
-        set(CMAKE_CXX_FLAGS_RELEASE "${_common_options} -O3 -funroll-loops -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during release builds." FORCE)
-        set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${_common_options} -g -O3 -funroll-loops -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)
+        set(CMAKE_CXX_FLAGS_DEBUG "${_common_cxx_options} -g -std=c++11" CACHE STRING "Flags used by the compiler during debug builds." FORCE)
+        set(CMAKE_CXX_FLAGS_MINSIZEREL "${_common_cxx_options} -Os -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during minimum size release builds." FORCE)
+        set(CMAKE_CXX_FLAGS_RELEASE "${_common_cxx_options} -O3 -funroll-loops -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during release builds." FORCE)
+        set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${_common_cxx_options} -g -O3 -funroll-loops -DNDEBUG -std=c++11" CACHE STRING "Flags used by the compiler during release builds with debug info." FORCE)

     elseif(CMAKE_CXX_COMPILER MATCHES "icpc")
         # default flags for intel


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

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

--- plasma-runner-ktp-contact.desktop.cmake
+++ plasma-runner-ktp-contact.desktop.cmake
@@ -50,7 +50,7 @@
 Comment[ast]=Anicia una charra con cualesquier contautu o camuda'l to estáu
 Comment[bs]=Pokrenite ćaskanje s bilo kojim od vaših IM kontakta ili promijenite svoj IM status
 Comment[ca]=Inicia un xat amb qualsevol dels vostres contactes de MI o canvia el vostre estat a la MI
-Comment[ca@valencia]=Inicia un chat amb qualsevol dels vostres contactes de MI o canvia el vostre estat a la MI
+Comment[ca@valencia]=Inicia un xat amb qualsevol dels vostres contactes de MI o canvia el vostre estat a la MI
 Comment[cs]=Začít rozhovor s kterýmkoliv vaším kontaktem v IM nebo změnit stav na IM
 Comment[da]=Start chat med en af dine IM-kontakter eller skift din IM-status
 Comment[de]=Chats mit ihren Kontakten starten oder Ihren IM-Status ändern


px4_impl_os:Use the defconfig CONFIG_ARMV7M_STACKCHECK

  To enable coherent runtime stack checking use the boards
  CONFIG_ARMV7M_STACKCHECK setting

--- platforms/nuttx/cmake/px4_impl_os.cmake
+++ platforms/nuttx/cmake/px4_impl_os.cmake
@@ -194,8 +194,8 @@
 		-D__DF_NUTTX
 		)

-
-	if("${config_nuttx_hw_stack_check_${BOARD}}" STREQUAL "y")
+	if("${CONFIG_ARMV7M_STACKCHECK}" STREQUAL "y")
+		message(WARNING !!!!!!!!! CONFIG_ARMV7M_STACKCHECK=${CONFIG_ARMV7M_STACKCHECK} !!!!!!)
 		set(instrument_flags
 			-finstrument-functions
 			-ffixed-r10


Fix for ROOT-6183

Fix for ROOT-6183

--- cmake/modules/CheckCompiler.cmake
+++ cmake/modules/CheckCompiler.cmake
@@ -82,8 +82,11 @@
   include(SetupWindows)
 endif()

-if(c++11)
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 -Wno-deprecated-declarations")
+if(cxx11)
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+  if(CMAKE_COMPILER_IS_GNUCXX)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-deprecated-declarations")
+  endif()
 endif()
 if(libcxx)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++")


Removing color output for Clang (only for Makefiles) (#2637)

It triggers wrong behaviour of Jenkins parser together with CDash adding ANSI escape symbols: NON-XML-CHAR-0x1B][0m[NON-XML-CHAR-0x1B]

--- cmake/modules/CheckCompiler.cmake
+++ cmake/modules/CheckCompiler.cmake
@@ -47,10 +47,17 @@
   string(REGEX REPLACE "^.*[ ]version[ ][0-9]+\\.([0-9]+).*" "\\1" CLANG_MINOR "${_clang_version_info}")
   message(STATUS "Found Clang. Major version ${CLANG_MAJOR}, minor version ${CLANG_MINOR}")
   set(COMPILER_VERSION clang${CLANG_MAJOR}${CLANG_MINOR})
+  if(CMAKE_GENERATOR STREQUAL "Ninja")
+    # https://bugzilla.samba.org/show_bug.cgi?id=8118 and color.
+    # LLVM/Clang are automatically checking if we are in interactive terminal mode.
+    # We use color output only for Ninja, because Ninja by default is buffering the output,
+    # so Clang disables colors as it is sure whether the output goes to a file or to a terminal.
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fcolor-diagnostics")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fcolor-diagnostics")
+  endif()
   if(ccache)
-    # https://bugzilla.samba.org/show_bug.cgi?id=8118 and color.
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments -fcolor-diagnostics")
-    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments -fcolor-diagnostics")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Qunused-arguments")
   endif()
 else()
   set(CLANG_MAJOR 0)


Fix file name in cmake

Fix file name in cmake

--- cmake/pomdog/PomdogGraphics.cmake
+++ cmake/pomdog/PomdogGraphics.cmake
@@ -11,8 +11,8 @@
 target_sources(pomdog_static PRIVATE
     # NOTE: graphics
     ${POMDOG_SRC_DIR}/graphics/blend_description.hpp
+    ${POMDOG_SRC_DIR}/graphics/blend_factor.hpp
     ${POMDOG_SRC_DIR}/graphics/blend_operation.hpp
-    ${POMDOG_SRC_DIR}/graphics/blend.hpp
     ${POMDOG_SRC_DIR}/graphics/buffer_usage.hpp
     ${POMDOG_SRC_DIR}/graphics/comparison_function.hpp
     ${POMDOG_SRC_DIR}/graphics/constant_buffer.cpp


Avoid carrying over package name to file without package specified

Use default package name for java

--- lcm-cmake/lcmUtilities.cmake
+++ lcm-cmake/lcmUtilities.cmake
@@ -270,6 +270,8 @@
   foreach(_lcmtype ${_UNPARSED_ARGUMENTS})
     set(_package "")
     set(_outputs "")
+    set(_package_dir ".")
+    set(_package_pre "")
     # Read type definition
     file(READ ${_lcmtype} _text)
     # Strip comments
@@ -329,7 +331,11 @@
           _lcm_add_go_outputs(_GO_SOURCES ${_package_dir}/${_type}.go)
         endif()
         if(DEFINED _JAVA_SOURCES)
-          _lcm_add_outputs(_JAVA_SOURCES ${_package_dir}/${_type}.java)
+          if(_package_dir STREQUAL ".")
+            _lcm_add_outputs(_JAVA_SOURCES lcmtypes/${_type}.java)
+          else()
+            _lcm_add_outputs(_JAVA_SOURCES ${_package_dir}/${_type}.java)
+          endif()
         endif()
       endif()
     endforeach()


Update ITK superbuild to 4.8.1 release

Update ITK superbuild to 4.8.1 release

Change-Id: Ib7d893c6eada99e0d418a2595986602b17027a5f

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

 # NOTE: it is very important to update the ITK_DIR path with the ITK version
-set(ITK_TAG_COMMAND GIT_TAG 3eaba76ccecb4128e91073b1e45058675a365025)
-# right before v4.8.1 release
+set(ITK_TAG_COMMAND GIT_TAG v4.8.1)

 if( ${ITK_WRAPPING} OR ${BUILD_SHARED_LIBS} )
   set( ITK_BUILD_SHARED_LIBS ON )


[compiler-rt] Support for passing through linker flags to libc++ build

This may be needed when cross-compiling to certain platforms.

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

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

--- cmake/Modules/AddCompilerRT.cmake
+++ cmake/Modules/AddCompilerRT.cmake
@@ -551,6 +551,9 @@
   set(PASSTHROUGH_VARIABLES
     CMAKE_C_COMPILER_TARGET
     CMAKE_CXX_COMPILER_TARGET
+    CMAKE_SHARED_LINKER_FLAGS
+    CMAKE_MODULE_LINKER_FLAGS
+    CMAKE_EXE_LINKER_FLAGS
     CMAKE_INSTALL_PREFIX
     CMAKE_MAKE_PROGRAM
     CMAKE_LINKER
@@ -563,8 +566,10 @@
     CMAKE_SYSROOT
     CMAKE_SYSTEM_NAME)
   foreach(variable ${PASSTHROUGH_VARIABLES})
-    if(${variable})
-      list(APPEND CMAKE_PASSTHROUGH_VARIABLES -D${variable}=${${variable}})
+    get_property(is_value_set CACHE ${variable} PROPERTY VALUE SET)
+    if(${is_value_set})
+      get_property(value CACHE ${variable} PROPERTY VALUE)
+      list(APPEND CMAKE_PASSTHROUGH_VARIABLES -D${variable}=${value})
     endif()
   endforeach()


cmake: use -fp-model precise with ICC

cmake: use -fp-model precise with ICC

--- cmake/OpenCVCompilerOptions.cmake
+++ cmake/OpenCVCompilerOptions.cmake
@@ -97,6 +97,10 @@
   add_definitions(-DOPENCV_TINY_GPU_MODULE)
 endif()

+if(CV_ICC AND NOT ENABLE_FAST_MATH)
+  add_extra_compiler_option("-fp-model precise")
+endif()
+
 if(CMAKE_COMPILER_IS_GNUCXX)
   # High level of warnings.
   add_extra_compiler_option(-W)


CELIX-379: Added LAUNCHER option to add_deploy command

--- cmake/cmake_celix/Packaging.cmake
+++ cmake/cmake_celix/Packaging.cmake
@@ -456,7 +456,7 @@
     list(REMOVE_AT ARGN 0)

     set(OPTIONS COPY)
-    set(ONE_VAL_ARGS GROUP NAME)
+    set(ONE_VAL_ARGS GROUP NAME LAUNCHER)
     set(MULTI_VAL_ARGS BUNDLES PROPERTIES)
     cmake_parse_arguments(DEPLOY "${OPTIONS}" "${ONE_VAL_ARGS}" "${MULTI_VAL_ARGS}" ${ARGN})

@@ -556,7 +556,15 @@
         OUTPUT ${DEPLOY_RELEASE_SH}
         CONTENT ${RELEASE_CONTENT}
     )
-    set(RUN_CONTENT "${RELEASE_CONTENT}\ncelix \$@")
+    if(DEPLOY_LAUNCHER)
+        if(TARGET ${DEPLOY_LAUNCHER})
+            set(RUN_CONTENT "${RELEASE_CONTENT}\n$<TARGET_FILE:${DEPLOY_LAUNCHER}> \$@\n")
+        else()
+            set(RUN_CONTENT "${RELEASE_CONTENT}\n${DEPLOY_LAUNCHER} \$@\n")
+        endif()
+    else()
+        set(RUN_CONTENT "${RELEASE_CONTENT}\ncelix \$@\n")
+    endif()
     file(GENERATE
         OUTPUT ${DEPLOY_RUN_SH}
         CONTENT ${RUN_CONTENT}


Fix for ROOT-8510 - CMake: default config on MacOS fails due to fortran

--- cmake/modules/CheckCompiler.cmake
+++ cmake/modules/CheckCompiler.cmake
@@ -2,15 +2,16 @@
 #  CheckCompiler.cmake
 #---------------------------------------------------------------------------------------------------

+include(CheckLanguage)
 #---Enable FORTRAN (unfortunatelly is not not possible in all cases)-------------------------------
 if(fortran)
   #--Work-around for CMake issue 0009220
   if(DEFINED CMAKE_Fortran_COMPILER AND CMAKE_Fortran_COMPILER MATCHES "^$")
     set(CMAKE_Fortran_COMPILER CMAKE_Fortran_COMPILER-NOTFOUND)
   endif()
-  enable_language(Fortran OPTIONAL)
-  if(NOT CMAKE_Fortran_COMPILER)
-    set(CMAKE_Fortran_COMPILER_LOADED)   # FindBLAS/LAPACK tests CMAKE_Fortran_COMPILER_LOADED
+  check_language(Fortran)
+  if(CMAKE_Fortran_COMPILER)
+    enable_language(Fortran)
   endif()
 else()
   set(CMAKE_Fortran_COMPILER CMAKE_Fortran_COMPILER-NOTFOUND)


Revert "Remove warning flag unknown to GCC 7 from CXXFLAGS"

This reverts commit ee8734129cac1766b5c55974c5902f0e4750b386.
The warning message appeared because it was being passed through
to cling, and cling didn't know about it. The warning flag is now
filtered out from cling, so we can revert the previous commit.

--- cmake/modules/CheckCompiler.cmake
+++ cmake/modules/CheckCompiler.cmake
@@ -147,7 +147,7 @@
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wc++11-narrowing -Wsign-compare -Wsometimes-uninitialized -Wconditional-uninitialized -Wheader-guard -Warray-bounds -Wcomment -Wtautological-compare -Wstrncat-size -Wloop-analysis -Wbool-conversion")
 elseif(CMAKE_COMPILER_IS_GNUCXX)
   if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-implicit-fallthrough -Wno-noexcept-type")
     set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-implicit-fallthrough")
   endif()
 endif()


fix typo in LibFindMacros

fix typo in LibFindMacros

Also apply the fix from https://github.com/Tronic/cmake-modules/pull/1

--- cmake/modules/LibFindMacros.cmake
+++ cmake/modules/LibFindMacros.cmake
@@ -132,7 +132,7 @@
     else()
       # If plural forms don't exist or they equal singular forms
       if ((NOT DEFINED ${i}_INCLUDE_DIRS AND NOT DEFINED ${i}_LIBRARIES) OR
-          ({i}_INCLUDE_DIR STREQUAL ${i}_INCLUDE_DIRS AND ${i}_LIBRARY STREQUAL ${i}_LIBRARIES))
+          (${i}_INCLUDE_DIR STREQUAL ${i}_INCLUDE_DIRS AND ${i}_LIBRARY STREQUAL ${i}_LIBRARIES))
         # Singular forms can be used
         if (DEFINED ${i}_INCLUDE_DIR)
           list(APPEND includeopts ${i}_INCLUDE_DIR)
@@ -209,12 +209,12 @@
         message(STATUS "  ${PREFIX}_LIBRARY_OPTS=${libraryopts}")
         message(STATUS "  ${PREFIX}_LIBRARIES=${libs}")
       endif()
-      set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE)
-      set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE)
-      set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE)
-      set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE)
-      set (${PREFIX}_FOUND TRUE PARENT_SCOPE)
-    endif()
+    endif()
+    set (${PREFIX}_INCLUDE_OPTS ${includeopts} PARENT_SCOPE)
+    set (${PREFIX}_LIBRARY_OPTS ${libraryopts} PARENT_SCOPE)
+    set (${PREFIX}_INCLUDE_DIRS ${includes} PARENT_SCOPE)
+    set (${PREFIX}_LIBRARIES ${libs} PARENT_SCOPE)
+    set (${PREFIX}_FOUND TRUE PARENT_SCOPE)
     return()
   endif()


use print function in FindNumpy.cmake for python3 compatibility

--- Code/cmake/Modules/FindNumPy.cmake
+++ Code/cmake/Modules/FindNumPy.cmake
@@ -10,7 +10,7 @@
 find_package(PythonInterp REQUIRED)
 IF(PYTHON_EXECUTABLE)
   FILE(WRITE ${CMAKE_CURRENT_BINARY_DIR}/det_npp.py
-       "try: import numpy; print numpy.get_include()\nexcept: pass\n")
+       "try: import numpy; print(numpy.get_include())\nexcept: pass\n")
   EXEC_PROGRAM("${PYTHON_EXECUTABLE}"
     ARGS "\"${CMAKE_CURRENT_BINARY_DIR}/det_npp.py\""
     OUTPUT_VARIABLE NUMPY_PATH


vtk.cmake: Use $(MAKE) instead of make to allow parallel builds.

--- vtk.cmake
+++ vtk.cmake
@@ -55,7 +55,11 @@
 	-DVTK_USE_TK=OFF
 	# NETCDF caused weird errors in vtk's xml
 	-DVTK_USE_SYSTEM_LIBXML2=ON
-    BUILD_COMMAND       ${BUILDEM_ENV_STRING} make
+	# We want vtk to be built in parallel if possible.
+	# Therefore we use $(MAKE) instead of 'make', which somehow enables sub-make files to use the jobserver correctly.
+	# See: http://stackoverflow.com/questions/2942465/cmake-and-parallel-building-with-make-jn
+	# And: http://www.cmake.org/pipermail/cmake/2011-April/043720.html
+    BUILD_COMMAND       ${BUILDEM_ENV_STRING} $(MAKE)
     #TEST_COMMAND        ${BUILDEM_ENV_STRING} make check
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} make install
 )


fix ATLAS detection

fix ATLAS detection

--- lib/TH/cmake/FindBLAS.cmake
+++ lib/TH/cmake/FindBLAS.cmake
@@ -206,7 +206,7 @@
   BLAS
   sgemm
   ""
-  "cblas;f77blas;atlas")
+  "ptf77blas;atlas;gfortran")
   if (BLAS_LIBRARIES)
     set(BLAS_INFO "atlas")
   endif (BLAS_LIBRARIES)


Update Toolchain.cmake to use BOTH for CMAKE_FIND_ROOT_PATH_MODES

This is necessary if one wants to be able to use libraries or
includes or programs installed locally (and not on the system
of the build machine, or in CMAKE_SYSROOT, or in CMAKE_FIND_ROOT_PATH).

According to cmake order for find_* functions, CMAKE_FIND_ROOT_PATH
will be searched before the system of the build machine anyway,
which doesn't dramatically change the current behavior.

--- linux-armv7/Toolchain.cmake
+++ linux-armv7/Toolchain.cmake
@@ -12,8 +12,8 @@

 set(CMAKE_FIND_ROOT_PATH ${cross_root} ${cross_root}/${cross_triple})
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
+set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
+set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
 set(CMAKE_SYSROOT ${cross_root}/${cross_triple}/sysroot)

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


ENH: Bump TubeTK to version that works with updated Spatial Objects (#2002)

--- Modules/Remote/TubeTK.remote.cmake
+++ Modules/Remote/TubeTK.remote.cmake
@@ -48,5 +48,5 @@
   "http://www.tubetk.org"
   MODULE_COMPLIANCE_LEVEL 3
   GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKTubeTK.git
-  GIT_TAG 9cf631852ce8b07cdf736f7873abe8e300077fa6
+  GIT_TAG c9ef785c6b581e09b7752fd034dd1c97a783f4f2
   )


adjust cmake config to account for widgetzeug

--- libzeug-config.cmake
+++ libzeug-config.cmake
@@ -4,41 +4,45 @@
 # LIBZEUG_LIBRARIES
 # LIBZEUG_INCLUDES

-# LIBZEUG_SIGNAL_LIBRARY
-# LIBZEUG_SIGNAL_LIBRARY_RELEASE
-# LIBZEUG_SIGNAL_LIBRARY_DEBUG
-# LIBZEUG_SIGNAL_INCLUDE_DIR
+# LIBZEUG_IO_LIBRARY
+# LIBZEUG_IO_LIBRARY_RELEASE
+# LIBZEUG_IO_LIBRARY_DEBUG
+# LIBZEUG_IO_INCLUDE_DIR
+
+# LIBZEUG_LOGGING_LIBRARY
+# LIBZEUG_LOGGING_LIBRARY_RELEASE
+# LIBZEUG_LOGGING_LIBRARY_DEBUG
+# LIBZEUG_LOGGING_INCLUDE_DIR
+
+# LIBZEUG_PROPERTYGUI_LIBRARY
+# LIBZEUG_PROPERTYGUI_LIBRARY_RELEASE
+# LIBZEUG_PROPERTYGUI_LIBRARY_DEBUG
+# LIBZEUG_PROPERTYGUI_INCLUDE_DIR

 # LIBZEUG_REFLECTION_LIBRARY
 # LIBZEUG_REFLECTION_LIBRARY_RELEASE
 # LIBZEUG_REFLECTION_LIBRARY_DEBUG
 # LIBZEUG_REFLECTION_INCLUDE_DIR

-# LIBZEUG_PROPERTYGUI_LIBRARY
-# LIBZEUG_PROPERTYGUI_LIBRARY_RELEASE
-# LIBZEUG_PROPERTYGUI_LIBRARY_DEBUG
-# LIBZEUG_PROPERTYGUI_INCLUDE_DIR
+# LIBZEUG_SCRIPT_LIBRARY
+# LIBZEUG_SCRIPT_LIBRARY_RELEASE
+# LIBZEUG_SCRIPT_LIBRARY_DEBUG
+# LIBZEUG_SCRIPT_INCLUDE_DIR

-# LIBZEUG_IO_LIBRARY
-# LIBZEUG_IO_LIBRARY_RELEASE
-# LIBZEUG_IO_LIBRARY_DEBUG
-# LIBZEUG_IO_INCLUDE_DIR
+# LIBZEUG_SIGNAL_LIBRARY
+# LIBZEUG_SIGNAL_LIBRARY_RELEASE
+# LIBZEUG_SIGNAL_LIBRARY_DEBUG
+# LIBZEUG_SIGNAL_INCLUDE_DIR

 # LIBZEUG_THREADING_LIBRARY
 # LIBZEUG_THREADING_LIBRARY_RELEASE
 # LIBZEUG_THREADING_LIBRARY_DEBUG
 # LIBZEUG_THREADING_INCLUDE_DIR

-# LIBZEUG_SCRIPT_LIBRARY
-# LIBZEUG_SCRIPT_LIBRARY_RELEASE
-# LIBZEUG_SCRIPT_LIBRARY_DEBUG
-# LIBZEUG_SCRIPT_INCLUDE_DIR
-
-# LIBZEUG_LOGGING_LIBRARY
-# LIBZEUG_LOGGING_LIBRARY_RELEASE
-# LIBZEUG_LOGGING_LIBRARY_DEBUG
-# LIBZEUG_LOGGING_INCLUDE_DIR
-
+# LIBZEUG_WIDGET_LIBRARY
+# LIBZEUG_WIDGET_LIBRARY_RELEASE
+# LIBZEUG_WIDGET_LIBRARY_DEBUG
+# LIBZEUG_WIDGET_INCLUDE_DIR

 include(FindPackageHandleStandardArgs)
@@ -115,13 +119,14 @@

 endmacro()

+find(io          iozeug/iozeug_api.h                   ${LIB_PATHS})
+find(logging     loggingzeug/loggingzeug_api.h         ${LIB_PATHS})
+find(propertygui propertyguizeug/propertyguizeug_api.h ${LIB_PATHS})
+find(reflection  reflectionzeug/reflectionzeug_api.h   ${LIB_PATHS})
+find(script      scriptzeug/scriptzeug_api.h           ${LIB_PATHS})
 find(signal      signalzeug/signalzeug_api.h           ${LIB_PATHS})
-find(reflection  reflectionzeug/reflectionzeug_api.h   ${LIB_PATHS})
-find(propertygui propertyguizeug/propertyguizeug_api.h ${LIB_PATHS})
-find(io          iozeug/iozeug_api.h                   ${LIB_PATHS})
 find(threading   threadingzeug/threadingzeug_api.h     ${LIB_PATHS})
-find(script      scriptzeug/scriptzeug_api.h           ${LIB_PATHS})
-find(logging     loggingzeug/loggingzeug_api.h         ${LIB_PATHS})
+find(widget      widgetzeug/widgetzeug_api.h           ${LIB_PATHS})

 # DEBUG
 #message("LIBZEUG_INCLUDES  = ${LIBZEUG_INCLUDES}")


BUG: file(COPY) signature doesn't work well on windows, revert back to using configure_file so we can get a free rename

SVN-Revision: 3170

--- Application/CMakeScript/MIDAS.cmake
+++ Application/CMakeScript/MIDAS.cmake
@@ -118,7 +118,7 @@

 if(WIN32)
   # windows does not support symlinks, so we must duplicate the file for now
-  file(COPY \"${MIDAS_DATA_DIR}/MIDAS_Hashes/${checksum}\" DESTINATION \"${MIDAS_DATA_DIR}/${base_file}\")
+  configure_file(\"${MIDAS_DATA_DIR}/MIDAS_Hashes/${checksum}\" \"${MIDAS_DATA_DIR}/${base_file}\" COPYONLY)
 else(WIN32)
   execute_process(COMMAND \"${CMAKE_COMMAND}\" -E create_symlink \"${MIDAS_DATA_DIR}/MIDAS_Hashes/${checksum}\" \"${MIDAS_DATA_DIR}/${base_file}\")
 endif(WIN32)


COMP: Visualization/XIP library should be built without dependencies to ITK or VTK

Comment out option in the corresponding ctk_library_options.cmake file

--- Libs/Visualization/XIP/ctk_library_options.cmake
+++ Libs/Visualization/XIP/ctk_library_options.cmake
@@ -6,7 +6,7 @@
 #

 SET(ctk_library_options
-  VTK:ON
-  ITK:OFF
+  #VTK:ON
+  #ITK:OFF
   )


Samples do not have _d appended so don't look for pdb with that suffix

--- CMake/Utils/OgreConfigTargets.cmake
+++ CMake/Utils/OgreConfigTargets.cmake
@@ -230,7 +230,7 @@

   if (OGRE_INSTALL_PDB)
 	  # install debug pdb files
-	  install(FILES ${OGRE_BINARY_DIR}/bin${OGRE_DEBUG_PATH}/${SAMPLENAME}_d.pdb
+	  install(FILES ${OGRE_BINARY_DIR}/bin${OGRE_DEBUG_PATH}/${SAMPLENAME}.pdb
 		  DESTINATION bin${OGRE_DEBUG_PATH}
 		  CONFIGURATIONS Debug
 		  )


Add Boost versions up to 1.60.

Add Boost versions up to 1.60.


Nit spelling correction

Nit spelling correction

--- hw/bsp/family_support.cmake
+++ hw/bsp/family_support.cmake
@@ -2,7 +2,7 @@
     add_library(_family_support_marker INTERFACE)

     if (NOT FAMILY)
-        message(FATAL_ERROR "You must set a FAMILY variable for the build (e.g. rp2040, eps32s2, esp32s3). You can do this via -DFAMILY=xxx on the camke command line")
+        message(FATAL_ERROR "You must set a FAMILY variable for the build (e.g. rp2040, eps32s2, esp32s3). You can do this via -DFAMILY=xxx on the cmake command line")
     endif()

     if (NOT EXISTS ${CMAKE_CURRENT_LIST_DIR}/${FAMILY}/family.cmake)


SVN_SILENT made messages (.desktop file)

--- plasma-runner-ktp-contact.desktop.cmake
+++ plasma-runner-ktp-contact.desktop.cmake
@@ -6,6 +6,7 @@
 Name[de]=Instant-Messaging
 Name[es]=Mensajería instantánea
 Name[fr]=Messagerie instantanée
+Name[ia]=Messageria instantanee
 Name[it]=Messaggistica istantanea
 Name[kk]=Лезде хабарласу
 Name[nl]=Instant Messaging
@@ -24,6 +25,7 @@
 Comment[de]=Chats mit ihren Kontakten starten oder Ihren IM-Status ändern
 Comment[es]=Iniciar una conversación con cualquiera de sus contactos de MI o cambiar su estado de MI
 Comment[fr]=Démarre une discussion avec n'importe lequel de vos contacts de messagerie instantanée ou change l'état de celle-ci
+Comment[ia]=Initia conversation con qualcunque de tu contactos de IM o modifica tu status de IM
 Comment[it]=Avvia una chat con un tuo contatto di MI oppure cambia il tuo stato di MI
 Comment[kk]=Кез-келген лезде хабарласу контактыңызбен чат-әңгімені бастау не күй-жайын өзгерту
 Comment[nl]=Begin een chat met een van uw IM-contactpersonen of wijzig uw IM-status


fix: Fix compile option cubbyflow to hearthstonepp

--- Builds/CMake/CompileOptions.cmake
+++ Builds/CMake/CompileOptions.cmake
@@ -3,8 +3,8 @@
 #

 # Set warnings as errors flag
-option(CUBBYFLOW_WARNINGS_AS_ERRORS "Treat all warnings as errors" ON)
-if(CUBBYFLOW_WARNINGS_AS_ERRORS)
+option(HEARTHSTONEPP_WARNINGS_AS_ERRORS "Treat all warnings as errors" ON)
+if(HEARTHSTONEPP_WARNINGS_AS_ERRORS)
 	if(CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
 		set(WARN_AS_ERROR_FLAGS	"/WX")
 	else()


update FindFreetype.cmake

update FindFreetype.cmake

--- CMake/Packages/FindFreetype.cmake
+++ CMake/Packages/FindFreetype.cmake
@@ -1,49 +1,49 @@
-# - Try to find FreeType
-# Once done, this will define
-#
-#  FREETYPE_FOUND - system has FreeType
-#  FREETYPE_INCLUDE_DIRS - the FreeType include directories
-#  FREETYPE_LIBRARIES - link these to use FreeType
-
-include(FindPkgMacros)
-findpkg_begin(FREETYPE)
-
-# Get path, convert backslashes as ${ENV_${var}}
-getenv_path(FREETYPE_HOME)
-
-# construct search paths
-set(FREETYPE_PREFIX_PATH ${FREETYPE_HOME} ${ENV_FREETYPE_HOME})
-create_search_paths(FREETYPE)
-# redo search if prefix path changed
-clear_if_changed(FREETYPE_PREFIX_PATH
-  FREETYPE_LIBRARY_FWK
-  FREETYPE_LIBRARY_REL
-  FREETYPE_LIBRARY_DBG
-  FREETYPE_INCLUDE_DIR
-)
-
-set(FREETYPE_LIBRARY_NAMES freetype2501 freetype250 freetype2412 freetype2411 freetype2410 freetype249 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
-get_debug_names(FREETYPE_LIBRARY_NAMES)
-
-use_pkgconfig(FREETYPE_PKGC freetype2)
-
-# prefer static library over framework
-set(CMAKE_FIND_FRAMEWORK "LAST")
-
-findpkg_framework(FREETYPE)
-message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
-
-find_path(FREETYPE_INCLUDE_DIR NAMES freetype/freetype.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES freetype2)
-find_path(FREETYPE_FT2BUILD_INCLUDE_DIR NAMES ft2build.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS})
-find_library(FREETYPE_LIBRARY_REL NAMES ${FREETYPE_LIBRARY_NAMES} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
-find_library(FREETYPE_LIBRARY_DBG NAMES ${FREETYPE_LIBRARY_NAMES_DBG} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
-make_library_set(FREETYPE_LIBRARY)
-
-findpkg_finish(FREETYPE)
-mark_as_advanced(FREETYPE_FT2BUILD_INCLUDE_DIR)
-if (NOT FREETYPE_FT2BUILD_INCLUDE_DIR STREQUAL FREETYPE_INCLUDE_DIR)
-  set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_FT2BUILD_INCLUDE_DIR})
-endif ()
-
-# Reset framework finding
-set(CMAKE_FIND_FRAMEWORK "FIRST")
+# - Try to find FreeType
+# Once done, this will define
+#
+#  FREETYPE_FOUND - system has FreeType
+#  FREETYPE_INCLUDE_DIRS - the FreeType include directories
+#  FREETYPE_LIBRARIES - link these to use FreeType
+
+include(FindPkgMacros)
+findpkg_begin(FREETYPE)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(FREETYPE_HOME)
+
+# construct search paths
+set(FREETYPE_PREFIX_PATH ${FREETYPE_HOME} ${ENV_FREETYPE_HOME})
+create_search_paths(FREETYPE)
+# redo search if prefix path changed
+clear_if_changed(FREETYPE_PREFIX_PATH
+  FREETYPE_LIBRARY_FWK
+  FREETYPE_LIBRARY_REL
+  FREETYPE_LIBRARY_DBG
+  FREETYPE_INCLUDE_DIR
+)
+
+set(FREETYPE_LIBRARY_NAMES freetype251 freetype2501 freetype250 freetype2412 freetype2411 freetype2410 freetype249 freetype248 freetype246 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
+get_debug_names(FREETYPE_LIBRARY_NAMES)
+
+use_pkgconfig(FREETYPE_PKGC freetype2)
+
+# prefer static library over framework
+set(CMAKE_FIND_FRAMEWORK "LAST")
+
+findpkg_framework(FREETYPE)
+message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
+
+find_path(FREETYPE_INCLUDE_DIR NAMES freetype/freetype.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES freetype2)
+find_path(FREETYPE_FT2BUILD_INCLUDE_DIR NAMES ft2build.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS})
+find_library(FREETYPE_LIBRARY_REL NAMES ${FREETYPE_LIBRARY_NAMES} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+find_library(FREETYPE_LIBRARY_DBG NAMES ${FREETYPE_LIBRARY_NAMES_DBG} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+make_library_set(FREETYPE_LIBRARY)
+
+findpkg_finish(FREETYPE)
+mark_as_advanced(FREETYPE_FT2BUILD_INCLUDE_DIR)
+if (NOT FREETYPE_FT2BUILD_INCLUDE_DIR STREQUAL FREETYPE_INCLUDE_DIR)
+  set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_FT2BUILD_INCLUDE_DIR})
+endif ()
+
+# Reset framework finding
+set(CMAKE_FIND_FRAMEWORK "FIRST")


ENH: forget about the libkml internal boost version

--- CMake/otbIncludeDirectories.cmake
+++ CMake/otbIncludeDirectories.cmake
@@ -283,7 +283,6 @@
   Utilities/otb6S
   Utilities/otbkml
   Utilities/otbkml/src
-  Utilities/otbkml/third_party/boost_1_34_1
   Utilities/otbliblas/include
   Utilities/otbedison
   Utilities/otbconfigfile


copying raspberry pi target resources

copying raspberry pi target resources

--- build/toolchains/raspberrypi.cmake
+++ build/toolchains/raspberrypi.cmake
@@ -38,4 +38,6 @@

     add_executable(${EXECUTABLE_NAME} ${SOURCES})

+    file(COPY ${PROJECT_SOURCE_DIR}/core/resources/** DESTINATION ${PROJECT_SOURCE_DIR}/build/rpi/bin)
+
 endfunction()


Fix dependencies to have access to necessary resources and icons

--- Plugins/org.mitk.gui.qt.flowapplication/manifest_headers.cmake
+++ Plugins/org.mitk.gui.qt.flowapplication/manifest_headers.cmake
@@ -2,4 +2,4 @@
 set(Plugin-Version "1.0.0")
 set(Plugin-Vendor "DKFZ, Medical Image Computing")
 set(Plugin-ContactAddress "http://www.mitk.org")
-set(Require-Plugin org.mitk.core.ext org.mitk.gui.qt.application)
+set(Require-Plugin org.mitk.gui.qt.ext)


Update MacroUtilities.cmake

Update MacroUtilities.cmake

--- cmake/Modules/MacroUtilities.cmake
+++ cmake/Modules/MacroUtilities.cmake
@@ -900,7 +900,7 @@
             LANGUAGE                    CXX
             LINKER_LANGUAGE             CXX
             POSITION_INDEPENDENT_CODE   ON
-            COMPILE_FLAGS               ${${PROJECT_NAME}_CXX_FLAGS}
+            COMPILE_FLAGS               "${${PROJECT_NAME}_CXX_FLAGS}"
             ${LIB_EXTRA_ARGS})

     list(APPEND INSTALL_LIBRARIES ${TARGET_NAME})


Fixed error in cmake script with whitespaces in pathes

--- cmake/dev/eprosima_libraries.cmake
+++ cmake/dev/eprosima_libraries.cmake
@@ -22,8 +22,8 @@
             # Separate CMAKE_PREFIX_PATH
             string(REPLACE ";" "|" CMAKE_PREFIX_PATH_ "${CMAKE_PREFIX_PATH}")
             set(${package}_CMAKE_ARGS
-                "${PROJECT_SOURCE_DIR}/thirdparty/${package}"
-                "\${GENERATOR}"
+                "\${SOURCE_DIR_}"
+                "\${GENERATOR_}"
                 ${BUILD_OPTION}
                 ${USE_BOOST_}
                 "-DMINION=ON"
@@ -31,8 +31,8 @@
                 "-DINCLUDE_INSTALL_DIR:PATH=${INCLUDE_INSTALL_DIR}"
                 "-DLIB_INSTALL_DIR:PATH=${LIB_INSTALL_DIR}"
                 "-DLICENSE_INSTALL_DIR:PATH=licenses"
-                "-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX_}"
-                "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH_}"
+                "\${CMAKE_INSTALL_PREFIX_}"
+                "\${CMAKE_PREFIX_PATH_}"
                 )
             list(APPEND ${package}_CMAKE_ARGS LIST_SEPARATOR "|")

@@ -40,14 +40,17 @@
             file(WRITE ${${package}ExternalDir}/CMakeLists.txt
                 "cmake_minimum_required(VERSION 2.8.11)\n"
                 "include(ExternalProject)\n"
-                "set(GENERATOR -G \"${CMAKE_GENERATOR}\")\n"
+                "set(SOURCE_DIR_ \"${PROJECT_SOURCE_DIR}/thirdparty/${package}\")\n"
+                "set(GENERATOR_ -G \"${CMAKE_GENERATOR}\")\n"
+                "set(CMAKE_INSTALL_PREFIX_ \"-DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX_}\")\n"
+                "set(CMAKE_PREFIX_PATH_ -DCMAKE_PREFIX_PATH=\"${CMAKE_PREFIX_PATH_}\")\n"
                 "ExternalProject_Add(${package}\n"
                 "CONFIGURE_COMMAND \"${CMAKE_COMMAND}\"\n"
                 "${${package}_CMAKE_ARGS}\n"
                 "DOWNLOAD_COMMAND echo\n"
-                "UPDATE_COMMAND cd ${PROJECT_SOURCE_DIR} && git submodule update --recursive --init thirdparty/${package}\n"
-                "SOURCE_DIR ${PROJECT_SOURCE_DIR}/thirdparty/${package}\n"
-                "BINARY_DIR ${${package}ExternalDir}/build\n"
+                "UPDATE_COMMAND cd \"${PROJECT_SOURCE_DIR}\" && git submodule update --recursive --init \"thirdparty/${package}\"\n"
+                "SOURCE_DIR \${SOURCE_DIR_}\n"
+                "BINARY_DIR \"${${package}ExternalDir}/build\"\n"
                 ")\n")

             execute_process(COMMAND ${CMAKE_COMMAND}


Updated build option for CUDA architecture 3.0.

--- cmake/oskar_compiler_options.cmake
+++ cmake/oskar_compiler_options.cmake
@@ -105,7 +105,7 @@
         message("-- INFO: The target CUDA architecture can be changed by using the option:")
         message("-- INFO:   -DCUDA_ARCH=<arch>")
         message("-- INFO: where <arch> is one of:")
-        message("-- INFO:   1.3, 2.0, 2.1, or ALL.")
+        message("-- INFO:   1.3, 2.0, 2.1, 3.0, or ALL.")
         list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_20)
     elseif (CUDA_ARCH MATCHES 1.1)
         message("-- INFO: Building CUDA device code for architecture 1.1")
@@ -119,12 +119,16 @@
     elseif (CUDA_ARCH MATCHES 2.1)
         message("-- INFO: Building CUDA device code for architecture 2.1")
         list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_21)
+    elseif (CUDA_ARCH MATCHES 3.0)
+        message("-- INFO: Building CUDA device code for architecture 3.0")
+        list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_30,code=sm_30)
     elseif (CUDA_ARCH MATCHES ALL|[Aa]ll)
         message("-- INFO: Building CUDA device code all supported architectures")
         list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_11,code=sm_11)
         list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_13,code=sm_13)
         list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_20)
         list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_20,code=sm_21)
+        list(APPEND CUDA_NVCC_FLAGS -gencode arch=compute_30,code=sm_30)
     else()
         message(FATAL_ERROR "-- CUDA_ARCH ${CUDA_ARCH} not recognised!")
     endif()


Configure compiler flags for Intel 2021

Configure compiler flags for Intel 2021

--- cmake/OpenfastFortranOptions.cmake
+++ cmake/OpenfastFortranOptions.cmake
@@ -158,7 +158,11 @@
   # Deal with Double/Single precision
   if (DOUBLE_PRECISION)
     add_definitions(-DOPENFAST_DOUBLE_PRECISION)
-    set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -double_size 128")
+    if("${CMAKE_Fortran_COMPILER_VERSION}" VERSION_GREATER "19")
+      set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -double-size 128")
+    else()
+      set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} -r8 -double_size 128")
+    endif()
   endif (DOUBLE_PRECISION)

   # debug flags
@@ -204,7 +208,11 @@
   # Deal with Double/Single precision
   if (DOUBLE_PRECISION)
     add_definitions(-DOPENFAST_DOUBLE_PRECISION)
-    set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /real_size:64 /double_size:128")
+    if("${CMAKE_Fortran_COMPILER_VERSION}" VERSION_GREATER "19")
+      set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /real-size:64 /double-size:128")
+    else()
+      set(CMAKE_Fortran_FLAGS "${CMAKE_Fortran_FLAGS} /real_size:64 /double_size:128")
+    endif()
   endif (DOUBLE_PRECISION)

   # increase the default 2MB stack size to 16 MB


CMake support

CMake support

--- cmake/dev/eprosima_libraries.cmake
+++ cmake/dev/eprosima_libraries.cmake
@@ -22,11 +22,11 @@
             SOURCE_DIR ${PROJECT_SOURCE_DIR}/thirdparty/${package}
             BINARY_DIR ${PROJECT_BINARY_DIR}/external-build/${package}
             )
+    else()

-        set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${PROJECT_BINARY_DIR}/external-install)
+        find_package(${package})
+
     endif()
-
-    find_package(${package})
 endmacro()

 macro(install_eprosima_fastcdr)


Fix find_package when already eprosima library compiled

--- cmake/dev/eprosima_libraries.cmake
+++ cmake/dev/eprosima_libraries.cmake
@@ -25,13 +25,13 @@
                 set(${package}ExternalDir ${EPROSIMA_PACKAGE_EXTERNAL_DIR}/${package})
             endif()

+            if(MINION)
+                set(CMAKE_INSTALL_PREFIX_ "${CMAKE_INSTALL_PREFIX}")
+            else()
+                set(CMAKE_INSTALL_PREFIX_ "${PROJECT_BINARY_DIR}/external/install")
+            endif()
+
             if(NOT EXISTS "${${package}ExternalDir}/install.txt")
-                if(MINION)
-                    set(CMAKE_INSTALL_PREFIX_ "${CMAKE_INSTALL_PREFIX}")
-                else()
-                    set(CMAKE_INSTALL_PREFIX_ "${PROJECT_BINARY_DIR}/external/install")
-                endif()
-
                 set(ANDROID_BUILD_OPTIONS "")
                 if(ANDROID)
                     set(ANDROID_BUILD_OPTIONS "-DANDROID_ABI=${ANDROID_ABI}"


Limit the number of messages in the cmake scripts

--- cmake/radium_setup_functions.cmake
+++ cmake/radium_setup_functions.cmake
@@ -151,13 +151,14 @@
         get_target_property(rscPrefix ${lib} RADIUM_TARGET_RESOURCES_PREFIX)
         if (NOT ${rscPrefix} STREQUAL "rscPrefix-NOTFOUND")
             get_target_property(rscLocation ${lib} RADIUM_TARGET_INSTALLED_RESOURCES)
-            message(STATUS " [configure_radium_app] Found lib ${lib} resources location to be : ${rscLocation} !" )
+ #           message(STATUS " [configure_radium_app] Found lib ${lib} resources location to be : ${rscLocation} !" )
             list(APPEND depsRsc ${rscLocation})
-        else()
-            message(STATUS " [configure_radium_app] No resources for lib  ${lib} !" )
+ #       else()
+ #           message(STATUS " [configure_radium_app] No resources for lib  ${lib} !" )
         endif ()
     endforeach()
     if (ARGS_USE_PLUGINS)
+        message(STATUS \"Installing ${ARGS_NAME} with plugins\")
         # TODO : fix rpath for plugins that use helper libs (can't load helper.dylib)
         install(CODE "
         include(BundleUtilities)
@@ -166,7 +167,6 @@
         file(COPY ${RADIUM_RESOURCES_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/${ARGS_NAME}.app/Contents)
         set(instRsc ${depsRsc})
         foreach( rsc \${instRsc})
-            message(STATUS \"Copy resources from  \${rsc}\")
             file(COPY \${rsc} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/${ARGS_NAME}.app/Contents/Resources)
         endforeach()
         if (EXISTS ${RADIUM_PLUGINS_DIR})
@@ -193,7 +193,6 @@
             file(COPY ${RADIUM_RESOURCES_DIR} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/${ARGS_NAME}.app/Contents)
             set(instRsc ${depsRsc})
             foreach( rsc \${instRsc})
-                message(STATUS \"Copy resources from  \${rsc}\")
                 file(COPY \${rsc} DESTINATION ${CMAKE_INSTALL_PREFIX}/bin/${ARGS_NAME}.app/Contents/Resources)
             endforeach()
             fixup_bundle(${CMAKE_INSTALL_PREFIX}/bin/${ARGS_NAME}.app \"\" \"${CMAKE_INSTALL_PREFIX}/${CMAKE_INSTALL_LIBDIR};${CMAKE_INSTALL_PREFIX}/lib\")
@@ -379,13 +378,11 @@
     #Install in the install tree
     #Identify the individual files( to preserve directory structure )
     # set the target properties
-    #message(STATUS " [installTargetResources] Set resources properties for target ${ARGS_TARGET} : DIRECTORY =  ${ARGS_DIRECTORY}")
     set_target_properties(${ARGS_TARGET}
         PROPERTIES
         RADIUM_TARGET_RESOURCES_DIRECTORY ${ARGS_DIRECTORY}
-        )
+    )
     if (ARGS_PREFIX)
-        #message(STATUS " [installTargetResources] Set resources properties for target ${ARGS_TARGET} : PREFIX = ${ARGS_PREFIX}")
         set(ARGS_PREFIX "${ARGS_PREFIX}")
         set_target_properties(${ARGS_TARGET}
             PROPERTIES
@@ -540,10 +537,9 @@
             # if helperLib is an alias, find the original name
             get_target_property(OriginalLib "${helperLib}" ALIASED_TARGET)
             if (${OriginalLib} STREQUAL "OriginalLib-NOTFOUND")
-                #                message(STATUS "The name ${ARGS_HELPER_LIBS} is a REAL target.")
                 set(OriginalLib ${helperLib})
             endif ()
-            message(STATUS " [configure_radium_plugin] Request to install the helper library ${helperLib} for plugin ${ARGS_NAME}")
+            message(STATUS " [configure_radium_plugin] Install the helper library ${helperLib} for plugin ${ARGS_NAME}")
             # gets the resource install property of the target
             get_target_property(resourceDir ${helperLib} RADIUM_TARGET_RESOURCES_DIRECTORY)
             if (NOT ${resourceDir} STREQUAL "resourceDir-NOTFOUND")
@@ -563,16 +559,13 @@
                     )
                 endforeach ()
             endif ()
-            message(STATUS " [configure_radium_plugin] Installing the helper lib ${OriginalLib}")
             get_target_property(IsImported "${OriginalLib}" IMPORTED)
             if (${IsImported})
-                #                message(STATUS "The name ${OriginalLib} is a IMPORTED target.")
                 get_target_property(OriginalLib ${OriginalLib} LOCATION)
                 install(FILES ${OriginalLib}
                     DESTINATION ${${ARGS_NAME}_INSTALL_DIR}/lib
                     )
             else ()
-                #                message(STATUS "The name ${OriginalLib} is a LOCAL target.")
                 install(TARGETS ${OriginalLib}
                     DESTINATION ${${ARGS_NAME}_INSTALL_DIR}
                     LIBRARY DESTINATION ${${ARGS_NAME}_INSTALL_DIR}/lib
@@ -682,7 +675,6 @@
         $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>
         $<INSTALL_INTERFACE:include/${ARGS_TARGET_DIR}>
         )
-    message(STATUS " [configure_radium_library] Defining alias ${ARGS_NAMESPACE}::${ARGS_TARGET} for target ${ARGS_TARGET}")
     add_library(${ARGS_NAMESPACE}::${ARGS_TARGET} ALIAS ${ARGS_TARGET})

     install(TARGETS ${ARGS_TARGET}


[cmake] fix the branch name on CI

[cmake] fix the branch name on CI

Jenkins always works in detached head mode ...

--- Numerics/cmake/SiconosCTest.cmake
+++ Numerics/cmake/SiconosCTest.cmake
@@ -27,10 +27,14 @@

   SET(BUILDNAME "${BUILDNAME}-${SOURCE_ABBREV_GIT_SHA1}")

+  # Jenkins always works in detached head mode, so we have to work a bit more to get the branch name
   EXECUTE_PROCESS(COMMAND
-      ${GIT_EXECUTABLE} rev-parse --abbrev-ref HEAD
-      OUTPUT_VARIABLE SOURCE_GIT_BRANCH
+      ${GIT_EXECUTABLE} branch -r --contains ${SOURCE_ABBREV_GIT_SHA1}
+      OUTPUT_VARIABLE SOURCE_GIT_BRANCHES
       WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
+
+    STRING(REGEX REPLACE "^.*origin/" "" SOURCE_GIT_BRANCHES2 ${SOURCE_GIT_BRANCHES})
+    STRING(REGEX REPLACE "\n.*$" "" SOURCE_GIT_BRANCH ${SOURCE_GIT_BRANCHES2})

     MESSAGE(STATUS "GIT_BRANCH :: ${SOURCE_GIT_BRANCH}")


cuda doesn't work. did some testing

cuda doesn't work. did some testing

--- CMakeExternals.cmake
+++ CMakeExternals.cmake
@@ -617,6 +617,10 @@
       set(VTKM_LIB_DEBUG_WORKLET "lib/vtkm_worklet-1.4.a")
     endif()

+    #set(CXX_FLAGS "/__CUDACC__ /DWIN32 /D_WINDOWS /W3 /GR /EHsc")
+    #set(CUDA_FLAGS "-D__CUDACC__ -D_WINDOWS -Xcompiler=\"/W3 /GR /EHsc\"")
+    #set(CUDA_FLAGS_RELEASE "-D__CUDACC__ -Xcompiler=\"-MD -O2 -Ob2\" -DNDEBUG")
+
     option(vtkm_ENABLE_CUDA "Option to build vtkm with cuda enabled" OFF)
     message(${vtkm_ENABLE_CUDA})
     add_external_project(vtkm
@@ -626,6 +630,9 @@
         -DBUILD_SHARED_LIBS:BOOL=OFF
         -DVTKm_ENABLE_TESTING:BOOL=OFF
         -DVTKm_ENABLE_CUDA:BOOL=${vtkm_ENABLE_CUDA}
+        #-DCMAKE_CXX_FLAGS:STRING=${CXX_FLAGS}
+        #-DCMAKE_CUDA_FLAGS:STRING=${CUDA_FLAGS}
+        #-DCMAKE_CUDA_FLAGS_RELEASE:STRING=${CUDA_FLAGS_RELEASE}
         -DBUILD_TESTING:BOOL=OFF
         -VTKm_ENABLE_DEVELOPER_FLAGS:BOOL=OFF
         -DCMAKE_BUILD_TYPE=Release


Removing ALWAYSLINK support from external_cc_library.

--- build_tools/cmake/external_cc_library.cmake
+++ build_tools/cmake/external_cc_library.cmake
@@ -32,7 +32,6 @@
 # DEFINES: List of public defines
 # INCLUDES: Include directories to add to dependencies
 # LINKOPTS: List of link options
-# ALWAYSLINK: Always link the library into any binary with a direct dep.
 # PUBLIC: Add this so that this library will be exported under ${PACKAGE}::
 # Also in IDE, target will appear in ${PACKAGE} folder while non PUBLIC will be
 # in ${PACKAGE}/internal.
@@ -79,7 +78,7 @@
 # )
 function(external_cc_library)
   cmake_parse_arguments(_RULE
-    "PUBLIC;ALWAYSLINK;TESTONLY"
+    "PUBLIC;TESTONLY"
     "PACKAGE;NAME;ROOT"
     "HDRS;SRCS;COPTS;DEFINES;LINKOPTS;DATA;DEPS;INCLUDES"
     ${ARGN}
@@ -144,10 +143,6 @@
     )
     iree_add_data_dependencies(NAME ${_NAME} DATA ${_RULE_DATA})

-    if(DEFINED _RULE_ALWAYSLINK)
-      set_property(TARGET ${_NAME} PROPERTY ALWAYSLINK 1)
-    endif()
-
     # Add all external targets to a a folder in the IDE for organization.
     if(_RULE_PUBLIC)
       set_property(TARGET ${_NAME} PROPERTY FOLDER third_party)


FIX (#1802): removed obsolete TrackingDeviceConfigurator files. The intended functionality will be realized in the TrackingDevice classes. See bug# 1855 for details.

--- Core/IGT/files.cmake
+++ Core/IGT/files.cmake
@@ -14,7 +14,7 @@

   IGTTrackingDevices/mitkClaronTool.cpp
   IGTTrackingDevices/mitkClaronTrackingDevice.cpp
-  IGTTrackingDevices/mitkTrackingDeviceConfigurator.cpp
+  IGTTrackingDevices/mitkInternalTrackingTool.cpp
   IGTTrackingDevices/mitkTrackingDevice.cpp
   IGTTrackingDevices/mitkTrackingTool.cpp
   IGTTrackingDevices/mitkTrackingVolume.cpp


From Olaf Flebbe, "recently I discovered that the freetype plugin does not work, because
CMake doesn't recognize it properly on windows.

1) the header detection on a directory "freetype" fails, it seems to
need a filename: "ft2build.h" actually works.

2) the 3rdparty I am supplying for FlightGear contains freetype-2.3.4. I
added the correct library naming for this particular release.

I double-checked my directory layout with the 3rdparty supplied by other
OSG contributors."

--- CMakeModules/Find3rdPartyDependencies.cmake
+++ CMakeModules/Find3rdPartyDependencies.cmake
@@ -52,7 +52,7 @@

 MACRO(SEARCH_3RDPARTY OSG_3RDPARTY_BIN)
         FIND_DEPENDENCY(TIFF tiff.h libtiff ${OSG_3RDPARTY_BIN} "D")
-        FIND_DEPENDENCY(FREETYPE freetype "freetype;freetype219" ${OSG_3RDPARTY_BIN} "_D")
+        FIND_DEPENDENCY(FREETYPE ft2build.h "freetype;freetype219;freetype234MT" ${OSG_3RDPARTY_BIN} "_D")
         IF(FREETYPE_FOUND)
             #forcing subsequent FindFreeType stuff to not search for other variables.... kind of a hack
             SET(FREETYPE_INCLUDE_DIR_ft2build ${FREETYPE_INCLUDE_DIR} CACHE PATH "")


R is not a required package for ROOT

R is not a required package for ROOT

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -764,7 +764,7 @@
 #added search of R packages here to remove multiples searches
 if(r)
   message(STATUS "Looking for R")
-  find_package(R REQUIRED COMPONENTS Rcpp RInside)
+  find_package(R COMPONENTS Rcpp RInside)
   if(NOT R_FOUND)
     if(fail-on-missing)
        message(FATAL_ERROR "R installation not found and is required ('r' option enabled)")


Fix for tmva-gpu instead of tmva-cuda

Fix for tmva-gpu instead of tmva-cuda

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -1512,8 +1512,7 @@
       message(STATUS "CUDA not found. Ensure that the installation of CUDA is in the CMAKE_PREFIX_PATH")
       message(STATUS "                For the time being switching OFF 'cuda' option")
       set(cuda OFF CACHE BOOL "Disabled because cuda not found (${cuda_description})" FORCE)
-      # FIXME: tmva-cuda is not used anywhere else. Is this meant to be tmva-gpu?
-      set(tmva-cuda OFF CACHE BOOL "Disabled because cuda not found" FORCE)
+      set(tmva-gpu OFF CACHE BOOL "Disabled because cuda not found" FORCE)
     endif()
   endif()
 endif()


Remove commented code about CPack

Remove commented code about CPack

--- CMake/OTBModuleEnablement.cmake
+++ CMake/OTBModuleEnablement.cmake
@@ -219,28 +219,6 @@
 # Order list to satisfy dependencies.
 include(CMake/TopologicalSort.cmake)
 topological_sort(OTB_MODULES_ENABLED OTB_MODULE_ _DEPENDS_FOR_SORT)
-
-# TODO : shall we set up CPack ?
-# #
-# # Set up CPack support
-# #
-# set(OTB_MODULES_DISABLED_CPACK )
-# foreach(m ${OTB_MODULES_DISABLED})
-#   list(APPEND OTB_MODULES_DISABLED_CPACK "/${m}/")
-# endforeach()
-# set(CPACK_SOURCE_IGNORE_FILES
-#   "${OTB_MODULES_DISABLED_CPACK};/\\\\.git")
-#
-# set(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Insight Toolkit version ${OTB_VERSION_MAJOR}")
-# set(CPACK_PACKAGE_VENDOR "ISC")
-# set(CPACK_PACKAGE_VERSION_MAJOR "${OTB_VERSION_MAJOR}")
-# set(CPACK_PACKAGE_VERSION_MINOR "${OTB_VERSION_MINOR}")
-# set(CPACK_PACKAGE_VERSION_PATCH "${OTB_VERSION_PATCH}")
-# set(CPACK_PACKAGE_INSTALL_DIRECTORY "OTB-${OTB_VERSION_MAJOR}.${OTB_VERSION_MINOR}")
-# set(CPACK_PACKAGE_DESCRIPTION_FILE "${CMAKE_CURRENT_SOURCE_DIR}/README.txt")
-# set(CPACK_RESOURCE_FILE_LICENSE "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
-#
-# include(CPack)

 # Report what will be built.
 set(_enabled_modules "${OTB_MODULES_ENABLED}")


Adding R wrapping to the list of auto detected and enabled languages.

R wrapping has not been tested on windows. It likely is problems so it
is marked as advanced.

--- CMake/SITKLanguageOptions.cmake
+++ CMake/SITKLanguageOptions.cmake
@@ -122,14 +122,12 @@
 # Below here are the 2nd tier languages they are not enabled automatically if detected
 #

-# TODO FindR does not conform to the expected behavior:
-# http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package
-# specifically R_FOUND is not defined. Additionally, the defined variables are not marked as advanced.
-option ( WRAP_R "Wrap R" OFF )
-mark_as_advanced( WRAP_R )
-if ( ${WRAP_R} )
-  find_package( R )
-endif()
+find_package(R QUIET)
+if ( ${R_FOUND} )
+  set ( WRAP_R_DEFAULT ON )
+else( ${R_FOUND} )
+  set ( WRAP_R_DEFAULT OFF )
+endif( ${R_FOUND} )

 list( APPEND SITK_LANGUAGES_VARS
  R_INCLUDE_DIR
@@ -137,3 +135,8 @@
  R_LIBRARY_BASE
  R_COMMAND
  RSCRIPT_EXECUTABLE )
+option ( WRAP_R "Wrap R" ${WRAP_R_DEFAULT} )
+
+if( WIN32 )
+  mark_as_advanced( WRAP_R )
+endif()


Another FindLibevent.cmake fix for windows

--- CMakeModules/FindLibevent.cmake
+++ CMakeModules/FindLibevent.cmake
@@ -20,19 +20,21 @@
 find_library(LIBEVENT_LIB_EXTRA NAMES event_extra
     HINTS ${PC_LIBEVENT_LIBDIR} ${PC_LIBEVENT_LIBRARY_DIRS}
 )
+
+find_library(LIBEVENT_LIB_OPENSSL NAMES event_openssl
+    HINTS ${PC_LIBEVENT_LIBDIR} ${PC_LIBEVENT_LIBRARY_DIRS}
+)
+
 # On windows for some reason there are no distinct openssl and threading libs
-if (NOT WIN)
+if (!WIN)
     find_Library(LIBEVENT_LIB_PTHREADS NAMES event_pthreads
-        HINTS ${PC_LIBEVENT_LIBDIR} ${PC_LIBEVENT_LIBRARY_DIRS}
-    )
-    find_library(LIBEVENT_LIB_OPENSSL NAMES event_openssl
         HINTS ${PC_LIBEVENT_LIBDIR} ${PC_LIBEVENT_LIBRARY_DIRS}
     )
 endif()

 if (LIBEVENT_LIB AND LIBEVENT_LIB_CORE AND LIBEVENT_LIB_EXTRA)
     set(LIBEVENT_LIBRARIES ${LIBEVENT_LIB} ${LIBEVENT_LIB_CORE} ${LIBEVENT_LIB_EXTRA})
-    if (NOT WIN)
+    if (!WIN)
         list(APPEND LIBEVENT_LIBRARIES ${LIBEVENT_LIB_OPENSSL} ${LIBEVENT_LIB_PTHREADS})
     endif()
     message(STATUS "libevent libs: ${LIBEVENT_LIBRARIES}")