Fixed FindLibevent.cmake to avoid looking for OpenSSL if not configured

--- CMakeModules/FindLibevent.cmake
+++ CMakeModules/FindLibevent.cmake
@@ -21,9 +21,11 @@
     HINTS ${PC_LIBEVENT_LIBDIR} ${PC_LIBEVENT_LIBRARY_DIRS}
 )

-find_library(LIBEVENT_LIB_OPENSSL NAMES event_openssl
-    HINTS ${PC_LIBEVENT_LIBDIR} ${PC_LIBEVENT_LIBRARY_DIRS}
-)
+if (LIBWS_WITH_OPENSSL)
+    find_library(LIBEVENT_LIB_OPENSSL NAMES event_openssl
+        HINTS ${PC_LIBEVENT_LIBDIR} ${PC_LIBEVENT_LIBRARY_DIRS}
+    )
+endif()

 # On windows for some reason there are no distinct openssl and threading libs
 if (NOT WIN32)
@@ -44,7 +46,10 @@

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

@@ -56,6 +61,9 @@

 mark_as_advanced(LIBEVENT_LIB LIBEVENT_LIB_CORE LIBEVENT_LIB_EXTRA)
 if (NOT WIN32)
-    mark_as_advanced(LIBEVENT_LIB_OPENSSL LIBEVENT_LIB_PTHREADS)
+    mark_as_advanced(LIBEVENT_LIB_PTHREADS)
+    if (LIBWS_WITH_OPENSSL)
+        mark_as_advanced(LIBEVENT_LIB_OPENSSL)
+    endif()
 endif()


COMP (#3283): undo wrong commit of Thiago

--- Modules/IGT/Testing/files.cmake
+++ Modules/IGT/Testing/files.cmake
@@ -23,7 +23,7 @@
    mitkVirtualTrackingDeviceTest.cpp

    # ------------------ Deavtivated Tests ----------------------------------
-   mitkTrackingDeviceSourceTest.cpp
+   #mitkTrackingDeviceSourceTest.cpp
    #mitkNavigationDataPlayerTest.cpp  # deactivated, see bug 3073
    #mitkNavigationDataSourceTest.cpp   # deactivated because of  bug #2323
    #mitkNavigationToolReaderAndWriterTest.cpp #deactivated, see bug #3461


Fix the URL to the Chromaprint page

Fix the URL to the Chromaprint page

--- libchromaprint.pc.cmake
+++ libchromaprint.pc.cmake
@@ -5,7 +5,7 @@

 Name: ${PROJECT_NAME}
 Description: Audio fingerprint library
-URL: http://wiki.acoustid.org/wiki/Chromaprint
+URL: http://acoustid.org/chromaprint
 Version: ${PROJECT_VERSION}
 Libs: -L${LIB_INSTALL_DIR} -lchromaprint
 Cflags: -I${INCLUDE_INSTALL_DIR}


REFAC: don't install share/ossim in the OTB package

--- Packaging/install_share_dirs.cmake
+++ Packaging/install_share_dirs.cmake
@@ -45,9 +45,6 @@
   endif()
   install_without_message("${GDAL_DATA_DIR}" "share" )

-  ####################### install OSSIM data ##########################
-  install_without_message("${PKG_SHARE_SOURCE_DIR}/ossim" "share" )
-
   ####################### install proj share ##########################
   if(EXISTS ${PKG_SHARE_SOURCE_DIR}/proj)
     install_without_message("${PKG_SHARE_SOURCE_DIR}/proj" "share" )


removed cocTextBoxExtended to fix ambiguous Font issue with cmake

--- proj/cmake/CoC-UtilsConfig.cmake
+++ proj/cmake/CoC-UtilsConfig.cmake
@@ -2,6 +2,8 @@
     get_filename_component( COC-UTILS_SOURCE_PATH "${CMAKE_CURRENT_LIST_DIR}/../../src" ABSOLUTE )

     FILE(GLOB COC-UTILS_SOURCES ${COC-UTILS_SOURCE_PATH}/*.cpp)
+
+    LIST(REMOVE_ITEM COC-UTILS_SOURCES ${COC-UTILS_SOURCE_PATH}/cocTextBoxExtended.cpp)

     add_library( CoC-Utils ${COC-UTILS_SOURCES} )
     target_include_directories( CoC-Utils PUBLIC "${COC-UTILS_SOURCE_PATH}" )
@@ -27,4 +29,4 @@
         target_link_libraries( CoC-Utils PUBLIC CoC-Core)
     endif()

-endif()+endif()


Fix for headless appearance utility not linking correctly

--- indra/cmake/Variables.cmake
+++ indra/cmake/Variables.cmake
@@ -51,9 +51,6 @@
   # We use this as a marker that you can try to use the proprietary libraries.
   set(INSTALL_PROPRIETARY ON CACHE BOOL "Install proprietary binaries")
 endif (EXISTS ${CMAKE_SOURCE_DIR}/Server.cmake)
-if (LINUX AND INSTALL_PROPRIETARY)
-  set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.")
-endif (LINUX AND INSTALL_PROPRIETARY)
 set(TEMPLATE_VERIFIER_OPTIONS "" CACHE STRING "Options for scripts/template_verifier.py")
 set(TEMPLATE_VERIFIER_MASTER_URL "http://bitbucket.org/lindenlab/master-message-template/raw/tip/message_template.msg" CACHE STRING "Location of the master message template")

@@ -72,6 +69,10 @@

 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")
   set(LINUX ON BOOl FORCE)
+
+  if (INSTALL_PROPRIETARY)
+    set(BUILD_HEADLESS ON CACHE BOOL "Build headless libraries.")
+  endif (INSTALL_PROPRIETARY)

   # If someone has specified a word size, use that to determine the
   # architecture.  Otherwise, let the architecture specify the word size.


Remove messages().

Remove messages().

--- src/inserts/build.cmake
+++ src/inserts/build.cmake
@@ -27,10 +27,7 @@
     include(${TARGET_INFO_FILE})
 endif()

-message("1 - ${TARGET_FILE}")
-
 if (NOT REBUILD AND EXISTS ${TARGET_FILE})
-    message("2 - returning")
     return()
 endif()


Print warning if -std=c++0x is supported but c++11 isn't

Draft versions of the spec may not be quite compatible with what we're
using, so warn accordingly

--- framework/cmake/framework.cmake
+++ framework/cmake/framework.cmake
@@ -10,6 +10,7 @@
 	CHECK_CXX_COMPILER_FLAG("-std=c++0x" COMPILER_SUPPORTS_CXX0X)
 	if (COMPILER_SUPPORTS_CXX0X)
 		SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++0x")
+		message(WARNING "Your C++ compiler only supports a draft C++11 standard. This /may/ not work...")
 	else()
 		message(FATAL_ERROR "Your C++ compiler does not support C++11.")
 	endif()


BUG: Do not install GDCM if ITK was built against an external gdcm package. ENH: Add gdcm dirs to the install tree (if it wasnt built against a system gdcm)

--- itkIncludeDirectories.cmake
+++ itkIncludeDirectories.cmake
@@ -113,7 +113,6 @@
   ${ITK_INSTALL_INCLUDE_PATH}/BasicFilters
   ${ITK_INSTALL_INCLUDE_PATH}/Common
   ${ITK_INSTALL_INCLUDE_PATH}/expat
-  ${ITK_INSTALL_INCLUDE_PATH}/gdcm/src
   ${ITK_INSTALL_INCLUDE_PATH}/Numerics
   ${ITK_INSTALL_INCLUDE_PATH}/IO
   ${ITK_INSTALL_INCLUDE_PATH}/Numerics/FEM
@@ -132,6 +131,13 @@
     ${ITK_INSTALL_INCLUDE_PATH}/Utilities/vxl/core
     )
 ENDIF(NOT ITK_USE_SYSTEM_VXL)
+
+IF(NOT ITK_USE_SYSTEM_GDCM)
+  SET(ITK_INCLUDE_DIRS_INSTALL_TREE ${ITK_INCLUDE_DIRS_INSTALL_TREE}
+    ${ITK_BINARY_DIR}/Utilities/gdcm
+    ${ITK_SOURCE_DIR}/Utilities/gdcm/src
+    )
+ENDIF(NOT ITK_USE_SYSTEM_GDCM)

 # Patended include directories added only if the user explicitly enabled the
 # ITK_USE_PATENTED option. Users are responsible for getting a license from the


COMP:  Fixed the dependancies of the FFTW libraries for external packages.

--- itkIncludeDirectories.cmake
+++ itkIncludeDirectories.cmake
@@ -42,6 +42,12 @@
   ${ITK_BINARY_DIR}/Utilities/log4cxx/include
 )
 ENDIF(USE_LOG4CXX)
+
+IF(USE_FFTW)
+SET(ITK_INCLUDE_DIRS_BUILD_TREE ${ITK_INCLUDE_DIRS_BUILD_TREE}
+  ${FFTW_INCLUDE_PATH}
+)
+ENDIF(USE_FFTW)

 # VXL include directories.
 IF(NOT ITK_USE_SYSTEM_VXL)


BUG: ResampleDTIlogEuclidean tag had been removed. Tag was updated to last commit.

--- SuperBuild/FindExternalTools.cmake
+++ SuperBuild/FindExternalTools.cmake
@@ -455,12 +455,7 @@
 # ===== ResampleDTIlogEuclidean =====================================================
 set( SourceCodeArgs
   GIT_REPOSITORY "${git_protocol}://github.com/NIRALUser/ResampleDTIlogEuclidean.git"
-  GIT_TAG 0cc1b5c9aae868a46917f52dcb3f1e28f0b82e0f #12-12-2013 addition of an install rule
-#  a2afcd57c931d224b91e6ce026cb499648e4f017 # 04-22-2013 addition of MatrixOffsetTransformBase support (ANTS affine tfm for DTIReg)
-# "84e691a0600128dbe1e9d41a80336e7083e73fa7" # 02/04/2013 fix comp with ITK4.4 + stat lib windows linkage error
-# "e78a9ea00d73a11cc52b3c457e32f1302a3403d4" # 12/20/2012
-# URL "http://www.insight-journal.org/download/sourcecode/742/11/SourceCode11_ResampleDTIInsightJournal2.tar.gz"
-# http://github.com/midas-journal/midas-journal-742/tree/master/ResampleDTIInsightJournal
+  GIT_TAG 09a0676bc4befa3a1b9c2384fedf37b21e193797 #04-02-2014 ENH: update install rules
   )
 set( CMAKE_ExtraARGS
   -DBUILD_TESTING:BOOL=OFF


fix libpng line endings

fix libpng line endings

--- externals/CMakeExternals.cmake
+++ externals/CMakeExternals.cmake
@@ -10,7 +10,7 @@
 if (NOT EXISTS "${CMAKE_BINARY_DIR}/script-externals")
   message(STATUS "Downloading external scripts")
   execute_process(COMMAND
-    ${GIT_EXECUTABLE} clone -b v2.3 https://github.com/UniStuttgart-VISUS/megamol-cmake-externals.git script-externals --depth 1
+    ${GIT_EXECUTABLE} clone -b v2.5 https://github.com/UniStuttgart-VISUS/megamol-cmake-externals.git script-externals --depth 1
     WORKING_DIRECTORY "${CMAKE_BINARY_DIR}"
     ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
 endif ()
@@ -593,6 +593,9 @@
     add_external_project(libpng STATIC
       GIT_REPOSITORY https://github.com/UniStuttgart-VISUS/libpng.git
       GIT_TAG "v1.6.34"
+      # libpng CMake executes awk, if available on the system, which fails on Windows if "scripts/pnglibconf.dfa" has CR LF line endings,
+      # see https://github.com/glennrp/libpng/issues/363
+      GIT_CONFIG "core.autocrlf=false;core.eol=lf"
       BUILD_BYPRODUCTS "<INSTALL_DIR>/${LIBPNG_LIB}"
       DEBUG_SUFFIX d
       DEPENDS zlib


Disable more plugins

Disable more plugins

It would be useful to have a way to disable all plugins, but I don't see
that, so for now update the list with a few new ones that cropped up.

--- projects/paraview.cmake
+++ projects/paraview.cmake
@@ -59,6 +59,8 @@
     -DPARAVIEW_BUILD_PLUGIN_SLACTools:BOOL=FALSE
     -DPARAVIEW_BUILD_PLUGIN_SciberQuestToolKit:BOOL=FALSE
     -DPARAVIEW_BUILD_PLUGIN_SierraPlotTools:BOOL=FALSE
+    -DPARAVIEW_BUILD_PLUGIN_StreamLinesRepresentation:BOOL=FALSE
+    -DPARAVIEW_BUILD_PLUGIN_StreamingParticles:BOOL=FALSE
     -DPARAVIEW_BUILD_PLUGIN_SurfaceLIC:BOOL=FALSE
     -DPARAVIEW_BUILD_PLUGIN_UncertaintyRendering:BOOL=FALSE
     -DPARAVIEW_BUILD_PLUGIN_VRPlugin:BOOL=FALSE


Move module builds to root build dir

Move module builds to root build dir

These are usually shared between targets so it makes more sense for them to be located in the root.

--- prosoft/core/core.cmake
+++ prosoft/core/core.cmake
@@ -61,14 +61,14 @@

 macro(ps_core_use_u8string TARGET_NAME)
     if(NOT TARGET u8string)
-        add_subdirectory(${PSCORE}/modules/u8string ${CMAKE_CURRENT_BINARY_DIR}/u8string)
+        add_subdirectory(${PSCORE}/modules/u8string ${CMAKE_BINARY_DIR}/u8string)
     endif()
     target_link_libraries(${TARGET_NAME} PUBLIC u8string)
 endmacro()

 macro(ps_core_use_regex TARGET_NAME)
     if(NOT TARGET regex)
-        add_subdirectory(${PSCORE}/modules/regex ${CMAKE_CURRENT_BINARY_DIR}/psregex)
+        add_subdirectory(${PSCORE}/modules/regex ${CMAKE_BINARY_DIR}/psregex)
     endif()
     target_link_libraries(${TARGET_NAME} PUBLIC regex)
 endmacro()


fftw can be found with different options for kind and parallel

This is mostly a clean up of debugging messages and defining
SERIAL as a default.

--- modules/FindFFTW3.cmake
+++ modules/FindFFTW3.cmake
@@ -3,11 +3,12 @@
 #  FFTW3_FOUND - System has FFTW3
 #  FFTW3_INCLUDE_DIRS - The FFTW3 include directories
 #  FFTW3_LIBRARIES - The libraries needed to use FFTW3
-#  FFTW3_THREADED_LIBRARIES - The libraries needed to use threaded FFTW3
 #  FFTW3_DEFINITIONS - Compiler switches required for using FFTW3
-#  FFTW3_SINGLE_FOUND- Set if FFTW3 exists in single precision format.
-#  FFTW3_DOUBLE_FOUND- Set if FFTW3 exists in double precision format.
-#  FFTW3_LONGDOUBLE_FOUND - Set if FFTW3 exists in double precision format.
+#  FFTW3_$KIND_$PARALLEL_FOUND- Set if FFTW3 exists in KIND precision format for PARALLEL mode.
+#                             where KIND can be: SINGLE, DOUBLE, LONGDOUBLE
+#                             and PARALLEL: SERIAL, OPENMP, MPI, THREADS.
+#  FFTW3_$KIND_$PARALLEL_LIBRARY - The libraries needed to use.
+#  FFTW3_INCLUDE_DIR_PARALLEL - The FFTW3 include directories for parallels mode.

 if(FFTW3_FOUND)
   return()
@@ -25,25 +26,18 @@

 macro(find_specific_libraries KIND PARALLEL)
   list(APPEND FFTW3_FIND_COMPONENTS ${KIND}_${PARALLEL})
-  message(STATUS "========= ${${PARALLEL}_FOUND} ===========")
   if(NOT (${PARALLEL} STREQUAL "SERIAL") AND NOT ${PARALLEL}_FOUND)
     message(FATAL_ERROR "Please, find ${PARALLEL} libraries before FFTW")
   endif()

-  message(STATUS "Checking for ${KIND} and ${PARALLEL}")
-  message(STATUS "Looking for: fftw3${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL} ")
   find_library(FFTW3_${KIND}_${PARALLEL}_LIBRARY NAMES
     fftw3${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL} HINTS ${HINT_DIRS})
-  message(STATUS "Library: ${FFTW3_${KIND}_${PARALLEL}_LIBRARY} ?")
   if(FFTW3_${KIND}_${PARALLEL}_LIBRARY MATCHES fftw3)
-    message(STATUS "Library: ${FFTW3_${KIND}_${PARALLEL}_LIBRARY} matches fftw3")
     list(APPEND FFTW3_LIBRARIES ${FFTW3_${KIND}_${PARALLEL}_LIBRARY})
     set(FFTW3_${KIND}_${PARALLEL}_FOUND TRUE)

-
     STRING(TOLOWER "${KIND}" kind)
     STRING(TOLOWER "${PARALLEL}" parallel)
-    message(STATUS "Setting target: ${kind} /// ${parallel}")
     if(FFTW3_${kind}_${parallel}_LIBRARY MATCHES "\\.a$")
       add_library(fftw3::${kind}::${parallel} STATIC IMPORTED GLOBAL)
     else()
@@ -65,7 +59,6 @@
     ##   MPI
     if(PARALLEL STREQUAL "MPI")
       if(MPI_C_LIBRARIES)
-        message(STATUS "MPI_libraries: ${MPI_C_LIBRARIES}")
         set_target_properties(fftw3::${kind}::mpi PROPERTIES
           IMPORTED_LOCATION "${FFTW3_${KIND}_${PARALLEL}_LIBRARY}"
           INTERFACE_INCLUDE_DIRECTORIES "${FFTW3_INCLUDE_DIR_PARALLEL}"
@@ -103,22 +96,17 @@
           INTERFACE_COMPILE_OPTIONS "${CMAKE_THREAD_LIBS_INIT}")
       endif()
     endif()
-
   endif()
 endmacro()

-# if(fftw3_FIND_COMPONENTS)
-#     set(FFTW3_FIND_COMPONENTS ${fftw3_FIND_COMPONENTS})
-# endif()
 if(NOT FFTW3_FIND_COMPONENTS)
   set(FFTW3_FIND_COMPONENTS SINGLE DOUBLE LONGDOUBLE SERIAL)
 endif()

 string(TOUPPER "${FFTW3_FIND_COMPONENTS}" FFTW3_FIND_COMPONENTS)
-message(STATUS "MY COMPONENTS ARE: ${FFTW3_FIND_COMPONENTS}")

 list(FIND FFTW3_FIND_COMPONENTS SINGLE LOOK_FOR_SINGLE)
 list(FIND FFTW3_FIND_COMPONENTS DOUBLE LOOK_FOR_DOUBLE)
@@ -128,6 +116,10 @@
 list(FIND FFTW3_FIND_COMPONENTS MPI LOOK_FOR_MPI)
 list(FIND FFTW3_FIND_COMPONENTS SERIAL LOOK_FOR_SERIAL)

+# FIXME - This may fail in computers wihtout serial
+# Default serial to obtain version number
+set(LOOK_FOR_SERIAL 1)
+
 # set serial as default if none parallel component has been set
 if((LOOK_FOR_THREADS LESS 0) AND (LOOK_FOR_MPI LESS 0) AND
     (LOOK_FOR_OPENMP LESS 0))
@@ -160,7 +152,6 @@
 endif()

 function(find_version OUTVAR LIBRARY SUFFIX)
-    message(STATUS "Finding version")
     file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/fftw${SUFFIX}/main.c
       # TODO: do we need to add include for mpi headers?
       "#include <fftw3.h>
@@ -171,7 +162,6 @@
        }"
   )
 if(NOT CMAKE_CROSSCOMPILING)
-  message(STATUS "${LIBRARY} ${FFTW3_INCLUDE_DIR}")
     try_run(RUN_RESULT COMPILE_RESULT
         "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/fftw${SUFFIX}/"
         "${CMAKE_CURRENT_BINARY_DIR}/CMakeFiles/fftw${SUFFIX}/main.c"
@@ -211,24 +201,17 @@
 set(FFTW3_INCLUDE_DIRS ${FFTW3_INCLUDE_DIR} ) # TODO what's for?
 set(FFTW3_FLAGS_C "")
 foreach(KIND SINGLE DOUBLE LONGDOUBLE)
-  message(STATUS "Checking ${KIND}")
   if(LOOK_FOR_${KIND} LESS 0)
     continue()
   endif()
   foreach(PARALLEL SERIAL MPI OPENMP THREADS)
-    message(STATUS "Checking for ${PARALLEL}")
     if(LOOK_FOR_${PARALLEL} LESS 0)
-      message(STATUS "skipping macro ${PARALLEL}:${LOOK_FOR_${PARALLEL}}")
       continue()
     endif()
     find_specific_libraries(${KIND} ${PARALLEL})
   endforeach()
 endforeach()
-message(STATUS "My components are: ${FFTW3_FIND_COMPONENTS}")
-message(STATUS "My flags are: ${FFTW3_FLAGS_C}")
-
-message(STATUS "my library is:  ${FFTW3_LIBRARIES}")
-message(STATUS "${FFTW3_INCLUDE_DIR}")
+
 if(FFTW3_INCLUDE_DIR)
   list(GET FFTW3_FIND_COMPONENTS 0 smallerrun)
   string(REPLACE "_" ";" RUNLIST ${smallerrun})
@@ -236,19 +219,10 @@
   list(GET RUNLIST 1 PARALLEL)
   unset(smallerrun)
   unset(RUNLIST)
-  message(STATUS "Using ${KIND} and ${PARALLEL} to extract the version")
-  # message(STATUS "I'm running: ${FFTW3_${smallerrun}_LIBRARY}")
-  # message(STATUS "${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL}")
   # suffix is quoted so it pass empty in the case of double as it's empty
   find_version(FFTW3_VERSION_STRING ${FFTW3_${KIND}_${PARALLEL}_LIBRARY}
-    "${SUFFIX_${KIND}}${SUFFIX_${PARALLEL}}${SUFFIX_FINAL}")
-endif()
-message(STATUS "my version is: ${FFTW3_VERSION_STRING}")
-
-
-message(STATUS "Printing all the variables:")
-message(STATUS  "ReqVars: FFT_LIB = ${FFTW3_LIBRARIES} FFT_INC = ${FFTW3_INCLUDE_DIR}")
-message(STATUS "version=${FFTW3_VERSION_STRING}")
+    "${SUFFIX_${KIND}}")
+endif()

 # FIXME: fails if use REQUIRED.
 include(FindPackageHandleStandardArgs)


fix the version numbering logic ... so that version 1.9.0 is  recognized as being newer than 1.8.6

--- lib/FindGuile.cmake
+++ lib/FindGuile.cmake
@@ -46,17 +46,22 @@
 	STRING(REGEX MATCH "#define SCM_MICRO_VERSION[	 ]+([0-9])" _MATCH "${_GUILE_VERSION_H_CONTENTS}")
 	SET(GUILE_VERSION_PATCH ${CMAKE_MATCH_1})

-	# check found version against required one
+	# Check found version against required one
+	# Use nested less...equal so that version 2.0.0 is newer than version 1.9.1 is newer than 1.8.6
 	IF (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} LESS Guile_FIND_VERSION_MAJOR)
 		SET(GUILE_FOUND FALSE)
 	ELSE (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} LESS Guile_FIND_VERSION_MAJOR)
-		IF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR)
-			SET(GUILE_FOUND FALSE )
-		ELSE (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR)
-			IF (Guile_FIND_VERSION_PATCH AND ${GUILE_VERSION_PATCH} LESS Guile_FIND_VERSION_PATCH)
+		IF (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} EQUAL Guile_FIND_VERSION_MAJOR)
+			IF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR)
 				SET(GUILE_FOUND FALSE )
-			ENDIF (Guile_FIND_VERSION_PATCH AND ${GUILE_VERSION_PATCH} LESS Guile_FIND_VERSION_PATCH)
-		ENDIF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR)
+			ELSE (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR)
+				IF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} EQUAL Guile_FIND_VERSION_MINOR)
+					IF (Guile_FIND_VERSION_PATCH AND ${GUILE_VERSION_PATCH} LESS Guile_FIND_VERSION_PATCH)
+						SET(GUILE_FOUND FALSE )
+					ENDIF (Guile_FIND_VERSION_PATCH AND ${GUILE_VERSION_PATCH} LESS Guile_FIND_VERSION_PATCH)
+				ENDIF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} EQUAL Guile_FIND_VERSION_MINOR)
+			ENDIF (Guile_FIND_VERSION_MINOR AND ${GUILE_VERSION_MINOR} LESS Guile_FIND_VERSION_MINOR)
+		ENDIF (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} EQUAL Guile_FIND_VERSION_MAJOR)
 	ENDIF (Guile_FIND_VERSION_MAJOR AND ${GUILE_VERSION_MAJOR} LESS Guile_FIND_VERSION_MAJOR)
 ENDIF(GUILE_INCLUDE_DIR AND NOT CMAKE_MAJOR_VERSION LESS 2 AND NOT CMAKE_MINOR_VERSION LESS 6)


python: don't specify version

python: don't specify version

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

--- projects/llvm.cmake
+++ projects/llvm.cmake
@@ -21,7 +21,7 @@
   if(NOT (XP_DEFAULT OR XP_PRO_LLVM))
     return()
   endif()
-  find_package(PythonInterp 2.7)
+  find_package(PythonInterp)
   if(NOT PYTHONINTERP_FOUND)
     message(AUTHOR_WARNING "Unable to build llvm/clang tools, required python not found")
     return()


use "ver" to determine the windows version

--- test.cmake
+++ test.cmake
@@ -16,13 +16,21 @@
    execute_process(COMMAND ${UNAME} -m OUTPUT_VARIABLE chip OUTPUT_STRIP_TRAILING_WHITESPACE)
    string(TOLOWER "${chip}" chip)
 else()
-   string(TOLOWER "$ENV{TARGET_PLATFORM}" arch)
-   if(arch)
-      if("$ENV{WindowsSDKVersionOverride}")
-         set(arch "${arch} SDK $ENV{WindowsSDKVersionOverride}")
+   find_program(VER ver)
+   if(VER)
+      execute_process(COMMAND ${VER} OUTPUT_VARIABLE arch OUTPUT_STRIP_TRAILING_WHITESPACE)
+      string(REPLACE "Microsoft " "" arch "${arch}")
+      string(REPLACE "[Version  " "" arch "${arch}")
+      string(REPLACE "]" "" arch "${arch}")
+   else()
+      string(TOLOWER "$ENV{TARGET_PLATFORM}" arch)
+      if(arch)
+         if("$ENV{WindowsSDKVersionOverride}")
+            set(arch "${arch} SDK $ENV{WindowsSDKVersionOverride}")
+         endif()
+      else()
+         string(TOLOWER "${CMAKE_SYSTEM_NAME}" arch)
       endif()
-   else()
-      string(TOLOWER "${CMAKE_SYSTEM_NAME}" arch)
    endif()
    execute_process(COMMAND
       reg query "HKLM\\HARDWARE\\DESCRIPTION\\System\\CentralProcessor\\0" /v Identifier


clang 3.4 is nearing release

clang 3.4 is nearing release

--- test.cmake
+++ test.cmake
@@ -148,7 +148,7 @@
 elseif(COMPILER_VERSION MATCHES "Open64")
    set(compiler "Open64")
 endif()
-if(COMPILER_VERSION MATCHES "\\((experimental|prerelease)\\)" OR COMPILER_VERSION MATCHES "clang version 3.4")
+if(COMPILER_VERSION MATCHES "\\((experimental|prerelease)\\)" OR COMPILER_VERSION MATCHES "clang version 3.5")
    set(compiler "experimental")
 endif()


ENH: Update niral_utilities version

ENH: Update niral_utilities version

--- SuperBuild/External_niral_utilities.cmake
+++ SuperBuild/External_niral_utilities.cmake
@@ -77,7 +77,7 @@

   ### --- End Project specific additions
   set( ${proj}_REPOSITORY ${git_protocol}://github.com/NIRALUser/niral_utilities.git )
-  set( ${proj}_GIT_TAG 8034509e6598e06842a668e051b8ca84842fcd0c)
+  set( ${proj}_GIT_TAG 6924bab40c14705e67da0b0fe6292a0253b241c5)
   ExternalProject_Add(${proj}
     GIT_REPOSITORY ${${proj}_REPOSITORY}
     GIT_TAG ${${proj}_GIT_TAG}


Define ND_BUILD64BIT_ARCH when building for 64 bit.

--- indra/cmake/Variables.cmake
+++ indra/cmake/Variables.cmake
@@ -9,6 +9,9 @@
 #   LINUX   - Linux
 #   WINDOWS - Windows

+if( ${NDTARGET_ARCH} STREQUAL "x64" )
+ set( ND_BUILD64BIT_ARCH ON )
+endif( ${NDTARGET_ARCH} STREQUAL "x64" )

 # Relative and absolute paths to subtrees.

@@ -65,6 +68,9 @@
   set(LL_ARCH ${ARCH}_win32)
   set(LL_ARCH_DIR ${ARCH}-win32)
   set(WORD_SIZE 32)
+  if( ND_BUILD64BIT_ARCH )
+    set(WORD_SIZE 64)
+  endif( ND_BUILD64BIT_ARCH )
 endif (${CMAKE_SYSTEM_NAME} MATCHES "Windows")

 if (${CMAKE_SYSTEM_NAME} MATCHES "Linux")


Allow Qt5 package to be detected in CONFIG mode (for usage in config files)

--- adm_local/cmake_files/FindSalomeQt5.cmake
+++ adm_local/cmake_files/FindSalomeQt5.cmake
@@ -65,5 +65,7 @@
   SALOME_ACCUMULATE_ENVIRONMENT(PATH ${LINGUIST_PATH})
   SALOME_ACCUMULATE_ENVIRONMENT(LD_LIBRARY_PATH ${Qt5Core_LIBRARIES})
   SET(QT_VERSION "${Qt5Core_VERSION}")
+  SET(Qt5_DIR ${Qt5Core_DIR})
+  SET(SalomeQt5_COMPONENTS ${Qt5_FIND_COMPONENTS})
   MESSAGE(STATUS "Qt version is ${QT_VERSION}")
 ENDIF()


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -45,7 +45,7 @@
 	get_filename_component(compiler ${CMAKE_CXX_COMPILER} NAME)
 	SET(CMAKI_COMPILER "${compiler}")
 ENDIF()
-# MESSAGE("-- compiler detected: ${CMAKI_COMPILER}")
+MESSAGE("-- compiler detected: ${CMAKI_COMPILER}")

 IF(WIN32)
 	if(CMAKE_CL_64)
@@ -60,7 +60,7 @@
 		OUTPUT_VARIABLE RESULT_VERSION OUTPUT_STRIP_TRAILING_WHITESPACE)
 	set(CMAKI_PLATFORM "${RESULT_VERSION}")
 ENDIF()
-# MESSAGE("-- platform detected: ${CMAKI_PLATFORM}")
+MESSAGE("-- platform detected: ${CMAKI_PLATFORM}")

 function(cmaki_find_package PACKAGE)

@@ -487,6 +487,7 @@
 		NAME ${_TEST_NAME}_exe
 		COMMAND ${_TEST_NAME}_exe
 		WORKING_DIRECTORY ${CMAKE_INSTALL_PREFIX}/${CMAKE_BUILD_TYPE})
+	generate_vcxproj_user(${_TEST_NAME})

 endfunction()


Fix merge error

Fix merge error

--- ntoarm.cmake
+++ ntoarm.cmake
@@ -16,17 +16,9 @@
 SET(CMAKE_FIND_LIBRARY_PREFIXES "lib")
 SET(CMAKE_FIND_LIBRARY_SUFFIXES ".so" ".a")

-<<<<<<< HEAD
 SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM BOTH)
 SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY BOTH)
 SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE BOTH)
-=======
-# search for programs in the build host directories
-SET(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-# for libraries and headers in the target directories
-SET(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-SET(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)

->>>>>>> origin/qtextstream
 #Force -pfPIC when ompiling.
 SET(CMAKE_C_FLAGS -fPIC)


AndroidUtils.cmake - choose from available platforms.

--- CMakeModules/AndroidUtils.cmake
+++ CMakeModules/AndroidUtils.cmake
@@ -93,9 +93,18 @@
     endmacro()

     macro( android_update android_project_name)
+        # Find which android platforms are available.
+        execute_process(
+            COMMAND android list targets -c
+            OUTPUT_VARIABLE android_target_list
+        )
+
+        # Pick first platform from this list.
+        string(REGEX MATCH "^.*[^\n]" android_target ${android_target_list} )
+
         # Generate ant build scripts for making APK
         execute_process(
-            COMMAND android update project --name ${android_project_name} --path . --target android-17 --subprojects
+            COMMAND android update project --name ${android_project_name} --path . --target ${android_target} --subprojects
             WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
         )
     endmacro()


`CMakeModules/VersionUtils.cmake` quick fix

--- CMakeModules/VersionUtils.cmake
+++ CMakeModules/VersionUtils.cmake
@@ -1,3 +1,4 @@
+cmake_minimum_required(VERSION 3.5)
 function(GENERATE_VERSION_METADATA)
    find_package(Git)
    if(EXISTS ${CMAKE_SOURCE_DIR}/.git AND GIT_FOUND)
@@ -12,7 +13,7 @@
          ERROR_QUIET
          OUTPUT_STRIP_TRAILING_WHITESPACE )
       string(REGEX MATCH "-dirty$" _VERSION_DIRTY_ ${_VERSION_DIRTY_})
-      if(_VERSION_DIRTY_ STREQUAL "")
+      if("${_VERSION_DIRTY_}" STREQUAL "")
          set(_VERSION_DIRTY_ "false")
       else()
          set(_VERSION_DIRTY_ "true")


Updated SHA for swig

Updated SHA for swig

--- cmake/FetchSwig.cmake
+++ cmake/FetchSwig.cmake
@@ -6,7 +6,7 @@
     FetchContent_Declare(
       swig
       URL ${FAST_PREBUILT_DEPENDENCY_DOWNLOAD_URL_NEW}/${FILENAME}
-      URL_HASH SHA256=f5060e39b896c42236d418cb40b785cdc54201079f7b6323d344fcf186a2ccb2
+      URL_HASH SHA256=a4eea185e04634c8d9cb2e5655bef6bf68a921a3790dae09f7f7289f5b916e1b
     )
 else()
     FetchContent_Declare(


Removed showing error if Hwloc_INCLUDE_DIRS is empty. This can be the case if it is installed in system includes.

--- cmake/FindHwloc.cmake
+++ cmake/FindHwloc.cmake
@@ -167,8 +167,7 @@

   if(Hwloc_FOUND)
     include(FindPackageHandleStandardArgs)
-    find_package_handle_standard_args(Hwloc DEFAULT_MSG Hwloc_LIBRARIES
-      Hwloc_INCLUDE_DIRS)
+    find_package_handle_standard_args(Hwloc DEFAULT_MSG Hwloc_LIBRARIES)

     if(NOT ${Hwloc_VERSION} VERSION_LESS 1.7.0)
       set(Hwloc_GL_FOUND 1)


#526 - add working mariadb 10.3 support on windows

--- cmake/FindMySQL.cmake
+++ cmake/FindMySQL.cmake
@@ -82,7 +82,7 @@
     /usr/local/mysql/include
     "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/include"
     "${PROGRAM_FILES_64}/MySQL/include"
-    "${PROGRAM_FILES_64}/MariaDB 10.3/include"
+    "${PROGRAM_FILES_64}/MariaDB 10.3/include/mysql"
     "C:/MySQL/include"
     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include"
     "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include"
@@ -114,6 +114,7 @@
   find_library( MYSQL_LIBRARY
     NAMES
       libmysql
+      libmariadb
     PATHS
       ${MYSQL_ADD_LIBRARIES_PATH}
       "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib"


better default driver behavior -- empty string now implies use default

--- cmake/UseCyclus.cmake
+++ cmake/UseCyclus.cmake
@@ -218,11 +218,11 @@
     SET("${lib_root}_TEST_LIB" "" CACHE INTERNAL "Agent test library alias." FORCE)

     # check if a test driver was provided, otherwise use the default
-    IF(${ARGC} GREATER 3)
+    IF(${ARGC} GREATER 3 AND NOT "${ARGV4}" STREQUAL "")
         SET(DRIVER "${ARGV4}")
-    ELSE(${ARGC} GREATER 3)
+    ELSE(${ARGC} GREATER 3  AND NOT "${ARGV4}" STREQUAL "")
         SET(DRIVER "${CYCLUS_DEFAULT_TEST_DRIVER}")
-    ENDIF(${ARGC} GREATER 3)
+    ENDIF(${ARGC} GREATER 3  AND NOT "${ARGV4}" STREQUAL "")

     USE_CYCLUS("${lib_root}" "${src_root}")
     INSTALL_CYCLUS_MODULE("${lib_root}" "${lib_dir}" ${DRIVER})
@@ -237,11 +237,11 @@
     SET(INST_DIR "${lib_dir}")

     # check if a test driver was provided, otherwise use the default
-    IF(${ARGC} GREATER 2)
+    IF(${ARGC} GREATER 2 AND NOT "${ARGV2}" STREQUAL "")
         SET(DRIVER "${ARGV2}")
-    ELSE(${ARGC} GREATER 2)
+    ELSE(${ARGC} GREATER 2 AND NOT "${ARGV2}" STREQUAL "")
         SET(DRIVER "${CYCLUS_DEFAULT_TEST_DRIVER}")
-    ENDIF(${ARGC} GREATER 2)
+    ENDIF(${ARGC} GREATER 2 AND NOT "${ARGV2}" STREQUAL "")

     INSTALL_AGENT_LIB_("${LIB_NAME}" "${LIB_SRC}" "${LIB_H}" "${INST_DIR}")
     INSTALL_AGENT_TESTS_("${LIB_NAME}" "${TEST_SRC}" "${TEST_H}" "${DRIVER}" "${INST_DIR}")


Update packaging.cmake

Update packaging.cmake

* changes related to packaging with updated Qt modules

--- cmake/packaging.cmake
+++ cmake/packaging.cmake
@@ -65,27 +65,27 @@
     set(CPACK_COMPONENT_CORE_GROUP             "Base")
     set(CPACK_COMPONENT_GROUP_BASE_DESCRIPTION "Inviwo core and common shared modules")

-    list(APPEND IVW_PACKAGES                 "modules")
     set(CPACK_COMPONENT_MODULES_DISPLAY_NAME "Shared Modules")
     set(CPACK_COMPONENT_MODULES_DEPENDS      core)
     set(CPACK_COMPONENT_MODULES_GROUP        "Base")
+    list(APPEND IVW_PACKAGES                 "modules")

     if(IVW_QT_APPLICATION)
         # Inviwo network editor application depends on QtEditor
-        list(APPEND IVW_PACKAGES                   "qt_editor")
         set(CPACK_COMPONENT_QT_EDITOR_DISPLAY_NAME "Qt Editor")
         set(CPACK_COMPONENT_QT_EDITOR_DEPENDS      ${IVW_PACKAGES})
         set(CPACK_COMPONENT_QT_EDITOR_GROUP        "Qt")
-
-        list(APPEND IVW_PACKAGES                    "qt_modules")
+        list(APPEND IVW_PACKAGES                   "qt_editor")
+
         set(CPACK_COMPONENT_QT_MODULES_DISPLAY_NAME "Qt Modules")
         set(CPACK_COMPONENT_QT_MODULES_DEPENDS      ${IVW_PACKAGES})
         set(CPACK_COMPONENT_QT_MODULES_GROUP        "Qt")
+        list(APPEND IVW_PACKAGES                    "qt_modules")

-        list(APPEND IVW_PACKAGES                "qt_app")
         list(APPEND IVW_EXECUTABLES             "inviwo;Inviwo")
         set(CPACK_COMPONENT_QT_APP_DISPLAY_NAME "Qt Application")
         set(CPACK_COMPONENT_QT_APP_DEPENDS      ${IVW_PACKAGES})
+        list(APPEND IVW_PACKAGES                "qt_app")
         set(CPACK_COMPONENT_QT_APP_GROUP        "Qt")
     endif()


Minor fix for freetype module

Minor fix for freetype module

--- allocore/modules/font_module.cmake
+++ allocore/modules/font_module.cmake
@@ -23,7 +23,7 @@

 else()
     message("NOT Building font module. OpenGL, GLEW or GLUT not available.")
-    foreach(header FREETYPE_HEADERS)
+    foreach(header ${FREETYPE_HEADERS})
         list(APPEND FREETYPE_DUMMY_HEADER_INFO "${header}::::Freetype")
     endforeach()
     list(APPEND ALLOCORE_DUMMY_HEADERS ${FREETYPE_DUMMY_HEADER_INFO})
@@ -32,7 +32,7 @@
 else()
     message("NOT Building font module. Freetype not found.")

-    foreach(header FREETYPE_HEADERS)
+    foreach(header ${FREETYPE_HEADERS})
         list(APPEND FREETYPE_DUMMY_HEADER_INFO "${header}::::Freetype")
     endforeach()
     list(APPEND ALLOCORE_DUMMY_HEADERS ${FREETYPE_DUMMY_HEADER_INFO})


Mac: latest vlc version for mac is 2.1.4

--- PluginConfig.cmake
+++ PluginConfig.cmake
@@ -17,8 +17,12 @@

 #if you want embed vlc into FBVLC distribution:
 # 1) place vlc into FBVLC\Win\WiX\vlc-${VLC_VERSION}
-# 2) uncomment following line
-set(VLC_VERSION "2.1.3")
+# 2) uncomment following
+if(APPLE)
+    set(VLC_VERSION "2.1.4")
+else()
+    set(VLC_VERSION "2.1.3")
+endif()
 # 3) run prepXXXX.cmd from FireBreath

 #unfortunately current implementation does not work :(


ENH: gives the possibility to use the boost library installed on the system

--- otbIncludeDirectories.cmake
+++ otbIncludeDirectories.cmake
@@ -26,8 +26,7 @@
   ${OTB_SOURCE_DIR}/Code/Radiometry
   ${OTB_SOURCE_DIR}/Code/SARPolarimetry
   ${OTB_SOURCE_DIR}/Code/Markov
-  ${OTB_SOURCE_DIR}/Utilities/BGL
-  ${OTB_SOURCE_DIR}/Utilities/BGL/boost
+
   ${OTB_SOURCE_DIR}/Utilities/otbsvm
   ${OTB_SOURCE_DIR}/Utilities/otbossim
   ${OTB_SOURCE_DIR}/Utilities/otbossim/include
@@ -101,6 +100,15 @@
 	${OTB_SOURCE_DIR}/Utilities/ITK/Utilities/vxl/v3p/netlib/opt)
 ENDIF(OTB_USE_EXTERNAL_ITK)

+# Include directories from the CURL build tree.
+IF(OTB_USE_EXTERNAL_BOOST)
+  SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE}
+  	${Boost_INCLUDE_DIR} )
+ELSE(OTB_USE_EXTERNAL_BOOST)
+  SET(OTB_INCLUDE_DIRS_BUILD_TREE ${OTB_INCLUDE_DIRS_BUILD_TREE}
+    ${OTB_SOURCE_DIR}/Utilities/BGL
+    ${OTB_SOURCE_DIR}/Utilities/BGL/boost)
+ENDIF(OTB_USE_EXTERNAL_BOOST)

 #-----------------------------------------------------------------------------
 # Include directories needed for .cxx files in OTB.  These include
@@ -200,8 +208,7 @@
   ${OTB_INSTALL_INCLUDE_DIR}/Fusion
   ${OTB_INSTALL_INCLUDE_DIR}/Utilities
   ${OTB_INSTALL_INCLUDE_DIR}/Utilities/ITK
-  ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL
-  ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL/boost
+
   ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbsvm
   ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim
   ${OTB_INSTALL_INCLUDE_DIR}/Utilities/otbossim/include
@@ -251,6 +258,10 @@
 IF(OTB_USE_BOOST)
   SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE}
   	${Boost_INCLUDE_DIR} )
+ELSE(OTB_USE_BOOST)
+  SET(OTB_INCLUDE_DIRS_INSTALL_TREE ${OTB_INCLUDE_DIRS_INSTALL_TREE}
+        ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL
+        ${OTB_INSTALL_INCLUDE_DIR}/Utilities/BGL/boost)
 ENDIF(OTB_USE_BOOST)

 # For OpentTreads  header file


BUG: fix module dependencies

BUG: fix module dependencies

--- Modules/Learning/DimensionalityReductionLearning/otb-module.cmake
+++ Modules/Learning/DimensionalityReductionLearning/otb-module.cmake
@@ -21,14 +21,16 @@
 set(DOCUMENTATION "Dimensionality reduction application")
 otb_module(OTBDimensionalityReductionLearning
   DEPENDS
-		OTBCommon
-		OTBApplicationEngine
-		OTBITK
-		OTBShark
-		OTBBoost
-		OTBAppClassification
-		OTBSOM
-		OTBLearningBase
-        DESCRIPTION
-	"${DOCUMENTATION}"
+    OTBCommon
+    OTBITK
+    OTBShark
+    OTBBoost
+    OTBSOM
+    OTBLearningBase
+
+  TEST_DEPENDS
+    OTBTestKernel
+
+  DESCRIPTION
+    "${DOCUMENTATION}"
 )


Fix for Bullet

Fix for Bullet


fixing problems with new botgPackagesList resolution of paths

--- cmake/BOTG.cmake
+++ cmake/BOTG.cmake
@@ -389,16 +389,16 @@

             #split location into directory components
             #If a directory is actually a .in file then load the external project.
-            STRING( REPLACE "/" ";" components "${loc}" )
+            STRING( REPLACE "/" ";" components ${loc} )
             SET(loc)
-            FOREACH( component "${components}" )
+            FOREACH( component ${components} )
                 IF( component MATCHES "\\.in$" )
-                    LIST(APPEND external_projects component)
+                    LIST(APPEND external_projects "${loc}/${component}")
                     STRING(REGEX REPLACE "\\.in" "" component "${component}")
                 ENDIF()
-                LIST(APPEND loc "${component}/") #reconstruct with trailing /
+                SET(loc "${loc}/${component}")
             ENDFOREACH()
-            STRING( REGEX REPLACE "/$" "" loc "${loc}") #remove last trailing /
+            STRING( REGEX REPLACE "^/" "" loc "${loc}") #remove first /

             #reconstruct full args
             LIST(APPEND local_args ${pkg} ${loc} ${tst})
@@ -412,7 +412,7 @@

     #define packages with tribits
     TRIBITS_REPOSITORY_DEFINE_PACKAGES(
-      ${local_args}
+        ${local_args}
     )

 ENDMACRO()


conf.cmake: Added DLLEXPORT and DLLIMPORT definitions.

--- cmake/conf.cmake
+++ cmake/conf.cmake
@@ -7,9 +7,23 @@
 if(MSVC)
 	SET(CMAKE_CXX_FLAGS "/EHsc")
 else()
-	SET(CMAKE_CXX_FLAGS "-g -m32 -std=c++14")
+	SET(CMAKE_CXX_FLAGS "-g -m32 -std=c++17")
 	SET(CMAKE_C_FLAGS "-g -m32")
 endif(MSVC)
+
+# Define DLLEXPORT and DLLIMPORT
+if(WIN32 OR CYGWIN )
+	if(${CMAKE_CXX_COMPILER_ID} MATCHES "GNU")
+		set(DLLEXPORT "__attribute__((dllexport))")
+		set(DLLIMPORT "")
+	else()
+		set(DLLEXPORT "__declspec(dllexport)")
+		set(DLLIMPORT "__declspec(dllimport)")
+	endif()
+else()
+	set(DLLEXPORT "__attribute__ ((visibility (\"default\"))")
+	set(DLLIMPORT "")
+endif()

 set(ROOT_DIR ${CMAKE_CURRENT_LIST_DIR}/../..)
 set(BASEOUTDIR ${ROOT_DIR}/build_results/${CMAKE_CXX_COMPILER_ID}/${TARGET_SUBDIR})


ENH: Update current git tag.

ENH: Update current git tag.

--- SuperBuild/External_ITKv4.cmake
+++ SuperBuild/External_ITKv4.cmake
@@ -73,7 +73,7 @@
     )
   ### --- End Project specific additions
   set(${proj}_REPOSITORY ${git_protocol}://itk.org/ITK.git CACHE STRING "" FORCE)
-  set(${proj}_GIT_TAG cf732425528cea8ad75bc49df5c1d7441b9fc2ad CACHE STRING "" FORCE)
+  set(${proj}_GIT_TAG b595abdb6bd3416af040ae503716902800d5e219 CACHE STRING "" FORCE)
   ExternalProject_Add(${proj}
     GIT_REPOSITORY ${${proj}_REPOSITORY}
     GIT_TAG ${${proj}_GIT_TAG}


Allow FindDCMTK.cmake to be re-used directly adding missing module.

Usage of 'find_package_handle_standard_args' was initially introduced
by commit 52d9539f5e7.

For more details about the issue, see http://forum.dcmtk.org/viewtopic.php?f=1&t=3906&p=15599#p15599

See #431

--- Utilities/CMake/FindDCMTK.cmake
+++ Utilities/CMake/FindDCMTK.cmake
@@ -323,6 +323,7 @@
 # Compatibility: This variable is deprecated
 set(DCMTK_INCLUDE_DIR ${DCMTK_INCLUDE_DIRS})

+include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(DCMTK
   REQUIRED_VARS ${DCMTK_INCLUDE_DIR_NAMES} DCMTK_LIBRARIES
   FAIL_MESSAGE "Please set DCMTK_DIR and re-run configure")


Epic bugfix

Epic bugfix

git-svn-id: fbbf69ba8011aca0e74e1c67904b11cccbdbe66b@27741 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/cmake/setup_finalize.cmake
+++ deal.II/cmake/setup_finalize.cmake
@@ -91,8 +91,7 @@

 IF(FEATURE_UMFPACK_BUNDLED_CONFIGURED)
   FILE(APPEND ${_log}
-"
-#
+"#
 #  The bundled UMFPACK library will be compiled with the following C compiler:
 #        CMAKE_C_COMPILER:        ${CMAKE_C_COMPILER_ID} ${CMAKE_C_COMPILER_VERSION}
 #                                 ${CMAKE_C_COMPILER}


Compilation flags were not set to the right value due to a leftover ep_name variable

--- cmake/externals/configuration_steps/EP_Initialisation.cmake
+++ cmake/externals/configuration_steps/EP_Initialisation.cmake
@@ -75,8 +75,8 @@
 ## Set compilation flags
 ## #############################################################################

-  set(${ep_name}_c_flags ${ep_common_c_flags})
-  set(${ep_name}_cxx_flags ${ep_common_cxx_flags})
+  set(${ep}_c_flags ${ep_common_c_flags})
+  set(${ep}_cxx_flags ${ep_common_cxx_flags})

   # Add PIC flag if Static build on UNIX with amd64 arch
   if (UNIX)


Update 32F072BDISCOVERY test configuration to version 1

--- configurations/ST_32F072BDISCOVERY/test/distortosConfiguration.cmake
+++ configurations/ST_32F072BDISCOVERY/test/distortosConfiguration.cmake
@@ -28,12 +28,12 @@
 		"STRING"
 		"Flags used by the CXX compiler during DEBUG builds.")
 set("CMAKE_CXX_FLAGS_MINSIZEREL"
-		"-Os -DNDEBUG"
+		"-Os"
 		CACHE
 		"STRING"
 		"Flags used by the CXX compiler during MINSIZEREL builds.")
 set("CMAKE_CXX_FLAGS_RELEASE"
-		"-O2 -DNDEBUG"
+		"-O2"
 		CACHE
 		"STRING"
 		"Flags used by the CXX compiler during RELEASE builds.")
@@ -53,12 +53,12 @@
 		"STRING"
 		"Flags used by the C compiler during DEBUG builds.")
 set("CMAKE_C_FLAGS_MINSIZEREL"
-		"-Os -DNDEBUG"
+		"-Os"
 		CACHE
 		"STRING"
 		"Flags used by the C compiler during MINSIZEREL builds.")
 set("CMAKE_C_FLAGS_RELEASE"
-		"-O2 -DNDEBUG"
+		"-O2"
 		CACHE
 		"STRING"
 		"Flags used by the C compiler during RELEASE builds.")
@@ -182,6 +182,11 @@
 		CACHE
 		"BOOL"
 		"If this value is on, makefiles will be generated without the .SILENT directive, and all commands will be echoed to the console during the make.  This is useful for debugging only. With Visual Studio IDE projects all commands are done without /nologo.")
+set("DISTORTOS_CONFIGURATION_VERSION"
+		"1"
+		CACHE
+		"INTERNAL"
+		"")
 set("distortos_Architecture_00_Interrupt_stack_size"
 		"1024"
 		CACHE
@@ -222,6 +227,11 @@
 		CACHE
 		"STRING"
 		"Size (in bytes) of \"stack guard\".\n\nAny value which is not a multiple of stack alignment required by architecture, will be rounded up.\n\nAllowed range: [1; 2147483647]")
+set("distortos_Checks_06_Asserts"
+		"ON"
+		CACHE
+		"BOOL"
+		"Enable asserts.\n\nSome errors, which are clearly program bugs, are never reported using error codes. When this option is enabled, these preconditions, postconditions, invariants and assertions are checked with assert() macro. On the other hand - with this option disabled, they are completely ignored.\n\nIt is highly recommended to keep this option enabled until the application is thoroughly tested.")
 set("distortos_Clocks_00_Standard_configuration_of_clocks"
 		"ON"
 		CACHE
@@ -473,7 +483,7 @@
 		"BOOL"
 		"Enable Ld6 (Blue)")
 set("DISTORTOS_CONFIGURATION_NAMES"
-		"distortos_Architecture_00_Interrupt_stack_size;distortos_Build_00_Static_destructors;distortos_Checks_00_Context_of_functions;distortos_Checks_01_Stack_pointer_range_during_context_switch;distortos_Checks_02_Stack_pointer_range_during_system_tick;distortos_Checks_03_Stack_guard_contents_during_context_switch;distortos_Checks_04_Stack_guard_contents_during_system_tick;distortos_Checks_05_Stack_guard_size;distortos_Clocks_00_Standard_configuration_of_clocks;distortos_Clocks_01_HSE;distortos_Clocks_02_HSI48;distortos_Clocks_03_PLL;distortos_Clocks_04_Clock_source_of_PLL;distortos_Clocks_05_PREDIV;distortos_Clocks_06_PLLMUL;distortos_Clocks_07_System_clock_source;distortos_Clocks_08_HPRE;distortos_Clocks_09_PPRE;distortos_Memory_00_Flash_prefetch;distortos_Memory_regions_00_text_vectorTable;distortos_Memory_regions_01_text;distortos_Memory_regions_02_ARM_exidx;distortos_Memory_regions_03_Main_stack;distortos_Memory_regions_04_bss;distortos_Memory_regions_05_data_VMA;distortos_Memory_regions_06_data_LMA;distortos_Memory_regions_07_noinit;distortos_Memory_regions_08_SRAM_data_LMA;distortos_Memory_regions_09_Process_stack;distortos_Memory_regions_10_Heap;distortos_Peripherals_DMA1;distortos_Peripherals_GPIOA;distortos_Peripherals_GPIOB;distortos_Peripherals_GPIOC;distortos_Peripherals_GPIOD;distortos_Peripherals_GPIOF;distortos_Peripherals_SPI1;distortos_Peripherals_SPI2;distortos_Peripherals_USART1;distortos_Peripherals_USART2;distortos_Peripherals_USART3;distortos_Peripherals_USART4;distortos_Scheduler_00_Tick_frequency;distortos_Scheduler_01_Round_robin_frequency;distortos_Scheduler_02_Support_for_signals;distortos_Scheduler_03_Support_for_thread_detachment;distortos_Scheduler_04_Main_thread_stack_size;distortos_Scheduler_05_Main_thread_priority;distortos_Scheduler_06_Reception_of_signals_by_main_thread;distortos_Scheduler_07_Queued_signals_for_main_thread;distortos_Scheduler_08_SignalAction_objects_for_main_thread;distortos_buttons;distortos_buttons_B1;distortos_leds;distortos_leds_Ld3;distortos_leds_Ld4;distortos_leds_Ld5;distortos_leds_Ld6"
+		"DISTORTOS_CONFIGURATION_VERSION;distortos_Architecture_00_Interrupt_stack_size;distortos_Build_00_Static_destructors;distortos_Checks_00_Context_of_functions;distortos_Checks_01_Stack_pointer_range_during_context_switch;distortos_Checks_02_Stack_pointer_range_during_system_tick;distortos_Checks_03_Stack_guard_contents_during_context_switch;distortos_Checks_04_Stack_guard_contents_during_system_tick;distortos_Checks_05_Stack_guard_size;distortos_Checks_06_Asserts;distortos_Clocks_00_Standard_configuration_of_clocks;distortos_Clocks_01_HSE;distortos_Clocks_02_HSI48;distortos_Clocks_03_PLL;distortos_Clocks_04_Clock_source_of_PLL;distortos_Clocks_05_PREDIV;distortos_Clocks_06_PLLMUL;distortos_Clocks_07_System_clock_source;distortos_Clocks_08_HPRE;distortos_Clocks_09_PPRE;distortos_Memory_00_Flash_prefetch;distortos_Memory_regions_00_text_vectorTable;distortos_Memory_regions_01_text;distortos_Memory_regions_02_ARM_exidx;distortos_Memory_regions_03_Main_stack;distortos_Memory_regions_04_bss;distortos_Memory_regions_05_data_VMA;distortos_Memory_regions_06_data_LMA;distortos_Memory_regions_07_noinit;distortos_Memory_regions_08_SRAM_data_LMA;distortos_Memory_regions_09_Process_stack;distortos_Memory_regions_10_Heap;distortos_Peripherals_DMA1;distortos_Peripherals_GPIOA;distortos_Peripherals_GPIOB;distortos_Peripherals_GPIOC;distortos_Peripherals_GPIOD;distortos_Peripherals_GPIOF;distortos_Peripherals_SPI1;distortos_Peripherals_SPI2;distortos_Peripherals_USART1;distortos_Peripherals_USART2;distortos_Peripherals_USART3;distortos_Peripherals_USART4;distortos_Scheduler_00_Tick_frequency;distortos_Scheduler_01_Round_robin_frequency;distortos_Scheduler_02_Support_for_signals;distortos_Scheduler_03_Support_for_thread_detachment;distortos_Scheduler_04_Main_thread_stack_size;distortos_Scheduler_05_Main_thread_priority;distortos_Scheduler_06_Reception_of_signals_by_main_thread;distortos_Scheduler_07_Queued_signals_for_main_thread;distortos_Scheduler_08_SignalAction_objects_for_main_thread;distortos_buttons;distortos_buttons_B1;distortos_leds;distortos_leds_Ld3;distortos_leds_Ld4;distortos_leds_Ld5;distortos_leds_Ld6"
 		CACHE
 		"INTERNAL"
 		"")


disabled curve5 test

disabled curve5 test

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

 set(CTEST_PROJECT_NAME "Embree")
 set(CTEST_NIGHTLY_START_TIME "22:00:00 UTC")
-set(TEST_MODELS_HASH 62a08c85402a55303bc11eb6208dbd8bb0fb9672)
+set(TEST_MODELS_HASH d7f0128eb94041dbaaaa639e80355ffbaeef8de2)


refs #4871 don't run some long tests all the time

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

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -195,12 +195,18 @@
   ft/upgrade_test_simple
   ydb/checkpoint_1.tdb
   ydb/checkpoint_stress.tdb
+  ydb/hotindexer-with-queries.tdb
   ydb/hot-optimize-table-tests.tdb
-  ydb/hotindexer-with-queries.tdb
+  ydb/loader-cleanup-test0.tdb
+  ydb/loader-cleanup-test0z.tdb
+  ydb/loader-cleanup-test2.tdb
+  ydb/loader-cleanup-test2z.tdb
   ydb/loader-stress-test4.tdb
+  ydb/loader-stress-test4z.tdb
   ydb/manyfiles.tdb
   ydb/preload-db-nested.tdb
   ydb/recover_stress.tdb
+  ydb/recovery_fileops_unit.tdb
   ydb/root_fifo_1.tdb
   ydb/root_fifo_2.tdb
   ydb/root_fifo_31.tdb


BUG: MIDAS+CTest macro: paths with directories were broken on linux

SVN-Revision: 3383

--- Application/CMakeScript/MIDAS.cmake
+++ Application/CMakeScript/MIDAS.cmake
@@ -134,9 +134,9 @@

 # Create a human-readable file name for the data.
 file(MAKE_DIRECTORY \"${MIDAS_DATA_DIR}/${base_filepath}\")
-file(REMOVE \"${MIDAS_DATA_DIR}/${testName}_${base_file}\")
-execute_process(COMMAND \"${CMAKE_COMMAND}\" -E ${cmake_symlink} \"MIDAS_Hashes/${checksum}\" \"${MIDAS_DATA_DIR}/${testName}_${base_file}\" WORKING_DIRECTORY \"${MIDAS_DATA_DIR}\")
-file(RENAME \"${MIDAS_DATA_DIR}/${testName}_${base_file}\" \"${MIDAS_DATA_DIR}/${base_file}\")
+file(REMOVE \"${MIDAS_DATA_DIR}/${testName}_${base_filename}\")
+execute_process(COMMAND \"${CMAKE_COMMAND}\" -E ${cmake_symlink} \"MIDAS_Hashes/${checksum}\" \"${MIDAS_DATA_DIR}/${testName}_${base_filename}\" WORKING_DIRECTORY \"${MIDAS_DATA_DIR}\")
+file(RENAME \"${MIDAS_DATA_DIR}/${testName}_${base_filename}\" \"${MIDAS_DATA_DIR}/${base_filename}\")
 ")

       list(APPEND downloadScripts "${MIDAS_DATA_DIR}/MIDAS_FetchScripts/fetch_${checksum}_${base_filename}.cmake")


ENH: Include data URL in output from fetchData test

SVN-Revision: 3033

--- Application/CMakeScript/MIDAS.cmake
+++ Application/CMakeScript/MIDAS.cmake
@@ -4,7 +4,7 @@
 #   project(MyProject)
 #   ...
 #   include(CTest)
-#   include(MIDAS)
+#   include(MIDAS.cmake REQUIRED)
 #
 # To use this module, set the following variable in your script:
 #   MIDAS_REST_URL - URL of the MIDAS server's REST API
@@ -80,7 +80,8 @@

   # Write the test script file for downloading
   file(WRITE "${MIDAS_DOWNLOAD_DIR}/FetchScripts/${testName}_fetchData.cmake"
-"if(NOT EXISTS \"${MIDAS_DOWNLOAD_DIR}/${checksum}\")
+  "message(STATUS \"Data is here: ${MIDAS_REST_URL}/midas.bitstream.by.hash?hash=${checksum}\")
+if(NOT EXISTS \"${MIDAS_DOWNLOAD_DIR}/${checksum}\")
   file(DOWNLOAD ${MIDAS_REST_URL}/midas.bitstream.by.hash?hash=${checksum} \"${MIDAS_DOWNLOAD_DIR}/${checksum}\" ${MIDAS_DOWNLOAD_TIMEOUT_STR} STATUS status)
   list(GET status 0 exitCode)
   list(GET status 1 errMsg)


Fix output of compile commands by CMake for YouCompleteMe

--- cmake/CodeCompletion.cmake
+++ cmake/CodeCompletion.cmake
@@ -1,4 +1,4 @@
-set(CMAKE_EXPORT_COMPILE_COMMANDS 1)
+set(CMAKE_EXPORT_COMPILE_COMMANDS ON CACHE BOOL "Enable/Disable output of compile commands during generation." FORCE)

 configure_file(
     ${${PACKAGE_NAME}_SOURCE_DIR}/cmake/.ycm_extra_conf.py.in


upgrade rxcpp to 4.1.0

upgrade rxcpp to 4.1.0

--- cmake/external/rxcpp.cmake
+++ cmake/external/rxcpp.cmake
@@ -3,8 +3,8 @@
         rxcpp
         PREFIX ${CMAKE_BINARY_DIR}/rxcpp
         DOWNLOAD_DIR ${THIRD_PARTY_DIR}/rxcpp
-        URL https://github.com/Reactive-Extensions/RxCpp/archive/v4.0.0.tar.gz
-        URL_MD5 feb89934f465bb5ac513c9adce8d3b1b
+        URL https://github.com/ReactiveX/RxCpp/archive/4.1.0.tar.gz
+        URL_MD5 6c283f36ce251f45146f7099aa9ef19a
         CMAKE_ARGS
         -DCMAKE_BUILD_TYPE:STRING=RelWithDebInfo
         -DCMAKE_INSTALL_PREFIX:STRING=${THIRD_PARTY_INCLUDE_DIR}
@@ -15,7 +15,7 @@

 add_dependencies(libshogun rxcpp)

-set(rxcpp_INCLUDE_DIR ${THIRD_PARTY_INCLUDE_DIR})
+set(rxcpp_INCLUDE_DIR ${THIRD_PARTY_INCLUDE_DIR}/include)

 UNSET(C_COMPILER)
-UNSET(CXX_COMPILER)+UNSET(CXX_COMPILER)


More reliable setting and unsetting of FORCE_EXTERNAL_STATIC.

svn path=/trunk/; revision=12056

--- cmake/modules/plplot.cmake
+++ cmake/modules/plplot.cmake
@@ -22,18 +22,20 @@
 # libraries are all shared by default
 option(BUILD_SHARED_LIBS "Build shared libraries" ON)

-if(NOT BUILD_SHARED_LIBS)
-  option(FORCE_EXTERNAL_STATIC "Force external UNIX libraries to be static" OFF)
-endif(NOT BUILD_SHARED_LIBS)
-
 # CYGWIN eliminated here because .a suffix is not sufficient to guarantee a
 # static library on that platform.
-if(UNIX AND NOT CYGWIN AND FORCE_EXTERNAL_STATIC)
+if(UNIX AND NOT CYGWIN AND NOT BUILD_SHARED_LIBS)
+  option(FORCE_EXTERNAL_STATIC "Force external UNIX libraries to be static" OFF)
+else(UNIX AND NOT CYGWIN AND NOT BUILD_SHARED_LIBS)
+  set(FORCE_EXTERNAL_STATIC OFF CACHE BOOL "Force external UNIX libraries to be static" FORCE)
+endif(UNIX AND NOT CYGWIN AND NOT BUILD_SHARED_LIBS)
+
+if(FORCE_EXTERNAL_STATIC)
   # All find_library commands append this suffix to the searched name so
   # this always forces find_library to find only the Unix static library
   # if it exists or fail if it doesn't exist.
   set(CMAKE_FIND_LIBRARY_SUFFIXES ".a")
-endif(UNIX AND NOT CYGWIN AND FORCE_EXTERNAL_STATIC)
+endif(FORCE_EXTERNAL_STATIC)

 # OFF means shared libraries (but never static libraries) are
 # transitively linked by default by CMake and also by pkg-config (used


Bump SOVERSION

Bump SOVERSION

--- cmake/ospray_version.cmake
+++ cmake/ospray_version.cmake
@@ -17,7 +17,7 @@
 set(OSPRAY_VERSION_MAJOR 2)
 set(OSPRAY_VERSION_MINOR 0)
 set(OSPRAY_VERSION_PATCH 0)
-set(OSPRAY_SOVERSION 0)
+set(OSPRAY_SOVERSION 1)
 set(OSPRAY_VERSION_GITHASH 0)
 set(OSPRAY_VERSION_NOTE "")
 if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git AND


qibuild/option.cmake: update documentation for qi_add_optional_package

Change-Id: I3e6dd447f8523a55a369ff4ab780bfd45eeb7a9b

--- cmake/qibuild/option.cmake
+++ cmake/qibuild/option.cmake
@@ -28,6 +28,10 @@
 #      qi_use_lib(bar FOO)
 #   endif()
 #
+# .. note:: if the foo package is found, WITH_FOO will automatically be set to true.
+#       however, there are a few cases where you would like to NOT use the
+#       features of the FOO library even if it is found, in this case, we let
+#       the user set -DWITH_FOO=OFF from the command line.
 # \arg:  NAME             Name of the package, a WITH_${NAME} option will be created
 # \arg:  DESCRIPTION      The description of the option (will be shown in cmake gui)
 #


cmake: qi_use_lib: support searching for static package

--- cmake/qibuild/uselib.cmake
+++ cmake/qibuild/uselib.cmake
@@ -13,6 +13,21 @@
   return()
 endif()
 set(_QI_USELIB_CMAKE_ TRUE)
+
+
+function(_qi_check_for_static pkg _backup)
+  set(_backup ${CMAKE_FIND_LIBRARY_SUFFIXES} PARENT_SCOPE)
+  if(${pkg}_STATIC)
+    if(UNIX)
+      set(CMAKE_FIND_LIBRARY_SUFFIXES ".a" PARENT_SCOPE)
+    endif()
+  endif()
+endfunction()
+
+function(_qi_disable_check_for_static pkg _backup)
+  set(CMAKE_FIND_LIBRARY_SUFFIXES "${_backup}" PARENT_SCOPE)
+endfunction()
+

 #compute the dependencies list, removing duplicate
 #TODO: store computed dependencies in ${_U_PKG}_FLAT_DEPENDS ?
@@ -30,6 +45,9 @@
     # for upstream Find-*.cmake
     # See: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package
     if (NOT ${_U_PKG}_SEARCHED)
+
+      _qi_check_for_static("${_pkg}" _backup_static)
+
       # find_package in two calls. The first call:
       # Uses NO_MODULE - looks for PKGConfig.cmake, not FindPKG.cmake
       # Uses QUIET     - no warning will be generated
@@ -41,6 +59,9 @@
       if(NOT ${_U_PKG}_PACKAGE_FOUND)
         find_package(${_pkg} QUIET REQUIRED)
       endif()
+
+      _qi_disable_check_for_static("${_pkg}" "${_backup_static}")
+
       qi_set_global("${_U_PKG}_SEARCHED" TRUE)
     endif()

@@ -69,6 +90,8 @@
 # This will call target_link_libraries with XXX_LIBRARIES or fallback to XXX_LIBRARY.
 # All dependencies should be found, otherwize it will fail. If you want to check if a
 # package could be found, prefer using find_package.
+#
+# to search for static libs set XXX_STATIC=ON before calling qi_use_lib.
 #
 # \arg:name The target to add dependencies to
 # \group:DEPENDENCIES The list of dependencies


ENH: Prefer https vs http for ctest submission.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,7 +1,7 @@
 set(CTEST_PROJECT_NAME "ITK")
 set(CTEST_NIGHTLY_START_TIME "1:00:00 UTC")

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


Updating test server location

Updating test server location

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -8,6 +8,6 @@
 set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

 set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "crunch.cs.queensu.ca")
+set(CTEST_DROP_SITE "perkdata.cs.queensu.ca")
 set(CTEST_DROP_LOCATION "/CDash/submit.php?project=RobartsVTK")
 set(CTEST_DROP_SITE_CDASH TRUE)


ENH: Updating to Dec 20 ITK

ENH: Updating to Dec 20 ITK

--- SuperBuild/External_ITKv4.cmake
+++ SuperBuild/External_ITKv4.cmake
@@ -127,7 +127,7 @@
     )
   ### --- End Project specific additions
   set(${proj}_REPOSITORY ${git_protocol}://itk.org/ITK.git)
-  set(${proj}_GIT_TAG a996132c781ad28cd959d492b777ffbde375af4c) # 19-Nov-2013
+  set(${proj}_GIT_TAG 8dc6f467086965fe4adef2d1cf7f8560ef09bbf3) # 20-Dec-2013
   set(ITK_VERSION_ID ITK-4.5)

   ExternalProject_Add(${proj}


Added CUDAMemoryManager to list of files

--- CMake/FileLists.cmake
+++ CMake/FileLists.cmake
@@ -194,7 +194,8 @@
     src/GPU/CalculateEnergyCUDAKernel.cu
     src/GPU/CalculateForceCUDAKernel.cu
     src/GPU/CalculateEwaldCUDAKernel.cu
-    src/GPU/ConstantDefinitionsCUDAKernel.cu)
+    src/GPU/ConstantDefinitionsCUDAKernel.cu
+    src/GPU/CUDAMemoryManager.cu)

 source_group("Header Files" FILES ${headers})
 source_group("Lib Headers" FILES ${libHeaders})


PERF: better MI check

PERF: better MI check

--- SuperBuild/External_ITKv5.cmake
+++ SuperBuild/External_ITKv5.cmake
@@ -148,7 +148,7 @@

   ### --- End Project specific additions
   set(${proj}_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITK.git)
-  set(${proj}_GIT_TAG 902c9d0e0a2d8349796b1b2b805fd94648e8a197) ##
+  set(${proj}_GIT_TAG 34c54c7929154df3bd40d5188b859731c54b8627) ##
   set(ITK_VERSION_ID ITK-5.0) ### NOTE: When updating GIT_TAG, also update ITK_VERSION_ID

   ExternalProject_Add(${proj}


BUG:  I think this resolves issue https://github.com/ANTsX/ANTs/issues/756

--- SuperBuild/External_ITKv5.cmake
+++ SuperBuild/External_ITKv5.cmake
@@ -151,7 +151,7 @@
   ### --- End Project specific additions
   set(${proj}_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITK.git)
   # set(${proj}_REPOSITORY ${git_protocol}://github.com/stnava/ITK.git)
-  set(${proj}_GIT_TAG a1a092c0612e00e94518a851ebd259c72e119474 ) ## 20190408 SpatialObjeects updates for new ITKv5 API
+  set(${proj}_GIT_TAG 1041cefe65d68eed96dfa5a8a12cb865df6eaba6 ) ## 20190428
   set(ITK_VERSION_ID ITK-5.0) ### NOTE: When updating GIT_TAG, also update ITK_VERSION_ID

   ExternalProject_Add(${proj}


Make git external flags global options

Make git external flags global options

--- GitExternal.cmake
+++ GitExternal.cmake
@@ -12,14 +12,14 @@
 #      [RESET <files>])
 #  git_external_manage(<file>)
 #
-# [optional] Flags which control behaviour
-#  NO_UPDATE
+# Options which control behaviour:
+#  GIT_EXTERNAL_DISABLE_UPDATE
 #    When set, GitExternal will not change a repo that has already
 #    been checked out. The purpose of this is to allow one to set a
 #    default branch to be checked out, but stop GitExternal from
 #    changing back to that branch if the user has checked out and is
 #    working on another.
-#  VERBOSE
+#  GIT_EXTERNAL_VERBOSE
 #    When set, displays information about git commands that are executed
 #
 # CMake variables
@@ -33,6 +33,8 @@
 endif()

 include(CMakeParseArguments)
+option(GIT_EXTERNAL_DISABLE_UPDATE "Disable update of cloned repositories" ON)
+option(GIT_EXTERNAL_VERBOSE "Print git commands as they are executed" OFF)

 set(GIT_EXTERNAL_USER $ENV{GIT_EXTERNAL_USER})
 if(NOT GIT_EXTERNAL_USER)
@@ -46,13 +48,13 @@
   "Github user name used to setup remote for user forks")

 macro(GIT_EXTERNAL_MESSAGE msg)
-  if(${GIT_EXTERNAL_VERBOSE})
+  if(GIT_EXTERNAL_VERBOSE)
     message(STATUS "${NAME} : ${msg}")
   endif()
 endmacro(GIT_EXTERNAL_MESSAGE)

 function(GIT_EXTERNAL DIR REPO TAG)
-  cmake_parse_arguments(GIT_EXTERNAL "NO_UPDATE;VERBOSE" "" "RESET" ${ARGN})
+  cmake_parse_arguments(GIT_EXTERNAL "" "" "RESET" ${ARGN})
   get_filename_component(DIR  "${DIR}" ABSOLUTE)
   get_filename_component(NAME "${DIR}" NAME)
   get_filename_component(GIT_EXTERNAL_DIR "${DIR}/.." ABSOLUTE)
@@ -79,7 +81,7 @@
   endif()

   if(IS_DIRECTORY "${DIR}/.git")
-    if(${GIT_EXTERNAL_NO_UPDATE})
+    if(GIT_EXTERNAL_DISABLE_UPDATE)
       GIT_EXTERNAL_MESSAGE("git update disabled by user")
     else()
       execute_process(COMMAND ${GIT_EXECUTABLE} rev-parse --short HEAD


fix node 10.16.0 diff url

fix node 10.16.0 diff url

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

--- projects/node_10.16.0.cmake
+++ projects/node_10.16.0.cmake
@@ -15,7 +15,7 @@
   GIT_TAG xp${VER} # what to 'git checkout'
   GIT_REF v${VER} # create patch from this tag to 'git checkout'
   PATCH ${PATCH_DIR}/node_${VER}.patch
-  DIFF ${FORK}/compare/node:
+  DIFF https://${FORK}/compare/node:
   DLURL http://nodejs.org/dist/v${VER}/node-v${VER}.tar.gz
   DLMD5 46f47630e088540968962f1ad71b9d0a
   )


The libR.so library is optional on Linux platforms.

Not all linux platforms provide the libR.so library, so it may be
optional. However with the standard distribution on OSX, it's
required for linking.

--- CMake/FindR.cmake
+++ CMake/FindR.cmake
@@ -23,6 +23,7 @@
   set(R_HOME ${R_BASE_DIR} CACHE PATH "R home directory obtained from R RHOME")
   mark_as_advanced(R_HOME)
 endif(R_COMMAND)
+
 find_program(RSCRIPT_EXECUTABLE Rscript DOC "Rscript executable.")

 set(CMAKE_FIND_APPBUNDLE ${TEMP_CMAKE_FIND_APPBUNDLE})
@@ -31,6 +32,15 @@
 find_library(R_LIBRARY_BASE R PATHS ${R_BASE_DIR} PATH_SUFFIXES /lib DOC "R library (example libR.a, libR.dylib, etc.).")

 set(R_LIBRARIES ${R_LIBRARY_BASE})
-mark_as_advanced(R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE)
+mark_as_advanced(RSCRIPT_EXECUTABLE R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE)

-find_package_handle_standard_args(R DEFAULT_MSG R_LIBRARIES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE)
+
+set( _REQUIRED_R_VARIABLES R_INCLUDE_DIR R_COMMAND R_LIBRARY_BASE )
+
+if( APPLE )
+  # On linux platform some times the libR.so is not available, however
+  # on apple a link error results if the library is linked.
+  list(  APPEND _REQUIRED_R_VARIABLES R_LIBRARIES )
+endif()
+
+find_package_handle_standard_args(R DEFAULT_MSG ${_REQUIRED_R_VARIABLES} )


added "-v" to see linker flags for clang

--- CMake/config.cmake
+++ CMake/config.cmake
@@ -90,7 +90,7 @@
 endif()

 if(CMAKE_CXX_COMPILER_ID MATCHES "Clang")
-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++11")
+  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -stdlib=libc++ -std=c++11 -v")
   message(STATUS "added flag -std=c++11 to g++")
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fvisibility=hidden -fvisibility-inlines-hidden")
   message(WARNING "clang support is currently experimental")


fix bug with handling target’s language standard properties

--- CMake/cotire.cmake
+++ CMake/cotire.cmake
@@ -454,14 +454,16 @@
 		# used compiler supports language standard levels
 		if (_target)
 			get_target_property(_targetLanguageStandard ${_target} ${_language}_STANDARD)
-			get_target_property(_targetLanguageExtensions ${_target} ${_language}_EXTENSIONS)
-			if (_targetLanguageExtensions)
-				if (CMAKE_${_language}${_targetLanguageExtensions}_EXTENSION_COMPILE_OPTION)
-					list (APPEND _compileFlags "${CMAKE_${_language}${_targetLanguageExtensions}_EXTENSION_COMPILE_OPTION}")
-				endif()
-			elseif (_targetLanguageStandard)
-				if (CMAKE_${_language}${_targetLanguageStandard}_EXTENSION_COMPILE_OPTION)
-					list (APPEND _compileFlags "${CMAKE_${_language}${_targetLanguageStandard}_EXTENSION_COMPILE_OPTION}")
+			if (_targetLanguageStandard)
+				get_target_property(_targetLanguageExtensions ${_target} ${_language}_EXTENSIONS)
+				if (_targetLanguageExtensions)
+					if (CMAKE_${_language}${_targetLanguageStandard}_EXTENSION_COMPILE_OPTION)
+						list (APPEND _compileFlags "${CMAKE_${_language}${_targetLanguageStandard}_EXTENSION_COMPILE_OPTION}")
+					endif()
+				else()
+					if (CMAKE_${_language}${_targetLanguageStandard}_STANDARD_COMPILE_OPTION)
+						list (APPEND _compileFlags "${CMAKE_${_language}${_targetLanguageStandard}_STANDARD_COMPILE_OPTION}")
+					endif()
 				endif()
 			endif()
 		endif()


fix ctestconfig

fix ctestconfig

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -3,8 +3,9 @@
 ## project to incorporate the testing dashboard.
 ## # The following are required to uses Dart and the Cdash dashboard

-include(CTest)
-enable_testing()
+##include(CTest)
+##enable_testing()
+
 set(CTEST_PROJECT_NAME "phonon")
 set(CTEST_NIGHTLY_START_TIME "20:00:00 CET")


updated CTextConfig to use new jwein2 ctest dashboard

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -5,9 +5,9 @@
 ##   ENABLE_TESTING()
 ##   INCLUDE(CTest)
 set(CTEST_PROJECT_NAME "ViennaData")
-set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")
+set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")

 set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "my.cdash.org")
-set(CTEST_DROP_LOCATION "/submit.php?project=ViennaData")
+set(CTEST_DROP_SITE "jwein2.iue.tuwien.ac.at")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=ViennaData")
 set(CTEST_DROP_SITE_CDASH TRUE)


Enable tracing memory errors with ctest-valgrind also for tests controlled by shell scripts.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,6 +1,5 @@
 set(CTEST_PROJECT_NAME "Vigra")
 set(CTEST_NIGHTLY_START_TIME "01:00:00 UTC")
-

 set(CTEST_DROP_METHOD "http")
@@ -8,3 +7,6 @@
 set(CTEST_DROP_SITE "rubens")
 set(CTEST_DROP_LOCATION "/cdash/submit.php?project=Vigra")
 set(CTEST_DROP_SITE_CDASH TRUE)
+
+
+SET(MEMORYCHECK_COMMAND_OPTIONS "--trace-children=yes")


Add new search path for OpenGL libraries on Ubuntu 11.10

--- CMake/Dependencies.cmake
+++ CMake/Dependencies.cmake
@@ -50,6 +50,8 @@
 # Set hardcoded path guesses for various platforms
 if (UNIX AND NOT OGRE_BUILD_PLATFORM_TEGRA2)
   set(OGRE_DEP_SEARCH_PATH ${OGRE_DEP_SEARCH_PATH} /usr/local)
+  # Ubuntu 11.10 has an inconvenient path to OpenGL libraries
+  set(OGRE_DEP_SEARCH_PATH ${OGRE_DEP_SEARCH_PATH} /usr/lib/${CMAKE_SYSTEM_PROCESSOR}-linux-gnu)
 endif ()

 if(OGRE_BUILD_PLATFORM_TEGRA2)


ENH: ITK shouldn't compile its own fftw

ENH: ITK shouldn't compile its own fftw

--- CMake/External_ITK.cmake
+++ CMake/External_ITK.cmake
@@ -105,9 +105,21 @@
   # By default activate FFTW, but with an external fftw build
   # These variables are used in ITK to initialize the value of the ITK_USE_FFTW_XXX options
   if (WIN32)
-    set(FFTW_STATUS OFF)
+    set(ITK_SB_FFTW_CONFIG
+      -DUSE_FFTWF:BOOL=OFF
+      -DUSE_FFTWD:BOOL=OFF
+      )
   else()
-    set(FFTW_STATUS ON)
+    set(ITK_SB_FFTW_CONFIG
+      -DUSE_FFTWF:BOOL=ON
+      -DUSE_FFTWD:BOOL=ON
+      -DUSE_SYSTEM_FFTW:BOOL=ON
+      )
+    if (NOT USE_SYSTEM_FFTW)
+      set(ITK_SB_FFTW_CONFIG ${ITK_SB_FFTW_CONFIG}
+        -DFFTW_INCLUDE_PATH:PATH=${CMAKE_INSTALL_PREFIX}/include
+        )
+    endif()
   endif()

   # TODO : handle different build type (Release/Debug)
@@ -129,9 +141,7 @@
       -DBUILD_SHARED_LIBS:BOOL=ON
       -DBUILD_TESTING:BOOL=OFF
       -DBUILD_EXAMPLES:BOOL=OFF
-      -DUSE_FFTWF:BOOL=${FFTW_STATUS}
-      -DUSE_FFTWD:BOOL=${FFTW_STATUS}
-      #-DUSE_SYSTEM_FFTW:BOOL=${FFTW_STATUS}
+      ${ITK_SB_FFTW_CONFIG}
     PATCH_COMMAND ${CMAKE_COMMAND} -E copy
       ${CMAKE_SOURCE_DIR}/patches/ITK/hashtable.hxx.in
       ${ITK_SB_SRC_DIR}/Modules/ThirdParty/KWSys/src/KWSys


BUG: Formatting options for KWStyle generated errors were commented out by accident.

--- Utilities/KWStyle/KWStyle.cmake
+++ Utilities/KWStyle/KWStyle.cmake
@@ -6,8 +6,8 @@
 SET(KWSTYLE_REQ_MINOR 0)
 SET(KWSTYLE_REQ_PATCH 1)

-#OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
-#OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)
+OPTION(KWSTYLE_USE_VIM_FORMAT "Set KWStyle to generate errors with a VIM-compatible format." OFF)
+OPTION(KWSTYLE_USE_MSVC_FORMAT "Set KWStyle to generate errors with a VisualStudio-compatible format." OFF)

 FIND_PROGRAM(KWSTYLE_EXECUTABLE
 NAMES KWStyle


Fix test configuration error

Fix test configuration error

This commit fixes an error when configuring Girder tests due to EXTERNAL_DATA
referencing nonexistent files. For example:

    vagrant@isic-archive:~/girder-build$ cmake --version
    cmake version 2.8.12.2

    vagrant@isic-archive:~/girder-build$ cmake ../girder
    ...
    -- Including plugin.cmake from "large_image"
    CMake Error at /usr/share/cmake-2.8/Modules/ExternalData.cmake:434 (message):
      Data file referenced by argument

	DATA{/home/vagrant/girder-build/data_src/sample_image.ptif}

      corresponds to source tree path

	sample_image.ptif

      that does not exist as a file (with or without an extension)!
    Call Stack (most recent call first):
      /usr/share/cmake-2.8/Modules/ExternalData.cmake:255 (_ExternalData_arg)
      tests/TestData.cmake:105 (ExternalData_Expand_Arguments)
      tests/PythonTests.cmake:153 (girder_ExternalData_expand_arguments)
      plugins/large_image/plugin.cmake:47 (add_python_test)
      tests/CMakeLists.txt:90 (include)
      tests/CMakeLists.txt:105 (_add_plugin)

In the Travis environment these errors show up as warnings.

--- plugin.cmake
+++ plugin.cmake
@@ -45,8 +45,8 @@
 )

 add_python_test(tiles PLUGIN large_image BIND_SERVER EXTERNAL_DATA
-  "sample_image.ptif" "plugins/large_image/sample_image.ptif"
-  "sample_svs_image.svs" "plugins/large_image/sample_svs_image.TCGA-DU-6399-01A-01-TS1.e8eb65de-d63e-42db-af6f-14fefbbdf7bd.svs"
+  "plugins/large_image/sample_image.ptif"
+  "plugins/large_image/sample_svs_image.TCGA-DU-6399-01A-01-TS1.e8eb65de-d63e-42db-af6f-14fefbbdf7bd.svs"
   )
 set_property(TEST server_large_image.tiles APPEND PROPERTY ENVIRONMENT
   "LARGE_IMAGE_DATA=${PROJECT_BINARY_DIR}/data/plugins/large_image")
@@ -54,8 +54,8 @@
 add_python_test(import PLUGIN large_image)

 add_python_test(girderless PLUGIN large_image BIND_SERVER EXTERNAL_DATA
-  "sample_image.ptif" "plugins/large_image/sample_image.ptif"
-  "sample_svs_image.svs" "plugins/large_image/sample_svs_image.TCGA-DU-6399-01A-01-TS1.e8eb65de-d63e-42db-af6f-14fefbbdf7bd.svs"
+  "plugins/large_image/sample_image.ptif"
+  "plugins/large_image/sample_svs_image.TCGA-DU-6399-01A-01-TS1.e8eb65de-d63e-42db-af6f-14fefbbdf7bd.svs"
   )
 set_property(TEST server_large_image.girderless APPEND PROPERTY ENVIRONMENT
   "LARGE_IMAGE_DATA=${PROJECT_BINARY_DIR}/data/plugins/large_image")


Make GLEW_MX finder also check for glxew, if appropriate

--- FindGLEW_MX.cmake
+++ FindGLEW_MX.cmake
@@ -11,10 +11,15 @@
 if(_glew_mx_INCLUDE_DIR AND _glew_mx_LIBRARY)
   set(TEST_SRC ${CMAKE_BINARY_DIR}/glew_test.cpp)
   file(WRITE ${TEST_SRC}
-    "#include <GL/glew.h>\n\n"
+    "#include <GL/glew.h>\n"
     "int main(int argc, char* argv[])\n"
-    "{\n glewContextInit(0);\n}\n"
-  )
+    "{\n"
+    "  glewContextInit(0);\n"
+    )
+  if(X11_FOUND)
+    file(APPEND ${TEST_SRC} "  glxewContextInit();\n")
+  endif()
+  file(APPEND ${TEST_SRC} "}\n")

   try_compile(_glew_mx_SUPPORTED ${CMAKE_BINARY_DIR}/glew_test ${TEST_SRC}
     CMAKE_FLAGS
@@ -39,4 +44,3 @@
 if(GLEW_MX_FOUND)
   message(STATUS "Found GLEW_MX in ${GLEW_MX_INCLUDE_DIRS};${GLEW_MX_LIBRARIES}")
 endif()
-


PKG: filter out otb stuff when generating xdk

--- SuperBuild/Packaging/PackageHelper.cmake
+++ SuperBuild/Packaging/PackageHelper.cmake
@@ -203,6 +203,8 @@
     else()
       file(GLOB LIB_FILES "${DEPENDENCIES_INSTALL_DIR}/lib/*dll.*")
     endif()
+    func_lisp(LIB_FILES )
+
     install(FILES ${LIB_FILES} DESTINATION ${PKG_STAGE_DIR}/lib )

     file(GLOB ITK_EXTRA_DLL_FILES_1 "${DEPENDENCIES_INSTALL_DIR}/bin/libITK*.dll")


print solutions

print solutions

--- mk/add_test.cmake
+++ mk/add_test.cmake
@@ -6,6 +6,9 @@
     add_executable(${DAY_NAME} test.cpp)
     target_link_libraries(${DAY_NAME} ${Boost_LIBRARIES})

-    add_test(${DAY_NAME} ${DAY_NAME})
+    add_test(NAME ${DAY_NAME}
+        COMMAND ${DAY_NAME} --log_level=message
+        WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+    )

 endmacro()


paraview: enable kits

paraview: enable kits

--- projects/paraview.cmake
+++ projects/paraview.cmake
@@ -44,6 +44,7 @@
     -DPARAVIEW_ENABLE_CATALYST:BOOL=OFF
     -DPARAVIEW_ENABLE_WEB:BOOL=ON
     -DPARAVIEW_USE_QTHELP:BOOL=OFF
+    -DPARAVIEW_ENABLE_KITS:BOOL=ON
     -DPARAVIEW_BUILD_PLUGIN_AdiosReader:BOOL=FALSE
     -DPARAVIEW_BUILD_PLUGIN_AnalyzeNIfTIIO:BOOL=FALSE
     -DPARAVIEW_BUILD_PLUGIN_ArrowGlyph:BOOL=FALSE


add coveralls to code coverage

add coveralls to code coverage

--- CodeCoverage.cmake
+++ CodeCoverage.cmake
@@ -72,6 +72,7 @@
 FIND_PROGRAM( LCOV_PATH lcov )
 FIND_PROGRAM( GENHTML_PATH genhtml )
 FIND_PROGRAM( GCOVR_PATH NAMES $ENV{GCOVR} gcovr PATHS ${CMAKE_SOURCE_DIR}/tests)
+FIND_PROGRAM( COVERALLS_PATH coveralls-lcov)

 IF(NOT GCOV_PATH)
 	MESSAGE(FATAL_ERROR "gcov not found! Aborting...")
@@ -129,6 +130,12 @@
     MESSAGE(STATUS "Found ${GENHTML_PATH}")
 	ENDIF() # NOT GENHTML_PATH

+	if (NOT COVERALLS_PATH)
+		MESSAGE(STATUS "Coveralls supported disabled")
+	else()
+		MESSAGE(STATUS "Coveralls support enabled")
+	endif()
+
   ADD_CUSTOM_TARGET(${_targetname}_clean
     # Cleanup lcov
     ${LCOV_PATH} --gcov-tool ${GCOV_PATH} --directory . --zerocounters
@@ -151,6 +158,14 @@
     COMMAND ${CMAKE_COMMAND} -E rename ${_outputname}.info.cleaned ${_outputname}.info
   )

+	if (COVERALLS_PATH)
+		ADD_CUSTOM_TARGET(${_targetname}_coveralls
+			DEPENDS ${_targetname}_generate_clean ${_targetname}_info
+			COMMAND ${COVERALLS_PATH} ${_outputname}.info
+			WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
+			COMMENT "Resetting code coverage counters to zero.\nProcessing code coverage counters and uploading report."
+		)
+	endif()

 	# Setup target
 	ADD_CUSTOM_TARGET(${_targetname}


boards: qemu_x86_64: enable icount for CONFIG_MP_NUM_CPUS=1

QEMU icount does not work correctly when more than 1 CPU is used,
but works fine with only 1 CPU enabled. So we can enable icount
on qemu_x86_64 when CONFIG_MP_NUM_CPUS=1. Sanitycheck goes from
~158 seconds to ~113 seconds on my dev machine.

Signed-off-by: Daniel Leung <d94e04d205b5962d7873a139ef298b03c1717f72@intel.com>

--- boards/x86/qemu_x86/board.cmake
+++ boards/x86/qemu_x86/board.cmake
@@ -9,6 +9,10 @@
 if(CONFIG_X86_64)
   set(QEMU_binary_suffix x86_64)
   set(QEMU_CPU_TYPE_${ARCH} qemu64,+x2apic)
+  if("${CONFIG_MP_NUM_CPUS}" STREQUAL "1")
+    # icount works with 1 CPU so we can enable it here.
+    list(APPEND QEMU_EXTRA_FLAGS -icount shift=5,align=off,sleep=off -rtc clock=vm)
+  endif()
 else()
   set(QEMU_CPU_TYPE_${ARCH} qemu32,+nx,+pae)
 if(CONFIG_QEMU_ICOUNT)


Revert mistake

Revert mistake

Accidentally changed the linux build to use .obj too for generators!

--- HalideGenerator.cmake
+++ HalideGenerator.cmake
@@ -111,11 +111,11 @@
   else()
     if (NOT target_is_pnacl)
       add_custom_command(OUTPUT "${SCRATCH_DIR}/${FILTER_LIB}" "${SCRATCH_DIR}/${FILTER_HDR}"
-                                "${SCRATCH_DIR}/${args_GENERATED_FUNCTION}.obj"
+                                "${SCRATCH_DIR}/${args_GENERATED_FUNCTION}.o"
         DEPENDS "${args_GENERATOR_TARGET}"
         COMMAND "${CMAKE_BINARY_DIR}/bin/${generator_exec}" ${invoke_args}
         # Create an archive using ar (or similar)
-        COMMAND "${CMAKE_AR}" q "${FILTER_LIB}" "${SCRATCH_DIR}/${args_GENERATED_FUNCTION}.obj"
+        COMMAND "${CMAKE_AR}" q "${FILTER_LIB}" "${SCRATCH_DIR}/${args_GENERATED_FUNCTION}.o"
         WORKING_DIRECTORY "${SCRATCH_DIR}"
         )
     else()


Revert "Still more refactoring"

Revert "Still more refactoring"

This reverts commit 53e606d492372cacd0f1fc4bcce107f096ede485.

--- HalideGenerator.cmake
+++ HalideGenerator.cmake
@@ -20,24 +20,6 @@
   endif()
 endfunction()

-function(halide_generator_add_exec_generator_target EXEC_TARGET)
-  set(options )
-  set(oneValueArgs GENERATOR_TARGET GENFILES_DIR)
-  set(multiValueArgs OUTPUTS GENERATOR_ARGS)
-  cmake_parse_arguments(args "" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-
-  halide_generator_get_exec_path(${args_GENERATOR_TARGET} EXEC_PATH)
-
-  add_custom_command(
-    OUTPUT "${args_OUTPUTS}"
-    DEPENDS "${GENERATOR_TARGET}"
-    COMMAND "${EXEC_PATH}" ${args_GENERATOR_ARGS}
-    WORKING_DIRECTORY "${GENFILES_DIR}"
-  )
-  set(EXEC_GENERATOR_TARGET "${AOT_LIBRARY_TARGET}.exec_generator")
-  add_custom_target(${EXEC_TARGET} DEPENDS "${args_DEPENDS}")
-  set_target_properties(${EXEC_TARGET} PROPERTIES FOLDER "generator")
-endfunction()

 # This function adds custom build steps to invoke a Halide generator exectuable
 # and produce a static library containing the generated code.
@@ -97,13 +79,26 @@
   # GENERATOR_ARGS always come last
   list(APPEND GENERATOR_EXEC_ARGS ${args_GENERATOR_ARGS})

-  halide_generator_add_exec_generator_target(
-    "${AOT_LIBRARY_TARGET}.exec_generator"
-    GENERATOR_TARGET ${args_GENERATOR_TARGET}
-    GENFILES_DIR     ${GENFILES_DIR}
-    OUTPUTS          "${GENFILES_DIR}/${FILTER_LIB}" "${GENFILES_DIR}/${FILTER_HDR}"
-    EXEC_ARGS        "${GENERATOR_ARGS}"
+  halide_generator_get_exec_path(${args_GENERATOR_TARGET} GENERATOR_EXEC_PATH)
+
+  # Add a custom target to invoke the GENERATOR_TARGET and output the Halide
+  # generated library.
+  add_custom_command(
+    OUTPUT "${GENFILES_DIR}/${FILTER_LIB}" "${GENFILES_DIR}/${FILTER_HDR}"
+    DEPENDS "${args_GENERATOR_TARGET}"
+    COMMAND "${GENERATOR_EXEC_PATH}" ${GENERATOR_EXEC_ARGS}
+    WORKING_DIRECTORY "${GENFILES_DIR}"
   )
+
+  # Use a custom target to force it to run the generator before the
+  # object file for the runner.
+  set(EXEC_GENERATOR_TARGET "${AOT_LIBRARY_TARGET}.exec_generator")
+  add_custom_target(${EXEC_GENERATOR_TARGET}
+                    DEPENDS "${GENFILES_DIR}/${FILTER_LIB}" "${GENFILES_DIR}/${FILTER_HDR}")
+
+  # Place the target in a special folder in IDEs
+  set_target_properties(${EXEC_GENERATOR_TARGET} PROPERTIES FOLDER "generator")
+
 endfunction(halide_add_aot_library)

 # Usage:
@@ -111,9 +106,11 @@
 function(halide_add_aot_library_dependency TARGET AOT_LIBRARY_TARGET)
     halide_generator_genfiles_dir(${AOT_LIBRARY_TARGET} GENFILES_DIR)

-    add_dependencies("${TARGET}" "${AOT_LIBRARY_TARGET}.exec_generator")
+    set(FILTER_LIB "${AOT_LIBRARY_TARGET}${CMAKE_STATIC_LIBRARY_SUFFIX}")

-    set(FILTER_LIB "${AOT_LIBRARY_TARGET}${CMAKE_STATIC_LIBRARY_SUFFIX}")
+    set(EXEC_GENERATOR_TARGET "${AOT_LIBRARY_TARGET}.exec_generator")
+    add_dependencies("${TARGET}" "${EXEC_GENERATOR_TARGET}")
+
     target_link_libraries("${TARGET}" PRIVATE "${GENFILES_DIR}/${FILTER_LIB}")
     target_include_directories("${TARGET}" PRIVATE "${GENFILES_DIR}")

@@ -127,6 +124,7 @@
     else()
       target_link_libraries("${TARGET}" PRIVATE dl pthread z)
     endif()
+
 endfunction(halide_add_aot_library_dependency)

 function(halide_add_generator NAME)


Fix ccache search in Android CMake toolchain.

--- android/android.toolchain.cmake
+++ android/android.toolchain.cmake
@@ -1031,6 +1031,9 @@
 # ccache support
 __INIT_VARIABLE( _ndk_ccache NDK_CCACHE ENV_NDK_CCACHE )
 if( _ndk_ccache )
+ if( DEFINED NDK_CCACHE AND NOT EXISTS NDK_CCACHE )
+  unset( NDK_CCACHE CACHE )
+ endif()
  find_program( NDK_CCACHE "${_ndk_ccache}" DOC "The path to ccache binary")
 else()
  unset( NDK_CCACHE CACHE )


Turned TubeTK_USE_PYQTGRAPH OFF on CircleCI

--- CMake/CircleCI/CircleCI_slicer_Docker.cmake
+++ CMake/CircleCI/CircleCI_slicer_Docker.cmake
@@ -76,7 +76,7 @@
 set( TubeTK_USE_KWSTYLE ON )
 set( TubeTK_USE_LIBSVM ON )
 set( TubeTK_USE_NUMPY ON )
-set( TubeTK_USE_PYQTGRAPH ON )
+set( TubeTK_USE_PYQTGRAPH OFF )
 set( TubeTK_USE_PYTHON ON )
 set( TubeTK_USE_QT ON )
 set( TubeTK_USE_VALGRIND OFF )


Okay, needed full version numbers.

Okay, needed full version numbers.

--- indra/cmake/Copy3rdPartyLibs.cmake
+++ indra/cmake/Copy3rdPartyLibs.cmake
@@ -251,8 +251,8 @@
         libapr-1.so.0
         libaprutil-1.so.0
         libatk-1.0.so
-        libboost_program_options-mt.so
-        libboost_regex-mt.so
+        libboost_program_options-mt.so.1.48.0
+        libboost_regex-mt.so.1.48.0
         libbreakpad_client.so.0
         libcollada14dom.so
         libcrypto.so.1.0.0


Fixing gflags static link

Fixing gflags static link

Former-commit-id: 4d31d9d062bfef5a00cda24a8d9e763b9198a9a0

--- cmake-modules/Fetch_Ceres.cmake
+++ cmake-modules/Fetch_Ceres.cmake
@@ -84,8 +84,10 @@

     ExternalProject_Get_Property(external_CERES INSTALL_DIR)
     add_library(ceres INTERFACE)
-    set(CERES_LIBRARY ${INSTALL_DIR}/lib/libceres${CUSTOM_SUFFIX})
-    set(CERES_INCLUDE_DIR ${INSTALL_DIR}/include)
+    include(GNUInstallDirs)
+    set(CERES_INCLUDE_DIR ${INSTALL_DIR}/${CMAKE_INSTALL_INCLUDEDIR})
+    set(CERES_LIBRARY_DIR ${INSTALL_DIR}/${CMAKE_INSTALL_LIBDIR})
+    set(CERES_LIBRARY     ${CERES_LIBRARY_DIR}/libceres${CUSTOM_SUFFIX})
     add_dependencies(ceres external_CERES)
     add_dependencies(ceres glog gflags Eigen3::Eigen blas lapack lapacke)
     target_link_libraries(ceres INTERFACE  ${CERES_LIBRARY} gflags glog  Eigen3::Eigen blas lapack lapacke Threads::Threads )


build(cmake/modules): ncurses dependency is not required anymore

Signed-off-by: Leonardo Grasso <b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@leonardograsso.com>

--- cmake/modules/CPackConfig.cmake
+++ cmake/modules/CPackConfig.cmake
@@ -48,7 +48,7 @@
 set(CPACK_RPM_PACKAGE_LICENSE "Apache v2.0")
 set(CPACK_RPM_PACKAGE_ARCHITECTURE, "amd64")
 set(CPACK_RPM_PACKAGE_URL "https://www.falco.org")
-set(CPACK_RPM_PACKAGE_REQUIRES "dkms, kernel-devel, ncurses, systemd")
+set(CPACK_RPM_PACKAGE_REQUIRES "dkms, kernel-devel, systemd")
 set(CPACK_RPM_POST_INSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/scripts/rpm/postinstall")
 set(CPACK_RPM_PRE_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/scripts/rpm/preuninstall")
 set(CPACK_RPM_POST_UNINSTALL_SCRIPT_FILE "${CMAKE_BINARY_DIR}/scripts/rpm/postuninstall")


Parent scope correct source location

Parent scope correct source location

--- cmakefiles/LegitUtilities.cmake
+++ cmakefiles/LegitUtilities.cmake
@@ -21,8 +21,7 @@

 MACRO (LEGIT_ADD_SOURCES)
-    FILE (RELATIVE_PATH _relPath "${CMAKE_CURRENT_SOURCE_DIR}" "${CMAKE_CURRENT_SOURCE_DIR}")
-
+    FILE (RELATIVE_PATH _relPath "${CMAKE_SOURCE_DIR}/libs/legit" "${CMAKE_CURRENT_SOURCE_DIR}")
     FOREACH (_src ${ARGN})
         IF (_relPath)
             LIST (APPEND LEGIT_SOURCES "${_relPath}/${_src}")


Include only once

Include only once

--- reason.cmake
+++ reason.cmake
@@ -1,5 +1,9 @@
 if("${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}" LESS 3.3)
    message(FATAL_ERROR "CMake >= 3.3 required")
+endif()
+
+if(DEFINED REASON_MODULE_DIR)
+  return()
 endif()

 # Use to specify where the 'reason.cmake' directory is


fixed addLibUSB

fixed addLibUSB

--- cmake-modules/sl-ext-libs.cmake
+++ cmake-modules/sl-ext-libs.cmake
@@ -162,10 +162,11 @@
         OUTPUT_NAME_DEBUG   "libusb${DEBUG_SUFFIX}"
     )

+    target_include_directories(libusb PUBLIC ${LIBUSB_INCLUDE_DIRS})
     if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
-      target_include_directories(libusb PUBLIC ${LIBUSB_INCLUDE_DIRS} ${LIBUSB_BASE_DIR}/msvc)
+      target_include_directories(libusb PRIVATE ${LIBUSB_BASE_DIR}/msvc)
     elseif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-      target_include_directories(libusb PUBLIC ${LIBUSB_INCLUDE_DIRS} ${LIBUSB_BASE_DIR}/Xcode)
+      target_include_directories(libusb PRIVATE ${LIBUSB_BASE_DIR}/Xcode)
     endif()

   endif()


Removed debugging line

Removed debugging line

--- cmake/Modules/FindIlmBase.cmake
+++ cmake/Modules/FindIlmBase.cmake
@@ -84,7 +84,6 @@
     endif()

     if(NOT IlmBase_VERSION_MAJOR OR NOT IlmBase_VERSION_MINOR OR NOT IlmBase_VERSION_PATCH)
-      set(_IlmBase_VERSION_STRING "asasfasfasfasfafsasfd")
       file(
         STRINGS ${_IlmBase_CONFIG} _IlmBase_VERSION_STRING
         REGEX "#define[ ]+VERSION[ ]+[\"]?[0-9]+\\.[0-9]+\\.[0-9]+[\"]?"
@@ -96,7 +95,6 @@
         list(GET _IlmBase_VERSION_LIST 2 IlmBase_VERSION_MINOR)
         list(GET _IlmBase_VERSION_LIST 3 IlmBase_VERSION_PATCH)
       endif()
-
     endif()

     set(IlmBase_VERSION "${IlmBase_VERSION_MAJOR}.${IlmBase_VERSION_MINOR}.${IlmBase_VERSION_PATCH}" CACHE STRING "Version of IlmBase computed from IlmBaseConfig.h")


[CMake] Use just-built clang and build iOS support when building stage2

The Apple stage2 build should include compiler-rt iOS libraries and be built with the stage2 compiler. This matches Apple's production clang builds.

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@267584 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/caches/Apple-stage2.cmake
+++ cmake/caches/Apple-stage2.cmake
@@ -16,6 +16,9 @@
 set(CLANG_PLUGIN_SUPPORT OFF CACHE BOOL "")
 set(BUG_REPORT_URL "http://developer.apple.com/bugreporter/" CACHE STRING "")
 set(LLVM_ENABLE_TIMESTAMPS OFF CACHE BOOL "Don't time-stamp shipping builds - this makes builds reproducible")
+
+set(LLVM_BUILD_EXTERNAL_COMPILER_RT ON CACHE BOOL "Build Compiler-RT with just-built clang")
+set(COMPILER_RT_ENABLE_IOS ON CACHE BOOL "Build iOS Compiler-RT libraries")

 # Make unit tests (if present) part of the ALL target
 set(LLVM_BUILD_TESTS ON CACHE BOOL "")


[CMake] [Apple Clang] Enable Compiler-RT tests on stage2 builds

We want to be able to run the compiler-rt tests on stage2 build configurations in CI. This should enable that.

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@274031 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/caches/Apple-stage2.cmake
+++ cmake/caches/Apple-stage2.cmake
@@ -19,8 +19,6 @@

 # Make unit tests (if present) part of the ALL target
 set(LLVM_BUILD_TESTS ON CACHE BOOL "")
-# Don't build or run the compiler-rt tests
-set(COMPILER_RT_INCLUDE_TESTS OFF CACHE BOOL "")

 set(LLVM_ENABLE_LTO ON CACHE BOOL "")
 set(CMAKE_C_FLAGS "-fno-stack-protector -fno-common -Wno-profile-instr-unprofiled" CACHE STRING "")


build: allow configurable cpack targets

build: allow configurable cpack targets

Co-Authored-By: Leonardo Grasso <b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@leonardograsso.com>
Signed-off-by: Lorenzo Fontana <0189fb5ac8a393aa741cf57f29cfe3228fcad081@gmail.com>

--- cmake/modules/CPackConfig.cmake
+++ cmake/modules/CPackConfig.cmake
@@ -25,7 +25,11 @@
 set(CPACK_STRIP_FILES "ON")
 set(CPACK_PACKAGE_RELOCATABLE "OFF")

-set(CPACK_GENERATOR DEB RPM TGZ)
+if(NOT CPACK_GENERATOR)
+    set(CPACK_GENERATOR DEB RPM TGZ)
+endif()
+
+message(STATUS "Using package generators: ${CPACK_GENERATOR}")

 set(CPACK_DEBIAN_PACKAGE_SECTION "utils")
 set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE "amd64")


Update cmake library dependencies.

Update cmake library dependencies.

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

--- cmake/modules/LLVMLibDeps.cmake
+++ cmake/modules/LLVMLibDeps.cmake
@@ -1,8 +1,8 @@
-set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMCodeGen LLVMARMInfo LLVMMCParser LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMInfo LLVMMCParser LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMInfo LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaCodeGen LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMAlphaCodeGen LLVMAlphaInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMAlphaInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget)
@@ -11,12 +11,12 @@
 set(MSVC_LIB_DEPS_LLVMAsmPrinter LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMMCParser LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBitReader LLVMCore LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMBitWriter LLVMCore LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
 set(MSVC_LIB_DEPS_LLVMCBackendInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCellSPUInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMCodeGen LLVMAnalysis LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
@@ -37,26 +37,27 @@
 set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMSIL LLVMAnalysis LLVMCodeGen LLVMCore LLVMMSILInfo LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils LLVMipa)
 set(MSVC_LIB_DEPS_LLVMMSILInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430CodeGen LLVMMSP430Info LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMSP430CodeGen LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMSP430Info LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMipsAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMipsCodeGen LLVMMipsInfo LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMipsCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMMipsInfo LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMipsInfo LLVMSupport)
+set(MSVC_LIB_DEPS_LLVMPIC16 LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMPIC16CodeGen LLVMPIC16Info LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPIC16AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPIC16CodeGen LLVMPIC16Info LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPIC16CodeGen LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMPIC16Info LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPIC16Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCCodeGen LLVMPowerPCInfo LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPowerPCCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPowerPCInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMScalarOpts LLVMAnalysis LLVMCore LLVMInstCombine LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMSelectionDAG LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcCodeGen LLVMSparcInfo LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcInfo LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSparcCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSparcInfo LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSparcInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMSystem )
-set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystemZCodeGen LLVMSystemZInfo LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystemZInfo LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSystemZCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystemZInfo LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSystemZInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMTarget LLVMCore LLVMMC LLVMSupport)
@@ -66,7 +67,8 @@
 set(MSVC_LIB_DEPS_LLVMX86CodeGen LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget LLVMX86AsmPrinter LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Disassembler LLVMMC LLVMSupport LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMXCoreCodeGen LLVMXCoreInfo)
+set(MSVC_LIB_DEPS_LLVMXCore LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMXCoreCodeGen LLVMXCoreInfo)
+set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMXCoreCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMXCoreInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMipa LLVMAnalysis LLVMCore LLVMSupport LLVMSystem)


Add support for no_submit and submit_only in the common dashboard script.

--- scripts/dashboard/common.cmake
+++ scripts/dashboard/common.cmake
@@ -40,6 +40,8 @@
 #   dashboard_do_test      = True to enable the Test step
 #   dashboard_do_coverage  = True to enable coverage (ex: gcov)
 #   dashboard_do_memcheck  = True to enable memcheck (ex: valgrind)
+#   dashboard_do_submit    = Submit each step (ON)
+#   dashboard_do_submit_only = Only submit step results, do nto run them (OFF)

 #   CTEST_GIT_COMMAND     = path to git command-line client
 #   CTEST_BUILD_FLAGS     = build tool arguments (ex: -j2)
@@ -105,6 +107,14 @@
   else()
     set(dashboard_fresh FALSE)
   endif()
+endif()
+
+if(NOT DEFINED dashboard_do_submit_only)
+  set(dashboard_do_submit_only FALSE)
+endif()
+
+if(NOT DEFINED dashboard_do_submit)
+  set(dashboard_do_submit TRUE)
 endif()

 if(NOT DEFINED CTEST_PROJECT_NAME)
@@ -367,7 +377,9 @@
     dashboard_hook_start()
   endif()
   ctest_start(${dashboard_model} ${dashboard_track_arg})
-  ctest_submit(PARTS Start)
+  if(dashboard_do_submit)
+    ctest_submit(PARTS Start)
+  endif()
   if(COMMAND dashboard_hook_started)
     dashboard_hook_started()
   endif()
@@ -377,85 +389,109 @@

 # Look for updates.
 if(dashboard_do_update)
-  if(COMMAND dashboard_hook_update)
-    dashboard_hook_update()
-  endif()
-  message("Calling ctest_update...")
-  ctest_update(RETURN_VALUE count)
-  set(CTEST_CHECKOUT_COMMAND) # checkout on first iteration only
-  message("Found ${count} changed files")
-
-  if(ADIOS_CTEST_SUBMIT_NOTES)
-    message("Submitting dashboard scripts as Notes")
-    # Send the main script as a note while submitting the Update part
-    set(CTEST_NOTES_FILES
-      "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
-      "${CMAKE_CURRENT_LIST_FILE}"
-    )
-    ctest_submit(PARTS Update Notes)
-  else()
-    message("Skipping notes submission for Update step")
-    ctest_submit(PARTS Update)
+  if(NOT dashboard_do_submit_only)
+    if(COMMAND dashboard_hook_update)
+      dashboard_hook_update()
+    endif()
+    message("Calling ctest_update...")
+    ctest_update(RETURN_VALUE count)
+    set(CTEST_CHECKOUT_COMMAND) # checkout on first iteration only
+    message("Found ${count} changed files")
+  endif()
+
+  if(dashboard_do_submit)
+    if(ADIOS_CTEST_SUBMIT_NOTES)
+      message("Submitting dashboard scripts as Notes")
+      # Send the main script as a note while submitting the Update part
+      set(CTEST_NOTES_FILES
+        "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
+        "${CMAKE_CURRENT_LIST_FILE}"
+      )
+      ctest_submit(PARTS Update Notes)
+    else()
+      message("Skipping notes submission for Update step")
+      ctest_submit(PARTS Update)
+    endif()
   endif()
 endif()

 if(dashboard_do_configure)
-  if(COMMAND dashboard_hook_configure)
-    dashboard_hook_configure()
-  endif()
-  message("Calling ctest_configure")
-  ctest_configure(${dashboard_configure_args})
-  if(ADIOS_CTEST_SUBMIT_NOTES)
-    message("Submitting CMakeCache.txt as Notes")
-    set(CTEST_NOTES_FILES "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt")
-    ctest_submit(PARTS Configure Notes)
-  else()
-    message("Skipping notes submission for Configure step")
-    ctest_submit(PARTS Configure)
+  if(NOT dashboard_do_submit_only)
+    if(COMMAND dashboard_hook_configure)
+      dashboard_hook_configure()
+    endif()
+    message("Calling ctest_configure")
+    ctest_configure(${dashboard_configure_args})
+  endif()
+  if(dashboard_do_submit)
+    if(ADIOS_CTEST_SUBMIT_NOTES)
+      message("Submitting CMakeCache.txt as Notes")
+      set(CTEST_NOTES_FILES "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt")
+      ctest_submit(PARTS Configure Notes)
+    else()
+      message("Skipping notes submission for Configure step")
+      ctest_submit(PARTS Configure)
+    endif()
   endif()
 endif()

 ctest_read_custom_files(${CTEST_BINARY_DIRECTORY})

 if(dashboard_do_build)
-  if(COMMAND dashboard_hook_build)
-    dashboard_hook_build()
-  endif()
-  message("Calling ctest_build")
-  ctest_build()
-  ctest_submit(PARTS Build)
+  if(NOT dashboard_do_submit_only)
+    if(COMMAND dashboard_hook_build)
+      dashboard_hook_build()
+    endif()
+    message("Calling ctest_build")
+    ctest_build()
+  endif()
+  if(dashboard_do_submit)
+    ctest_submit(PARTS Build)
+  endif()
 endif()

 if(dashboard_do_test)
-  if(COMMAND dashboard_hook_test)
-    dashboard_hook_test()
-  endif()
-  message("Calling ctest_test")
-  ctest_test(${CTEST_TEST_ARGS} RETURN_VALUE TEST_RESULTS)
-  if(${TEST_RESULTS} EQUAL 0)
-    message("ctest test results return value: ${TEST_RESULTS}")
-  else()
-    message(SEND_ERROR "Some tests failed")
-  endif()
-  ctest_submit(PARTS Test)
+  if(NOT dashboard_do_submit_only)
+    if(COMMAND dashboard_hook_test)
+      dashboard_hook_test()
+    endif()
+    message("Calling ctest_test")
+    ctest_test(${CTEST_TEST_ARGS} RETURN_VALUE TEST_RESULTS)
+    if(${TEST_RESULTS} EQUAL 0)
+      message("ctest test results return value: ${TEST_RESULTS}")
+    else()
+      message(SEND_ERROR "Some tests failed")
+    endif()
+  endif()
+  if(dashboard_do_submit)
+    ctest_submit(PARTS Test)
+  endif()
 endif()

 if(dashboard_do_coverage)
-  if(COMMAND dashboard_hook_coverage)
-    dashboard_hook_coverage()
-  endif()
-  message("Calling ctest_coverage")
-  ctest_coverage()
-  ctest_submit(PARTS Coverage)
+  if(NOT dashboard_do_submit_only)
+    if(COMMAND dashboard_hook_coverage)
+      dashboard_hook_coverage()
+    endif()
+    message("Calling ctest_coverage")
+    ctest_coverage()
+  endif()
+  if(dashboard_do_submit)
+    ctest_submit(PARTS Coverage)
+  endif()
 endif()

 if(dashboard_do_memcheck)
-  if(COMMAND dashboard_hook_memcheck)
-    dashboard_hook_memcheck()
-  endif()
-  message("Calling ctest_memcheck")
-  ctest_memcheck()
-  ctest_submit(PARTS MemCheck)
+  if(NOT dashboard_do_submit_only)
+    if(COMMAND dashboard_hook_memcheck)
+      dashboard_hook_memcheck()
+    endif()
+    message("Calling ctest_memcheck")
+    ctest_memcheck()
+  endif()
+  if(dashboard_do_submit)
+    ctest_submit(PARTS MemCheck)
+  endif()
 endif()

 if(COMMAND dashboard_hook_end)