Updated the core/variable_types.

Updated the core/variable_types.

--- core/variable_types.cmake
+++ core/variable_types.cmake
@@ -6,13 +6,63 @@
 message("\${normal_variable}: ${normal_variable}")
 unset(normal_variable)

-message(\n)
-message("## Cache Variable")
+message("")
+message([[## Cache Variable]])
+
 set(cache_variable 2 CACHE INTERNAL description)
 message("\${cache_variable}: ${cache_variable}")
 message("\$CACHE{cache_variable}: $CACHE{cache_variable}")
 unset(cache_variable CACHE)
 message("\${cache_variable}: ${cache_variable}")
+message("")
+
+function(verify_cache_impl)
+  get_property(value CACHE cache_value PROPERTY VALUE)
+  get_property(type CACHE cache_value PROPERTY TYPE)
+  get_property(desc CACHE cache_value PROPERTY HELPSTRING)
+  message("cache_value: ${cache_value}")
+  message("cache_value[value]: ${value}")
+  message("cache_value[type]: ${type}")
+  message("cache_value[desc]: ${desc}")
+  message("")
+endfunction()
+
+function(verify_cache type)
+  message("### verify_cache: ${type}")
+  unset(cache_value CACHE)
+
+  message("set(cache_value 1 CACHE ${type} description_1)")
+  set(cache_value 1 CACHE ${type} description_1)
+  verify_cache_impl()
+
+  message("set(cache_value 2 CACHE ${type} description_2)")
+  set(cache_value 2 CACHE ${type} description_2)
+  verify_cache_impl()
+
+  message("set(cache_value 3 CACHE ${type} description_3 FORCE)")
+  set(cache_value 3 CACHE ${type} description_3 FORCE)
+  verify_cache_impl()
+
+  message("set_property(CACHE cache_value PROPERTY HELPSTRING description_4)")
+  set_property(CACHE cache_value PROPERTY HELPSTRING description_4)
+  verify_cache_impl()
+
+  message("set_property(CACHE cache_value PROPERTY VALUE 4)")
+  set_property(CACHE cache_value PROPERTY VALUE 4)
+  verify_cache_impl()
+
+  message("set_property(CACHE cache_value PROPERTY TYPE INTERNAL)")
+  set_property(CACHE cache_value PROPERTY TYPE INTERNAL)
+  verify_cache_impl()
+
+  message("set(cache_value 5 CACHE ${type} description_2)")
+  set(cache_value 5 CACHE ${type} description_2)
+  verify_cache_impl()
+endfunction()
+
+verify_cache(STRING)
+verify_cache(INTERNAL)
+

 message(\n)
 message("## Environment Variable")


Drishti example: Fix MSVC

Drishti example: Fix MSVC

--- examples/drishti/config.cmake
+++ examples/drishti/config.cmake
@@ -8,3 +8,16 @@
   # https://travis-ci.org/ingenue/hunter/jobs/287844545
   hunter_config(dlib VERSION 19.2-p1)
 endif()
+
+if(MSVC)
+  # https://ci.appveyor.com/project/ingenue/hunter/build/1.0.2532/job/idmsw2829ry1ltj6
+  hunter_config(
+      OpenCV
+      VERSION
+      3.0.0-p11
+      CMAKE_ARGS
+      WITH_IPP=OFF
+      BUILD_EIGEN=OFF
+      WITH_EIGEN=OFF
+  )
+endif()


ENH: force download dir for packaging tools

--- SuperBuild/CMake/External_pkgtools.cmake
+++ SuperBuild/CMake/External_pkgtools.cmake
@@ -11,6 +11,7 @@
   PREFIX ${proj}
   URL "http://nixos.org/releases/patchelf/patchelf-0.8/patchelf-0.8.tar.gz"
   URL_MD5 407b229e6a681ffb0e2cdd5915cb2d01
+  DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
   SOURCE_DIR ${PKGTOOLS_SB_SRC}
   BINARY_DIR ${PKGTOOLS_SB_BUILD_DIR}
   INSTALL_DIR ${CMAKE_INSTALL_PREFIX}


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
+++ Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
@@ -15,7 +15,7 @@
 SET(KWSYS_DATE_STAMP_YEAR  2011)

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


Corrected search patch in Tudat Core CMake module.

git-svn-id: 4d207786bcfdcf18f314dcbc6ac3fbe5f8a98c88@482 ac7aa084-b6da-11df-bf42-7fac39f0224f

--- Tudat/External/CMake/FindTudatCore.cmake
+++ Tudat/External/CMake/FindTudatCore.cmake
@@ -88,7 +88,7 @@
       ${PROJECT_SOURCE_DIR}/External
       ${PROJECT_SOURCE_DIR}/../../../tudatCore/trunk
       ${PROJECT_SOURCE_DIR}/../../tudatCore/trunk
-      ${PROJECT_SOURCE_DIR}/../tudatCore/
+      ${PROJECT_SOURCE_DIR}/../../tudatCore/
       ${CMAKE_INSTALL_PREFIX}/include
       PATH_SUFFIXES TudatCore
     )


Use truth value of CPM_SHOW_HIERARCHY.

Use truth value of CPM_SHOW_HIERARCHY.

--- CPM.cmake
+++ CPM.cmake
@@ -184,7 +184,7 @@
 set(CPM_DEFINITIONS)

 # Increment the module hierarchy level if it exists.
-if (DEFINED CPM_SHOW_HIERARCHY)
+if ((DEFINED CPM_SHOW_HIERARCHY) AND (CPM_SHOW_HIERARCHY)
   if (DEFINED CPM_HIERARCHY_LEVEL)
     math(EXPR CPM_HIERARCHY_LEVEL "${CPM_HIERARCHY_LEVEL}+1")
   else()
@@ -740,7 +740,7 @@
   set(CPM_LIBRARIES ${CPM_LIBRARIES} "${CPM_TARGET_NAME}" PARENT_SCOPE)
   set(CPM_INCLUDE_DIRS ${CPM_INCLUDE_DIRS} "${__CPM_MODULE_SOURCE_DIR}/include" PARENT_SCOPE)

-  if (DEFINED CPM_SHOW_HIERARCHY)
+  if ((DEFINED CPM_SHOW_HIERARCHY) AND (CPM_SHOW_HIERARCHY))
     if(__CPM_USING_GIT)
       _cpm_print_with_hierarchy_level("${name} - GIT - Tag: ${_CPM_GIT_TAG} - Unid: ${__CPM_FULL_UNID}")
     else()


Auto-detect release mode (aka decouple RELEASE_VERSION from VERSION_ABI)

--- Common.cmake
+++ Common.cmake
@@ -23,9 +23,20 @@
   include(${CMAKE_SOURCE_DIR}/CMake/${CMAKE_PROJECT_NAME}.cmake)
 endif()
 include(${CMAKE_CURRENT_LIST_DIR}/System.cmake)
+include(GitInfo)

 enable_testing()
 set_property(GLOBAL PROPERTY USE_FOLDERS ON)
+
+if(GIT_BRANCH)
+  if(GIT_BRANCH MATCHES "^[0-9].*")
+    set(RELEASE_VERSION ON)
+  else()
+    set(RELEASE_VERSION OFF)
+  endif()
+else()
+  set(RELEASE_VERSION ON) # standalone tarball or similar
+endif()

 if(NOT CMAKE_BUILD_TYPE)
   if(RELEASE_VERSION)
@@ -42,14 +53,10 @@
 string(TOLOWER ${CMAKE_PROJECT_NAME} LOWER_PROJECT_NAME)
 add_definitions(-D${UPPER_PROJECT_NAME}_VERSION=${VERSION})
 if(NOT VERSION_ABI)
-  if(RELEASE_VERSION)
-    set(VERSION_ABI ${RELEASE_VERSION})
+  if(VERSION_MAJOR VERSION_GREATER 0)
+    set(VERSION_ABI "${VERSION_MAJOR}${VERSION_MINOR}0")
   else()
-    if(VERSION_MAJOR VERSION_GREATER 0)
-      set(VERSION_ABI ${VERSION_MAJOR}${VERSION_MINOR}${VERSION_PATCH})
-    else()
-      set(VERSION_ABI ${VERSION_MINOR}${VERSION_PATCH})
-    endif()
+    set(VERSION_ABI ${VERSION_MINOR}${VERSION_PATCH})
   endif()
 endif()
 if(NOT LAST_RELEASE)


VERSION_ABI (SONAME) defaults to VERSION_MAJOR if not specified by user.

--- Common.cmake
+++ Common.cmake
@@ -61,12 +61,14 @@
 string(TOUPPER ${PROJECT_NAME} UPPER_PROJECT_NAME)
 string(TOLOWER ${PROJECT_NAME} LOWER_PROJECT_NAME)
 add_definitions(-D${UPPER_PROJECT_NAME}_VERSION=${VERSION})
+# Linux libraries must have an SONAME to expose their ABI version to users.
+# If VERSION_ABI has not been declared, use the following common conventions:
+# - ABI version matches MAJOR version (ABI only changes with MAJOR releases)
+# - MINOR and PATCH releases preserve backward ABI compatibility
+# - PATCH releases preseve forward+backward API compatibility (no new features)
 if(NOT VERSION_ABI)
-  if(VERSION_MAJOR VERSION_GREATER 0)
-    set(VERSION_ABI "${VERSION_MAJOR}${VERSION_MINOR}0")
-  else()
-    set(VERSION_ABI ${VERSION_MINOR}${VERSION_PATCH})
-  endif()
+  set(VERSION_ABI ${VERSION_MAJOR})
+  message(STATUS "VERSION_ABI not set for ${PROJECT_NAME}. Using VERSION_MAJOR=${VERSION_MAJOR} as the ABI version.")
 endif()

 if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT AND NOT MSVC)


SVN_SILENT made messages (.desktop file)

--- src/vlc.desktop.cmake
+++ src/vlc.desktop.cmake
@@ -23,6 +23,7 @@
 Name[fr]=VLC
 Name[gl]=VLC
 Name[hu]=VLC
+Name[it]=VLC
 Name[kk]=VLC
 Name[ko]=VLC
 Name[nb]=VLC
@@ -60,6 +61,7 @@
 Comment[fr]=Module VLC de Phonon
 Comment[gl]=Infraestrutura de VLC para Phonon
 Comment[hu]=Phonon VLC-backend
+Comment[it]=Motore VLC di Phonon
 Comment[kk]=Phonon VLC тетігі
 Comment[ko]=Phonon VLC 백엔드
 Comment[nb]=Phonon VLC-motor


--- src/vlc.desktop.cmake
+++ src/vlc.desktop.cmake
@@ -18,6 +18,7 @@
 Name[es]=VLC
 Name[fi]=VLC
 Name[fr]=VLC
+Name[id]=VLC
 Name[nb]=VLC
 Name[nl]=VLC
 Name[nn]=VLC
@@ -39,6 +40,7 @@
 Comment[es]=Motor VLC para Phonon
 Comment[fi]=Phonon VLC -taustajärjestelmä
 Comment[fr]=Module VLC pour Phonon
+Comment[id]=Backend phonon VLC
 Comment[nb]=Phonon VLC-motor
 Comment[nl]=VLC-backend van Phonon
 Comment[nn]=VLC-motor for Phonon


enhance xpPostBuildCopy

enhance xpPostBuildCopy

* if _item is not an absolute path, prepend CMAKE_CURRENT_[SOURCE|BINARY]_DIR
* issue https://github.com/smanders/externpro/issues/86#issue-153886495

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -1329,6 +1329,13 @@
             )
         endif()
       else()
+        if(NOT IS_ABSOLUTE ${_item})
+          if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${_item})
+            set(_item ${CMAKE_CURRENT_SOURCE_DIR}/${_item})
+          elseif(EXISTS ${CMAKE_CURRENT_BINARY_DIR}/${_item})
+            set(_item ${CMAKE_CURRENT_BINARY_DIR}/${_item})
+          endif()
+        endif()
         set(COPY_CMD ${CMAKE_COMMAND} -E copy_if_different ${_item} ${dest})
         if(CONDITION2)
           list(APPEND CONDITION1 "(")


Fix #14: LDC doesn't know about -inline in release build

--- cmake-d/Platform/Linux-ldc2.cmake
+++ cmake-d/Platform/Linux-ldc2.cmake
@@ -56,7 +56,7 @@
 set(CMAKE_D_LINK_FLAGS "")
 set(CMAKE_D_FLAGS_DEBUG_INIT "-g -d-debug -L--export-dynamic ${DDOC_FLAGS}")
 set(CMAKE_D_FLAGS_MINSIZEREL_INIT "-Os ${DDOC_FLAGS}")
-set(CMAKE_D_FLAGS_RELEASE_INIT "-O -release -inline ${DDOC_FLAGS}")
+set(CMAKE_D_FLAGS_RELEASE_INIT "-O -release ${DDOC_FLAGS}")
 set(CMAKE_D_FLAGS_RELWITHDEBINFO_INIT "-O -g -L--export-dynamic ${DDOC_FLAGS}")
 # set(CMAKE_D_CREATE_PREPROCESSED_SOURCE "<CMAKE_D_COMPILER> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
 set(CMAKE_D_CREATE_ASSEMBLY_SOURCE "<CMAKE_D_COMPILER> <FLAGS> -S <SOURCE> -of<ASSEMBLY_SOURCE>")


cmake: fix check for required headers

cmake: fix check for required headers

--- cmake/Modules/PKSavPlatform.cmake
+++ cmake/Modules/PKSavPlatform.cmake
@@ -43,6 +43,13 @@
 INCLUDE(CheckIncludeFile)
 SET(CMAKE_REQUIRED_FLAGS "${PKSAV_C_FLAGS}")
 CHECK_INCLUDE_FILE(stdbool.h HAVE_STDBOOL_H)
+IF(NOT HAVE_STDBOOL_H)
+    MESSAGE(FATAL_ERROR "PKSav requires the header stdbool.h to compile.")
+ENDIF(NOT HAVE_STDBOOL_H)
+CHECK_INCLUDE_FILE(stdint.h HAVE_STDINT_H)
+IF(NOT HAVE_STDINT_H)
+    MESSAGE(FATAL_ERROR "PKSav requires the header stdint.h to compile.")
+ENDIF(NOT HAVE_STDINT_H)

 # Set compiler name for CMake display
 IF(MSVC)


Use exported target ROOT::rootcling when bulding dictionaires on external projects

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -54,18 +54,6 @@
       SUFFIX ${libsuffix}
       PREFIX ${libprefix}
       IMPORT_PREFIX ${libprefix} )
-endif()
-
-#---Modify the behaviour for local and non-local builds--------------------------------------------
-
-if(CMAKE_PROJECT_NAME STREQUAL ROOT)
-  set(rootcint_cmd rootcling_stage1)
-  set(genreflex_cmd genreflex)
-  set(ROOTCINTDEP rootcling_stage1)
-else()
-  set(rootcint_cmd rootcling)
-  set(genreflex_cmd genreflex)
-  set(ROOTCINTDEP)
 endif()

 set(CMAKE_VERBOSE_MAKEFILES OFF)
@@ -367,6 +355,8 @@
     if(CMAKE_PROJECT_NAME STREQUAL ROOT)
       set(command ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH}" "ROOTIGNOREPREFIX=1" $<TARGET_FILE:rootcling> -rootbuild)
       set(ROOTCINTDEP rootcling)
+    elseif(TARGET ROOT::rootcling)
+      set(command ROOT::rootcling)
     else()
       set(command rootcling)
     endif()


[cxxmodules] Better check if we should generate a C++ module

We currently have two checks (that are supposed to have the same
result) in the changed if-stmt and a few lines above where we
set cpp_module_file. Obviously if we generate a module, we should
also set cpp_module_file, however (due to the duplicated code) in
the case of multidicts we generate a module without specifying the
file. This probably causes CMake to behave incorrectly when rebuilding
PCM files.

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -387,7 +387,7 @@
     endforeach()
   endif()

-  if(runtime_cxxmodules AND ARG_MODULE)
+  if(cpp_module_file)
     set(newargs -cxxmodule ${newargs})
   endif()


Place the generated .pcm file on the same location as the library.

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -298,7 +298,7 @@
     endif()
   else()
     set(library_name ${libprefix}${deduced_arg_module}${libsuffix})
-    set(pcm_name ${dictionary}_rdict.pcm)
+    set(pcm_name ${library_output_dir}/${libprefix}${deduced_arg_module}_rdict.pcm)
     set(rootmap_name ${library_output_dir}/${libprefix}${deduced_arg_module}.rootmap)
   endif()


revisit default compile options

revisit default compile options

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -48,47 +48,18 @@
 if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "MSVC")

     set(DEFAULT_COMPILE_OPTIONS ${DEFAULT_COMPILE_OPTIONS}
-        /MP # -> build with multiple processes
-        /nologo       # -> no compiler banner
-        /Zc:wchar_t   # -> treat wchar_t as built-in type: yes
-        /Zc:forScope  # -> force conformance in for loop scope: Yes
-        /Gm           # -> enable minimal rebuild
-        /fp:precise   # -> floating point model: precise
-        /arch:SSE2    # -> enable enhanced instruction set: streaming simd extensions 2
+        /MP           # -> build with multiple processes
+        /W4           # -> warning level 4
+
+        $<$<CONFIG:Debug>:
+        /RTCc         # -> value is assigned to a smaller data type and results in a data loss
+        >

-        # /W4           # -> warning level 4
-        /Wall         # -> enable all warnings
-
-      # Disable the following warnings
-      # /wd4273       # -> Two definitions in a file differ in their use of dllimport.
-      # /wd4100       # -> 'identifier' : unreferenced formal parameter
-      # /wd4127       # -> conditional expression is constant
-      # /wd4251       # -> 'identifier' : class 'type' needs to have dll-interface to be used by clients of class 'type2'
-      # /wd4267       # -> 'var' : conversion from 'size_t' to 'type', possible loss of data
-
-        /vmg          # ->  to declare a pointer to a member of a class before defining the class. This need can arise if you define members in two different classes that reference each other.
-
-        $<$<CONFIG:Debug>:
-            /RTC1         # -> Runtime error checks
-            /RTCc
-            /Od           # -> Optimization: none
-            /GS           # -> buffer security check
-            /GF-          # -> disable string pooling
-            /Zi           # -> debug information format: program database
-        >
         $<$<CONFIG:Release>:
-            /Ox           # -> optimization: full optimization
-            /Ob2          # -> inline function expansion: any suitable
-            /Oi           # -> enable intrinsic functions: yes
-            /Ot           # -> favor size or speed: favor fast code
-            /Oy           # -> omit frame pointers: yes
-          # /Og           # -> use global optimization
-          # /Gw           # -> whole program global optimization
-
-            /GS-          # -> buffer security check: no
-            /GL           # -> whole program optimization: enable link-time code generation
-            /GF           # -> enable string pooling
-            /GR           # -> runtime type information
+        /Gw           # -> whole program global optimization
+        /GS-          # -> buffer security check: no
+        /GL           # -> whole program optimization: enable link-time code generation (disables Zi)
+        /GF           # -> enable string pooling
         >
     )
 endif ()


Fix gtest library target properites

Fix gtest library target properites

--- cmake/External_gtest.cmake
+++ cmake/External_gtest.cmake
@@ -57,18 +57,18 @@
 # gtestmain libraries
 if (MSVC)
     set(GTEST_IMPORTED_LOCATION
-        IMPORTED_LOCATION_DEBUG     "${GTEST_DIR}/Debug/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}"
-        IMPORTED_LOCATION_RELEASE   "${GTEST_DIR}/Release/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}"
+        IMPORTED_LOCATION_DEBUG     "${GTEST_DIR}/Debug/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${CMAKE_SHARED_LIBRARY_SUFFIX}"
+        IMPORTED_LOCATION_RELEASE   "${GTEST_DIR}/Release/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${CMAKE_SHARED_LIBRARY_SUFFIX}"
         )
     set(GTESTMAIN_IMPORTED_LOCATION
-        IMPORTED_LOCATION_DEBUG     "${GTEST_DIR}/Debug/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}"
-        IMPORTED_LOCATION_RELEASE   "${GTEST_DIR}/Release/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}"
+        IMPORTED_LOCATION_DEBUG     "${GTEST_DIR}/Debug/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${CMAKE_SHARED_LIBRARY_SUFFIX}"
+        IMPORTED_LOCATION_RELEASE   "${GTEST_DIR}/Release/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${CMAKE_SHARED_LIBRARY_SUFFIX}"
         )
 else()
     set(GTEST_IMPORTED_LOCATION
-        IMPORTED_LOCATION           "${GTEST_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX}")
+        IMPORTED_LOCATION           "${GTEST_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest${CMAKE_SHARED_LIBRARY_SUFFIX}")
     set(GTESTMAIN_IMPORTED_LOCATION
-        IMPORTED_LOCATION           "${GTEST_DIR}/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX}")
+        IMPORTED_LOCATION           "${GTEST_DIR}/${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main${CMAKE_SHARED_LIBRARY_SUFFIX}")
 endif()

 # the gtest include directory exists only after it is build, but it is used/needed
@@ -76,8 +76,10 @@
 file(MAKE_DIRECTORY ${GTEST_INCLUDES})

 # Create a libgtest target to be used as a dependency by test programs
-add_library("${CMAKE_SHARED_LIBRARY_PREFIX}gtest" IMPORTED SHARED GLOBAL)
-add_dependencies("${CMAKE_SHARED_LIBRARY_PREFIX}gtest" gtest)
+if (CMAKE_SHARED_LIBRARY_PREFIX)
+  add_library("${CMAKE_SHARED_LIBRARY_PREFIX}gtest" IMPORTED SHARED GLOBAL)
+  add_dependencies("${CMAKE_SHARED_LIBRARY_PREFIX}gtest" gtest)
+endif()
 add_library(${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main IMPORTED SHARED GLOBAL)
 add_dependencies(${CMAKE_SHARED_LIBRARY_PREFIX}gtest_main gtest)


find filestyem no compile feature for target

--- cmake/FindFilesystem.cmake
+++ cmake/FindFilesystem.cmake
@@ -205,7 +205,7 @@

     if(can_link)
         add_library(std::filesystem INTERFACE IMPORTED)
-        target_compile_features(std::filesystem INTERFACE cxx_std_17)
+        #target_compile_features(std::filesystem INTERFACE cxx_std_17)
         set(_found TRUE)

         if(CXX_FILESYSTEM_NO_LINK_NEEDED)


Add gtest_force_shared_crt for MSVC (#284)

This fixes linking with MSVC.

--- cmake/OpenCensusDeps.cmake
+++ cmake/OpenCensusDeps.cmake
@@ -15,6 +15,19 @@
 if(BUILD_TESTING)
   if(NOT TARGET gtest_main)
     message(STATUS "Dependency: googletest (BUILD_TESTING=${BUILD_TESTING})")
+
+    if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+      # All the libraries in the build must use either /MD or /MT (runtime
+      # library to link)
+      #
+      # force this option to ON so that Google Test will use /MD instead of /MT
+      # /MD is now the default for Visual Studio, so it should be our default,
+      # too
+      option(
+        gtest_force_shared_crt
+        "Use shared (DLL) run-time lib even when Google Test is built as static lib."
+        ON)
+    endif()

     configure_file(${CMAKE_CURRENT_SOURCE_DIR}/cmake/googletest.CMakeLists.txt
                    ${CMAKE_BINARY_DIR}/googletest-download/CMakeLists.txt)


After-fix for WL#1213 Fixing cmake files.

--- cmake/character_sets.cmake
+++ cmake/character_sets.cmake
@@ -22,15 +22,15 @@
 SET(DEFAULT_COLLATION "latin1_swedish_ci")
 ENDIF()

-SET(CHARSETS ${DEFAULT_CHARSET} latin1 utf8 utf8mb3)
-SET(CHARSETS_COMPLEX big5 cp1250 cp932 eucjpms euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8 utf8mb3 utf16 utf32)
+SET(CHARSETS ${DEFAULT_CHARSET} latin1 utf8 utf8mb4)
+SET(CHARSETS_COMPLEX big5 cp1250 cp932 eucjpms euckr gb2312 gbk latin1 latin2 sjis tis620 ucs2 ujis utf8 utf8mb4 utf16 utf32)

 SET(CHARSETS_AVAILABLE
 binary armscii8 ascii big5 cp1250 cp1251 cp1256 cp1257
 cp850 cp852 cp866 cp932 dec8 eucjpms euckr gb2312 gbk geostd8
 greek hebrew hp8 keybcs2 koi8r koi8u
 latin1 latin2 latin5 latin7 macce macroman
-sjis swe7 tis620 ucs2 ujis utf8 utf8mb3 utf16 utf32)
+sjis swe7 tis620 ucs2 ujis utf8 utf8mb4 utf16 utf32)

 SET (EXTRA_CHARSETS "all")


Implemented version checking for swig for the first time using the new
FindSWIG.cmake module.

svn path=/trunk/; revision=7332

--- cmake/modules/plplot.cmake
+++ cmake/modules/plplot.cmake
@@ -192,8 +192,30 @@
 # =======================================================================

 # Find swig.  Required for python and java bindings.
-# There is no version checking of swig at present
+# N.B. all version tests done below need experimental FindSWIG.cmake which
+# is currently carried in this directory by PLplot, but which eventually
+# should get into CMake.
 find_package(SWIG)
+if(SWIG_FOUND)
+  message(STATUS "SWIG_VERSION = ${SWIG_VERSION}")
+  # Logic that depends on swig version
+  transform_version(NUMERICAL_SWIG_MINIMUM_VERSION "1.3.22")
+  transform_version(NUMERICAL_SWIG_VERSION ${SWIG_VERSION})
+  if(NUMERICAL_SWIG_VERSION LESS "${NUMERICAL_SWIG_MINIMUM_VERSION}")
+    message(STATUS "WARNING: swig version too old.  SWIG_FOUND set to OFF")
+    set(SWIG_FOUND OFF)
+  endif(NUMERICAL_SWIG_VERSION LESS "${NUMERICAL_SWIG_MINIMUM_VERSION}")
+endif(SWIG_FOUND)
+
+if(SWIG_FOUND)
+  transform_version(NUMERICAL_NOPGCPP_MINIMUM_VERSION "1.3.30")
+  if(NUMERICAL_SWIG_VERSION LESS "${NUMERICAL_NOPGCPP_MINIMUM_VERSION}")
+    set(SWIG_JAVA_NOPGCPP OFF)
+  else(NUMERICAL_SWIG_VERSION LESS "${NUMERICAL_NOPGCPP_MINIMUM_VERSION}")
+    set(SWIG_JAVA_NOPGCPP ON)
+  endif(NUMERICAL_SWIG_VERSION LESS "${NUMERICAL_NOPGCPP_MINIMUM_VERSION}")
+endif(SWIG_FOUND)
+
 if(SWIG_FOUND)
   include(${SWIG_USE_FILE})
 endif(SWIG_FOUND)


Fixed introduced bug which prevents locating dependencies even if directly specified.

--HG--
branch : android-ndk-r9-support

--- CMake/toolchain/android.toolchain.cmake
+++ CMake/toolchain/android.toolchain.cmake
@@ -1527,7 +1527,7 @@
 set( BUILD_ANDROID True )

 # where is the target environment
-set( CMAKE_FIND_ROOT_PATH "${ANDROID_TOOLCHAIN_ROOT}/bin" "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}" "${ANDROID_SYSROOT}" "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_PREFIX}/share" )
+set( CMAKE_FIND_ROOT_PATH "${CMAKE_SOURCE_DIR}" "${ANDROID_TOOLCHAIN_ROOT}/bin" "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}" "${ANDROID_SYSROOT}" "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_PREFIX}/share" )

 # only search for libraries and includes in the ndk toolchain
 set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )


ENH: Merge changes from main tree into VTK-5-2 branch. (cvs -q up -j1.1 -j1.3 CMake/vtkTestTypes.cmake)

--- CMake/vtkTestTypes.cmake
+++ CMake/vtkTestTypes.cmake
@@ -8,6 +8,16 @@
 CHECK_TYPE_SIZE("__int64"   VTK_SIZEOF___INT64)

 IF(VTK_SIZEOF___INT64)
+  # In CMake 2.6 and above the type __int64 may have been found only
+  # due to inclusion of a system header.  Further try-compiles using
+  # the type should include the header too.
+  SET(_HAVE_DEFS)
+  FOREACH(def HAVE_SYS_TYPES_H HAVE_STDINT_H HAVE_STDDEF_H)
+    IF(${def})
+      LIST(APPEND _HAVE_DEFS -D${def})
+    ENDIF(${def})
+  ENDFOREACH(def)
+
   IF("VTK_TYPE_SAME_LONG_AND___INT64" MATCHES "^VTK_TYPE_SAME_LONG_AND___INT64$")
     MESSAGE(STATUS "Checking whether long and __int64 are the same type")
     TRY_COMPILE(VTK_TYPE_SAME_LONG_AND___INT64
@@ -16,6 +26,7 @@
       COMPILE_DEFINITIONS
       -DVTK_TEST_COMPARE_TYPE_1=long
       -DVTK_TEST_COMPARE_TYPE_2=__int64
+      ${_HAVE_DEFS}
       OUTPUT_VARIABLE OUTPUT)
     IF(VTK_TYPE_SAME_LONG_AND___INT64)
       MESSAGE(STATUS "Checking whether long and __int64 are the same type -- yes")
@@ -42,6 +53,7 @@
         COMPILE_DEFINITIONS
         -DVTK_TEST_COMPARE_TYPE_1=TYPE_LONG_LONG
         -DVTK_TEST_COMPARE_TYPE_2=__int64
+        ${_HAVE_DEFS}
         OUTPUT_VARIABLE OUTPUT)
       IF(VTK_TYPE_SAME_LONG_LONG_AND___INT64)
         MESSAGE(STATUS "Checking whether long long and __int64 are the same type -- yes")
@@ -72,6 +84,7 @@
           COMPILE_DEFINITIONS
           -DVTK_TEST_CONVERT_TYPE_FROM=TYPE_UNSIGNED___INT64
           -DVTK_TEST_CONVERT_TYPE_TO=double
+          ${_HAVE_DEFS}
           OUTPUT_VARIABLE OUTPUT)
         IF(VTK_TYPE_CONVERT_UI64_TO_DOUBLE)
           MESSAGE(STATUS "Checking whether unsigned __int64 can convert to double -- yes")


Add WERROR option to ament_add_pytest_test (#168)

This has the benefit of making deprecation warnings visible, which are not by default.
Default value for the option is OFF.

Signed-off-by: Jacob Perron <f862f167b85d41b225785c70d70808bc7337c1fe@openrobotics.org>

--- ament_cmake_pytest/cmake/ament_add_pytest_test.cmake
+++ ament_cmake_pytest/cmake/ament_add_pytest_test.cmake
@@ -28,6 +28,8 @@
 # :param TIMEOUT: the test timeout in seconds,
 #   default defined by ``ament_add_test()``
 # :type TIMEOUT: integer
+# :param WERROR: If ON, then treat warnings as errors. Default: OFF.
+# :type WERROR: bool
 # :param WORKING_DIRECTORY: the working directory for invoking the
 #   command in, default defined by ``ament_add_test()``
 # :type WORKING_DIRECTORY: string
@@ -45,7 +47,7 @@
 function(ament_add_pytest_test testname path)
   cmake_parse_arguments(ARG
     "SKIP_TEST"
-    "PYTHON_EXECUTABLE;TIMEOUT;WORKING_DIRECTORY"
+    "PYTHON_EXECUTABLE;TIMEOUT;WERROR;WORKING_DIRECTORY"
     "APPEND_ENV;APPEND_LIBRARY_DIRS;ENV"
     ${ARGN})
   if(ARG_UNPARSED_ARGUMENTS)
@@ -89,6 +91,11 @@
     "--junit-prefix=${PROJECT_NAME}"
   )

+  if(ARG_WERROR)
+    # treat warnings as errors
+    list(APPEND cmd "-We")
+  endif()
+
   if(ARG_ENV)
     set(ARG_ENV "ENV" ${ARG_ENV})
   endif()


CMake: remove an unused variable

CMake: remove an unused variable

--- benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake
+++ benchmark/cmake/modules/AddSwiftBenchmarkSuite.cmake
@@ -48,7 +48,6 @@
       "-F" "${sdk}/../../../Developer/Library/Frameworks"
       "-${BENCH_COMPILE_ARCHOPTS_OPT}"
       "-D" "INTERNAL_CHECKS_ENABLED"
-      "-D" "SWIFT_ENABLE_OBJECT_LITERALS"
       "-no-link-objc-runtime"
       "-I" "${srcdir}/utils/ObjectiveCTests")

@@ -64,7 +63,6 @@
       "-F" "${sdk}/../../../Developer/Library/Frameworks"
       "-${driver_opt}"
       "-D" "INTERNAL_CHECKS_ENABLED"
-      "-D" "SWIFT_ENABLE_OBJECT_LITERALS"
       "-no-link-objc-runtime")

   set(bench_library_objects)


Update compiler override

Update compiler override


Missing definition of External project

Missing definition of External project

--- FindEigen.cmake
+++ FindEigen.cmake
@@ -101,6 +101,7 @@
     if(HG_FOUND)

       message(STATUS "Eigen3 not found. Will attempt to download it.")
+      include(ExternalProject)
       ExternalProject_Add(
           eigen
           PREFIX ${EXTERNAL_ROOT}


install: use install target for device files

Signed-off-by: Karol Gugala <38af71640571ee4b5093d4f69ffca1ac454f2948@antmicro.com>

--- common/cmake/install.cmake
+++ common/cmake/install.cmake
@@ -3,6 +3,7 @@
   # INSTALL_DEVICE_FILES(
   #   DEVICE <device>
   #   PACKAGE <package>
+  #   DEVICE_TYPE <device_type>
   #   )
   # ~~~
   #
@@ -20,16 +21,12 @@
   set(DEVICE ${INSTALL_DEVICE_FILES_DEVICE})
   set(DEVICE_TYPE ${INSTALL_DEVICE_FILES_DEVICE_TYPE})
   set(PACKAGE ${INSTALL_DEVICE_FILES_PACKAGE})
-  set(INSTALL_DEST "${CMAKE_INSTALL_PREFIX}/share/arch/${DEVICE}_${PACKAGE}")

   get_target_property(USE_ROI ${DEVICE_TYPE} USE_ROI)
   if(USE_ROI OR USE_ROI STREQUAL "USE_ROI-NOTFOUND")
     message(STATUS "Skipping device files installation for ${DEVICE}-${PACKAGE} type: ${DEVICE_TYPE}")
     return()
   endif()
-
-  add_custom_target(${DEVICE}_${PACKAGE}_ARCH_INSTALL_DIR
-                    COMMAND ${CMAKE_COMMAND} -E make_directory ${INSTALL_DEST})

   set(INSTALL_FILES)

@@ -52,7 +49,6 @@

   get_target_property(CHANNELS_DB_FILE ${DEVICE_TYPE} CHANNELS_DB)
   if(NOT ${CHANNELS_DB_FILE} STREQUAL "CHANNELS_DB_FILE-NOTFOUND")
-    message(WARNING "channels DB: ${CHANNELS_DB_FILE}")
     list(APPEND INSTALL_FILES ${CHANNELS_DB_FILE})
   endif()

@@ -60,19 +56,17 @@
   foreach(FILE ${INSTALL_FILES})
     get_file_location(SRC_FILE ${FILE})
     get_filename_component(FILE_NAME ${SRC_FILE} NAME)
-    set(DST_FILE "${INSTALL_DEST}/${FILE_NAME}")
-    add_custom_command(
-      OUTPUT ${DST_FILE}
-      COMMAND ${CMAKE_COMMAND} -E copy
-      ${SRC_FILE}
-      ${DST_FILE}
-      DEPENDS ${SRC_FILE} ${DEVICE}_${PACKAGE}_ARCH_INSTALL_DIR
-    )
+    append_file_dependency(DEPS ${FILE})
+    # Create a custom target and add it to ALL target.
+    # We do this because install targets depend only on
+    # all.
     add_custom_target(
       "INSTALL_${DEVICE}_${PACKAGE}_${FILE_NAME}"
-      DEPENDS ${DST_FILE})
-
-    add_dependencies(install_architectures "INSTALL_${DEVICE}_${PACKAGE}_${FILE_NAME}")
+      ALL
+      DEPENDS ${DEPS})
+    install(FILES ${SRC_FILE}
+      DESTINATION "share/arch/${DEVICE}_${PACKAGE}")
   endforeach()

 endfunction()
+


[cmake.duneutils] minor change

[cmake.duneutils] minor change

--- cmake/DuneUtils.cmake
+++ cmake/DuneUtils.cmake
@@ -99,8 +99,8 @@
 	FOREACH( MODULE ${ARGN} )
 		INCLUDE_DIR( ${CMAKE_CURRENT_SOURCE_DIR}/../dune-${MODULE} )
 		LINK_DIRECTORIES(${CMAKE_CURRENT_SOURCE_DIR}/../dune-${MODULE}/${MODULE}/.libs )
-		FILE( GLOB_RECURSE tmp_header "${CMAKE_CURRENT_SOURCE_DIR}/../dune-${MODULE}/${MODULE}/*.hh" )
-		LIST( APPEND DUNE_HEADERS ${tmp_header} )
+		FILE( GLOB_RECURSE ${MODULE}_HEADER "${CMAKE_CURRENT_SOURCE_DIR}/../dune-${MODULE}/dune/*.hh" )
+		LIST( APPEND DUNE_HEADERS ${${MODULE}_HEADER} )
 	ENDFOREACH(MODULE)
 ENDMACRO( ADD_MY_MODULES )


FindFATFS: Adding type of message to warning

Just to get this type of message correctly decorated.

--- cmake/FindFATFS.cmake
+++ cmake/FindFATFS.cmake
@@ -64,7 +64,7 @@
 )

 IF(${FATFS_DRIVER_INCLUDE_DIR} STREQUAL FATFS_DRIVER_INCLUDE_DIR-NOTFOUND)
-    MESSAGE("Driver header files not located in STM firmware, please manually include the appropriate X_diskio.h directory")
+    MESSAGE(WARNING "Driver header files not located in STM firmware, please manually include the appropriate X_diskio.h directory")
     SET(FATFS_INCLUDE_DIRS
     ${FATFS_COMMON_INCLUDE_DIR}
         )
@@ -92,7 +92,7 @@
     )
 STRING(FIND ${SRC_FILE} "NOTFOUND" SRC_FILE_NOTFOUND)
 IF(NOT ${SRC_FILE_NOTFOUND} EQUAL -1)
-    MESSAGE("Driver source files not located in STM firmware, please manually source the appropriate X_diskio.c files")
+    MESSAGE(WARNING "Driver source files not located in STM firmware, please manually source the appropriate X_diskio.c files")
 ELSE()
     LIST(APPEND FATFS_SOURCES ${SRC_FILE})
 ENDIF()


FindFATFS: Correcting typo

FindFATFS: Correcting typo

No technical relevance.

--- cmake/FindFATFS.cmake
+++ cmake/FindFATFS.cmake
@@ -64,7 +64,7 @@
 )

 IF(${FATFS_DRIVER_INCLUDE_DIR} STREQUAL FATFS_DRIVER_INCLUDE_DIR-NOTFOUND)
-    MESSAGE("Driver header files not located in STM firemware, please manually include the appropriate X_diskio.h directory")
+    MESSAGE("Driver header files not located in STM firmware, please manually include the appropriate X_diskio.h directory")
     SET(FATFS_INCLUDE_DIRS
     ${FATFS_COMMON_INCLUDE_DIR}
         )
@@ -92,7 +92,7 @@
     )
 STRING(FIND ${SRC_FILE} "NOTFOUND" SRC_FILE_NOTFOUND)
 IF(NOT ${SRC_FILE_NOTFOUND} EQUAL -1)
-    MESSAGE("Driver source files not located in STM firemware, please manually source the appropriate X_diskio.c files")
+    MESSAGE("Driver source files not located in STM firmware, please manually source the appropriate X_diskio.c files")
 ELSE()
     LIST(APPEND FATFS_SOURCES ${SRC_FILE})
 ENDIF()


add mariadb 10.3 support to findmysql - fixes #526

--- cmake/FindMySQL.cmake
+++ cmake/FindMySQL.cmake
@@ -82,6 +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"
     "C:/MySQL/include"
     "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/include"
     "$ENV{ProgramFiles}/MySQL/MySQL Server 5.7/include"
@@ -118,6 +119,7 @@
       "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib"
       "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/lib/opt"
       "${PROGRAM_FILES_64}/MySQL/lib"
+      "${PROGRAM_FILES_64}/MariaDB 10.3/lib"
       "C:/MySQL/lib/debug"
       "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib"
       "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/lib/opt"
@@ -170,6 +172,7 @@
         "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin"
         "${PROGRAM_FILES_64}/MySQL/MySQL Server 5.7/bin/opt"
         "${PROGRAM_FILES_64}/MySQL/bin"
+        "${PROGRAM_FILES_64}/MariaDB 10.3/bin"
         "C:/MySQL/bin/debug"
         "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin"
         "[HKEY_LOCAL_MACHINE\\SOFTWARE\\MySQL AB\\MySQL Server 5.7;Location]/bin/opt"


Fixed url and mail.

Fixed url and mail.

--- cmake/Packaging.cmake
+++ cmake/Packaging.cmake
@@ -92,9 +92,9 @@
 #set(CPACK_NSIS_MODIFY_PATH)
 set(CPACK_NSIS_DISPLAY_NAME CAMP)
 #set(CPACK_NSIS_INSTALLED_ICON_NAME)
-set(CPACK_NSIS_HELP_LINK "http://dev.tegesoft.com/camp/")
-set(CPACK_NSIS_URL_INFO_ABOUT "http://dev.tegesoft.com/camp/")
-set(CPACK_NSIS_CONTACT "camp@tegesoft.com")
+set(CPACK_NSIS_HELP_LINK "http://dev.tegesoft.com")
+set(CPACK_NSIS_URL_INFO_ABOUT "http://dev.tegesoft.com")
+set(CPACK_NSIS_CONTACT "contact@tegesoft.com")
 #set(CPACK_NSIS_CREATE_ICONS_EXTRA)
 #set(CPACK_NSIS_DELETE_ICONS_EXTRA)


Revert "Revert "[MSan] Enable on PowerPC64.""

This reverts commit r269532.

The failures triggered by the first attempt should be fixed by r273250.

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

--- cmake/config-ix.cmake
+++ cmake/config-ix.cmake
@@ -151,7 +151,7 @@
     ${MIPS32} ${MIPS64} ${PPC64})
 set(ALL_DFSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
 set(ALL_LSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
-set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64})
+set(ALL_MSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64})
 set(ALL_PROFILE_SUPPORTED_ARCH ${X86} ${X86_64} ${ARM32} ${ARM64} ${PPC64}
     ${MIPS32} ${MIPS64})
 set(ALL_TSAN_SUPPORTED_ARCH ${X86_64} ${MIPS64} ${ARM64} ${PPC64})


Added lots of features for the upcoming release.

--- cmake/fp.cmake
+++ cmake/fp.cmake
@@ -35,7 +35,7 @@

 # Choose the arithmetic methods.
 if (NOT FP_METHD)
-	set(FP_METHD "COMBA;COMBA;MONTY;SLIDE")
+	set(FP_METHD "COMBA;COMBA;MONTY")
 endif(NOT FP_METHD)
 list(LENGTH FP_METHD FP_LEN)
 if (FP_LEN LESS 3)


BUG: Fix ExternalProject.cmake - ReRun configure if configure command changes

Backported from CMake

If anything about the configure command changes, (command itself, cmake
used, cmake args or cmake generator) then re-run the configure step.
Fixes issue http://public.kitware.com/Bug/view.php?id=10258

--- CMake/ExternalProject.cmake
+++ CMake/ExternalProject.cmake
@@ -890,7 +890,16 @@

 # TODO: Make sure external projects use the proper compiler
 function(_ep_add_configure_command name)
-  ExternalProject_Get_Property(${name} source_dir binary_dir)
+  ExternalProject_Get_Property(${name} source_dir binary_dir tmp_dir)
+  # If anything about the configure command changes, (command itself, cmake
+  # used, cmake args or cmake generator) then re-run the configure step.
+  # Fixes issue http://public.kitware.com/Bug/view.php?id=10258
+  #
+  if(NOT EXISTS ${tmp_dir}/${name}-cfgcmd.txt.in)
+    file(WRITE ${tmp_dir}/${name}-cfgcmd.txt.in "cmd='@cmd@'\n")
+  endif()
+  configure_file(${tmp_dir}/${name}-cfgcmd.txt.in ${tmp_dir}/${name}-cfgcmd.txt)
+  list(APPEND file_deps ${tmp_dir}/${name}-cfgcmd.txt)

   _ep_get_configuration_subdir_suffix(cfgdir)


Disable automatic Boost library linking for tests

--HG--
branch : v0-8

--- cmake/CEGUIMacros.cmake
+++ cmake/CEGUIMacros.cmake
@@ -473,6 +473,7 @@
         )
     endif()

+    add_definitions(-DBOOST_ALL_NO_LIB)
     # set boost to use dynamic linking
     if (NOT CEGUI_BUILD_STATIC_CONFIGURATION)
         add_definitions( -DBOOST_TEST_DYN_LINK )


added: support for non-/installed locations

--- cmake/FindOGLplus.cmake
+++ cmake/FindOGLplus.cmake
@@ -14,15 +14,18 @@

 IF(NOT OGLplus_ROOT_DIR AND _oglplus_ENV_ROOT_DIR)
   SET(OGLplus_ROOT_DIR "${_oglplus_ENV_ROOT_DIR}")
-ENDIF(NOT OGLplus_ROOT_DIR AND _oglplus_ENV_ROOT_DIR)
+ENDIF()

 IF(OGLplus_ROOT_DIR)
   SET(_oglplus_HEADER_SEARCH_DIRS "${OGLplus_ROOT_DIR}"
                               "${OGLplus_ROOT_DIR}/include"
 			      "${OGLplus_ROOT_DIR}/implement"
                               ${_oglplus_HEADER_SEARCH_DIRS})
-ENDIF(OGLplus_ROOT_DIR)
+ENDIF()

+# non-installed build-only locations will have .hpp/.ipp files in different directories;
+# in case of an installed location, i.e. .hpp/.ipp in the same place, the following
+# 'LIST(REMOVE_DUPLICATES ...)' takes care of dublicate
 FIND_PATH(OGLplus_HPP_DIR "oglplus/buffer.hpp"
           PATHS ${_oglplus_HEADER_SEARCH_DIRS}
 	  DOC "The directory where oglplus/buffer.hpp resides")
@@ -32,6 +35,7 @@
 	  DOC "The directory where oglplus/buffer.ipp resides")

 SET(OGLplus_INCLUDE_DIRS "${OGLplus_HPP_DIR};${OGLplus_IPP_DIR}")
+LIST(REMOVE_DUPLICATES OGLplus_INCLUDE_DIRS)

 INCLUDE(FindPackageHandleStandardArgs)

@@ -39,4 +43,4 @@

 IF(OGLplus_FOUND AND VERBOSE)
   MESSAGE(STATUS "OGLplus_INCLUDE_DIRS = ${OGLplus_INCLUDE_DIRS}")
-ENDIF(OGLplus_FOUND AND VERBOSE)
+ENDIF()


Fix missing dependency in ADD_BISON_SOURCE

--- cmake/HandleBison.cmake
+++ cmake/HandleBison.cmake
@@ -14,6 +14,7 @@
 	ADD_CUSTOM_COMMAND(SOURCE ${f_src}
 		COMMAND ${BISON_EXECUTABLE}
 		ARGS ${f_src} -o ${f_dest}
-		OUTPUT ${f_dest})
+		OUTPUT ${f_dest}
+		DEPENDS ${f_src})
 	SET_SOURCE_FILES_PROPERTIES(${f_dest} GENERATED)
 ENDMACRO(ADD_BISON_SOURCE f_src f_dest)


Forgot to install pipelines folder

Forgot to install pipelines folder

--- cmake/InstallFAST.cmake
+++ cmake/InstallFAST.cmake
@@ -71,7 +71,12 @@

 # Install docs
 install(DIRECTORY ${PROJECT_SOURCE_DIR}/doc/
-		DESTINATION fast/doc/
+    DESTINATION fast/doc/
+)
+
+# Install pipelines
+install(DIRECTORY ${PROJECT_SOURCE_DIR}/pipelines/
+    DESTINATION fast/pipelines/
 )

 # Install Python wrapper


copy the ros_electric file too

copy the ros_electric file too

--- cmake/ectoInstall.cmake
+++ cmake/ectoInstall.cmake
@@ -39,6 +39,9 @@
 file(COPY ${ecto_SOURCE_DIR}/cmake/rosbuild_lite.cmake
     DESTINATION ${ecto_BINARY_DIR}/unix_install/
     )
+file(COPY ${ecto_SOURCE_DIR}/cmake/ros_electric.cmake
+    DESTINATION ${ecto_BINARY_DIR}/unix_install/
+    )
 #for client projects using ecto documentation tools
 file(COPY ${PROJECT_SOURCE_DIR}/cmake/doc.cmake
   DESTINATION ${CMAKE_BINARY_DIR}/unix_install/)


adding the debug postfix for tools and demos executables for MSVC

git-svn-id: 1af002208e930b4d920e7c2b948d1e98a012c795@1038 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -112,7 +112,7 @@
     #
     # Only link if needed
     if(WIN32 AND MSVC)
-      set_target_properties(${_name} PROPERTIES LINK_FLAGS_RELEASE /OPT:REF)
+      set_target_properties(${_name} PROPERTIES LINK_FLAGS_RELEASE /OPT:REF DEBUG_OUTPUT_NAME ${_name}${CMAKE_DEBUG_POSTFIX})
     elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
       set_target_properties(${_name} PROPERTIES LINK_FLAGS -Wl)
     else()


[cmake] attempt to fix linker problem on cluster

--- cmake/x264-config.cmake
+++ cmake/x264-config.cmake
@@ -14,11 +14,15 @@
   )
 endif()

+set(EXTRAS)
+if(UNIX) # also apple
+  set(EXTRAS m pthread ${CMAKE_DL_LIBS})
+endif()

 ExternalProject_Get_Property(libx264 INSTALL_DIR)
 set(X264_INCLUDE_DIR ${INSTALL_DIR}/include)
 set(X264_LIBRARY   x264)
-set(X264_LIBRARIES x264)
+set(X264_LIBRARIES x264 ${EXTRAS})

 foreach(tgt ${X264_LIBRARIES})
   add_library(${tgt} IMPORTED STATIC)


Silence -Wold-style-cast to build with Apple clang 4.0, Avoiding to use C++ style casts to keep backward compatibility.

--- cmake/Modules/CppUTestWarningFlags.cmake
+++ cmake/Modules/CppUTestWarningFlags.cmake
@@ -34,6 +34,7 @@
         Wsign-conversion
         Wno-padded
         Wno-disabled-macro-expansion
+        Wno-old-style-cast
         )

     if (NOT GMOCK AND NOT REAL_GTEST)


Qt graph: no need to add dependencies of dependency

--- cmake/modules/hunter_qt_add_module.cmake
+++ cmake/modules/hunter_qt_add_module.cmake
@@ -24,15 +24,5 @@
     return()
   endif()

-  set(dep_list "${x_COMPONENTS}")
-
-  foreach(dep ${dep_list})
-    list(APPEND dep_list ${component_${dep}_depends_on})
-  endforeach()
-
-  list(REMOVE_ITEM dep_list "") # remove empty elements
-  list(REMOVE_DUPLICATES dep_list)
-  list(SORT dep_list)
-
-  set(component_${x_NAME}_depends_on "${dep_list}" PARENT_SCOPE)
+  set(component_${x_NAME}_depends_on "${x_COMPONENTS}" PARENT_SCOPE)
 endfunction()


cmake: find boost-python Linux compatibility fix

--- config/FindVIGRANUMPY_DEPENDENCIES.cmake
+++ config/FindVIGRANUMPY_DEPENDENCIES.cmake
@@ -3,7 +3,7 @@
 FIND_PACKAGE(PythonInterp)

 IF(PYTHONINTERP_FOUND)
-    VIGRA_FIND_PACKAGE( Boost COMPONENTS PYTHON )
+    VIGRA_FIND_PACKAGE( Boost COMPONENTS python )

     FIND_PACKAGE(PythonLibs)


SVN_SILENT made messages (.desktop file)

--- plugins/morse/ktpaccountskcm_plugin_morse.desktop.cmake
+++ plugins/morse/ktpaccountskcm_plugin_morse.desktop.cmake
@@ -13,6 +13,7 @@
 Comment[pl]=Dostosowana nakładka graficzna do ustawiania kont dla kont wykorzystujących usługę połączeń Morse.
 Comment[pt]=Interface de utilizador de configuração de contas personalizadas com o gestor de ligações Morse.
 Comment[pt_BR]=Interface de configuração de contas personalizadas usando o gerenciador de conexões Morse.
+Comment[sk]=Vlastné používateľské rozhranie konfigurácie účtu pre účty používajúce správcu pripojení Morse.
 Comment[sr]=Корисничко сучеље за подешавање посебних налога под менаџером везе Морзе.
 Comment[sr@ijekavian]=Корисничко сучеље за подешавање посебних налога под менаџером везе Морзе.
 Comment[sr@ijekavianlatin]=Korisničko sučelje za podešavanje posebnih naloga pod menadžerom veze Morse.


优化distcc的使用方式

优化distcc的使用方式


Modify individual file caching in FindSTM32HAL by first converting to C identifier.

This makes sure we've got a safe name for a variable.


link libc++ when use clang

link libc++ when use clang


fix for corrent modules dependencies

fix for corrent modules dependencies

(cherry picked from commit 1c3d83df54d2f39c9403126bf3c1374eaf749dee)


cmake: Mark checklib variables as advanced


Seach for optional modules in environment as well

Toolchain file update


example: Add CHECK_INSTALL_DIR override for FindCheck.cmake

If pkg-config is not installed on the system, then the
FindCheck.cmake script may fail. This is especially likely
on Windows. In this case, we expect that the variable
CHECK_INSTALL_DIR points to the install location of Check.

If this variable is not defined, then the find_path() and
find_library() functions will try to locate Check the
best that it can.

git-svn-id: d023f1085a36f7a677188d00334e37d38ffecf51@1095 64e312b2-a51f-0410-8e61-82d0ca0eb02a

--- doc/example/cmake/FindCheck.cmake
+++ doc/example/cmake/FindCheck.cmake
@@ -24,10 +24,17 @@

 # Look for CHECK include dir and libraries
 IF( NOT CHECK_FOUND )
-
-	FIND_PATH( CHECK_INCLUDE_DIR check.h )
-
-	FIND_LIBRARY( CHECK_LIBRARIES NAMES check )
+	IF ( CHECK_INSTALL_DIR )
+		MESSAGE ( STATUS "Using override CHECK_INSTALL_DIR to find check" )
+		SET ( CHECK_INCLUDE_DIR  "${CHECK_INSTALL_DIR}/include" )
+		SET ( CHECK_INCLUDE_DIRS "${CHECK_INCLUDE_DIR}" )
+		FIND_LIBRARY( CHECK_LIBRARY NAMES check PATHS "${CHECK_INSTALL_DIR}/lib" )
+		FIND_LIBRARY( COMPAT_LIBRARY NAMES compat PATHS "${CHECK_INSTALL_DIR}/lib" )
+		SET ( CHECK_LIBRARIES "${CHECK_LIBRARY}" "${COMPAT_LIBRARY}" )
+	ELSE ( CHECK_INSTALL_DIR )
+		FIND_PATH( CHECK_INCLUDE_DIR check.h )
+		FIND_LIBRARY( CHECK_LIBRARIES NAMES check )
+	ENDIF ( CHECK_INSTALL_DIR )

 	IF ( CHECK_INCLUDE_DIR AND CHECK_LIBRARIES )
 		SET( CHECK_FOUND 1 )


CMake requires normalized paths when appending.

Patch by Hugh Bellamy
Differential Revision: https://reviews.llvm.org/D30927

git-svn-id: 4c4cc70b1ef44ba2b7963015e681894188cea27e@298100 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/modules/LLDBStandalone.cmake
+++ cmake/modules/LLDBStandalone.cmake
@@ -69,6 +69,7 @@

   set(LLVMCONFIG_FILE "${LLVM_CMAKE_PATH}/LLVMConfig.cmake")
   if(EXISTS ${LLVMCONFIG_FILE})
+    file(TO_CMAKE_PATH "${LLVM_CMAKE_PATH}" LLVM_CMAKE_PATH)
     list(APPEND CMAKE_MODULE_PATH "${LLVM_CMAKE_PATH}")
     include(${LLVMCONFIG_FILE})
   else()


Avoid using CMake list(FILTER) for old versions

--- cmake/modules/RootTestDriver.cmake
+++ cmake/modules/RootTestDriver.cmake
@@ -163,7 +163,17 @@
       # Filter messages in stderr that are expected
       string(STRIP ${_errvar0} _errvar0)
       string(REPLACE "\n" ";" _lines "${_errvar0}")
-      list(FILTER _lines EXCLUDE REGEX "^Info in <.+::ACLiC>: creating shared library.+")
+      if(CMAKE_VERSION VERSION_GREATER 3.6)
+        list(FILTER _lines EXCLUDE REGEX "^Info in <.+::ACLiC>: creating shared library.+")
+      else()
+        set(__lines)
+        foreach(_line ${_lines})
+          if(NOT _line MATCHES "^Info in <.+::ACLiC>: creating shared library.+")
+            list(APPEND __lines "${_line}")
+          endif()
+        endforeach()
+        set(_lines ${__lines})
+      endif()
       string(REPLACE ";" "\n" _errvar0 "${_lines}")
       if(_errvar0)
         message(FATAL_ERROR "Unexpected error output")


OpenCV: fix Android for CMake 3.7+

OpenCV: fix Android for CMake 3.7+

--- cmake/projects/OpenCV/hunter.cmake
+++ cmake/projects/OpenCV/hunter.cmake
@@ -206,6 +206,13 @@
   set(_ios_args ENABLE_NEON=ON)
 else()
   set(_ios_args "")
+endif()
+
+if(ANDROID)
+  # This feature doesn't work with new CMake 3.7+ toolchains
+  set(_android_args ENABLE_PRECOMPILED_HEADERS=OFF)
+else()
+  set(_android_args "")
 endif()

 hunter_cmake_args(
@@ -220,6 +227,7 @@
         INSTALL_PYTHON_EXAMPLES=OFF
         BUILD_WITH_STATIC_CRT=OFF # Fix https://github.com/ruslo/hunter/issues/177
         ${_ios_args}
+        ${_android_args}
         # Find packages in Hunter (instead of building from OpenCV sources)
         BUILD_ZLIB=OFF
         BUILD_TIFF=OFF


copy python files to build/lib so we can run build in-place

--- PyPort/compile-python.cmake
+++ PyPort/compile-python.cmake
@@ -62,4 +62,10 @@
 	set(PYTHON_LIBRARIES libpython-static)
 	install(DIRECTORY ${PYTHON_BUILD}/install/lib/python3.6 DESTINATION ${INSTALLDIR_LIBS})
 	add_definitions(-DPYTHON_LIBDIR="python3.6")
+
+	add_custom_target(copy-python-files ALL
+		COMMAND cmake -E copy_directory ${PYTHON_BUILD}/install/lib/python3.6 ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}/python3.6
+		DEPENDS build_python
+	)
+
 endif()


Added another search path for the DirectX SDK (the August 2007 version).  At some point we should decide exactly what DirectX SDK versions we support, but today is not that day.  And this is not the oldest version on the path list.

--- indra/cmake/DirectX.cmake
+++ indra/cmake/DirectX.cmake
@@ -5,6 +5,7 @@
             "$ENV{DXSDK_DIR}/Include"
             "C:/Program Files/Microsoft DirectX SDK (March 2008)/Include"
             "C:/Program Files/Microsoft DirectX SDK (November 2007)/Include"
+            "C:/Program Files/Microsoft DirectX SDK (August 2007)/Include"
             "C:/DX90SDK/Include"
             "C:/Program Files/DX90SDK/Include"
             )
@@ -22,6 +23,7 @@
             "$ENV{DXSDK_DIR}/Lib/x86"
             "C:/Program Files/Microsoft DirectX SDK (March 2008)/Lib/x86"
             "C:/Program Files/Microsoft DirectX SDK (November 2007)/Lib/x86"
+            "C:/Program Files/Microsoft DirectX SDK (August 2007)/Lib/x86"
             "C:/DX90SDK/Lib"
             "C:/Program Files/DX90SDK/Lib"
             )


Always compile with -fPIC if supported by the compiler.

--- cmake/Modules/DefineCompilerFlags.cmake
+++ cmake/Modules/DefineCompilerFlags.cmake
@@ -4,12 +4,12 @@

 if (UNIX AND NOT WIN32)
   # with -fPIC
+  check_c_compiler_flag("-fPIC" WITH_FPIC)
+  if (WITH_FPIC)
+    add_definitions(-fPIC)
+  endif (WITH_FPIC)
+
   if (CMAKE_SIZEOF_VOID_P MATCHES "8")
-    check_c_compiler_flag("-fPIC" WITH_FPIC)
-    if (WITH_FPIC)
-      add_definitions(-fPIC)
-    endif (WITH_FPIC)
-
     # with large file support
     execute_process(
       COMMAND


cmake: compiler/xcc: override and clear debug property for clang

Some older versions of XCC Clang would result in the following
error during compilation:

  /tmp/file.s: Assembler messages:
  /tmp/file.s:20: Error: file number 1 already allocated
  clang-3.9: error: Xtensa-as command failed with exit code 1

due to a bug in LLVM: https://bugs.llvm.org/show_bug.cgi?id=11740.
This is fixed in upstream, https://reviews.llvm.org/D20002, in 2016.
However, it seems that it is only fixed after XCC RI-2018.0.
Instead of blanket disabling usage of '-g', use an environment
variable "XCC_NO_G_FLAG" to disable usage of flag '-g' to workaround
this issue. This needs to be manually set because there is no way to
know which XCC version is being used, and compiler flag checking for
'-g' would not result in error (and thus '-g' is not ignored).
This is only needed for older XCC Clang. For sufficiently new XCC
verisons, there is no need for this.

Note that this is an alternative implementation to commit
deeb98da5328c6fbdfc4ad1c7638a205d86f83e7. This one does not
alter the GCC flag file, and instead, simply clear the debug
compiler property so "-g" is not used.

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

--- cmake/compiler/xcc/compiler_flags.cmake
+++ cmake/compiler/xcc/compiler_flags.cmake
@@ -6,6 +6,14 @@
   endif()

   include(${ZEPHYR_BASE}/cmake/compiler/clang/compiler_flags.cmake)
+
+  # Now, let's overwrite the flags that are different in xcc/clang.
+  if($ENV{XCC_NO_G_FLAG})
+    # Older xcc/clang cannot use "-g" due to this bug:
+    # https://bugs.llvm.org/show_bug.cgi?id=11740.
+    # Clear the related flag(s) here so it won't cause issues.
+    set_compiler_property(PROPERTY debug)
+  endif()
 else()
   include(${ZEPHYR_BASE}/cmake/compiler/gcc/compiler_flags.cmake)


minor change in doc

minor change in doc

--- cmake/downloaded/autocmake_python.cmake
+++ cmake/downloaded/autocmake_python.cmake
@@ -2,7 +2,7 @@
 #
 # Detects Python interpreter.
 #
-# Variables set::
+# Variables defined::
 #
 #   PYTHON_EXECUTABLE
 #


fix script

fix script

--- project/cmake/CompilerOption.cmake
+++ project/cmake/CompilerOption.cmake
@@ -68,7 +68,7 @@
         if (NOT ${VARNAME})
             set(${VARNAME} ${STDVERSION})
         endif ()
-    endif()
+    endmacro(try_set_compiler_lang_standard)

     # Auto compiler options, support gcc,MSVC,Clang,AppleClang
     if( ${CMAKE_CXX_COMPILER_ID} STREQUAL "GNU")


import updates for multi-isa C++ library creation from stream branch

--- components/ospcommon/cmake/macros.cmake
+++ components/ospcommon/cmake/macros.cmake
@@ -62,9 +62,10 @@
 MACRO(OSPRAY_CONFIGURE_ISPC_ISA)

   SET(OSPRAY_BUILD_ISA "ALL" CACHE STRING
-      "Target ISA (SSE4, AVX, AVX2, AVX512KNL, AVX512SKX, or ALL)")
+      "Target ISA (SCALAR, SSE4, AVX, AVX2, AVX512KNL, AVX512SKX, or ALL)")
   STRING(TOUPPER ${OSPRAY_BUILD_ISA} OSPRAY_BUILD_ISA)

+  SET(OSPRAY_SUPPORTED_ISAS SCALAR)
   IF(EMBREE_ISA_SUPPORTS_SSE4)
     SET(OSPRAY_SUPPORTED_ISAS ${OSPRAY_SUPPORTED_ISAS} SSE4)
   ENDIF()
@@ -88,6 +89,7 @@

   IF (OSPRAY_BUILD_ISA STREQUAL "ALL")

+    SET(OSPRAY_ISPC_TARGET_LIST ${OSPRAY_ISPC_TARGET_LIST} sse2)
     IF(EMBREE_ISA_SUPPORTS_SSE4)
       SET(OSPRAY_ISPC_TARGET_LIST ${OSPRAY_ISPC_TARGET_LIST} sse4)
       MESSAGE(STATUS "OSPRay SSE4 ISA target enabled.")
@@ -268,24 +270,61 @@
 # libmyLib_sse.so that has 'sources' comiled with sse compile flags,
 # one libmyLib_avx.so compiles with avx, etc.
 MACRO(OSPRAY_CREATE_SIMD_LIBRARY LIBRARY_BASE_NAME)
-  # the icc command line flags we have to pass when building
-  # specifically for this isa
-  # TODO: support other compilers as well
-  SET(OSPRAY_CXXFLAGS_SSE4 -msse4.2 -DOSPRAY_SIMD_SSE=1)
-  SET(OSPRAY_CXXFLAGS_AVX  -mavx -DOSPRAY_SIMD_AVX=1)
-  SET(OSPRAY_CXXFLAGS_AVX2 -mavx2 -DOSPRAY_SIMD_AVX2=1)
-  SET(OSPRAY_CXXFLAGS_AVX512KNL -mavx512 -DOSPRAY_SIMD_KNL=1)
-  SET(OSPRAY_CXXFLAGS_AVX512SKX -mcore-avx512 -DOSPRAY_SIMD_SKX=1)
-
-  # the ispc target tag we have to pass to ispc when building
-  # specifically for this isa
-  SET(OSPRAY_ISPC_TARGET_SSE4 sse4)
-  SET(OSPRAY_ISPC_TARGET_AVX  avx)
-  SET(OSPRAY_ISPC_TARGET_AVX2 avx2)
-  SET(OSPRAY_ISPC_TARGET_AVX512KNL avx512knl-i32x16)
-  SET(OSPRAY_ISPC_TARGET_AVX512SKX avx512skx-i32x16)
-
+  OSPRAY_SPLIT_CREATE_ARGS(LIBRARY ${ARGN})
+
+#    SET(OSPRAY_BUILD_ISA "ALL" CACHE STRING
+#      "Target ISA (scalar, SSE4, AVX, AVX2, AVX512KNL, AVX512SKX, or ALL)")
+
+#  message("ospray supported isas: " ${OSPRAY_SUPPORTED_ISAS})
+#  message("ospray build isa: " ${OSPRAY_BUILD_ISA})
+
+  # ------------------------------------------------------------------
+  # this is the list of all isa-specific targets we can in theory
+  # build for. note that skx and knx are different because they use
+  # different isas to be cleaned up, and set somewhere globally!
+
+  IF (OSPRAY_BUILD_ISA STREQUAL "ALL")
+    SET(ISALIST scalar sse4 avx avx2 skx knx)
+  ELSEIF (OSPRAY_BUILD_ISA STREQUAL "SCALAR")
+    SET(ISALIST scalar)
+  ELSEIF (OSPRAY_BUILD_ISA STREQUAL "SSE4")
+    SET(ISALIST scalar sse4)
+  ELSEIF (OSPRAY_BUILD_ISA STREQUAL "AVX")
+    SET(ISALIST scalar sse4 avx )
+  ELSEIF (OSPRAY_BUILD_ISA STREQUAL "AVX2")
+    SET(ISALIST scalar sse4 avx avx2)
+    #    SET(ISALIST sse avx avx2 skx knx)
+  ELSE ()
+    MESSAGE(FATAL_ERROR "un-recognized ospray_build_isa '${OSPRAY_BUILD_ISA}' in ospray_create_simd_library")
+  ENDIF()
+
+  IF (OSPRAY_COMPILER_ICC)
+    SET(OSPRAY_CXXFLAGS_SCALAR -DOSPRAY_SIMD_NONE=1 -DOSPRAY_SCALAR=1)
+    SET(OSPRAY_CXXFLAGS_SSE4 -xsse4.2 -DOSPRAY_SIMD_SSE=1)
+    SET(OSPRAY_CXXFLAGS_AVX  -xAVX -DOSPRAY_SIMD_AVX=1)
+    SET(OSPRAY_CXXFLAGS_AVX2 -xCORE-AVX2 -DOSPRAY_SIMD_AVX2=1)
+    SET(OSPRAY_CXXFLAGS_AVX512SKX  -xCORE-AVX512 -DOSPRAY_SIMD_SKX=1)
+    SET(OSPRAY_CXXFLAGS_AVX512KNL  -xMIC-AVX512 -DOSPRAY_SIMD_KNX=1)
+  ELSEIF (OSPRAY_COMPILER_GCC)
+    SET(OSPRAY_CXXFLAGS_SCALAR -DOSPRAY_SIMD_NONE=1 -DOSPRAY_SCALAR=1)
+    SET(OSPRAY_CXXFLAGS_SSE4 -msse4.2 -DOSPRAY_SIMD_SSE=1)
+    SET(OSPRAY_CXXFLAGS_AVX  -mavx -DOSPRAY_SIMD_AVX=1)
+    SET(OSPRAY_CXXFLAGS_AVX2 -mavx2 -mf16c -mfma -mlzcnt -mbmi -mbmi2 -DOSPRAY_SIMD_AVX2=1)
+    SET(OSPRAY_CXXFLAGS_AVX512SKX   -mavx512f -mavx512dq -mavx512cd -mavx512bw -mavx512vl -mf16c -mavx2 -mfma -mlzcnt -mbmi -mbmi2 -DOSPRAY_SIMD_SKX=2)
+    SET(OSPRAY_CXXFLAGS_AVX512KNL  -mavx512f -mavx512pf -mavx512er -mavx512cd -mf16c -mavx2 -mfma -mlzcnt -mbmi -mbmi2 -DOSPRAY_SIMD_KNX=1)
+  ELSEIF (OSPRAY_COMPILER_CLANG)
+    SET(OSPRAY_CXXFLAGS_SCALAR -DOSPRAY_SIMD_NONE=1 -DOSPRAY_SCALAR=1)
+    SET(OSPRAY_CXXFLAGS_SSE4 -msse4.2 -DOSPRAY_SIMD_SSE=1)
+    SET(OSPRAY_CXXFLAGS_AVX  -mavx -DOSPRAY_SIMD_AVX=1)
+    SET(OSPRAY_CXXFLAGS_AVX2 -mavx2 -mf16c -mfma -mlzcnt -mbmi -mbmi2 -DOSPRAY_SIMD_AVX2=1)
+    SET(OSPRAY_CXXFLAGS_AVX512SKX -march=skx -DOSPRAY_SIMD_SKX=1)
+    SET(OSPRAY_CXXFLAGS_AVX512KNL -march=knl -DOSPRAY_SIMD_KNX=1)
+  ELSE()
+    MESSAGE("OSPRAY_CREATE_SIMD_LIBRARY: Compiler not recognized!")
+  ENDIF()
+
   # the name of the library we'll be generating for that isa
+  SET(OSPRAY_SIMD_LIBNAME_SCALAR scalar)
   SET(OSPRAY_SIMD_LIBNAME_SSE4 sse4)
   SET(OSPRAY_SIMD_LIBNAME_AVX  avx)
   SET(OSPRAY_SIMD_LIBNAME_AVX2 avx2)
@@ -303,9 +342,33 @@
     OSPRAY_FIX_ISPC_TARGET_LIST()
     SET(OSPRAY_ISPC_TARGET_NAME ${OSPRAY_SIMD_LIBNAME_${ISA}})

+    # ----------- float -----------
     SET(LIBRARY_NAME ${LIBRARY_BASE_NAME}_${OSPRAY_SIMD_LIBNAME_${ISA}})
-    OSPRAY_CREATE_LIBRARY(${LIBRARY_NAME} ${ARGN})
-    TARGET_COMPILE_OPTIONS(${LIBRARY_NAME} PRIVATE ${OSPRAY_CXXFLAGS_${ISA}})
+    OSPRAY_ADD_LIBRARY(${LIBRARY_NAME}_float SHARED ${LIBRARY_SOURCES})
+    TARGET_COMPILE_OPTIONS(${LIBRARY_NAME}_float PRIVATE ${OSPRAY_CXXFLAGS_${ISA}} -DOSPRAY_USE_DOUBLES=0)
+    TARGET_LINK_LIBRARIES(${LIBRARY_NAME}_float ${LIBRARY_LIBS})
+    OSPRAY_SET_LIBRARY_VERSION(${LIBRARY_NAME}_float)
+    IF(${LIBRARY_EXCLUDE_FROM_ALL})
+      SET_TARGET_PROPERTIES(${LIBRARY_NAME}_float PROPERTIES EXCLUDE_FROM_ALL TRUE)
+    ELSE()
+      OSPRAY_INSTALL_LIBRARY(${LIBRARY_NAME}_float ${LIBRARY_COMPONENT})
+    ENDIF()
+
+    # ----------- double -----------
+    SET(LIBRARY_NAME ${LIBRARY_BASE_NAME}_${OSPRAY_SIMD_LIBNAME_${ISA}})
+    OSPRAY_ADD_LIBRARY(${LIBRARY_NAME}_double SHARED ${LIBRARY_SOURCES})
+    TARGET_COMPILE_OPTIONS(${LIBRARY_NAME}_double PRIVATE ${OSPRAY_CXXFLAGS_${ISA}} -DOSPRAY_USE_DOUBLES=1)
+    TARGET_LINK_LIBRARIES(${LIBRARY_NAME}_double ${LIBRARY_LIBS})
+    OSPRAY_SET_LIBRARY_VERSION(${LIBRARY_NAME}_double)
+    IF(${LIBRARY_EXCLUDE_FROM_ALL})
+      SET_TARGET_PROPERTIES(${LIBRARY_NAME}_double PROPERTIES EXCLUDE_FROM_ALL TRUE)
+    ELSE()
+      OSPRAY_INSTALL_LIBRARY(${LIBRARY_NAME}_double ${LIBRARY_COMPONENT})
+    ENDIF()
+
+    # end of hack: restore original ispc target list for multi-target libraries
+    SET(OSPRAY_ISPC_TARGET_LIST ${SAVED_OSPRAY_ISPC_TARGET_LIST})
+    SET(OSPRAY_ISPC_TARGET_NAME "")
   ENDFOREACH()

   # end of hack: restore original ispc target list for multi-target libraries


Added a Findparsical file. I need to test if it's actually working.

--- src/Findparsical.cmake
+++ src/Findparsical.cmake
@@ -0,0 +1,28 @@
+# Name: Findparsical.cmake
+#
+# Description:
+#   A cmake file allowing an easier time to find and use this library when using
+#   CMake.
+
+SET(SEARCH_DIRECTORIES
+  /usr/local
+)
+
+# Finding the parsical headers.
+find_path(PARSICAL_INCLUDE_DIR parsical.hpp
+  PATH_SUFFIX include
+  PATHS ${SEARCH_DIRECTORIES}
+)
+
+# Finding the parsical library.
+find_library(PARSICAL_LIBRARY
+  NAMES parsical
+  PATH_SUFFIXES lib lib/static
+  PATHS ${SERACH_DIRECTORIES}
+)
+
+include(FindPackageHandleStandardArgs)
+find_package_handle_standard_args(
+  CLIBGAME
+  REQUIRED_VARS CLIBGAME_INCLUDE_DIR CLIBGAME_LIBRARY
+)


CMake: Fix issue in newer cmake versions

* Fixes following error:

  can not determine linker language
  for target: __idf_newlib

--- tools/cmake/component.cmake
+++ tools/cmake/component.cmake
@@ -475,7 +475,7 @@
         __component_add_include_dirs(${component_lib} "${__INCLUDE_DIRS}" PUBLIC)
         __component_add_include_dirs(${component_lib} "${__PRIV_INCLUDE_DIRS}" PRIVATE)
         __component_add_include_dirs(${component_lib} "${config_dir}" PUBLIC)
-        set_target_properties(${component_lib} PROPERTIES OUTPUT_NAME ${COMPONENT_NAME})
+        set_target_properties(${component_lib} PROPERTIES OUTPUT_NAME ${COMPONENT_NAME} LINKER_LANGUAGE C)
         __ldgen_add_component(${component_lib})
     else()
         add_library(${component_lib} INTERFACE)


Shorten Slicer build path

Shorten Slicer build path

This creates problems on windows due to the limitations of cl.exe memory.
There are simply too many characters in the many include directories that
each target has.
To reduce the number of characters, we can shorten the build directory of
slicer.

--- CMake/Superbuild/External_Slicer.cmake
+++ CMake/Superbuild/External_Slicer.cmake
@@ -46,13 +46,11 @@

   find_package(Qt4 REQUIRED)

-  set(${proj}_DIR ${CMAKE_BINARY_DIR}/${proj}-build)
-
   # Retrieve modules
   get_property(${APPLICATION_NAME}_MODULES GLOBAL PROPERTY ${APPLICATION_NAME}_MODULES)

   # Set slicer build directory
-  set(${proj}_DIR ${CMAKE_BINARY_DIR}/${proj}-build)
+  set(${proj}_DIR ${CMAKE_BINARY_DIR}/S-build)

   set(Slicer_QTLOADABLEMODULES_DISABLED
     SlicerWelcome


Fixed issue where ctest was complaining

Fixed issue where ctest was complaining

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


Update CMakeExternals.cmake

Update CMakeExternals.cmake

Added fPIC flag for adios

--- CMakeExternals.cmake
+++ CMakeExternals.cmake
@@ -119,6 +119,7 @@
       CMAKE_ARGS
         -DBUILD_SHARED_LIBS=OFF
         -DBUILD_TESTING=OFF
+        -DCMAKE_POSITION_INDEPENDENT_CODE=ON
         -DADIOS2_USE_BZip2=OFF
         -DADIOS2_USE_Fortran=OFF
         -DADIOS2_USE_HDF5=OFF


Revert "use _TARGETS over deprecated _INTERFACES over classic CMake variables (#249)" (#250)

This reverts commit 1abe330837cf98632225e4af23ac610af863fb3e.

Signed-off-by: Dirk Thomas <19795c8185177e940eedd30ceb2b716a54a3d5dc@users.noreply.github.com>

--- ament_cmake_target_dependencies/cmake/ament_target_dependencies.cmake
+++ ament_cmake_target_dependencies/cmake/ament_target_dependencies.cmake
@@ -65,37 +65,12 @@
       if(NOT "${${package_name}_FOUND}")
         message(FATAL_ERROR "ament_target_dependencies() the passed package name '${package_name}' was not found before")
       endif()
-      # if a package provides modern CMake interface targets use them
-      # exclusively assuming the classic CMake variables only exist for
-      # backward compatibility
-      set(use_modern_cmake FALSE)
-      if(NOT "${${package_name}_TARGETS}" STREQUAL "")
-        foreach(_target ${${package_name}_TARGETS})
-          # only use actual targets
-          # in case a package uses this variable for other content
-          if(TARGET "${_target}")
-            list_append_unique(interfaces ${_target})
-            set(use_modern_cmake TRUE)
-          endif()
-        endforeach()
-      endif()
-      if(NOT use_modern_cmake AND NOT "${${package_name}_INTERFACES}" STREQUAL "")
-        foreach(_interface ${${package_name}_INTERFACES})
-          # only use actual targets
-          # in case a package uses this variable for other content
-          if(TARGET "${_interface}")
-            list_append_unique(interfaces ${_interface})
-            set(use_modern_cmake TRUE)
-          endif()
-        endforeach()
-        if(use_modern_cmake)
-          message(DEPRECATION
-            "Package ${package_name} is exporting the variable "
-            "${package_name}_INTERFACES which is deprecated, it should export
-            ${package_name}_TARGETS instead")
-        endif()
-      endif()
-      if(NOT use_modern_cmake)
+      if(NOT "${${package_name}_INTERFACES}" STREQUAL "")
+        # if a package provides modern CMake interface targets use them
+        # exclusively assuming the classic CMake variables only exist for
+        # backward compatibility
+        list_append_unique(interfaces ${${package_name}_INTERFACES})
+      else()
         # otherwise use the classic CMake variables
         list_append_unique(definitions ${${package_name}_DEFINITIONS})
         list_append_unique(include_dirs ${${package_name}_INCLUDE_DIRS})


Roll back the previous modif

Roll back the previous modif

--- salome_adm/cmake_files/FindOmniORB.cmake
+++ salome_adm/cmake_files/FindOmniORB.cmake
@@ -50,14 +50,7 @@
 ##############################################################################
 # find headers
 ##############################################################################
-IF (WIN32)
-  FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h)
-ELSE (WIN32)
-  FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h
-    PATHS "${OMNIORB_DIR}/include" "$ENV{OMNIORB_DIR}/include"
-    NO_DEFAULT_PATH)
-  FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h)
-ENDIF()
+FIND_PATH(OMNIORB_INCLUDE_DIR omniORB4/CORBA.h)

 ##############################################################################
 # find libraries
@@ -70,19 +63,11 @@
   FIND_LIBRARY( OMNIORB_LIBRARY_omniDynamic4
     NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}omniDynamic4${CMAKE_STATIC_LIBRARY_SUFFIX})
 ELSE (WIN32)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 NAMES omniORB4
-    PATHS "${OMNIORB_DIR}/lib${LIB_SUFFIX}" "$ENV{OMNIORB_DIR}/lib${LIB_SUFFIX}"
-    NO_DEFAULT_PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 NAMES omnithread)
-
-  #the rest libraries must be at the same PATH as omniORB4
-  GET_FILENAME_COMPONENT(OMNIORB_LIBRARY_PATH ${OMNIORB_LIBRARY_omniORB4} PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omnithread NAMES omnithread
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_omniDynamic4 NAMES omniDynamic4
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
+  FIND_LIBRARY(OMNIORB_LIBRARY_omniORB4 NAMES omniORB4)
+  FIND_LIBRARY(OMNIORB_LIBRARY_omnithread NAMES omnithread)
+  FIND_LIBRARY(OMNIORB_LIBRARY_omniDynamic4 NAMES omniDynamic4)
 ENDIF (WIN32)
-
+
 # Optional libraries

 IF (WIN32)
@@ -91,10 +76,8 @@
   FIND_LIBRARY( OMNIORB_LIBRARY_COSDynamic4
     NAMES ${CMAKE_STATIC_LIBRARY_PREFIX}COSDynamic4${CMAKE_STATIC_LIBRARY_SUFFIX})
 ELSE (WIN32)
-  FIND_LIBRARY(OMNIORB_LIBRARY_COS4 NAMES COS4
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
-  FIND_LIBRARY(OMNIORB_LIBRARY_COSDynamic4 NAMES COSDynamic4
-    PATHS "${OMNIORB_LIBRARY_PATH}" NO_DEFAULT_PATH)
+  FIND_LIBRARY(OMNIORB_LIBRARY_COS4 NAMES COS4)
+  FIND_LIBRARY(OMNIORB_LIBRARY_COSDynamic4 NAMES COSDynamic4)
 ENDIF (WIN32)

 ##############################################################################
@@ -108,13 +91,7 @@
     NAMES omniNames PATHS bin/x86_win32
   DOC "What is the path where omniNames (the ORB server) can be found")
 ELSE(WIN32)
-  FIND_PROGRAM(OMNIORB_IDL_COMPILER NAMES omniidl
-    PATHS "${OMNIORB_DIR}/bin" "$ENV{OMNIORB_DIR}/bin"
-    NO_DEFAULT_PATH)
   FIND_PROGRAM(OMNIORB_IDL_COMPILER NAMES omniidl)
-  FIND_PROGRAM(OMNIORB_NAMESERVER NAMES omniNames
-    PATHS "${OMNIORB_DIR}/bin" "$ENV{OMNIORB_DIR}/bin"
-    NO_DEFAULT_PATH)
   FIND_PROGRAM(OMNIORB_NAMESERVER NAMES omniNames)
 ENDIF (WIN32)

@@ -131,10 +108,7 @@
 ELSE()
   FIND_PATH(OMNIORB_PYTHON_BACKEND
      NAMES __init__.py
-     PATHS
-     "${OMNIORB_DIR}/lib/python${_py_version}/site-packages/omniidl_be"
-     "$ENV{OMNIORB_DIR}/lib/python${_py_version}/site-packages/omniidl_be"
-     "/usr/lib/omniidl/omniidl_be"
+     PATHS "/lib/python${_py_version}/site-packages/omniidl_be" "/usr/lib/omniidl/omniidl_be"
      DOC ${_doc})
 ENDIF()


Do not search for zlib at all when HDF5 provides zlib libraries

--- cmake/thirdParties.cmake
+++ cmake/thirdParties.cmake
@@ -16,7 +16,12 @@
     endif()
 endif()

-if(MATIO_WITH_ZLIB)
+set(HAVE_HDF5_ZLIB FALSE)
+if(HDF5_FOUND AND (TARGET zlib OR TARGET zlib-static OR TARGET zlib-shared OR TARGET hdf5::zlib-static OR TARGET hdf5::zlib-shared))
+    set(HAVE_HDF5_ZLIB TRUE)
+endif()
+
+if(MATIO_WITH_ZLIB AND NOT HAVE_HDF5_ZLIB)
     find_package(ZLIB 1.2.3)

     # try to find a static zlib version


Plugin Process: Disable lib on ASan/FreeBSD build

--- scripts/cmake/Modules/FindPluginprocess.cmake
+++ scripts/cmake/Modules/FindPluginprocess.cmake
@@ -15,7 +15,11 @@

 if (HAVE_MKFIFO)
 	if (HAVE_FORK)
-		set (PLUGINPROCESS_FOUND 1)
+		if (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+			set (PLUGINPROCESS_NOTFOUND_INFO "pluginprocess library does not work with enabled AddressSanitizer on FreeBSD")
+		else (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
+			set (PLUGINPROCESS_FOUND 1)
+		endif (ENABLE_ASAN AND CMAKE_SYSTEM_NAME MATCHES FreeBSD)
 	else (HAVE_FORK)
 		set (PLUGINPROCESS_NOTFOUND_INFO "fork does not exist on the target platform, excluding pluginprocess library")
 	endif (HAVE_FORK)


Split off 8.6.2

Split off 8.6.2

Signed-off-by: Richard Chapman <5900d56196fe29dba8e3ae556d57eae28e9f0195@hpccsystems.com>


Remove CTK Qt designer plugin install rules

--- CMake/mitkInstallRules.cmake
+++ CMake/mitkInstallRules.cmake
@@ -70,15 +70,3 @@
     MITK_INSTALL(DIRECTORY "${_qmake_path}/../translations/qtwebengine_locales")
   endif()
 endif()
-
-# Install CTK Qt designer plugins
-
-if(MITK_USE_CTK AND EXISTS ${CTK_DESIGNERPLUGINS_DIR})
-  set(_install_DESTINATION "plugins/designer")
-  if(NOT CMAKE_CFG_INTDIR STREQUAL ".")
-    set(_release_dir "Release/")
-  else()
-    set(_release_dir "")
-  endif()
-  MITK_INSTALL(DIRECTORY "${CTK_DESIGNERPLUGINS_DIR}/designer/${_release_dir}")
-endif()


update cmake scripts

update cmake scripts

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -196,7 +196,7 @@
 set(hokuyo_depends libbot)

 set(cmake_scripts_url https://github.com/RobotLocomotion/cmake.git)
-set(cmake_scripts_revision 2c4ee11aa719ad548df7eaf3c7047a98c6e3e01c)
+set(cmake_scripts_revision be0915b23c81d4dce8a6f62e4e74214c7047558a)
 set(cmake_scripts_external_args
   ${download_only_args}
   SOURCE_DIR ${source_prefix}/../drake/drake/cmake


Removed unnecessary messages

Removed unnecessary messages

--- Googlify.cmake
+++ Googlify.cmake
@@ -68,7 +68,6 @@
 function(add_linkflags TARGET)
   get_full_target(${TARGET} FULL_TARGET)
   get_target_property(FLAGS "${FULL_TARGET}" LINK_FLAGS)
-  message(STATUS "${FULL_TARGET} -> LINK_FLAGS=${FLAGS}")
   if (NOT FLAGS)
     set(FLAGS)
   endif ()
@@ -146,7 +145,6 @@
       VERBATIM)
   else ()
     if (SRC MATCHES "^third_party\\.")
-      message(STATUS "third_party add file ${SRC}")
       set(SRC ${SRC}_target)
     endif ()
     get_output_file(${SRC} OUTPUT_FILE)


Allow building cpython as a subproject

Allow building cpython as a subproject

--- cmake/ConfigureChecks.cmake
+++ cmake/ConfigureChecks.cmake
@@ -156,7 +156,7 @@

 set(_msg "Checking SOABI")
 try_run(PLATFORM_RUN PLATFORM_COMPILE
-        ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/cmake/platform.c
+        ${PROJECT_BINARY_DIR} ${PROJECT_SOURCE_DIR}/cmake/platform.c
         RUN_OUTPUT_VARIABLE PLATFORM_TRIPLET)
 if(NOT PLATFORM_COMPILE)
   message(FATAL_ERROR "We could not determine the platform. Please clean the ${CMAKE_PROJECT_NAME} environment and try again...")


[cmake] Make LIT_COMMAND configurable and improve fallback support

Make LIT_COMMAND configurable, use source tree only when actually
available and extend the default search to other common executable names
'lit.py' and 'lit', in order to increase uniformity between all LLVM
projects and support using installed lit.

Changing the conditional used to determine whether in-tree or external
lit is being used covers the case when LLVM_MAIN_SRC_DIR is defined but
does not exist (anymore). In this case, the functions falls back to
looking for installed lit rather than attempting to use a non-existing
path. The same conditional is used in clang already.

Making LIT_COMMAND a cache variable in case the source tree variant is
used serves two purposes. Firstly, it increases uniformity between
the two branches since find_program() implicitly makes LIT_COMMAND
a cache variable. Secondly, it allows overriding the lit executable used
to run the tests when the LLVM source tree is provided. Gentoo is
planning to use this to use installed (and byte-compiled) lit instead of
re-compiling it in every LLVM project.

Extending default search is meant to increase uniformity between
different LLVM projects. The 'lit.py' name is already used by a few of
them, and 'lit' is the name used by utils/lit/setup.py when installing.

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

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -1083,10 +1083,11 @@
   if (NOT CMAKE_CFG_INTDIR STREQUAL ".")
     list(APPEND LIT_ARGS --param build_mode=${CMAKE_CFG_INTDIR})
   endif ()
-  if (LLVM_MAIN_SRC_DIR)
-    set (LIT_COMMAND ${PYTHON_EXECUTABLE} ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
-  else()
-    find_program(LIT_COMMAND llvm-lit)
+  if (EXISTS ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
+    set (LIT_COMMAND "${PYTHON_EXECUTABLE} ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py"
+         CACHE STRING "Command used to spawn llvm-lit")
+  else()
+    find_program(LIT_COMMAND NAMES llvm-lit lit.py lit)
   endif ()
   list(APPEND LIT_COMMAND ${LIT_ARGS})
   foreach(param ${ARG_PARAMS})


fix typo

fix typo

--- cmake/modules/FindLCM.cmake
+++ cmake/modules/FindLCM.cmake
@@ -27,7 +27,7 @@
     find_package_handle_standard_args(${varname} DEFAULT_MSG ${varname}_INCLUDE_DIR ${varname}_LIBRARY)

     mark_as_advanced(${varname}_INCLUDE_DIR)
-    mark_as_advanced(${varmame}_LIBRARY)
+    mark_as_advanced(${varname}_LIBRARY)

 endmacro()


include(xwinttf)  (The device will not build properly without this include).

svn path=/trunk/; revision=7677

--- cmake/modules/drivers.cmake
+++ cmake/modules/drivers.cmake
@@ -81,6 +81,7 @@
 include(aqt)
 include(wxwidgets)
 include(pdf)
+include(xwinttf)

 # Finalize device options.
 include(drivers-finish)


Added find_package for cryptopp to multihashConfig.cmake

--- cmake/multihashConfig.cmake
+++ cmake/multihashConfig.cmake
@@ -1,4 +1,5 @@
 @PACKAGE_INIT@

 include("${CMAKE_CURRENT_LIST_DIR}/multihashTargets.cmake")
+find_package(cryptopp CONFIG REQUIRED)
 check_required_components("@PROJECT_NAME@")


dts: Treat a missing 'reg property warning' as an error

As far as testing can tell, all occurences of the "Node has a unit
name, but no reg property" warnings have been fixed. To prevent them
from re-appearing we turn the warning into an error.

This is a breaking change for out-of-tree boards that are affected by
the warning.

Signed-off-by: Sebastian Bøe <edee888afd63e94916688495334700803eba20a0@nordicsemi.no>

--- cmake/dts.cmake
+++ cmake/dts.cmake
@@ -111,6 +111,8 @@
     -O dts
     -o ${BOARD}.dts_compiled
     -b 0
+	${EXTRA_DTC_FLAGS} # User settable
+    -E unit_address_vs_reg
     ${BOARD}.dts.pre.tmp
     WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
     RESULT_VARIABLE ret


Added new Reference Screenshots

Added new Reference Screenshots

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

 if(BUILD_TESTING)

-  set(revision_tag 16389b6f)
+  set(revision_tag d800cde2)
 #                  ^^^^^^^^  these are just to check correct length of hash part

   ExternalProject_Add(${proj}


New Component with a DisplayPointSetInteractor

--- Core/Interactions/files.cmake
+++ Core/Interactions/files.cmake
@@ -12,6 +12,7 @@
   #mitkCorrectorTool2DFactory.cpp
   mitkDisplayCoordinateOperation.cpp
   mitkDisplayInteractor.cpp
+  mitkDisplayPointSetInteractor.cpp
   mitkDisplayPositionEvent.cpp
   mitkDisplayVectorInteractor.cpp
   mitkEraseRegionTool.cpp


Remove SDL2Config.cmake.

Remove SDL2Config.cmake.

--- Source/ThirdParty/SDL/SDL2Config.cmake
+++ Source/ThirdParty/SDL/SDL2Config.cmake
@@ -1 +0,0 @@
-include("${CMAKE_CURRENT_LIST_DIR}/SDL2Targets.cmake")


shared jsoncpp

shared jsoncpp


STYLE: Remove unused macro.

STYLE: Remove unused macro.

--- Wrapping/TypedefMacros.cmake
+++ Wrapping/TypedefMacros.cmake
@@ -126,25 +126,6 @@
   if(BUILD_TESTING AND EXISTS ${wrapping_test_directory}/CMakeLists.txt)
     add_subdirectory(${wrapping_test_directory})
   endif()
-endmacro()
-
-
-macro(INCLUDE_LIBRARY library)
-  # TODO: that macro is buggy !!!!
-  # it doesn't store the vars where in the lib sub dir
-
-  itk_wrap_module("${library}")
-  # change some default values
-
-  # WRAPPER_LIBRARY_SOURCE_DIR. Directory to be scanned for *.wrap files.
-  set(WRAPPER_LIBRARY_SOURCE_DIR "${CMAKE_CURRENT_SOURCE_DIR}/${library}")
-
-  # WRAPPER_LIBRARY_OUTPUT_DIR. Directory in which generated cxx, xml, idx,
-  # and mdx files will be placed.
-  set(WRAPPER_LIBRARY_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/${library}")
-
-  add_subdirectory("${library}")
-  itk_end_wrap_module()
 endmacro()


Make sure autoload meta targets exist (needed for external projects).

--- CMake/mitkFunctionCreateModule.cmake
+++ CMake/mitkFunctionCreateModule.cmake
@@ -235,9 +235,13 @@

         # check and set-up auto-loading
         if(MODULE_AUTOLOAD_WITH)
-          set(_module_autoload_meta_target "${MODULE_AUTOLOAD_WITH}-autoload")
           if(NOT TARGET "${MODULE_AUTOLOAD_WITH}")
             message(SEND_ERROR "The module target \"${MODULE_AUTOLOAD_WITH}\" specified as the auto-loading module for \"${MODULE_NAME}\" does not exist")
+          endif()
+          set(_module_autoload_meta_target "${MODULE_AUTOLOAD_WITH}-autoload")
+          # create a meta-target if it does not already exist
+          if(NOT TARGET ${_module_autoload_meta_target})
+            add_custom_target(${_module_autoload_meta_target})
           endif()
         endif()


SVN_SILENT made messages (.desktop file)

--- plasma-runner-ktp-contact.desktop.cmake
+++ plasma-runner-ktp-contact.desktop.cmake
@@ -16,6 +16,7 @@
 Name[kk]=Лезде хабарласу
 Name[nb]=Lynmelding
 Name[nl]=Instant Messaging
+Name[pl]=Komunikator internetowy
 Name[pt]=Mensagens Instantâneas
 Name[pt_BR]=Mensagens instantâneas
 Name[ro]=Mesagerie instantanee
@@ -49,6 +50,7 @@
 Comment[kk]=Кез-келген лезде хабарласу контактыңызбен чат-әңгімені бастау не күй-жайын өзгерту
 Comment[nb]=Start en prat med en av dine LM-kontakter eller endre din LM-status
 Comment[nl]=Begin een chat met een van uw IM-contactpersonen of wijzig uw IM-status
+Comment[pl]=Rozpocznij rozmowę z którymkolwiek z twoich kontaktów lub zmień swoja dostępność
 Comment[pt]=Iniciar uma conversa com qualquer um dos seus contactos MI ou mudar o seu estado
 Comment[pt_BR]=Inicia um bate-papo com um dos seus contatos de MI ou altera o seu status
 Comment[ro]=Începeți o discuție cu oricare dintre contactele de MI sau schimbați-vă starea


build: sort warning options

build: sort warning options

--- cmake/modules/DispatchCompilerWarnings.cmake
+++ cmake/modules/DispatchCompilerWarnings.cmake
@@ -8,38 +8,39 @@
     add_compile_options(-Werror)
     add_compile_options(-Wall)
     add_compile_options(-Wextra)
-    add_compile_options(-Wmissing-prototypes)
-    add_compile_options(-Wdocumentation)
-    add_compile_options(-Wunreachable-code)
-    add_compile_options(-Wshadow)
-    add_compile_options(-Wconversion)
+
+    add_compile_options(-Warray-bounds-pointer-arithmetic)
     add_compile_options(-Wassign-enum)
-    add_compile_options(-Wshorten-64-to-32)
-    add_compile_options(-Wnewline-eof)
-    add_compile_options(-Wsign-conversion)
-    add_compile_options(-Winfinite-recursion)
-    add_compile_options(-Warray-bounds-pointer-arithmetic)
     add_compile_options(-Watomic-properties)
     add_compile_options(-Wcomma)
     add_compile_options(-Wconditional-uninitialized)
+    add_compile_options(-Wconversion)
     add_compile_options(-Wcovered-switch-default)
     add_compile_options(-Wdate-time)
     add_compile_options(-Wdeprecated)
+    add_compile_options(-Wdocumentation)
     add_compile_options(-Wdouble-promotion)
     add_compile_options(-Wduplicate-enum)
     add_compile_options(-Wexpansion-to-defined)
     add_compile_options(-Wfloat-equal)
     add_compile_options(-Widiomatic-parentheses)
+    add_compile_options(-Winfinite-recursion)
+    add_compile_options(-Wmissing-prototypes)
+    add_compile_options(-Wnewline-eof)
     add_compile_options(-Wnullable-to-nonnull-conversion)
     add_compile_options(-Wobjc-interface-ivars)
     add_compile_options(-Wover-aligned)
     add_compile_options(-Wpacked)
     add_compile_options(-Wpointer-arith)
     add_compile_options(-Wselector)
+    add_compile_options(-Wshadow)
+    add_compile_options(-Wshorten-64-to-32)
+    add_compile_options(-Wsign-conversion)
     add_compile_options(-Wstatic-in-inline)
     add_compile_options(-Wsuper-class-method-mismatch)
     add_compile_options(-Wswitch-enum)
     add_compile_options(-Wunguarded-availability)
+    add_compile_options(-Wunreachable-code)
     add_compile_options(-Wunused)

     add_compile_options(-Wno-unknown-warning-option)


setup.cmake template

setup.cmake template

--- setup.cmake
+++ setup.cmake
@@ -3,38 +3,23 @@

 # --- Project-specific -Doptions
 # these will be used if the project isn't already configured.
-
 set(_opts)

 # --- boilerplate follows
+message(STATUS "CMake ${CMAKE_VERSION}")
+if(CMAKE_VERSION VERSION_LESS 3.15)
+  message(FATAL_ERROR "Please update CMake >= 3.15")
+endif()
+
 # site is OS name
 if(NOT DEFINED CTEST_SITE)
   set(CTEST_SITE ${CMAKE_SYSTEM_NAME})
 endif()

-# if compiler specified, deduce its ID
+# test name is Fortran compiler in FC
+# Note: ctest scripts cannot read cache variables like CMAKE_Fortran_COMPILER
 if(DEFINED ENV{FC})
-  set(FC $ENV{FC})
-endif()
-if(DEFINED CMAKE_Fortran_COMPILER)
-  set(FC ${CMAKE_Fortran_COMPILER})
-endif()
-if(DEFINED FC)
-  foreach(c gfortran ifort flang pgfortran nagfor xlf ftn)
-    string(FIND ${FC} ${c} i)
-    if(i GREATER_EQUAL 0)
-      if(c STREQUAL gfortran)
-        execute_process(COMMAND gfortran -dumpversion
-          RESULT_VARIABLE _ret
-          OUTPUT_VARIABLE _vers OUTPUT_STRIP_TRAILING_WHITESPACE)
-        if(_ret EQUAL 0)
-          string(APPEND c "-${_vers}")
-        endif()
-      endif()
-      set(CTEST_BUILD_NAME ${c})
-      break()
-    endif()
-  endforeach()
+  set(CTEST_BUILD_NAME $ENV{FC})
 endif()

 if(NOT DEFINED CTEST_BUILD_CONFIGURATION)
@@ -46,16 +31,17 @@
   set(CTEST_BINARY_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/build)
 endif()

+# CTEST_CMAKE_GENERATOR must be defined in any case here.
 if(NOT DEFINED CTEST_CMAKE_GENERATOR)
   find_program(_gen NAMES ninja ninja-build samu)
   if(_gen)
     set(CTEST_CMAKE_GENERATOR "Ninja")
   elseif(WIN32)
     set(CTEST_CMAKE_GENERATOR "MinGW Makefiles")
-    set(CTEST_BUILD_FLAGS -j)
+    set(CTEST_BUILD_FLAGS -j)  # not --parallel as this goes to generator directly
   else()
     set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
-    set(CTEST_BUILD_FLAGS -j)
+    set(CTEST_BUILD_FLAGS -j)  # not --parallel as this goes to generator directly
   endif()
 endif()

@@ -65,4 +51,12 @@
 endif()
 ctest_build(BUILD ${CTEST_BINARY_DIRECTORY} CONFIGURATION ${CTEST_BUILD_CONFIGURATION})
 ctest_test(BUILD ${CTEST_BINARY_DIRECTORY})
-# ctest_submit()
+
+# using ctest_submit makes error code 0 even if test(s) failed!
+if(DEFINED ENV{CI})
+  set(CI $ENV{CI})
+endif()
+
+if(NOT CI)
+  # ctest_submit()
+endif()


use --xunit-prefix-with-testsuite-name option of upcoming nosetests version

--- ament_cmake_nose/cmake/ament_add_nose_test.cmake
+++ ament_cmake_nose/cmake/ament_add_nose_test.cmake
@@ -56,6 +56,9 @@
     "--xunit-file=${result_file}")
   if(NOT "${NOSETESTS_VERSION}" VERSION_LESS "1.3.5")
     list(APPEND cmd "--xunit-testsuite-name=${PROJECT_NAME}.nosetests")
+    if(NOT "${NOSETESTS_VERSION}" VERSION_LESS "1.3.8")
+      list(APPEND cmd "--xunit-prefix-with-testsuite-name")
+    endif()
   endif()

   if(ARG_TIMEOUT)


Allowed more than one directory to be specified as BOOST_ROOT.

git-svn-id: b7791fb0f5d07d96612766859ad70a13be88ea96@1787 305cdda6-5ce1-45b3-a98d-dfc68c8b3305

--- library/FindBoost.cmake
+++ library/FindBoost.cmake
@@ -243,12 +243,12 @@
   ENDIF( NOT $ENV{BOOST_LIBRARYDIR} STREQUAL "" )

   IF( BOOST_ROOT )
-    IF( WIN32 )
-      SET(_boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS})
-    ELSE( WIN32 )
-      SET(_boost_INCLUDE_SEARCH_DIRS ${BOOST_ROOT}/include ${_boost_INCLUDE_SEARCH_DIRS})
-    ENDIF( WIN32 )
-    SET(_boost_LIBRARIES_SEARCH_DIRS ${BOOST_ROOT}/lib ${_boost_LIBRARIES_SEARCH_DIRS})
+
+    FOREACH(SearchDir ${BOOST_ROOT})
+        LIST(INSERT _boost_INCLUDE_SEARCH_DIRS 0 ${SearchDir}/include)
+        LIST(INSERT _boost_LIBRARIES_SEARCH_DIRS 0 ${SearchDir}/lib)
+    ENDFOREACH(SearchDir ${BOOST_ROOT})
+
   ENDIF( BOOST_ROOT )

   IF( BOOST_INCLUDEDIR )
@@ -427,6 +427,18 @@
       ENDIF(WIN32)
     ENDIF( Boost_USE_STATIC_LIBS )

+    # On Linux, if the libraries have the version.so.version format, we need to find
+    # those files for installation of boost dlls to work correctly.
+    SET(_Boost_ADDITIONAL_NAMES "")
+    IF( CMAKE_HOST_UNIX )
+        SET(_Boost_ADDITIONAL_NAMES
+               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}.so
+               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}
+               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}
+               ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_MULTITHREADED}${_boost_STATIC_TAG}
+               ${Boost_LIB_PREFIX}boost_${COMPONENT}
+            )
+    ENDIF( CMAKE_HOST_UNIX )
     FIND_LIBRARY(Boost_${UPPERCOMPONENT}_LIBRARY_RELEASE
         NAMES  ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}-${Boost_LIB_VERSION}
                ${Boost_LIB_PREFIX}boost_${COMPONENT}${_boost_COMPILER}${_boost_MULTITHREADED}${_boost_STATIC_TAG}-${Boost_LIB_VERSION}


fix but in reference to superlu lib

fix but in reference to superlu lib

--- osx_10.9.cmake
+++ osx_10.9.cmake
@@ -15,7 +15,7 @@
 SET (EXTERNAL_LIB ${PROJECT_SOURCE_DIR}/external)
 SET (SUPERLULOCATE  ${EXTERNAL_LIB}/SuperLU_4.3)
 SET (SUPERLU_INCLUDE ${SUPERLULOCATE}/SRC)
-SET (SUPERLU_ARCHIVE ${SUPERLULOCATE}/lib/libsuperlu_4.3_${CMAKE_OSX_ARCHITECTURES}.a)
+SET (SUPERLU_ARCHIVE ${SUPERLULOCATE}/lib/libsuperlu_4.3_x86_64.a)
 SET (TCL_INCLUDE "/usr/include")
 SET (TCL_ARCHIVE "/usr/lib/libtcl8.5.dylib" -ldl)
 SET (SQLITE3_ARCHIVE /usr/lib/libsqlite3.dylib)


Fix typo in comment

Fix typo in comment

--- cmake/Modules/GroupTargetSources.cmake
+++ cmake/Modules/GroupTargetSources.cmake
@@ -1,5 +1,5 @@
-# group_target_sources(target) - group target's source files on based on
-# their directory.
+# group_target_sources(target) - group target's source files based on
+# their path.

 function(group_target_sources target)
   get_target_property(sources ${target} SOURCES)
@@ -14,4 +14,4 @@
     string(REGEX REPLACE "/" "\\\\" win_path "${path}")
     source_group("${win_path}" REGULAR_EXPRESSION "${path}/[^/\\]+\\..*")
   endforeach()
-endfunction()+endfunction()


[Config] Ignore compiled Python objects (.pyc) and JavaScript bundled libraries when building the tar-ball.

--- config/project_config_embeddable.cmake
+++ config/project_config_embeddable.cmake
@@ -262,12 +262,15 @@
     "${CPACK_PACKAGE_NAME}-${CPACK_PACKAGE_VERSION}"
     CACHE INTERNAL "tarball basename")
   set (AUTOTOOLS_IGNRD "/tmp/;/tmp2/;/autom4te\\\\.cache/;autogen\\\\.sh$")
-  set (PACK_IGNRD "${CMAKE_CURRENT_BINARY_DIR};${CPACK_PACKAGE_NAME}\\\\.spec;\\\\.gz$;\\\\.bz2$")
+  set (PACK_IGNRD
+    "${CMAKE_CURRENT_BINARY_DIR};${CPACK_PACKAGE_NAME}\\\\.spec;\\\\.gz$;\\\\.bz2$")
   set (EDIT_IGNRD "\\\\.swp$;\\\\.#;/#;~$")
   set (SCM_IGNRD
     "/CVS/;/\\\\.svn/;/\\\\.bzr/;/\\\\.hg/;/\\\\.git/;\\\\.gitignore$")
+  set (PYTHON_IGNRD "\\\\.pyc$")
+  set (JS_IGNRD "/browser/js/mylibs;/browser/libs")
   set (CPACK_SOURCE_IGNORE_FILES
-    "${AUTOTOOLS_IGNRD};${SCM_IGNRD};${EDIT_IGNRD};${PACK_IGNRD}"
+    "${AUTOTOOLS_IGNRD};${SCM_IGNRD};${EDIT_IGNRD};${PACK_IGNRD};${PYTHON_IGNRD};${JS_IGNRD}"
     CACHE STRING "CPACK will ignore these files")
   #set (CPACK_SOURCE_IGNORE_DIRECTORY ${CPACK_SOURCE_IGNORE_FILES} .git)


Update Superbuild to ITK 4.13rc02

Update Superbuild to ITK 4.13rc02

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -47,7 +47,7 @@
 mark_as_advanced(ITK_GIT_REPOSITORY)
 sitk_legacy_naming(ITK_GIT_REPOSITORY ITK_REPOSITORY)

-set(ITK_GIT_TAG "v4.13rc01" CACHE STRING "Tag in ITK git repo")
+set(ITK_GIT_TAG "v4.13rc02" CACHE STRING "Tag in ITK git repo")
 mark_as_advanced(ITK_GIT_TAG)
 set(ITK_TAG_COMMAND GIT_TAG "${ITK_GIT_TAG}")


ENH: Bump ITK superbuild tag to 4.5.0.

ENH: Bump ITK superbuild tag to 4.5.0.

Change-Id: Ia62cab08f81b977d2027fc486a77de8e3afa5f16

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

 if( NOT ITK_TAG )
-  # ITK master 2013-09-08
-  set( ITK_TAG "130d80b376e61a30661d7e7fcbd98ed338dd48fb" )
+  set( ITK_TAG "v4.5.0" )
 endif()

 set( _vtk_args )


Fix Sandbox version

Fix Sandbox version

--- sequoia-examples/src/sequoia-examples/Sandbox/Config.h.cmake
+++ sequoia-examples/src/sequoia-examples/Sandbox/Config.h.cmake
@@ -16,6 +16,6 @@
 #ifndef SEQUOIA_EXAMPLES_SANDBOX_CONFIG_H
 #define SEQUOIA_EXAMPLES_SANDBOX_CONFIG_H

-#define SEQUOIA_EXAMPLES_SANDBOX_VERSION "${SEQUOIA_EXAMPLES_SANDBOX_VERSION}"
+#define SEQUOIA_EXAMPLES_SANDBOX_VERSION "@SEQUOIA_EXAMPLES_SANDBOX_VERSION@"

 #endif


cmake: Add -fno-common for Pre-10.5 for shared library.

--- extras/buildsystem/cmake/include/config.cmake
+++ extras/buildsystem/cmake/include/config.cmake
@@ -208,6 +208,9 @@
      "${CMAKE_SHARED_MODULE_CREATE_CXX_FLAGS} ${DYNAMIC_LOOKUP}")
     set(CMAKE_SHARED_MODULE_CREATE_C_FLAGS
      "${CMAKE_SHARED_MODULE_CREATE_C_FLAGS} ${DYNAMIC_LOOKUP}")
+
+    # For pre-10.5
+    set( CMAKE_SHARED_LIBRARY_C_FLAGS "${CMAKE_C_FLAGS} -fno-common")

     set(SYS_DARWIN 1)
     add_definitions(-std=gnu99) # Hack for obj-c files to be compiled with gnu99


BUG: Boost was not build with MSVC 2019 toolset, boost version updated to 1.72 for compat with msvc

--- SuperBuild/CMake/External_boost.cmake
+++ SuperBuild/CMake/External_boost.cmake
@@ -89,8 +89,8 @@
 #NOTE: update _SB_Boost_INCLUDE_DIR below when you change version number
 ExternalProject_Add(BOOST
   PREFIX BOOST
-  URL "https://downloads.sourceforge.net/project/boost/boost/1.69.0/boost_1_69_0.tar.bz2"
-  URL_MD5 a1332494397bf48332cb152abfefcec2
+  URL "https://downloads.sourceforge.net/project/boost/boost/1.72.0/boost_1_72_0.tar.bz2"
+  URL_MD5 cb40943d2a2cb8ce08d42bc48b0f84f0
   BINARY_DIR ${BOOST_SB_BUILD_DIR}
   INSTALL_DIR ${SB_INSTALL_PREFIX}
   DOWNLOAD_DIR ${DOWNLOAD_LOCATION}


Typo in name of option

Typo in name of option

--- SuperBuild/CMake/External_boost.cmake
+++ SuperBuild/CMake/External_boost.cmake
@@ -21,8 +21,6 @@
 INCLUDE_ONCE_MACRO(BOOST)

 SETUP_SUPERBUILD(BOOST)
-
-

 if(UNIX)
   set(BOOST_BOOTSTRAP_FILE "./bootstrap.sh")
@@ -48,11 +46,11 @@
 # Libraries we need from boost
 set( boost_libraries_to_build "system;serialization;filesystem;test;date_time;program_options;thread")

-# add libraries to bootstrap option
+# add libraries to b2 option
 set(BOOST_SB_CONFIG)
 foreach(lib ${boost_libraries_to_build})
-  set(BOOST_BOOTSTRAP_OPTIONS
-    ${BOOST_BOOTSTRAP_OPTIONS}
+  set(BOOST_SB_CONFIG
+    ${BOOST_SB_CONFIG}
     --with-${lib})
 endforeach(lib)
 # I think that this is already handled by boost.


Fixes #45.  Caused by setting of empty arg to 'src'

--- cmake/catkin_export_python.cmake
+++ cmake/catkin_export_python.cmake
@@ -4,11 +4,6 @@

   # Use PROJECT_NAME as pkg_name
   set(pkg_name ${PROJECT_NAME})
-
-  # Default python dir is 'src'
-  if(NOT ARGN)
-    set(ARGN "src")
-  endif()

   # Prepend CMAKE_CURRENT_SOURCE_DIR to all relative python directories and create PYTHON_PATH
   set(PACKAGE_PYTHONPATH "")


equivalent tiles: corrected typo in prjxray cmake

Signed-off-by: Alessandro Comodi <622632e70fd6771cf2cd943f69e5e51ab66adef8@antmicro.com>

--- xc7/make/project_xray.cmake
+++ xc7/make/project_xray.cmake
@@ -88,7 +88,7 @@
   get_target_property_required(PYTHON3 env PYTHON3)
   get_target_property(PYTHON3_TARGET env PYTHON3_TARGET)

-  set(TILE_TYPE_IMPORT ${symbiflow-arch-defs_SOURCE_DIR}/xc7/utils/prjxray_tile_import.py)
+  set(TILE_IMPORT ${symbiflow-arch-defs_SOURCE_DIR}/xc7/utils/prjxray_tile_import.py)
   get_project_xray_dependencies(DEPS ${PROJECT_XRAY_TILE_PART} ${TILE})

   set(PART ${PROJECT_XRAY_TILE_PART})
@@ -114,7 +114,7 @@
   add_custom_command(
     OUTPUT ${TILE}.pb_type.xml ${TILE}.model.xml
     COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PRJXRAY_DIR}:${symbiflow-arch-defs_SOURCE_DIR}/utils
-    ${PYTHON3} ${TILE_TYPE_IMPORT}
+    ${PYTHON3} ${TILE_IMPORT}
     --part ${PROJECT_XRAY_TILE_PART}
     --tile ${PROJECT_XRAY_TILE_TILE}
     --site_directory ${symbiflow-arch-defs_BINARY_DIR}/xc7/primitives
@@ -144,7 +144,7 @@
       )

   # tile tags
-  set(TILE_IMPORT ${symbiflow-arch-defs_SOURCE_DIR}/xc7/utils/prjxray_tile_type_import.py)
+  set(TILE_TYPE_IMPORT ${symbiflow-arch-defs_SOURCE_DIR}/xc7/utils/prjxray_tile_type_import.py)
   get_project_xray_dependencies(DEPS ${PROJECT_XRAY_TILE_PART} ${TILE})

   foreach(EQUIVALENT_TILE ${PROJECT_XRAY_TILE_EQUIVALENT_TILES})
@@ -164,7 +164,7 @@
   add_custom_command(
     OUTPUT ${TILE}.tile.xml
     COMMAND ${CMAKE_COMMAND} -E env PYTHONPATH=${PRJXRAY_DIR}:${symbiflow-arch-defs_SOURCE_DIR}/utils
-    ${PYTHON3} ${TILE_IMPORT}
+    ${PYTHON3} ${TILE_TYPE_IMPORT}
     --part ${PROJECT_XRAY_TILE_PART}
     --tile ${PROJECT_XRAY_TILE_TILE}
     --tiles-directory ${symbiflow-arch-defs_BINARY_DIR}/xc7/archs/${PART}/tiles


PKG: add libwebp to the list of system libs

--- SuperBuild/Packaging/PackageGlobals.cmake
+++ SuperBuild/Packaging/PackageGlobals.cmake
@@ -91,6 +91,7 @@
   libexpat.so.*
   libfontconfig.so*
   libfreetype.so*
+  libwebp.so*
   )

 # libgcc_s.*dylib and other *.framework are dragged by QT


SuperBuild: back to curl shared lib build

--- SuperBuild/CMake/External_curl.cmake
+++ SuperBuild/CMake/External_curl.cmake
@@ -58,7 +58,6 @@
   -DBUILD_DASHBOARD_REPORTS:BOOL=OFF
   -DBUILD_RELEASE_DEBUG_DIRS:BOOL=OFF
   -DCMAKE_USE_GSSAPI:BOOL=OFF
-  -DCMAKE_USE_OPENSSL:BOOL=ON
   -DCMAKE_USE_LIBSSH2:BOOL=OFF
   -DCMAKE_USE_OPENLDAP:BOOL=OFF
   -DCMAKE_USE_MBEDTLS:BOOL=OFF
@@ -80,7 +79,7 @@
   -DCURL_DISABLE_TFTP:BOOL=ON
   -DCURL_DISABLE_VERBOSE_STRINGS:BOOL=OFF
   -DCURL_HIDDEN_SYMBOLS:BOOL=OFF
-  -DCURL_STATICLIB:BOOL=ON
+  -DCURL_STATICLIB:BOOL=OFF
   -DDISABLED_THREADSAFE:BOOL=OFF
   -DENABLE_ARES:BOOL=OFF
   -DENABLE_CURLDEBUG:BOOL=OFF
@@ -105,5 +104,5 @@
 if(WIN32)
   set(_SB_CURL_LIBRARY "${SB_INSTALL_PREFIX}/lib/libcurl_imp.lib")
 elseif(UNIX)
-  set(_SB_CURL_LIBRARY ${SB_INSTALL_PREFIX}/lib/libcurl${CMAKE_STATIC_LIBRARY_SUFFIX})
+  set(_SB_CURL_LIBRARY ${SB_INSTALL_PREFIX}/lib/libcurl${CMAKE_SHARED_LIBRARY_SUFFIX})
 endif()


COMP: Bump KWStyle to latest master

COMP: Bump KWStyle to latest master

Addresses various build warnings and other fixes.

  git shortlog --no-merges 3b868a6ba0b204f8af608140b5009101f66cfda6..

  Andrew Somerville (2):
      don't print file to stderr if there are bad characters
      catch find failure

  Edward Betts (1):
	fix spelling mistakes

  Francois Budin (1):
	BUG: KWStyle was not checking if string was between single quotes

  Lampo89 (1):
	Bugfix: checkIndent never set \t as tab character

  Nicola Spanti (RyDroid) (3):
	Improving README
	Adding a .gitignore at root
	cppcheck --quiet --force --enable=warning,style,performance,portability metaCommand.cxx

  Sean McBride (3):
	Fixed trivial -Wunreachable-code-break warning
	Fixed typos/spelling in user-visible strings
	Made private functions/globals static, fixing -Wmissing-prototypes warnings

  Stephen Aylward (15):
	ENH: Enable testing for spaces after if, for, while, and until cmds
	ENH: Check for spaces after commas, after (, and before )
	COMP: Remove unused params: Comma, IfWhileForUntil, Paranthesis
	COMP: Fixed signed / unsigned comparison and shadowed vars
	ENH: Test for being within < > and ( ) and ignore multiple , if true.
	BUG: Single quote check incorrect if a single quote used within a string
	COMP: Removed debugging couts
	BUG: Must run BetweenChars and BetweenCharFast to cover all options
	COMP: Params first and second shadowed member variables.  Renamed.
	BUG: Ignore indent within typedef and << statements.
	ENH: Relax formatting restrictions on consecutive short lines.
	BUG: Must include <string.h> to get strncmp
	ENH: Allow for spaces after commas at the end of lines in macros.
	COMP: Fix warning on signed/unsigned comparison w/loop iterator
	COMP: Removed unused var

Change-Id: I5e0244a2c56455bbff65783976160b56b5a5c38d

--- Utilities/KWStyle/BuildKWStyle.cmake
+++ Utilities/KWStyle/BuildKWStyle.cmake
@@ -28,7 +28,7 @@
 if(NOT TARGET KWStyle)
 ExternalProject_add(KWStyle
   GIT_REPOSITORY "${git_protocol}://github.com/Kitware/KWStyle.git"
-  GIT_TAG 3b868a6ba0b204f8af608140b5009101f66cfda6
+  GIT_TAG 8148e5ac45dc9783e6bb55b06c7398db63936ec4
   UPDATE_COMMAND ""
   DOWNLOAD_DIR ${KWStyle_SOURCE_DIR}
   SOURCE_DIR ${KWStyle_SOURCE_DIR}


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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