Remove unused FindLZMA.cmake

Remove unused FindLZMA.cmake

--- cmake/modules/FindLZMA.cmake
+++ cmake/modules/FindLZMA.cmake
@@ -1,49 +0,0 @@
-# Copyright (C) 1995-2019, Rene Brun and Fons Rademakers.
-# All rights reserved.
-#
-# For the licensing terms see $ROOTSYS/LICENSE.
-# For the list of contributors see $ROOTSYS/README/CREDITS.
-
-# Find the LZMA includes and library.
-#
-# This module defines
-# LZMA_INCLUDE_DIR, where to locate LZMA header files
-# LZMA_LIBRARIES, the libraries to link against to use LZMA
-# LZMA_FOUND.  If false, you cannot build anything that requires LZMA
-
-if(LZMA_CONFIG_EXECUTABLE)
-  set(LZMA_FIND_QUIETLY 1)
-endif()
-set(LZMA_FOUND 0)
-
-find_path(LZMA_INCLUDE_DIR lzma.h
-  $ENV{LZMA_DIR}/include
-  /usr/local/include
-  /usr/include/lzma
-  /usr/local/include/lzma
-  /opt/lzma/include
-  DOC "Specify the directory containing lzma.h"
-)
-
-find_library(LZMA_LIBRARY NAMES lzma PATHS
-  $ENV{LZMA_DIR}/lib
-  /usr/local/lzma/lib
-  /usr/local/lib
-  /usr/lib/lzma
-  /usr/local/lib/lzma
-  /usr/lzma/lib /usr/lib
-  /usr/lzma /usr/local/lzma
-  /opt/lzma /opt/lzma/lib
-  DOC "Specify the lzma library here."
-)
-
-if(LZMA_INCLUDE_DIR AND LZMA_LIBRARY)
-  set(LZMA_FOUND 1 )
-  if(NOT LZMA_FIND_QUIETLY)
-     message(STATUS "Found LZMA includes at ${LZMA_INCLUDE_DIR}")
-     message(STATUS "Found LZMA library at ${LZMA_LIBRARY}")
-  endif()
-endif()
-
-set(LZMA_LIBRARIES ${LZMA_LIBRARY})
-mark_as_advanced(LZMA_FOUND LZMA_LIBRARY LZMA_INCLUDE_DIR)


addition of numpy

addition of numpy

--- salome_adm/cmake_files/FindSalomePython.cmake
+++ salome_adm/cmake_files/FindSalomePython.cmake
@@ -132,6 +132,19 @@
   ENDIF()

   # 6. Specifics
+
+  EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy ; import sys ; sys.stdout.write(numpy.get_include())" OUTPUT_VARIABLE NUMPY_INCLUDE_DIR ERROR_QUIET )
+  IF(NUMPY_INCLUDE_DIR)
+    SET(NUMPY_FOUND TRUE)
+  ENDIF(NUMPY_INCLUDE_DIR)
+  IF(NUMPY_FOUND)
+    SET(PYTHON_INCLUDE_DIRS ${NUMPY_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS})
+    SET(PYTHON_DEFINITIONS "${PYTHON_DEFINITIONS} -DWITH_NUMPY")
+    MESSAGE(STATUS "numpy found : ${NUMPY_INCLUDE_DIR}")
+  ELSE(NUMPY_FOUND)
+    MESSAGE(STATUS "numpy not found")
+  ENDIF(NUMPY_FOUND)
+
   ## None here
 ELSE()
   MESSAGE(STATUS "Python was only partially (or not at all) found .")


There may be a bug in the search paths for arpack-ng. Passed explicit path suffix

Former-commit-id: c4582d9d4fad14d41eefa0960c522f9ff5573ed3

--- cmake-modules/Fetch_arpack-ng.cmake
+++ cmake-modules/Fetch_arpack-ng.cmake
@@ -1,3 +1,4 @@
+include(GNUInstallDirs)
 if(DMRG_DOWNLOAD_METHOD MATCHES "find|fetch")
     foreach (tgt blas::blas;lapack::lapack;gfortran::gfortran)
         if(NOT TARGET ${tgt})
@@ -17,6 +18,7 @@
     unset(arpack_ng_INCLUDE_DIRS)
     find_package(arpack-ng
             HINTS ${CMAKE_INSTALL_PREFIX}
+            PATH_SUFFIXES arpack-ng/${CMAKE_INSTALL_LIBDIR}/cmake
             NO_CMAKE_PACKAGE_REGISTRY)
     if(arpack_ng_LIBRARIES AND arpack_ng_INCLUDE_DIRS)
         message(STATUS "Found arpack-ng")
@@ -31,7 +33,7 @@
     message(STATUS "Looking for arpack-ng in system")
     find_library(arpack_ng_LIBRARIES
             NAMES arpack
-            PATH_SUFFIXES arpack-ng arpack arpack/lib arpack-ng/lib
+            PATH_SUFFIXES arpack-ng arpack arpack/lib arpack-ng/${CMAKE_INSTALL_LIBDIR}
             REQUIRED
             )
     if(NOT arpack_ng_LIBRARIES)
@@ -77,6 +79,7 @@

     find_package(arpack-ng
             HINTS ${CMAKE_INSTALL_PREFIX}
+            PATH_SUFFIXES arpack-ng/${CMAKE_INSTALL_LIBDIR}/cmake
             REQUIRED)
     if(arpack_ng_LIBRARIES AND arpack_ng_INCLUDE_DIRS)
         message(STATUS "Successfully installed arpack-ng")


cmake: fix support of duplicated file names in static libraries

--- cmake/OpenCVDetectCXXCompiler.cmake
+++ cmake/OpenCVDetectCXXCompiler.cmake
@@ -172,3 +172,13 @@
     set(OpenCV_ARCH x86)
   endif()
 endif()
+
+# Fix handling of duplicated files in the same static library:
+# https://public.kitware.com/Bug/view.php?id=14874
+if(CMAKE_VERSION VERSION_LESS "3.1")
+  foreach(var CMAKE_C_ARCHIVE_APPEND CMAKE_CXX_ARCHIVE_APPEND)
+    if(${var} MATCHES "^<CMAKE_AR> r")
+      string(REPLACE "<CMAKE_AR> r" "<CMAKE_AR> q" ${var} "${${var}}")
+    endif()
+  endforeach()
+endif()


cmake: Fix variable expansion in previous commit

Signed-off-by: Matthias Kretz <372ea4eca737a13cd010ee806d4ce7b98ee71550@kde.org>

--- cmake/OptimizeForArchitecture.cmake
+++ cmake/OptimizeForArchitecture.cmake
@@ -387,7 +387,7 @@
          else()
             _my_find(_available_vector_units_list "${_flag}" _found)
          endif()
-         set(USE_${_name} _found CACHE BOOL "${documentation}" ${_force})
+         set(USE_${_name} ${_found} CACHE BOOL "${documentation}" ${_force})
          mark_as_advanced(USE_${_name})
          if(USE_${_name})
             list(APPEND _enable_vector_unit_list "${_flag}")


translations: Change default translations repository

https://github.com/lxde/translations.git -> https://github.com/lxde/lxqt-l10n.git

--- cmake/modules/LXQtTranslateTs.cmake
+++ cmake/modules/LXQtTranslateTs.cmake
@@ -79,7 +79,7 @@
 #
 #       TRANSLATIONS_REPO External git repository with translations - only the ${TEMPLATE} directory
 #           is pulled (using the "sparse checkout").
-#           Optional (defaults to "https://github.com/lxde/translations.git").
+#           Optional (defaults to "https://github.com/lxde/lxqt-l10n.git").
 #
 #       TRANSLATIONS_REFSPEC Optional refspec of external repository. Used in git pull.
 #           Defaults to "master".
@@ -142,7 +142,7 @@
     endif()

     if (NOT DEFINED TR_TRANSLATIONS_REPO)
-        set(TR_TRANSLATIONS_REPO "https://github.com/lxde/translations.git")
+        set(TR_TRANSLATIONS_REPO "https://github.com/lxde/lxqt-l10n.git")
     endif()

     if (NOT DEFINED TR_TRANSLATIONS_REFSPEC)


Disable another warning for Intel ICC that we trigger thousands of
times and that is unavoidable.

git-svn-id: 31d9d2f6432a47c86a3640814024c107794ea77c@32562 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/cmake/setup_compiler_flags_intel.cmake
+++ deal.II/cmake/setup_compiler_flags_intel.cmake
@@ -1,7 +1,7 @@
 ## ---------------------------------------------------------------------
 ## $Id$
 ##
-## Copyright (C) 2012 - 2013 by the deal.II authors
+## Copyright (C) 2012 - 2014 by the deal.II authors
 ##
 ## This file is part of the deal.II library.
 ##
@@ -83,6 +83,8 @@
 #          (happens in boost)
 #   -w1478 deprecation warning
 #   -w1572 floating-point equality and inequality comparisons are unreliable
+#   -w2259 non-pointer conversion from "double" to "float" may
+#          lose significant bits
 #   -w2536 type qualifiers are meaningless here
 #
 ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS "-wd68")
@@ -96,6 +98,7 @@
 ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS "-wd1418")
 ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS "-wd1478")
 ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS "-wd1572")
+ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS "-wd2259")
 ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS "-wd2536")


Document GostaiHintDirs' macros.

Document GostaiHintDirs' macros.

	* build-aux/cmake/modules/GostaiHintDirs.cmake: Do that.

--- build-aux/cmake/modules/GostaiHintDirs.cmake
+++ build-aux/cmake/modules/GostaiHintDirs.cmake
@@ -23,10 +23,12 @@
   file(REMOVE ${GOSTAI_HINT_DIRS_FILENAME})
 endmacro(gostai_init_hint_dirs)

+# Add a directory _dir_ to the list of Gostai hint directories.
 function(gostai_add_hint_dir dir)
   file(APPEND ${GOSTAI_HINT_DIRS_FILENAME} "${dir}\n")
 endfunction(gostai_add_hint_dir)

+# Read the list of Gostai hint directories and store it in the variable _dirs_.
 function(gostai_read_hint_dirs dirs)
   file(STRINGS ${GOSTAI_HINT_DIRS_FILENAME} l)
   list(REMOVE_DUPLICATES l)


build: remove superfluous options

build: remove superfluous options

These options were already being enabled through the use of `-Wall` or
`-Wextra`.  This shrinks the command line and reduces build file
generation times.

Signed-off-by: Daniel A. Steffen <bc823475b60dbcbd7be1bbdfe095b5f1939d5bd2@apple.com>

--- cmake/modules/DispatchCompilerWarnings.cmake
+++ cmake/modules/DispatchCompilerWarnings.cmake
@@ -8,21 +8,9 @@
     add_compile_options(-Werror)
     add_compile_options(-Wall)
     add_compile_options(-Wextra)
-    add_compile_options(-Wmissing-field-initializers)
     add_compile_options(-Wmissing-prototypes)
     add_compile_options(-Wdocumentation)
     add_compile_options(-Wunreachable-code)
-    add_compile_options(-Wmissing-braces)
-    add_compile_options(-Wparentheses)
-    add_compile_options(-Wswitch)
-    add_compile_options(-Wunused-function)
-    add_compile_options(-Wunused-label)
-    add_compile_options(-Wunused-parameter)
-    add_compile_options(-Wunused-variable)
-    add_compile_options(-Wunused-value)
-    add_compile_options(-Wempty-body)
-    add_compile_options(-Wuninitialized)
-    add_compile_options(-Wunknown-pragmas)
     add_compile_options(-Wshadow)
     add_compile_options(-Wconversion)
     add_compile_options(-Wconstant-conversion)
@@ -30,9 +18,7 @@
     add_compile_options(-Wbool-conversion)
     add_compile_options(-Wenum-conversion)
     add_compile_options(-Wassign-enum)
-    add_compile_options(-Wsign-compare)
     add_compile_options(-Wshorten-64-to-32)
-    add_compile_options(-Wpointer-sign)
     add_compile_options(-Wnewline-eof)
     add_compile_options(-Wdeprecated-declarations)
     add_compile_options(-Wsign-conversion)
@@ -49,8 +35,6 @@
     add_compile_options(-Wexpansion-to-defined)
     add_compile_options(-Wfloat-equal)
     add_compile_options(-Widiomatic-parentheses)
-    add_compile_options(-Wignored-qualifiers)
-    add_compile_options(-Wimplicit-fallthrough)
     add_compile_options(-Wnullable-to-nonnull-conversion)
     add_compile_options(-Wobjc-interface-ivars)
     add_compile_options(-Wover-aligned)
@@ -60,7 +44,6 @@
     add_compile_options(-Wstatic-in-inline)
     add_compile_options(-Wsuper-class-method-mismatch)
     add_compile_options(-Wswitch-enum)
-    add_compile_options(-Wtautological-compare)
     add_compile_options(-Wunguarded-availability)
     add_compile_options(-Wunused)


removed image for the test which only fails on macs

--- Modules/OpenCVVideoSupport/Testing/files.cmake
+++ Modules/OpenCVVideoSupport/Testing/files.cmake
@@ -9,5 +9,5 @@
 set(MODULE_TESTIMAGES
   Png2D-bw.png
   RenderingTestData/rgbImage.png
-NrrdWritingTestImage.jpg
+#NrrdWritingTestImage.jpg
 )


even more improvements to finding git-tag

--- src/version_string.cmake
+++ src/version_string.cmake
@@ -15,16 +15,21 @@
         OUTPUT_VARIABLE GIT_COM_ID
     )
     if( NOT ${res_var} EQUAL 0 )
-        message( WARNING "Git failed (not a repo, or no tags). Build will not contain git revision info." )
-
+        message( WARNING "Git failed (not a repo, or no tags)." )
+        file(READ "git-tag.txt" GIT_COMMIT_ID)
+        message( STATUS "version_string.cmake read from file GIT_COMMIT_ID: " ${GIT_COMMIT_ID})
+    else()
+        string( REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COM_ID} )
+        message( STATUS "version_string.cmake git set GIT_COMMIT_ID: " ${GIT_COMMIT_ID})
     endif()
-    string( REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COM_ID} )
+
 else()
-    # try to read git-tag from file instead
+    # if we don't have git, try to read git-tag from file instead
     file(READ "git-tag.txt" GIT_COMMIT_ID)

     #set( GIT_COMMIT_ID "unknown (git not found!)")
-    message( WARNING "Git not found. Reading tag from git-tag.txt instead: " ${GIT_COMMIT_ID})
+    message( STATUS "version_string.cmake read from file GIT_COMMIT_ID: " ${GIT_COMMIT_ID})
+    #message( WARNING "Git not found. Reading tag from git-tag.txt instead: " ${GIT_COMMIT_ID})
 endif()

 set( vstring "//version_string.hpp - written by cmake. changes will be lost!\n"
@@ -44,4 +49,4 @@
 # reduces needless rebuilds
 #execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
 #                        version_string.hpp.txt /version_string.hpp)
-message( STATUS "version_string.cmake set GIT_COMMIT_ID: " ${GIT_COMMIT_ID})
+


add the regen target

add the regen target

This target simply calls orogen again, but adding the
same command-line options that the ones used to generate
the current module.

--- lib/orogen/templates/config/OrocosComponent.cmake
+++ lib/orogen/templates/config/OrocosComponent.cmake
@@ -108,6 +108,10 @@
 INCLUDE_DIRECTORIES(${OrocosCORBA_INCLUDE_DIRS})
 INCLUDE_DIRECTORIES(${OrocosCORBA_DEFINES})

+ADD_CUSTOM_TARGET(regen
+    orogen <%= "--corba" if component.corba_enabled? %> <%= component.deffile %>
+    WORKING_DIRECTORY ${PROJECT_SOURCE_DIR})
+
 <% component.deployers.each do |deploy| %>
     <%= deploy.cmake_code %>
 <% end %>


Update CppUTestConfigurationOptions.cmake

turn memory leak detection off

--- cmake/Modules/CppUTestConfigurationOptions.cmake
+++ cmake/Modules/CppUTestConfigurationOptions.cmake
@@ -15,6 +15,7 @@
     set(CMAKE_CXX_LINK_FLAGS "--semihosting --config ${LINKER_SCRIPT} --map mapfile.map")
 elseif (BORLAND)
     set(CPP_PLATFORM Borland)
+    set(MEMORY_LEAK_DETECTION False)
 elseif (STD_C)
     if(NOT CPP_PLATFORM)
         set(CPP_PLATFORM Gcc)


Revert back the condition as the issue is with Travis CI OSX build env.
[ci skip]

A new issue is opened at their repo: https://github.com/travis-ci/travis-ci/issues/2085.
If it could not be resolved quickly then we will force to export that environment variable in our own .travis.yml file.

--- Source/CMake/Modules/Urho3D-CMake-common.cmake
+++ Source/CMake/Modules/Urho3D-CMake-common.cmake
@@ -216,7 +216,7 @@
         endif ()
     elseif (IOS)
         # When performing CI build, suppress all the warnings for iOS build because 3rd party libraries produce too many of them and yet we don't want to touch the 3rd party library's source codes unnecessarily
-        if ("$ENV{CI}" STREQUAL true)
+        if ($ENV{CI})
             set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -w")
             set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -w")
         endif ()


Code Style improvements * replaced message(...) with hunter_status_debug/print * added copyright to hunter file

--- cmake/modules/hunter_add_host_subdirectory.cmake
+++ cmake/modules/hunter_add_host_subdirectory.cmake
@@ -1,4 +1,4 @@
-# Copyright (c) 2013, 2015 Ruslan Baratov
+# Copyright (c) 2016 Fabian Winnen
 # All rights reserved.

 # Adds a subdirectory with CMakeList.txt as seperate build with default (host) toolchain
@@ -19,6 +19,8 @@
 include(CMakeParseArguments) # cmake_parse_arguments

 include(hunter_internal_error)
+include(hunter_status_print)
+include(hunter_status_debug)

 # internal variables: _hunter_ahs_*
 macro(hunter_add_host_subdirectory)
@@ -39,13 +41,13 @@
       set (_hunter_ahs_arg_BINARY_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/host-build")
   endif ()

-  message(STATUS "[hunter] invoke cmake subdirectory '${_hunter_ahs_HOME_DIRECTORY}' build for host...\n\n")
-  message(STATUS ">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")
+  hunter_status_print("invoke cmake subdirectory '${_hunter_ahs_HOME_DIRECTORY}' build for host...\n\n")
+  hunter_status_print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>")

   # TODO: Check why this is needed only for Android
   # save and unset specified ENV variables
   foreach(var ${_hunter_ahs_arg_ENV_VARS})
-      #message(STATUS "save ${var}: $ENV{${var}}")
+      hunter_status_debug("save ${var}: $ENV{${var}}")
       set(_hunter_ahs_saved_${var} $ENV{${var}})
       unset(ENV{${var}})
   endforeach()
@@ -58,10 +60,10 @@
   # restore specified ENV variables
   foreach(var ${_hunter_ahs_arg_ENV_VARS})
     set(ENV{${var}} ${_hunter_ahs_saved_${var}})
-    # message(STATUS "restored ${var}: $ENV{${var}}")
+    hunter_status_debug("restored ${var}: $ENV{${var}}")
     unset(_hunter_ahs_saved_${var})
   endforeach()

-  message(STATUS "<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n\n")
-  message(STATUS "[hunter] finished build host subdirectory in '${_hunter_ahs_arg_BINARY_DIRECTORY}'")
+  hunter_status_print("<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<\n\n")
+  hunter_status_print("finished build host subdirectory in '${_hunter_ahs_arg_BINARY_DIRECTORY}'")
 endmacro()


Updated FindCorrade.cmake from Corrade repository.

--- modules/FindCorrade.cmake
+++ modules/FindCorrade.cmake
@@ -19,8 +19,14 @@
 # hidden visibility by default.
 #
 # Features of found Corrade library are exposed in these variables:
-#  CORRADE_GCC46_COMPATIBILITY - Defined if compiled with compatibility
+#  CORRADE_GCC46_COMPATIBILITY  - Defined if compiled with compatibility
 #   mode for GCC 4.6
+#  CORRADE_TARGET_NACL          - Defined if compiled for Google Chrome
+#   Native Client
+#  CORRADE_TARGET_NACL_NEWLIB   - Defined if compiled for Google Chrome
+#   Native Client with `newlib` toolchain
+#  CORRADE_TARGET_NACL_GLIBC    - Defined if compiled for Google Chrome
+#   Native Client with `glibc` toolchain
 #
 # Corrade provides these macros and functions:
 #
@@ -149,6 +155,18 @@
 if(NOT _GCC46_COMPATIBILITY EQUAL -1)
     set(CORRADE_GCC46_COMPATIBILITY 1)
 endif()
+string(FIND "${_corradeConfigure}" "#define CORRADE_TARGET_NACL" _TARGET_NACL)
+if(NOT _TARGET_NACL EQUAL -1)
+    set(CORRADE_TARGET_NACL 1)
+endif()
+string(FIND "${_corradeConfigure}" "#define CORRADE_TARGET_NACL_NEWLIB" _TARGET_NACL_NEWLIB)
+if(NOT _TARGET_NACL_NEWLIB EQUAL -1)
+    set(CORRADE_TARGET_NACL_NEWLIB 1)
+endif()
+string(FIND "${_corradeConfigure}" "#define CORRADE_TARGET_NACL_GLIBC" _TARGET_NACL_GLIBC)
+if(NOT _TARGET_NACL_GLIBC EQUAL -1)
+    set(CORRADE_TARGET_NACL_GLIBC 1)
+endif()

 set(CORRADE_UTILITY_LIBRARIES ${CORRADE_UTILITY_LIBRARY})
 set(CORRADE_INTERCONNECT_LIBRARIES ${CORRADE_INTERCONNECT_LIBRARY} ${CORRADE_UTILITY_LIBRARIES})
@@ -156,7 +174,7 @@
 set(CORRADE_TESTSUITE_LIBRARIES ${CORRADE_TESTSUITE_LIBRARY} ${CORRADE_UTILITY_LIBRARIES})

 # At least static build needs this
-if(UNIX OR ${CMAKE_SYSTEM_NAME} STREQUAL NaCl)
+if((UNIX OR CORRADE_TARGET_NACL) AND NOT CORRADE_TARGET_NACL_NEWLIB)
     set(CORRADE_PLUGINMANAGER_LIBRARIES ${CORRADE_PLUGINMANAGER_LIBRARIES} dl)
 endif()


convert boost module to yaml

convert boost module to yaml

--- modules/boost/boost.cmake
+++ modules/boost/boost.cmake
@@ -5,11 +5,14 @@
 # Autocmake update time.
 # Note that the build-up commands are not Windows-compatible!
 #
-# Your autocmake.cfg should look like this::
+# Your autocmake.cfg should contain::
 #
-#   [boost]
-#   override: {'major': 1, 'minor': 59, 'patch': 0, 'components': 'chrono;timer;system'}
-#   source: https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost.cmake
+# - boost:
+#   - major: 1
+#   - minor: 59
+#   - patch: 0
+#   - components: "chrono;timer;system"
+#   - source: "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost.cmake"
 #
 # Cross-dependencies between required components are not checked for.
 # For example, Boost.Timer depends on Boost.Chrono and Boost.System thus you
@@ -43,28 +46,31 @@
 #   MPI_FOUND
 #   BUILD_CUSTOM_BOOST
 #
-# autocmake.cfg configuration::
+# autocmake.yml configuration::
 #
-#   major=1
-#   minor=48
-#   patch=0
-#   components=''
-#   fetch: https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_unpack.cmake
-#          https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_userconfig.cmake
-#          https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_configure.cmake
-#          https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_build.cmake
-#          https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_install.cmake
-#          https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_headers.cmake
-#          https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_cleanup.cmake
-#          http://sourceforge.net/projects/boost/files/boost/%(major)s.%(minor)s.%(patch)s/boost_%(major)s_%(minor)s_%(patch)s.zip
-#   docopt: --boost-headers=<BOOST_INCLUDEDIR> Include directories for Boost [default: ''].
-#           --boost-libraries=<BOOST_LIBRARYDIR> Library directories for Boost [default: ''].
-#           --build-boost=<FORCE_CUSTOM_BOOST> Deactivate Boost detection and build on-the-fly <ON/OFF> [default: OFF].
-#   define: '-DBOOST_INCLUDEDIR="{0}"'.format(arguments['--boost-headers'])
-#           '-DBOOST_LIBRARYDIR="{0}"'.format(arguments['--boost-libraries'])
-#           '-DFORCE_CUSTOM_BOOST="{0}"'.format(arguments['--build-boost'])
-#           '-DBOOST_MINIMUM_REQUIRED="%(major)s.%(minor)s.%(patch)s"'
-#           '-DBOOST_COMPONENTS_REQUIRED="%(components)s"'
+#   major: 1
+#   minor: 48
+#   patch: 0
+#   components: ""
+#   fetch:
+#     - "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_unpack.cmake"
+#     - "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_userconfig.cmake"
+#     - "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_configure.cmake"
+#     - "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_build.cmake"
+#     - "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_install.cmake"
+#     - "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_headers.cmake"
+#     - "https://github.com/coderefinery/autocmake/raw/master/modules/boost/boost_cleanup.cmake"
+#     - "http://sourceforge.net/projects/boost/files/boost/%(major)s.%(minor)s.%(patch)s/boost_%(major)s_%(minor)s_%(patch)s.zip"
+#   docopt:
+#     - "--boost-headers=<BOOST_INCLUDEDIR> Include directories for Boost [default: '']."
+#     - "--boost-libraries=<BOOST_LIBRARYDIR> Library directories for Boost [default: '']."
+#     - "--build-boost=<FORCE_CUSTOM_BOOST> Deactivate Boost detection and build on-the-fly <ON/OFF> [default: OFF]."
+#   define:
+#     - "'-DBOOST_INCLUDEDIR=\"{0}\"'.format(arguments['--boost-headers'])"
+#     - "'-DBOOST_LIBRARYDIR=\"{0}\"'.format(arguments['--boost-libraries'])"
+#     - "'-DFORCE_CUSTOM_BOOST=\"{0}\"'.format(arguments['--build-boost'])"
+#     - "'-DBOOST_MINIMUM_REQUIRED="%(major)s.%(minor)s.%(patch)s"'"
+#     - "'-DBOOST_COMPONENTS_REQUIRED="%(components)s"'"

 # FIXME Maintainer should be able to choose between fail (end-user has to satisfy dependency
 #       on its own) and soft-fail (self-build of Boost)


Enable shadowing warnings.

Enable shadowing warnings.

--- cmake/CMakeCompiler.cmake
+++ cmake/CMakeCompiler.cmake
@@ -56,6 +56,7 @@
 		endif()

 		target_compile_options(${_project_name} PRIVATE -Wall -Wextra)		# Enable all warnings
+		target_compile_options(${_project_name} PRIVATE -Wshadow)			# Enable shadowing warnings
 		target_compile_options(${_project_name} PRIVATE -Werror)			# Treat warnings as errors

 		target_compile_options(${_project_name} PRIVATE -g)					# Enable debug symbols


Trying compiler flag -ffp-contract=fast

Trying compiler flag -ffp-contract=fast

Former-commit-id: 07cebe1b4ca726b12d6f92a868c345e3cab05ce7

--- cmake/CompilerFlags.cmake
+++ cmake/CompilerFlags.cmake
@@ -74,7 +74,7 @@
 set(CMAKE_CXX_EXTENSIONS OFF)

 set(CMAKE_CXX_FLAGS  "${CMAKE_CXX_FLAGS} -g -fno-strict-aliasing -fdiagnostics-color=always -Wall -Wpedantic -Wextra -Wconversion -Wunused")
-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${MARCH} ${MTUNE}")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${MARCH} ${MTUNE} -ffp-contract=fast")
 set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -fno-omit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2") #-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -fno-omit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2")

@@ -113,7 +113,7 @@
     add_library(flags INTERFACE)
 endif()
 target_compile_options(flags INTERFACE -g -fno-strict-aliasing -fdiagnostics-color=always -Wall -Wpedantic -Wextra -Wconversion -Wunused)
-target_compile_options(flags INTERFACE $<$<CONFIG:RELEASE>:${MARCH} ${MTUNE}>)
+target_compile_options(flags INTERFACE $<$<CONFIG:RELEASE>:${MARCH} ${MTUNE} -ffp-contract=fast>)
 target_compile_options(flags INTERFACE $<$<CONFIG:DEBUG>: -fno-omit-frame-pointer -fstack-protector -D_FORTIFY_SOURCE=2>)
 target_compile_options(flags INTERFACE $<$<AND:$<CONFIG:DEBUG>,$<CXX_COMPILER_ID:Clang>>: -fstandalone-debug>)
 target_compile_options(flags INTERFACE $<$<CONFIG:RELWITHDEBINFO>:-O3 ${MARCH} ${MTUNE}>)


Disclude headers from source listing

Disclude headers from source listing

--- cmake/EngineSrcList.cmake
+++ cmake/EngineSrcList.cmake
@@ -8,145 +8,71 @@
 ### ADD SOURCE FILES BELOW ###

 "Addons.cpp"
-"Addons.hpp"
 "Camera.cpp"
-"Camera.hpp"
 "DebugFPControllerEListe.cpp"
-"DebugFPControllerEListe.hpp"
 "Engine.cpp"
-"Engine.hpp"
 "EntitySignal.cpp"
-"EntitySignal.hpp"
 "Events.cpp"
-"Events.hpp"
 "FontResource.cpp"
-"FontResource.hpp"
 "Gamelayer.cpp"
-"Gamelayer.hpp"
 "GamelayerMachine.cpp"
-"GamelayerMachine.hpp"
 "Geometry.cpp"
-"Geometry.hpp"
-"GeometryResource.hpp"
 "GeometryResourceOpenGL.cpp"
-"GeometryResourceOpenGL.hpp"
 "GeometryResourceVulkan.cpp"
-"GeometryResourceVulkan.hpp"
-"GraphicsApiLibrary.hpp"
-"HardValueStuff.hpp"
 "Image.cpp"
-"Image.hpp"
 "ImageResource.cpp"
-"ImageResource.hpp"
 "Input.cpp"
-"Input.hpp"
 "InputInteractESignal.cpp"
-"InputInteractESignal.hpp"
 "InputMoveESignal.cpp"
-"InputMoveESignal.hpp"
 "Logger.cpp"
-"Logger.hpp"
 "Material.cpp"
-"Material.hpp"
 "MaterialResource.cpp"
-"MaterialResource.hpp"
 "MathUtil.cpp"
-"MathUtil.hpp"
 "MiscResource.cpp"
-"MiscResource.hpp"
 "MissionGamelayer.cpp"
-"MissionGamelayer.hpp"
 "Model.cpp"
-"Model.hpp"
 "ModelInstance.cpp"
-"ModelInstance.hpp"
 "ModelResource.cpp"
-"ModelResource.hpp"
-"NRES.hpp"
 "PhysicsLocationUpdateESignal.cpp"
-"PhysicsLocationUpdateESignal.hpp"
 "PhysicsOrientationUpdateESignal.cpp"
-"PhysicsOrientationUpdateESignal.hpp"
 "Quate.cpp"
-"Quate.hpp"
 "ReferenceCounted.cpp"
-"ReferenceCounted.hpp"
 "Renderable.cpp"
-"Renderable.hpp"
 "Resource.cpp"
-"Resource.hpp"
 "Resources.cpp"
-"Resources.hpp"
 "ResourcesUtil.cpp"
-"ResourcesUtil.hpp"
 "RigidBodyEComp.cpp"
-"RigidBodyEComp.hpp"
 "RigidBodyESys.cpp"
-"RigidBodyESys.hpp"
 "SceneNodeEComp.cpp"
-"SceneNodeEComp.hpp"
-"Scenegraph.hpp"
 "ScriptResource.cpp"
-"ScriptResource.hpp"
 "Scripts.cpp"
-"Scripts.hpp"
 "ShaderProgramResource.cpp"
-"ShaderProgramResource.hpp"
 "ShaderResource.cpp"
-"ShaderResource.hpp"
-"ShoRenderer.hpp"
 "ShoRendererOpenGL.cpp"
-"ShoRendererOpenGL.hpp"
 "ShoRendererVulkan.cpp"
-"ShoRendererVulkan.hpp"
 "SimpleScenegraph.cpp"
-"SimpleScenegraph.hpp"
 "SineWaveform.cpp"
-"SineWaveform.hpp"
 "SoundContext.cpp"
-"SoundContext.hpp"
 "SoundEndpoint.cpp"
-"SoundEndpoint.hpp"
 "SoundMedium.cpp"
-"SoundMedium.hpp"
 "SoundReceiver.cpp"
-"SoundReceiver.hpp"
 "SoundResource.cpp"
-"SoundResource.hpp"
 "SoundSource.cpp"
-"SoundSource.hpp"
 "SoundWaveform.cpp"
-"SoundWaveform.hpp"
 "Spharm.cpp"
-"Spharm.hpp"
 "StreamStuff.cpp"
-"StreamStuff.hpp"
 "StringResource.cpp"
-"StringResource.hpp"
 "Texture.cpp"
-"Texture.hpp"
 "TextureResource.cpp"
-"TextureResource.hpp"
 "Vec2.cpp"
-"Vec2.hpp"
 "Vec3.cpp"
-"Vec3.hpp"
 "Video.cpp"
-"Video.hpp"
 "VulkanUtils.cpp"
-"VulkanUtils.hpp"
-"WindowInputSystemLibrary.hpp"
 "nresComponent.cpp"
-"nresComponent.hpp"
 "nresEntity.cpp"
-"nresEntity.hpp"
 "nresListener.cpp"
-"nresListener.hpp"
 "nresSystem.cpp"
-"nresSystem.hpp"
-"nresTypedefs.hpp"
 "nresWorld.cpp"
-"nresWorld.hpp"

 ### END SOURCE FILE LIST ###
 )


Allow multiple input files to WRAP_GGO macro. All the inputs are first concatenated and the concatenated file is used as an input to gengetopt.

--- cmake/FindGengetopt.cmake
+++ cmake/FindGengetopt.cmake
@@ -14,28 +14,56 @@
   ENDIF(EXISTS ${GENGETOPT})
 ENDIF(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")

+# Create a cmake script to cat a list of files
+FILE(WRITE ${CMAKE_BINARY_DIR}/cat.cmake "
+FILE(WRITE \${OUTPUT} \"\")
+SET(LIST_INPUTS \${INPUTS})
+SEPARATE_ARGUMENTS(LIST_INPUTS)
+FOREACH(INPUT \${LIST_INPUTS})
+  FILE(READ \${INPUT} CONTENT)
+  FILE(APPEND \${OUTPUT} \"\${CONTENT}\")
+ENDFOREACH()
+")
+
 MACRO (WRAP_GGO GGO_SRCS)
+  # Convert list of a file in a list with absolute file names
   FOREACH(GGO_FILE ${ARGN})
-    GET_FILENAME_COMPONENT(GGO_BASEFILENAME ${GGO_FILE} NAME_WE)
     GET_FILENAME_COMPONENT(GGO_FILE_ABS ${GGO_FILE} ABSOLUTE)
-    SET(GGO_H ${GGO_BASEFILENAME}_ggo.h)
-    SET(GGO_C ${GGO_BASEFILENAME}_ggo.c)
-    SET(GGO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${GGO_H} ${CMAKE_CURRENT_BINARY_DIR}/${GGO_C})
-    ADD_CUSTOM_COMMAND(OUTPUT ${GGO_OUTPUT}
-                       COMMAND gengetopt
-                       ARGS < ${GGO_FILE_ABS}
-                              --output-dir=${CMAKE_CURRENT_BINARY_DIR}
-                              --arg-struct-name=args_info_${GGO_BASEFILENAME}
-                              --func-name=cmdline_parser_${GGO_BASEFILENAME}
-                              --file-name=${GGO_BASEFILENAME}_ggo
-                              --unamed-opts
-                              --conf-parser
-                              --include-getopt
-                       DEPENDS ${GGO_FILE_ABS}
-                      )
-    SET(${GGO_SRCS} ${${GGO_SRCS}} ${GGO_OUTPUT})
-    INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
-  ENDFOREACH(GGO_FILE)
+    LIST(APPEND GGO_FILES_ABS ${GGO_FILE_ABS})
+  ENDFOREACH()
+
+  # Append to a new ggo file containing all files
+  LIST(GET GGO_FILES_ABS 0 FIRST_GGO_FILE)
+  GET_FILENAME_COMPONENT(FIRST_GGO_BASEFILENAME ${FIRST_GGO_FILE} NAME)
+  ADD_CUSTOM_COMMAND(
+      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIRST_GGO_BASEFILENAME}"
+      COMMAND ${CMAKE_COMMAND} -D INPUTS="${GGO_FILES_ABS}"
+                               -D OUTPUT=${CMAKE_CURRENT_BINARY_DIR}/${FIRST_GGO_BASEFILENAME}
+                               -P ${CMAKE_BINARY_DIR}/cat.cmake
+      DEPENDS ${GGO_FILES_ABS}
+  )
+  SET_SOURCE_FILES_PROPERTIES(${CMAKE_CURRENT_BINARY_DIR}/${FIRST_GGO_BASEFILENAME} PROPERTIES GENERATED TRUE)
+
+  # Now add ggo command
+  GET_FILENAME_COMPONENT(GGO_BASEFILENAME ${FIRST_GGO_FILE} NAME_WE)
+  SET(GGO_H ${GGO_BASEFILENAME}_ggo.h)
+  SET(GGO_C ${GGO_BASEFILENAME}_ggo.c)
+  SET(GGO_OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${GGO_H} ${CMAKE_CURRENT_BINARY_DIR}/${GGO_C})
+  ADD_CUSTOM_COMMAND(OUTPUT ${GGO_OUTPUT}
+                     COMMAND gengetopt
+                     ARGS < ${CMAKE_CURRENT_BINARY_DIR}/${FIRST_GGO_BASEFILENAME}
+                            --output-dir=${CMAKE_CURRENT_BINARY_DIR}
+                            --arg-struct-name=args_info_${GGO_BASEFILENAME}
+                            --func-name=cmdline_parser_${GGO_BASEFILENAME}
+                            --file-name=${GGO_BASEFILENAME}_ggo
+                            --unamed-opts
+                            --conf-parser
+                            --include-getopt
+                     DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${FIRST_GGO_BASEFILENAME}
+                    )
+  SET(${GGO_SRCS} ${${GGO_SRCS}} ${GGO_OUTPUT})
+  INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
+
   SET_SOURCE_FILES_PROPERTIES(${${GGO_SRCS}} PROPERTIES GENERATED TRUE)
   IF(CMAKE_COMPILER_IS_GNUCXX)
     FIND_PROGRAM(DEFAULT_GCC gcc)


fix wrong package use in Verilator

fix wrong package use in Verilator

--- cmake/FindVerilator.cmake
+++ cmake/FindVerilator.cmake
@@ -28,7 +28,7 @@
 endif()

 find_package(PackageHandleStandardArgs REQUIRED)
-find_package(SystemC)
+find_package(OSCISystemC)

 find_program(VERILATOR_EXECUTABLE verilator
     HINTS $ENV{VERILATOR_ROOT}


Set couple variables to cmake configuration of the library

--- cmake/NewbaseConfig.cmake
+++ cmake/NewbaseConfig.cmake
@@ -1,9 +1,12 @@
 get_filename_component(INSTALLED_PREFIX ${Newbase_DIR} DIRECTORY)
 get_filename_component(INSTALLED_PREFIX ${INSTALLED_PREFIX} DIRECTORY)
 get_filename_component(INSTALLED_PREFIX ${INSTALLED_PREFIX} DIRECTORY)
+set(Newbase_INCLUDE_DIRS ${INSTALLED_PREFIX}/include)
 set(Newbase_INSTALLED_INCLUDE_DIRS ${INSTALLED_PREFIX}/include/newbase)
 if(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
     set(Newbase_INSTALLED_LIBRARIES ${INSTALLED_PREFIX}/lib/libNewbase.a)
+    set(Newbase_LIBRARIES  ${INSTALLED_PREFIX}/lib/libNewbase.a)
 else()
-    set(Newbase_INSTALLED_LIBRARIES ${INSTALLED_PREFIX}/lib/Newbase.lib)
+    set(Newbase_INSTALLED_LIBRARIES ${INSTALLED_PREFIX}/lib/NewBase.lib)
+    set(Newbase_LIBRARIES  ${INSTALLED_PREFIX}/lib/Newbase.lib)
 endif()


[cmake] : fix gtest support

[cmake] : fix gtest support

--- cmake/qibuild/tests.cmake
+++ cmake/qibuild/tests.cmake
@@ -11,9 +11,7 @@
 # This cmake module provide function to interface gtest with ctest.

-set(_TESTS_RESULTS_FOLDER "${CMAKE_SOURCE_DIR}/tests-results" CACHE INTERNAL "" FORCE)
-# create tests_results folder if it does not exist
-file(MAKE_DIRECTORY "${_TESTS_RESULTS_FOLDER}")
+set(_TESTS_RESULTS_FOLDER "${CMAKE_SOURCE_DIR}/build-tests/results" CACHE INTERNAL "" FORCE)

 #! Add a test using a binary that was created by qi_create_bin
@@ -47,29 +45,32 @@
 # (so that the test can be run by CTest)
 # When run, the C++ test outputs a xUnit xml file in
 # ${CMAKE_SOURCE_DIR}/test-results/${test_name}.xml
+# The name of the test will always be the name of the target.
 #
 # \flag:NO_ADD_TEST do not call add_test, just create the binary
 # \param:TIMEOUT the timeout of the test
 # \group:SRC sources
 # \group:DEPENDS dependencies to pass to use_lib
 # \group:ARGUMENTS arguments to pass to add_test (to your test program)
-function(qi_create_gtest test_name target_name)
+function(qi_add_gtest name)
+  # create tests_results folder if it does not exist
+  file(MAKE_DIRECTORY "${_TESTS_RESULTS_FOLDER}")
   cmake_parse_arguments(ARG "NO_ADD_TEST" "TIMEOUT" "SRC;DEPENDS;ARGUMENTS" ${ARGN})

   # First, create the target
-  qi_create_bin(${target_name} SRC ${ARG_SRC})
-  qi_use_lib(${target_name} ${ARG_DEPENDS})
+  qi_create_bin(${name} SRC ${ARG_SRC})
+  qi_use_lib(${name} ${ARG_DEPENDS})

   # Build a correct xml output name
-  set(xml_output "${_TESTS_RESULTS_FOLDER}/${test_name}.xml")
+  set(_xml_output "${_TESTS_RESULTS_FOLDER}/${name}.xml")

   if (WIN32)
-    string(REPLACE "/" "\\\\" xml_output ${xml_output})
+    string(REPLACE "/" "\\\\" xml_output ${_xml_output})
   endif()

   # Call qi_add_test with correct arguments:
-  qi_add_test({test_name} ${target_name}
+  qi_add_test(${name} ${name}
     TIMEOUT ${ARG_TIMEOUT}
     ARGUMENTS --gtest_output=xml:${_xml_output} ${ARG_ARGUMENTS}
   )


PKG: fix dependency check

PKG: fix dependency check

--- SuperBuild/Packaging/PMacros.cmake
+++ SuperBuild/Packaging/PMacros.cmake
@@ -60,13 +60,13 @@
   else() #Unxies Using SuperBuild
     if(ENABLE_MONTEVERDI)
       add_custom_target(PACKAGE-${pkg}-check
-        COMMAND ${CMAKE_COMMAND} --build "." --target install
-        WORKING_DIRECTORY "${SUPERBUILD_BINARY_DIR}/MVD/build"
+        COMMAND ${CMAKE_COMMAND} -E echo "Building PACKAGE-${pkg}-check"
+	DEPENDS MVD
         )
-    else()
+      else(ENABLE_MONTEVERDI)
       add_custom_target(PACKAGE-${pkg}-check
-        COMMAND ${CMAKE_COMMAND} --build "."  --target install
-        WORKING_DIRECTORY "${SUPERBUILD_BINARY_DIR}/OTB/build"
+        COMMAND ${CMAKE_COMMAND} -E echo "Building PACKAGE-${pkg}-check"
+	DEPENDS OTB
         )
     endif(ENABLE_MONTEVERDI)
   endif()
@@ -90,6 +90,8 @@

   #configure
   add_custom_target(PACKAGE-${pkg}-configure
+  COMMAND ${CMAKE_COMMAND} -E make_directory "${PACKAGE_PROJECT_DIR}/build"
+   WORKING_DIRECTORY "${PACKAGE_PROJECT_DIR}"
     COMMAND ${CMAKE_COMMAND} "-G${CMAKE_GENERATOR}"
     "${PACKAGE_PROJECT_DIR}/src"
     WORKING_DIRECTORY "${PACKAGE_PROJECT_DIR}/build"
@@ -108,8 +110,8 @@
   # creation of package is different from windows and unix like
   if(WIN32)
     add_custom_target(PACKAGE-${pkg}
-      COMMAND ${ZIP_EXECUTABLE}
-      "-rq" "${CMAKE_BINARY_DIR}/${archive_name}.zip" "${archive_name}"
+      COMMAND ${ZIP_EXECUTABLE} "a"
+      "-ry" "${CMAKE_BINARY_DIR}/${archive_name}.zip" "${archive_name}/*"
       WORKING_DIRECTORY "${CMAKE_INSTALL_PREFIX}"
       DEPENDS PACKAGE-${pkg}-build
       COMMENT "Creating ${CMAKE_BINARY_DIR}/${archive_name}.zip"


Print a warning if an unknown plug-in target is installed.

--- BlueBerry/CMake/MacroInstallCTKPlugin.cmake
+++ BlueBerry/CMake/MacroInstallCTKPlugin.cmake
@@ -9,34 +9,38 @@
   ENDIF()

   FOREACH(_install_target ${_INSTALL_TARGETS})
-    GET_TARGET_PROPERTY(_is_imported ${_install_target} IMPORTED)
-    IF(_is_imported)
-      GET_TARGET_PROPERTY(_import_loc_debug ${_install_target} IMPORTED_LOCATION_DEBUG)
-      GET_TARGET_PROPERTY(_import_loc_release ${_install_target} IMPORTED_LOCATION_RELEASE)
-      GET_FILENAME_COMPONENT(_target_filename_debug "${_import_loc_debug}" NAME)
-      GET_FILENAME_COMPONENT(_target_filename_release "${_import_loc_release}" NAME)
-      INSTALL(FILES ${_import_loc_debug}
-              DESTINATION ${_INSTALL_DESTINATION}
-              CONFIGURATIONS Debug)
-      INSTALL(FILES ${_import_loc_release}
-              DESTINATION ${_INSTALL_DESTINATION}
-              CONFIGURATIONS Release)
-      IF(UNIX AND NOT APPLE)
-        IF(_target_filename_debug)
-          INSTALL(CODE "FILE(RPATH_REMOVE
-                             FILE \"\${CMAKE_INSTALL_PREFIX}/${_INSTALL_DESTINATION}/${_target_filename_debug}\")")
+    IF(TARGET ${_install_target})
+      GET_TARGET_PROPERTY(_is_imported ${_install_target} IMPORTED)
+      IF(_is_imported)
+        GET_TARGET_PROPERTY(_import_loc_debug ${_install_target} IMPORTED_LOCATION_DEBUG)
+        GET_TARGET_PROPERTY(_import_loc_release ${_install_target} IMPORTED_LOCATION_RELEASE)
+        GET_FILENAME_COMPONENT(_target_filename_debug "${_import_loc_debug}" NAME)
+        GET_FILENAME_COMPONENT(_target_filename_release "${_import_loc_release}" NAME)
+        INSTALL(FILES ${_import_loc_debug}
+                DESTINATION ${_INSTALL_DESTINATION}
+                CONFIGURATIONS Debug)
+        INSTALL(FILES ${_import_loc_release}
+                DESTINATION ${_INSTALL_DESTINATION}
+                CONFIGURATIONS Release)
+        IF(UNIX AND NOT APPLE)
+          IF(_target_filename_debug)
+            INSTALL(CODE "FILE(RPATH_REMOVE
+                               FILE \"\${CMAKE_INSTALL_PREFIX}/${_INSTALL_DESTINATION}/${_target_filename_debug}\")")
+          ENDIF()
+          IF(_target_filename_release)
+            INSTALL(CODE "FILE(RPATH_REMOVE
+                               FILE \"\${CMAKE_INSTALL_PREFIX}/${_INSTALL_DESTINATION}/${_target_filename_release}\")")
+          ENDIF()
         ENDIF()
-        IF(_target_filename_release)
-          INSTALL(CODE "FILE(RPATH_REMOVE
-                             FILE \"\${CMAKE_INSTALL_PREFIX}/${_INSTALL_DESTINATION}/${_target_filename_release}\")")
-        ENDIF()
+      ELSE()
+        INSTALL(TARGETS ${_install_target}
+                RUNTIME DESTINATION ${_INSTALL_DESTINATION}
+                LIBRARY DESTINATION ${_INSTALL_DESTINATION}
+                #ARCHIVE DESTINATION ${_INSTALL_DESTINATION}
+                )
       ENDIF()
     ELSE()
-      INSTALL(TARGETS ${_install_target}
-              RUNTIME DESTINATION ${_INSTALL_DESTINATION}
-              LIBRARY DESTINATION ${_INSTALL_DESTINATION}
-              #ARCHIVE DESTINATION ${_INSTALL_DESTINATION}
-              )
+      MESSAGE(WARNING "Ignoring unknown plug-in target \"${_install_target}\" for installation.")
     ENDIF()
   ENDFOREACH()


add executable definition to CMakeMacro.txt

--- modules/CMakeMacro.cmake
+++ modules/CMakeMacro.cmake
@@ -82,6 +82,42 @@
 endmacro()

 # --------------------------------------------------------------------------------
+macro (matcha_executable_definition name)
+	set(the_target "${name}")
+	project(${the_target})
+
+	include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../include)
+	include_directories(${CMAKE_CURRENT_BINARY_DIR}/../include)
+
+	foreach(d ${ARGN})
+		include_directories(${CMAKE_CURRENT_SOURCE_DIR}/../../${d}/include)
+	endforeach()
+
+	add_executable(${the_target} main.cpp)
+
+	set(BUILD_FLAGS "")
+
+	if(CMAKE_COMPILER_IS_GNUCXX)
+		set(BUILD_FLAGS "${BUILD_FLAGS} -std=c++0x -Wall -Werror -g")
+	endif()
+	if(CMAKE_CXX_COMPILER MATCHES ".*clang\\+\\+.*")
+		set(BUILD_FLAGS "${BUILD_FLAGS} -std=c++0x -Wall -Werror -g")
+	endif()
+
+	set_source_files_properties(SOURCE ${exe_srcs} PROPERTIES COMPILE_FLAGS ${BUILD_FLAGS})
+	set_source_files_properties(SOURCE ${sys_exe_srcs} PROPERTIES COMPILE_FLAGS ${BUILD_FLAGS})
+	set_source_files_properties(SOURCE ${ext_exe_srcs} PROPERTIES COMPILE_FLAGS ${BUILD_FLAGS})
+
+	foreach(d ${lib_external})
+		target_link_libraries(${the_target} ${d})
+	endforeach()
+
+	foreach(d ${ARGN})
+		target_link_libraries(${the_target} matcha_${d})
+	endforeach()
+endmacro()
+
+# --------------------------------------------------------------------------------
 macro (matcha_test_definition name)
 	set(the_target "${name}")
 	project (${the_target})


modules: guess what I screwed up this time!

--- modules/FindMagnum.cmake
+++ modules/FindMagnum.cmake
@@ -499,7 +499,6 @@
                 find_package(EGL)
                 set_property(TARGET Magnum::${_component} APPEND PROPERTY
                     INTERFACE_LINK_LIBRARIES EGL::EGL)
-            endif()

             # Windowless WGL application has no additional dependencies


FindMagnum: fixed formatting with `cmake --help-module`.

--- modules/FindMagnum.cmake
+++ modules/FindMagnum.cmake
@@ -15,24 +15,25 @@
 # components. The base library depends on Corrade, OpenGL and GLEW
 # libraries. Additional dependencies are specified by the components. The
 # optional components are:
-#  DebugTools    - DebugTools library (depends on MeshTools, Physics,
-#                  Primitives, SceneGraph and Shaders components)
-#  MeshTools     - MeshTools library
-#  Physics       - Physics library
-#  Primitives    - Library with stock geometric primitives (static)
-#  SceneGraph    - Scene graph library
-#  Shaders       - Library with stock shaders
-#  Text          - Text rendering library (depends on TextureTools component,
-#                  FreeType library and possibly HarfBuzz library, see below)
-#  TextureTools  - TextureTools library
-#  GlxApplication - GLX application (depends on X11 libraries)
-#  XEglApplication - X/EGL application (depends on EGL and X11 libraries)
+#  DebugTools       - DebugTools library (depends on MeshTools, Physics,
+#                     Primitives, SceneGraph and Shaders components)
+#  MeshTools        - MeshTools library
+#  Physics          - Physics library
+#  Primitives       - Library with stock geometric primitives (static)
+#  SceneGraph       - Scene graph library
+#  Shaders          - Library with stock shaders
+#  Text             - Text rendering library (depends on TextureTools
+#                     component, FreeType library and possibly HarfBuzz
+#                     library, see below)
+#  TextureTools     - TextureTools library
+#  GlxApplication   - GLX application (depends on X11 libraries)
+#  XEglApplication  - X/EGL application (depends on EGL and X11 libraries)
 #  WindowlessGlxApplication - Windowless GLX application (depends on X11
-#   libraries)
-#  GlutApplication - GLUT application (depends on GLUT library)
-#  Sdl2Application - SDL2 application (depends on SDL2 library)
-#  NaClApplication - NaCl application (only if targetting Google Chrome
-#   Native Client)
+#                     libraries)
+#  GlutApplication  - GLUT application (depends on GLUT library)
+#  Sdl2Application  - SDL2 application (depends on SDL2 library)
+#  NaClApplication  - NaCl application (only if targetting Google Chrome
+#                     Native Client)
 # Example usage with specifying additional components is:
 #  find_package(Magnum [REQUIRED|COMPONENTS]
 #               MeshTools Primitives GlutApplication)
@@ -44,10 +45,12 @@
 # Features of found Magnum library are exposed in these variables:
 #  MAGNUM_TARGET_GLES   - Defined if compiled for OpenGL ES
 #  MAGNUM_TARGET_GLES2  - Defined if compiled for OpenGL ES 2.0
-#  MAGNUM_TARGET_DESKTOP_GLES - Defined if compiled with OpenGL ES emulation
-#                         on desktop OpenGL
-#  MAGNUM_TARGET_NACL   - Defined if compiled for Google Chrome Native Client
-#  MAGNUM_USE_HARFBUZZ  - Defined if HarfBuzz library is used for text rendering
+#  MAGNUM_TARGET_DESKTOP_GLES - Defined if compiled with OpenGL ES
+#   emulation on desktop OpenGL
+#  MAGNUM_TARGET_NACL   - Defined if compiled for Google Chrome Native
+#   Client
+#  MAGNUM_USE_HARFBUZZ  - Defined if HarfBuzz library is used for text
+#   rendering
 #
 # Additionally these variables are defined for internal usage:
 #  MAGNUM_INCLUDE_DIR                   - Root include dir (w/o


CMake: Git minor can contain dots: 1.8.4.4 vs 1.7.1

Keep only the first 2 dots to extract MAJOR, MINOR, PATCH

--- cmake/CheckGitVersion.cmake
+++ cmake/CheckGitVersion.cmake
@@ -124,13 +124,21 @@
   # Generating the ALIROOT_SERIAL using git rev-list
   # Older Git version < 1.7.3 do not have --count option for rev-list
   # We use simple rev-list and count the lines of the output
+
+  if(CMAKEDEBUG)
+    message(STATUS "DEBUG: GIT_VERSION_STRING = ${GIT_VERSION_STRING}")
+  endif()

   # extract major minor and patch from Git version
-  string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+" "\\1" GIT_VERSION_MAJOR "${GIT_VERSION_STRING}")
-  string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+" "\\1" GIT_VERSION_MINOR "${GIT_VERSION_STRING}")
-  string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+)" "\\1" GIT_VERSION_PATCH "${GIT_VERSION_STRING}")
-
-  if(${GIT_VERSION_MAJOR} EQUAL 1 AND ${GIT_VERSION_MINOR} LESS 3)
+  string(REGEX REPLACE "^([0-9]+)\\.[0-9]+\\.[0-9]+.*" "\\1" GIT_VERSION_MAJOR "${GIT_VERSION_STRING}")
+  string(REGEX REPLACE "^[0-9]+\\.([0-9]+)\\.[0-9]+.*" "\\1" GIT_VERSION_MINOR "${GIT_VERSION_STRING}")
+  string(REGEX REPLACE "^[0-9]+\\.[0-9]+\\.([0-9]+).*" "\\1" GIT_VERSION_PATCH "${GIT_VERSION_STRING}")
+
+  if(CMAKEDEBUG)
+    message(STATUS "DEBUG: GIT_VERSION_MAJOR = ${GIT_VERSION_MAJOR}, GIT_VERSION_MINOR = ${GIT_VERSION_MINOR}, GIT_VERSION_PATCH = ${GIT_VERSION_PATCH}")
+  endif()
+
+  if((${GIT_VERSION_MAJOR} EQUAL 1) AND (${GIT_VERSION_MINOR} LESS 8) AND (${GIT_VERSION_PATCH} LESS 3))
     if(CMAKEDEBUG)
       message(STATUS "DEBUG: cmake version less that 1.7.3!")
     endif()


Compile nnpack and pthreadpool with -fPIC

Summary: Closes https://github.com/caffe2/caffe2/pull/1428

Reviewed By: Maratyszcza

Differential Revision: D6240390

Pulled By: pietern

fbshipit-source-id: 6d441bbfda81ce79e3c824ec28eec0b2cdd8c7cd

--- cmake/External/nnpack.cmake
+++ cmake/External/nnpack.cmake
@@ -53,6 +53,10 @@
     add_subdirectory(
       "${NNPACK_PREFIX}"
       "${CONFU_DEPENDENCIES_BINARY_DIR}")
+    # We build static versions of nnpack and pthreadpool but link
+    # them into a shared library for Caffe2, so they need PIC.
+    set_property(TARGET nnpack PROPERTY POSITION_INDEPENDENT_CODE ON)
+    set_property(TARGET pthreadpool PROPERTY POSITION_INDEPENDENT_CODE ON)
   endif()

   set(NNPACK_FOUND TRUE)


Add component display names

Add component display names

(cherry picked from commit 6d52ea898442d2458a40f8b06b75320c9ab4a5cc)

--- cmake/OpenCVPackaging.cmake
+++ cmake/OpenCVPackaging.cmake
@@ -57,6 +57,15 @@
 set(CPACK_DEBIAN_PACKAGE_SECTION "libs")
 set(CPACK_DEBIAN_PACKAGE_HOMEPAGE "http://opencv.org")

+#display names
+set(CPACK_COMPONENT_DEV_DISPLAY_NAME     "Development files")
+set(CPACK_COMPONENT_DOCS_DISPLAY_NAME    "Documentation")
+set(CPACK_COMPONENT_JAVA_DISPLAY_NAME    "Java bindings")
+set(CPACK_COMPONENT_LIBS_DISPLAY_NAME    "Libraries and data")
+set(CPACK_COMPONENT_PYTHON_DISPLAY_NAME  "Python bindings")
+set(CPACK_COMPONENT_SAMPLES_DISPLAY_NAME "Samples")
+set(CPACK_COMPONENT_TESTS_DISPLAY_NAME   "Tests")
+
 #depencencies
 set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS TRUE)
 set(CPACK_COMPONENT_SAMPLES_DEPENDS libs)


Fixed Boost library detection to allow selection of non-mt or -mt variants.

--- cmake/ThirdPartyBoost.cmake
+++ cmake/ThirdPartyBoost.cmake
@@ -1,5 +1,8 @@
 SET(THIRDPARTY_BUILD_BOOST OFF CACHE BOOL
     "Build Boost libraries")
+SET(Boost_USE_MULTITHREADED ON CACHE BOOL
+    "Search for multithreaded boost libraries")
+MARK_AS_ADVANCED(Boost_USE_MULTITHREADED)

 IF (THIRDPARTY_BUILD_BOOST)
     INCLUDE(ExternalProject)
@@ -99,18 +102,6 @@
         FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
         SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/dist)
         FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
-
-        # In case we have not found the threaded version, look for the
-        # non-threaded version of the libraries.
-        SET(Boost_USE_MULTITHREADED OFF)
-        SET(BOOST_ROOT $ENV{BOOST_HOME})
-        FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
-        SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/boost)
-        FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
-        SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/../ThirdParty/boost)
-        FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
-        SET(BOOST_ROOT ${CMAKE_SOURCE_DIR}/ThirdParty/dist)
-        FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
     ELSE()
         FIND_PACKAGE( Boost COMPONENTS thread iostreams zlib date_time filesystem system program_options regex)
     ENDIF()


loosen clang compile checks for switch statements (#1387)

--- cmake/clang_4_0_flags.cmake
+++ cmake/clang_4_0_flags.cmake
@@ -26,6 +26,8 @@
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-exit-time-destructors")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-prototypes")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-missing-noreturn")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-switch")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-covered-switch-default")
 if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
     if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 9.1.0)
         set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-zero-as-null-pointer-constant")


Assume /Tools is part of the HEXAGON_TOOLCHAIN env variable (#9609)

--- cmake/modules/Hexagon.cmake
+++ cmake/modules/Hexagon.cmake
@@ -138,8 +138,8 @@
     INSTALL_DIR "${LAUNCHER_BINARY_DIR}"
     BUILD_ALWAYS ON
     CMAKE_ARGS
-    "-DCMAKE_C_COMPILER=${USE_HEXAGON_TOOLCHAIN}/Tools/bin/hexagon-clang"
-    "-DCMAKE_CXX_COMPILER=${USE_HEXAGON_TOOLCHAIN}/Tools/bin/hexagon-clang++"
+    "-DCMAKE_C_COMPILER=${USE_HEXAGON_TOOLCHAIN}/bin/hexagon-clang"
+    "-DCMAKE_CXX_COMPILER=${USE_HEXAGON_TOOLCHAIN}/bin/hexagon-clang++"
     "-DFASTRPC_LIBS=SKEL"
     "-DUSE_HEXAGON_ARCH=${USE_HEXAGON_ARCH}"
     "-DUSE_HEXAGON_SDK=${USE_HEXAGON_SDK}"


Remove -Wall for Non-debug builds in CMake

Summary: We get a ton of unused variable warnings in CMake release builds. Removed -Wall for Release builds.

Reviewed By: justinjhendrick

Differential Revision: D6344685

fbshipit-source-id: f8afbb321b101b59333330659feb176958e05b7b

--- cmake_modules/Commons.cmake
+++ cmake_modules/Commons.cmake
@@ -16,11 +16,11 @@
         set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /MT")
         set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /MT")
     else ()
-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall")
-        set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g")
-        set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -O3")
-        set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O3")
-        set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} -O3")
+        set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -g -Wall")
+        set(COMMON_CXX_FLAGS_NODBG, "-O3")
+        set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${COMMON_CXX_FLAGS_NODBG}")
+        set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COMMON_CXX_FLAGS_NODBG}")
+        set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} ${COMMON_CXX_FLAGS_NODBG}")
     endif ()
 endmacro()


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

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

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

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

git-svn-id: 23b6355f2bb369032457de4eb5f713ee134f73a8@6784 16af8721-9629-0410-8352-f15c8da7e697

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

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


pass sirf variables as cached

pass sirf variables as cached

--- SuperBuild/External_SIRF.cmake
+++ SuperBuild/External_SIRF.cmake
@@ -60,7 +60,7 @@
   set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${SUPERBUILD_INSTALL_DIR})

   if (WIN32)
-    set(extra_args "-DSIRF_INSTALL_DEPENDENCIES=ON")
+    set(extra_args "-DSIRF_INSTALL_DEPENDENCIES:BOOL=ON")
   else()
     set(extra_args "")
   endif()
@@ -79,26 +79,26 @@
     TMP_DIR ${${proj}_TMP_DIR}

     CMAKE_ARGS
-        -DCMAKE_PREFIX_PATH=${SUPERBUILD_INSTALL_DIR}
-        -DCMAKE_LIBRARY_PATH=${SUPERBUILD_INSTALL_DIR}/lib
-        -DCMAKE_INSTALL_PREFIX=${SIRF_Install_Dir}
-        -DBOOST_INCLUDEDIR=${BOOST_ROOT}/include/
-        -DBOOST_LIBRARYDIR=${BOOST_LIBRARY_DIR}
-        -DBOOST_ROOT=${BOOST_ROOT}
-        -DMatlab_ROOT_DIR=${Matlab_ROOT_DIR}
-        -DMATLAB_ROOT=${Matlab_ROOT_DIR} # pass this for compatibility with old SIRF
-        -DMATLAB_DEST_DIR=${MATLAB_DEST_DIR}
-        -DSTIR_DIR=${STIR_DIR}
+        -DCMAKE_PREFIX_PATH:PATH=${SUPERBUILD_INSTALL_DIR}
+        -DCMAKE_LIBRARY_PATH:PATH=${SUPERBUILD_INSTALL_DIR}/lib
+        -DCMAKE_INSTALL_PREFIX:PATH=${SIRF_Install_Dir}
+        -DBOOST_INCLUDEDIR:PATH=${BOOST_ROOT}/include/
+        -DBOOST_LIBRARYDIR:PATH=${BOOST_LIBRARY_DIR}
+        -DBOOST_ROOT:PATH=${BOOST_ROOT}
+        -DMatlab_ROOT_DIR:PATH=${Matlab_ROOT_DIR}
+        -DMATLAB_ROOT:PATH=${Matlab_ROOT_DIR} # pass this for compatibility with old SIRF
+        -DMATLAB_DEST_DIR:PATH=${MATLAB_DEST_DIR}
+        -DSTIR_DIR:PATH=${STIR_DIR}
         ${HDF5_CMAKE_ARGS}
-        -DISMRMRD_DIR=${ISMRMRD_DIR}
-        -DSWIG_EXECUTABLE=${SWIG_EXECUTABLE}
-        -DPYTHON_EXECUTABLE=${PYTHON_EXECUTABLE}
-        -DPYTHON_INCLUDE_DIR=${PYTHON_INCLUDE_DIRS}
-        -DPYTHON_LIBRARY=${PYTHON_LIBRARIES}
-        -DPYTHON_DEST_DIR=${PYTHON_DEST_DIR}
+        -DISMRMRD_DIR:PATH=${ISMRMRD_DIR}
+        -DSWIG_EXECUTABLE:FILEPATH=${SWIG_EXECUTABLE}
+        -DPYTHON_EXECUTABLE:FILEPATH=${PYTHON_EXECUTABLE}
+        -DPYTHON_INCLUDE_DIR:PATH=${PYTHON_INCLUDE_DIRS}
+        -DPYTHON_LIBRARY:FILEPATH=${PYTHON_LIBRARIES}
+        -DPYTHON_DEST_DIR:PATH=${PYTHON_DEST_DIR}
         -DPYTHON_STRATEGY=${PYTHON_STRATEGY}
         -DNIFTYREG_DIR:PATH=${NIFTYREG_DIR}
-        -DREG_ENABLE=${BUILD_SIRF_Registration}
+        -DREG_ENABLE:BOOL=${BUILD_SIRF_Registration}
 		${extra_args}
 	INSTALL_DIR ${SIRF_Install_Dir}
     DEPENDS


Use a special VMTK branch for testing

Use a special VMTK branch for testing

The nightly build will be used to test proposed VMTK changes on all platforms.

--- SuperBuild/External_VMTK.cmake
+++ SuperBuild/External_VMTK.cmake
@@ -24,7 +24,8 @@
   ExternalProject_Add(${proj}
     ${${proj}_EP_ARGS}
     #GIT_REPOSITORY "${git_protocol}://github.com/vmtk/vmtk.git"
-    #GIT_TAG "2cecfb427a45bbb5240de687929954c60ebab06f" # "more debugging test for mac os 10.13" (58c8829) commit broke Python wrapping, so we need to use the one before
+    #GIT_TAG "master"
+    # Use this repository/branch to test changes using nightly builds:
     GIT_REPOSITORY "${git_protocol}://github.com/rlizzo/vmtk"
     GIT_TAG "update_cmake_policies"
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}


Doxyfile updated

Doxyfile updated

--- doc/Doxyfile.cmake
+++ doc/Doxyfile.cmake
@@ -1,4 +1,4 @@
-# Doxyfile 1.8.0
+# Doxyfile 1.8.1

 # This file describes the settings to be used by the documentation system
 # doxygen (www.doxygen.org) for a project.
@@ -553,12 +553,6 @@

 SHOW_USED_FILES        = YES

-# If the sources in your project are distributed over multiple directories
-# then setting the SHOW_DIRECTORIES tag to YES will show the directory hierarchy
-# in the documentation. The default is NO.
-
-SHOW_DIRECTORIES       = NO
-
 # Set the SHOW_FILES tag to NO to disable the generation of the Files page.
 # This will remove the Files entry from the Quick Index and from the
 # Folder Tree View (if specified). The default is YES.
@@ -947,19 +941,22 @@

 HTML_TIMESTAMP         = NO

-# If the HTML_ALIGN_MEMBERS tag is set to YES, the members of classes,
-# files or namespaces will be aligned in HTML using tables. If set to
-# NO a bullet list will be used.
-
-HTML_ALIGN_MEMBERS     = YES
-
 # If the HTML_DYNAMIC_SECTIONS tag is set to YES then the generated HTML
 # documentation will contain sections that can be hidden and shown after the
-# page has loaded. For this to work a browser that supports
-# JavaScript and DHTML is required (for instance Mozilla 1.0+, Firefox
-# Netscape 6.0+, Internet explorer 5.0+, Konqueror, or Safari).
+# page has loaded.

 HTML_DYNAMIC_SECTIONS  = YES
+
+# With HTML_INDEX_NUM_ENTRIES one can control the preferred number of
+# entries shown in the various tree structured indices initially; the user
+# can expand and collapse entries dynamically later on. Doxygen will expand
+# the tree to such a level that at most the specified number of entries are
+# visible (unless a fully collapsed tree already exceeds this amount).
+# So setting the number of entries 1 will produce a full collapsed tree by
+# default. 0 is a special value representing an infinite number of entries
+# and will result in a full expanded tree by default.
+
+HTML_INDEX_NUM_ENTRIES = 100

 # If the GENERATE_DOCSET tag is set to YES, additional index files
 # will be generated that can be used as input for Apple's Xcode 3
@@ -1138,11 +1135,6 @@
 # values from appearing in the overview section.

 ENUM_VALUES_PER_LINE   = 4
-
-# By enabling USE_INLINE_TREES, doxygen will generate the Groups, Directories,
-# and Class Hierarchy pages using a tree view instead of an ordered list.
-
-USE_INLINE_TREES       = NO

 # If the treeview is enabled (see GENERATE_TREEVIEW) then this tag can be
 # used to set the initial width (in pixels) of the frame in which the tree
@@ -1711,7 +1703,7 @@

 GRAPHICAL_HIERARCHY    = YES

-# If the DIRECTORY_GRAPH, SHOW_DIRECTORIES and HAVE_DOT tags are set to YES
+# If the DIRECTORY_GRAPH and HAVE_DOT tags are set to YES
 # then doxygen will show the dependencies a directory has on other directories
 # in a graphical way. The dependency relations are determined by the #include
 # relations between the files in the directories.


Replace underscores with dashes in package names (#2983)

* Replace underscores with dashes in package names

Debian package names may not contain underscores; see
https://www.debian.org/doc/debian-policy/ch-controlfields.html#s-f-source .
Generating packages with underscores in their names will mess up
other Debian utilities that expect that to be used as a version
separator.

Signed-off-by: P. J. Reed <b4e3b694db1cddfe64481aab280498df5d31ec6b@swri.org>

* Remove unnecessary changes

--- CMakeModules/CPackConfig.cmake
+++ CMakeModules/CPackConfig.cmake
@@ -131,15 +131,15 @@
   DISPLAY_NAME "ArrayFire"
   DESCRIPTION "ArrayFire backend libraries"
   EXPANDED)
-cpack_add_component_group(cpu_backend
+cpack_add_component_group(cpu-backend
   DISPLAY_NAME "CPU backend"
   DESCRIPTION "Libraries and dependencies of the CPU backend."
   PARENT_GROUP backends)
-cpack_add_component_group(cuda_backend
+cpack_add_component_group(cuda-backend
   DISPLAY_NAME "CUDA backend"
   DESCRIPTION "Libraries and dependencies of the CUDA backend."
   PARENT_GROUP backends)
-cpack_add_component_group(opencl_backend
+cpack_add_component_group(opencl-backend
   DISPLAY_NAME "OpenCL backend"
   DESCRIPTION "Libraries and dependencies of the OpenCL backend."
   PARENT_GROUP backends)
@@ -164,13 +164,13 @@
 cpack_add_component(opencl_dependencies
   DISPLAY_NAME "OpenCL Dependencies"
   DESCRIPTION "Libraries required by the OpenCL backend."
-  GROUP opencl_backend
+  GROUP opencl-backend
   INSTALL_TYPES All Development Runtime)
 if (NOT APPLE) #TODO(pradeep) Remove check after OSX support addition
   cpack_add_component(afopencl_debug_symbols
     DISPLAY_NAME "OpenCL Backend Debug Symbols"
     DESCRIPTION "File containing debug symbols for afopencl dll/so/dylib file"
-    GROUP opencl_backend
+    GROUP opencl-backend
     DISABLED
     INSTALL_TYPES Development)
 endif ()
@@ -178,13 +178,13 @@
 cpack_add_component(cuda_dependencies
   DISPLAY_NAME "CUDA Dependencies"
   DESCRIPTION "CUDA runtime and libraries required by the CUDA backend."
-  GROUP cuda_backend
+  GROUP cuda-backend
   INSTALL_TYPES All Development Runtime)
 if (NOT APPLE) #TODO(pradeep) Remove check after OSX support addition
   cpack_add_component(afcuda_debug_symbols
     DISPLAY_NAME "CUDA Backend Debug Symbols"
     DESCRIPTION "File containing debug symbols for afcuda dll/so/dylib file"
-    GROUP cuda_backend
+    GROUP cuda-backend
     DISABLED
     INSTALL_TYPES Development)
 endif ()
@@ -193,7 +193,7 @@
   cpack_add_component(afcpu_debug_symbols
     DISPLAY_NAME "CPU Backend Debug Symbols"
     DESCRIPTION "File containing debug symbols for afcpu dll/so/dylib file"
-    GROUP cpu_backend
+    GROUP cpu-backend
     DISABLED
     INSTALL_TYPES Development)
 endif ()
@@ -201,7 +201,7 @@
 cpack_add_component(cuda
   DISPLAY_NAME "CUDA Backend"
   DESCRIPTION "The CUDA backend allows you to run ArrayFire code on CUDA-enabled GPUs. Verify that you have the CUDA toolkit installed or install the CUDA dependencies component."
-  GROUP cuda_backend
+  GROUP cuda-backend
   DEPENDS common_backend_dependencies cuda_dependencies
   INSTALL_TYPES All Development Runtime)

@@ -220,14 +220,14 @@
 cpack_add_component(cpu
   DISPLAY_NAME "CPU Backend"
   DESCRIPTION "The CPU backend allows you to run ArrayFire code on your CPU."
-  GROUP cpu_backend
+  GROUP cpu-backend
   DEPENDS ${cpu_deps_comps}
   INSTALL_TYPES All Development Runtime)

 cpack_add_component(opencl
   DISPLAY_NAME "OpenCL Backend"
   DESCRIPTION "The OpenCL backend allows you to run ArrayFire code on OpenCL-capable GPUs. Note: ArrayFire does not currently support OpenCL for Intel CPUs on OSX."
-  GROUP opencl_backend
+  GROUP opencl-backend
   DEPENDS ${ocl_deps_comps}
   INSTALL_TYPES All Development Runtime)

@@ -301,9 +301,9 @@
 get_native_path(issl_lic_path "${CMAKE_SOURCE_DIR}/LICENSES/ISSL License.txt")

 cpack_ifw_configure_component_group(backends)
-cpack_ifw_configure_component_group(cpu_backend)
-cpack_ifw_configure_component_group(cuda_backend)
-cpack_ifw_configure_component_group(opencl_backend)
+cpack_ifw_configure_component_group(cpu-backend)
+cpack_ifw_configure_component_group(cuda-backend)
+cpack_ifw_configure_component_group(opencl-backend)
 if (PACKAGE_MKL_DEPS)
   cpack_ifw_configure_component(mkl_dependencies)
 endif ()


Fixed lapack detection on Ubuntu 14.04.

Fixed lapack detection on Ubuntu 14.04.

--- CMakeModules/FindCLAPACK.cmake
+++ CMakeModules/FindCLAPACK.cmake
@@ -41,9 +41,16 @@
 set(BLA_STATIC TRUE)
 set(LAPACK_STATIC TRUE)

+set(TMP ${CMAKE_FIND_LIBRARY_SUFFIXES})
+set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3)
 find_library( GFORTRAN_LIBRARY
               NAMES gfortran
               PATHS ENV LD_LIBRARY_PATH )
+set(CMAKE_FIND_LIBRARY_SUFFIXES ${TMP})
+
+if (GFORTRAN_LIBRARY)
+  set(CMAKE_FIND_LIBRARY_SUFFIXES ${CMAKE_FIND_LIBRARY_SUFFIXES} .so.3gf)
+endif ()

 set(BLA_VENDOR "Apple")
 find_package(LAPACK)


Update CMakeModules/FindCOLLADA.cmake

Update CMakeModules/FindCOLLADA.cmake

Keeping old style operator to align with OSG CMake 2.8.0 support.

Co-Authored-By: eknabe <698024a0fac8d1f35b3abebb9ef9b9300bd5a08e@users.noreply.github.com>

--- CMakeModules/FindCOLLADA.cmake
+++ CMakeModules/FindCOLLADA.cmake
@@ -29,7 +29,7 @@
 ELSEIF(MINGW)
     SET(COLLADA_BUILDNAME "mingw")
     SET(COLLADA_BOOST_BUILDNAME ${COLLADA_BUILDNAME})
-ELSEIF(MSVC_VERSION GREATER_EQUAL 1910)
+ELSEIF((MSVC_VERSION GREATER 1910) OR (MSVC_VERSION EQUAL 1910))
     SET(COLLADA_BUILDNAME "vc14")
     SET(COLLADA_BOOST_BUILDNAME "vc141")
 ELSEIF(MSVC_VERSION EQUAL 1900)


cmake: fixed gromacs detection

cmake: fixed gromacs detection

--- CMakeModules/FindGROMACS.cmake
+++ CMakeModules/FindGROMACS.cmake
@@ -39,17 +39,16 @@
   endif()
   check_library_exists("${GROMACS_LIBRARY}" init_domdec_vsites "" FOUND_GROMACS_INIT_DOMDEC_VSITES)
   check_library_exists("${GROMACS_LIBRARY}" gmx_gpu_sharing_supported "" FOUND_GROMACS_GMX_GPU_SHARING_SUPPORTED)
-  if(FOUND_GROMACS_GMX_GPU_SHARING_SUPPORTED)
+  #check is above
+  if(FOUND_GROMACS_VERSION_CXX)
+    set(GROMACS_VERSION 52)
+  elseif(FOUND_GROMACS_GMX_GPU_SHARING_SUPPORTED)
     set(GROMACS_VERSION 51)
   elseif(FOUND_GROMACS_INIT_DOMDEC_VSITES)
     set(GROMACS_VERSION 50)
   else()
-    message(FATAL_ERROR "Could not find init_domdec_vsites nor gmx_gpu_sharing_supported in the gromacs library, take look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. This most likely means that your gromacs version is too old, we need at least gromacs 5 !")
+    message(FATAL_ERROR "Could not find gmx_version, init_domdec_vsites nor gmx_gpu_sharing_supported in the gromacs library, take look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. This most likely means that your gromacs version is too old, we need at least gromacs 5 !")
   endif()
-  #check is above
-  if(FOUND_GROMACS_VERSION_CXX)
-    set(GROMACS_VERSION 52)
-  endif(FOUND_GROMACS_VERSION_CXX)
   check_cxx_library_exists("${GROMACS_LIBRARY}" gmx_is_single_precision "" FOUND_GMX_IS_SINGLE_PRECISION)
   check_cxx_library_exists("${GROMACS_LIBRARY}" gmx_is_double_precision "" FOUND_GMX_IS_DOUBLE_PRECISION)
   if(FOUND_GMX_IS_DOUBLE_PRECISION)


bug#58766: Server binary was compiled without fast-mutexes

Re-enable fast mutexes on Linux for release builds.

--- cmake/build_configurations/mysql_release.cmake
+++ cmake/build_configurations/mysql_release.cmake
@@ -117,8 +117,8 @@

   OPTION(WITH_PIC "" ON) # Why?

-  # Ensure aio is available on Linux (required by InnoDB)
   IF(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+    # Ensure aio is available on Linux (required by InnoDB)
     CHECK_INCLUDE_FILES(libaio.h HAVE_LIBAIO_H)
     CHECK_LIBRARY_EXISTS(aio io_queue_init "" HAVE_LIBAIO)
     IF(NOT HAVE_LIBAIO_H OR NOT HAVE_LIBAIO)
@@ -130,6 +130,9 @@
         SuSE:                       zypper install libaio-devel
        ")
     ENDIF()
+
+    # Enable fast mutexes on Linux
+    OPTION(WITH_FAST_MUTEXES "" ON)
   ENDIF()

 ENDIF()


repo(tudat-team) Migrated CI to tudat-team.

--- cmake_modules/yolo/YOLOProjectAddLibrary.cmake
+++ cmake_modules/yolo/YOLOProjectAddLibrary.cmake
@@ -61,153 +61,3 @@
     unset(target_name)
 endfunction()

-
-#include(CMakeParseArguments)
-#
-## Get upper project name.
-#string(TOUPPER ${PROJECT_NAME} _YOLO_UPPER_PROJECT_NAME)
-#string(TOLOWER ${PROJECT_NAME} _YOLO_LOWER_PROJECT_NAME)
-#
-#function("${_YOLO_UPPER_PROJECT_NAME}_ADD_LIBRARY" arg1 arg2 arg3)
-#    # arg1: library name
-#    # arg3: sources
-#    # arg4: headers
-#
-#    # Design function parser.
-#    # https://cmake.org/cmake/help/v3.0/module/CMakeParseArguments.html
-#    set(options BUILD_STATIC)
-#    set(oneValueArgs PREFIX EXPORT)
-#    set(multiValueArgs LINK_ITEMS)
-#    cmake_parse_arguments("_LIBRARY" "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
-#
-#    # TODO: Detect mode. Parser or Standard.
-#
-#    # Create target name.
-#    set(target_name "${arg1}")
-#    set(target_name_no_prefix "${arg1}")
-#
-#    # Prepend custom prefix if desired.
-#    if (NOT "${_LIBRARY_PREFIX}" STREQUAL "")
-#        string(PREPEND target_name "${_LIBRARY_PREFIX}_")
-#    elseif (NOT "${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_PREFIX}" STREQUAL "")
-#        string(PREPEND target_name "${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_PREFIX}_")
-#    endif ()
-#
-#    # Check if parsed argument exists (takes precedence).
-#    if (DEFINED ${_LIBRARY_BUILD_STATIC})
-#        if (${_LIBRARY_BUILD_STATIC})
-#            add_library("${target_name}" STATIC ${arg2})
-#        else ()
-#            add_library("${target_name}" SHARED ${arg2})
-#        endif ()
-#        # Check if global argument exists.
-#    elseif (DEFINED ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_BUILD_STATIC})
-#        if (${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_BUILD_STATIC})
-#            add_library("${target_name}" STATIC ${arg2})
-#        else ()
-#            add_library("${target_name}" SHARED ${arg2})
-#        endif ()
-#    else ()
-#        # Shared by default, if nothing is defined.
-#        add_library("${target_name}" SHARED ${arg2})
-#    endif ()
-#
-#    macro(PARSE_LIBRARY_ARGS arg default)
-#        if (DEFINED ${_LIBRARY_${arg}})
-#            set("_${arg}" ${_LIBRARY_${arg}})
-#        elseif (DEFINED "${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_${arg}}")
-#            set("_${arg}" ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_${arg}})
-#        else ()
-#            set("_${arg}" "${default}")
-#        endif ()
-#    endmacro()
-#
-#    # BUILD-TREE : ARCHIVE_OUTPUT_DIRECTORY
-#
-##    if (DEFINED ${_LIBRARY_ARCHIVE_OUTPUT_DIRECTORY})
-##        set(_ARCHIVE_OUTPUT_DIRECTORY ${_LIBRARY_ARCHIVE_OUTPUT_DIRECTORY})
-##    elseif (DEFINED ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_ARCHIVE_OUTPUT_DIRECTORY})
-##        set(_ARCHIVE_OUTPUT_DIRECTORY ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_ARCHIVE_OUTPUT_DIRECTORY})
-##    else ()
-##        set(_ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
-##    endif ()
-#
-#    # BUILD-TREE : LIBRARY_OUTPUT_DIRECTORY
-##    if (DEFINED ${_LIBRARY_LIBRARY_OUTPUT_DIRECTORY})
-##        set(_LIBRARY_OUTPUT_DIRECTORY ${_LIBRARY_LIBRARY_OUTPUT_DIRECTORY})
-##    elseif (DEFINED ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_LIBRARY_OUTPUT_DIRECTORY})
-##        set(_LIBRARY_OUTPUT_DIRECTORY ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_LIBRARY_OUTPUT_DIRECTORY})
-##    else ()
-##        set(_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib")
-##    endif ()
-#
-#    # BUILD-TREE : RUNTIME_OUTPUT_DIRECTORY
-##    if (DEFINED ${_LIBRARY_RUNTIME_OUTPUT_DIRECTORY})
-##        set(_RUNTIME_OUTPUT_DIRECTORY ${_LIBRARY_RUNTIME_OUTPUT_DIRECTORY})
-##    elseif (DEFINED ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_RUNTIME_OUTPUT_DIRECTORY})
-##        set(_RUNTIME_OUTPUT_DIRECTORY ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_RUNTIME_OUTPUT_DIRECTORY})
-##    else ()
-##        set(_RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/bin")
-##    endif ()
-#
-#    # BUILD-TREE : COMPILE_FLAGS
-#
-##    if (DEFINED ${_LIBRARY_COMPILE_FLAGS})
-##        set(_COMPILE_FLAGS ${_LIBRARY_COMPILE_FLAGS})
-##    elseif (DEFINED ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_COMPILE_FLAGS})
-##        set(_COMPILE_FLAGS ${_${_YOLO_UPPER_PROJECT_NAME}_LIBRARY_COMPILE_FLAGS})
-##    else ()
-##        set(_COMPILE_FLAGS "${CMAKE_CXX_FLAGS}")
-##    endif ()
-#
-#    # BUILD-TREE.
-#    PARSE_LIBRARY_ARGS("ARCHIVE_OUTPUT_DIRECTORY"  "${CMAKE_BINARY_DIR}/lib")
-#    PARSE_LIBRARY_ARGS("LIBRARY_OUTPUT_DIRECTORY"  "${CMAKE_BINARY_DIR}/lib")
-#    PARSE_LIBRARY_ARGS("RUNTIME_OUTPUT_DIRECTORY"  "${CMAKE_BINARY_DIR}/bin")
-#    PARSE_LIBRARY_ARGS("COMPILE_FLAGS" "")
-#    set_target_properties("${target_name}"
-#            PROPERTIES
-#            LINKER_LANGUAGE CXX
-#            ARCHIVE_OUTPUT_DIRECTORY "${_ARCHIVE_OUTPUT_DIRECTORY}"
-#            LIBRARY_OUTPUT_DIRECTORY "${_LIBRARY_OUTPUT_DIRECTORY}"
-#            RUNTIME_OUTPUT_DIRECTORY "${_RUNTIME_OUTPUT_DIRECTORY}"
-##            COMPILE_FLAGS            "${CMAKE_CXX_FLAGS} ${_COMPILE_FLAGS}"
-#            )
-#
-#    add_library(${PROJECT_NAME}::${target_name} ALIAS "${target_name}")
-#
-#    # Link libraries if extra arguments provided.
-#    target_link_libraries("${target_name}" PUBLIC
-#            "${ARGN}"
-#            "${_${_YOLO_UPPER_PROJECT_NAME}_TEST_CASE_LINK_ITEMS}"
-#            )
-#
-#            "${_${_YOLO_UPPER_PROJECT_NAME}_TEST_CASE_LINK_ITEMS}"
-#    # INSTALL TREE.
-#    PARSE_LIBRARY_ARGS("LIBRARY_DESTINATION"  "${CMAKE_INSTALL_PREFIX}/lib")
-#    PARSE_LIBRARY_ARGS("ARCHIVE_DESTINATION"  "${CMAKE_INSTALL_PREFIX}/lib")
-#    PARSE_LIBRARY_ARGS("RUNTIME_DESTINATION"  "${CMAKE_INSTALL_PREFIX}/bin")
-##    PARSE_LIBRARY_ARGS("INCLUDES_DESTINATION" "${CMAKE_INSTALL_PREFIX}/include")
-#    PARSE_LIBRARY_ARGS("EXPORT"               "${_YOLO_LOWER_PROJECT_NAME}_export")
-#    install(TARGETS              "${target_name}"
-#            EXPORT               "${_EXPORT}"
-#            LIBRARY DESTINATION  "${_LIBRARY_DESTINATION}"
-#            ARCHIVE DESTINATION  "${_ARCHIVE_DESTINATION}"
-#            RUNTIME DESTINATION  "${_RUNTIME_DESTINATION}"
-##            INCLUDES DESTINATION "${_INCLUDES_DESTINATION}"
-##            COMPONENT Development
-#            )
-#
-#
-#
-#    # Cleanup.
-#    unset(_ARCHIVE_OUTPUT_DIRECTORY)
-#    unset(_LIBRARY_OUTPUT_DIRECTORY)
-#    unset(_RUNTIME_OUTPUT_DIRECTORY)
-#    unset(_EXPORT)
-#    unset(_LIBRARY_DESTINATION)
-#    unset(_ARCHIVE_DESTINATION)
-#    unset(_RUNTIME_DESTINATION)
-#    unset(_INCLUDES_DESTINATION)
-#    unset(_COMPILE_FLAGS)
-#endfunction()


ENH: modify the warning about WrapITK to be a little more correct

--- Wrapping/itkWrapSetup.cmake
+++ Wrapping/itkWrapSetup.cmake
@@ -1,7 +1,7 @@
 OPTION(USE_WRAP_ITK "Build external languages support" OFF)
 MARK_AS_ADVANCED(USE_WRAP_ITK)
 IF(USE_WRAP_ITK)
-  MESSAGE("WrapITK is an experimental system for wrapping ITK. It has been tested only on Linux and it is known not to work on Windows platforms.")
+  MESSAGE("WrapITK is an experimental system for wrapping ITK. It is tested on Linux, Mac OS and Solaris, but is known to have some problems on some Windows platforms.")
   # required for the FlatStructuringElement to be included.
   # without that, the external projects won't build
   # TODO: remove this check once FlatStructuringElement will be moved out of


Adding warning message.

Adding warning message.

--- benchmark/checkperf.cmake
+++ benchmark/checkperf.cmake
@@ -93,5 +93,9 @@
   set_property(TEST checkperf APPEND PROPERTY DEPENDS parse perfdiff ${SIMDJSON_USER_CMAKECACHE})
   set_property(TEST checkperf PROPERTY RUN_SERIAL TRUE)
 else()
-  message(STATUS "Either git is unavailable or else it is too old. We are disabling checkperf targets.")
+  if (CMAKE_GENERATOR MATCHES Ninja)
+   message(STATUS "We disable the checkperf targets under Ninja.")
+  else()
+   message(STATUS "Either git is unavailable or else it is too old. We are disabling checkperf targets.")
+  endif()
 endif ()


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


[deps] FIX: When removing patch number from compiler version  was not removing when the number was '0'

--- deps/deps-lib/DepsInit.cmake
+++ deps/deps-lib/DepsInit.cmake
@@ -25,7 +25,7 @@
 set(DEPS_ENABLED 1)

 # Get Major.Minor version of compiler
-STRING(REGEX REPLACE "\.[1-9]$" "" COMPILER_VERSION_MAJOR_MINOR ${CMAKE_CXX_COMPILER_VERSION})
+STRING(REGEX REPLACE "\.[0-9]$" "" COMPILER_VERSION_MAJOR_MINOR ${CMAKE_CXX_COMPILER_VERSION})

 ## Define compiler name
 # Check GCC


[cmake] use (DY)LD_LIBRARY_PATH trick for fclib

--- cmake/FindFCLIB.cmake
+++ cmake/FindFCLIB.cmake
@@ -13,7 +13,7 @@
 IF(FCLIB_LIBRARY_DIRECTORY)
   FIND_LIBRARY(FCLIB_LIBRARY fclib PATHS "${FCLIB_LIBRARY_DIRECTORY}")
 ELSE(FCLIB_LIBRARY_DIRECTORY)
-  FIND_LIBRARY(FCLIB_LIBRARY fclib)
+  FIND_LIBRARY(FCLIB_LIBRARY fclib PATHS ENV LD_LIBRARY_PATH ENV DYLD_LIBRARY_PATH)
 ENDIF(FCLIB_LIBRARY_DIRECTORY)

 FIND_PACKAGE_HANDLE_STANDARD_ARGS(FCLIB


[cmake] add MPI_INCLUDE when looking for MUMPS headers (for fedora)

--- cmake/FindMUMPS.cmake
+++ cmake/FindMUMPS.cmake
@@ -49,6 +49,7 @@
   find_path(MUMPS_INCLUDE_DIR dmumps_c.h
     HINTS
     ${MUMPS_LIBRARY_DIR_DIR}/include
+    $ENV{MPI_INCLUDE}
     )
 ENDIF()


[cmake] trivial: missing space before (optional)

--- cmake/axl_utils.cmake
+++ cmake/axl_utils.cmake
@@ -1313,13 +1313,13 @@
 			endif()

 			if(_IS_OPTIONAL)
-				axl_message("${_IMPORT}:" "NOT FOUND, adjust${_FILTERED_PATH_LIST} paths.cmake(optional)")
+				axl_message("${_IMPORT}:" "NOT FOUND, adjust${_FILTERED_PATH_LIST} paths.cmake (optional)")
 			else()
 				message(FATAL_ERROR "${_IMPORT} is REQUIRED but NOT FOUND, adjust${_FILTERED_PATH_LIST} paths.cmake")
 			endif()
 		endif()
 	elseif(_IS_OPTIONAL)
-		axl_message("${_IMPORT}:" "NOT FOUND, missing import_${_IMPORT}.cmake, adjust AXL_IMPORT_DIR_LIST(optional)")
+		axl_message("${_IMPORT}:" "NOT FOUND, missing import_${_IMPORT}.cmake, adjust AXL_IMPORT_DIR_LIST (optional)")
 	else()
 		message(FATAL_ERROR "${_IMPORT} is REQUIRED but NOT FOUND, missing import_${_IMPORT}.cmake, adjust AXL_IMPORT_DIR_LIST")
 	endif()


Find OpenBLAS more aggressively.  This made a difference on Fedora 20

--- bench/btl/cmake/FindOpenBLAS.cmake
+++ bench/btl/cmake/FindOpenBLAS.cmake
@@ -3,7 +3,7 @@
   set(OPENBLAS_FIND_QUIETLY TRUE)
 endif (OPENBLAS_LIBRARIES)

-find_file(OPENBLAS_LIBRARIES libopenblas.so PATHS /usr/lib $ENV{OPENBLASDIR} ${LIB_INSTALL_DIR})
+find_file(OPENBLAS_LIBRARIES NAMES libopenblas.so libopenblas.so.0 PATHS /usr/lib /usr/lib64 $ENV{OPENBLASDIR} ${LIB_INSTALL_DIR})
 find_library(OPENBLAS_LIBRARIES openblas PATHS $ENV{OPENBLASDIR} ${LIB_INSTALL_DIR})

 if(OPENBLAS_LIBRARIES AND CMAKE_COMPILER_IS_GNUCXX)


Update ITK to 4.9.0

Update ITK to 4.9.0

--- versions.cmake
+++ versions.cmake
@@ -156,27 +156,27 @@
 if (WIN32)
   if (64bit_build)
     add_revision(itk
-      URL "http://www.tomviz.org/files/itk-4.8.2-windows-64bit.zip"
-      URL_MD5 "93f07c9cad4514d1bd0f29261f14ccf7")
+      URL "http://www.tomviz.org/files/itk-4.9.0-windows-64bit.zip"
+      URL_MD5 "f5642d6b96509965d98548b0e917ca36")
     add_revision(fftw
       URL "http://www.tomviz.org/files/fftw-3.3.4-windows-64bit.zip"
       URL_MD5 "90ca2a2cd26c62bc85b11ec7f165e716")
   else()
     add_revision(itk
-      URL "http://www.tomviz.org/files/itk-4.8.2-windows-32bit.zip"
-      URL_MD5 "ac2c96df3e844173ef7f8dbd0b21f4c5")
+      URL "http://www.tomviz.org/files/itk-4.9.0-windows-32bit.zip"
+      URL_MD5 "718d915d0b10409da6db99bafe14a11f")
     add_revision(fftw
       URL "http://www.tomviz.org/files/fftw-3.3.4-windows-32bit.zip"
       URL_MD5 "9f58e109b8e7dcdd5640f9397735dd26")
   endif()
 elseif(APPLE)
   add_revision(itk
-    URL "http://www.tomviz.org/files/itk-4.8.2-macosx10.8.tar.gz"
-    URL_MD5 "39e75f16fb430818ade23a0439334cd0")
+    URL "http://www.tomviz.org/files/itk-4.9.0-macosx10.9.tar.gz"
+    URL_MD5 "0058d4ed62893d5f12360e3d13fdf6f1")
 elseif(UNIX)
   add_revision(itk
-    URL "http://www.tomviz.org/files/itk-4.8.2-linux-64bit.tar.gz"
-    URL_MD5 "5830edef507874ab531b6e33eb3e79d7")
+    URL "http://www.tomviz.org/files/itk-4.9.0patched-linux-64bit.tar.gz"
+    URL_MD5 "cfcc11e1f39ae078519c30084320fbd4")
 endif()

 set(tbb_ver "44_20150728oss")


[CMake] Avoid libcxxabi dependency when building LLDB from the monorepo on macOS

libc++abi became mandatory to link the libc++ binaries. LLDB only needs the build artifacts and not the linked output (we don't ship `libc++.dylib` and/or `libc++.a`). Disable the respective link steps to avoid the dependency to libc++abi.

<rdar://problem/51980716>

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

--- cmake/caches/Apple-lldb-base.cmake
+++ cmake/caches/Apple-lldb-base.cmake
@@ -6,6 +6,9 @@
 set(LLVM_ENABLE_ASSERTIONS ON CACHE BOOL "")
 set(LLVM_ENABLE_MODULES ON CACHE BOOL "")

+set(LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
+set(LIBCXX_ENABLE_STATIC OFF CACHE BOOL "")
+
 # Release builds set these explicitly:
 #set(LLDB_VERSION_MAJOR 9999 CACHE STRING "")
 #set(LLDB_VERSION_MINOR 9 CACHE STRING "")


Added a flag to ignore warnings about c++11 extensions

--- cmake/platforms/Darwin-clang.cmake
+++ cmake/platforms/Darwin-clang.cmake
@@ -22,6 +22,8 @@
     #-Wno-sign-
     # Ignore warnings about C++98 compatibility
     -Wno-c++98-compat
+    # Ignore warnings about C++11 extensions (cgogn is promoting c++11 )
+    -Wno-c++11-extensions
 )

 # Compile with full warnings by default
@@ -49,4 +51,5 @@
     string_append(CMAKE_C_FLAGS -static-libgcc -static)

     add_executable(${ARGN})
-endmacro()+endmacro()
+


Don't install ITK and Tomviz libs twice on Windows

The entire `lib` directory is already installed, so we should hopefully
not need to install the `lib/tomviz` and `lib/itk` directories again.

This will hopefully fix some of the windows package bloating size.
But we should probably check the Windows package and make sure ITK
still works after this gets merged and built.

Signed-off-by: Patrick Avery <743342299f279e7a8c3ff5eb40671fce3e95f13a@kitware.com>

--- projects/win32/tomviz.bundle.cmake
+++ projects/win32/tomviz.bundle.cmake
@@ -31,20 +31,6 @@
         COMPONENT ${AppName}
         PATTERN "*.lib" EXCLUDE)

-# install tomviz Python modules and others
-install(DIRECTORY "${install_location}/lib/tomviz"
-        DESTINATION "lib"
-        USE_SOURCE_PERMISSIONS
-        COMPONENT ${AppName}
-        PATTERN "*.lib" EXCLUDE)
-
-if(itk_ENABLED)
-install(DIRECTORY "${install_location}/lib/itk"
-        DESTINATION "lib"
-        USE_SOURCE_PERMISSIONS
-        COMPONENT ${AppName})
-endif()
-
 # install system runtimes.
 set(CMAKE_INSTALL_SYSTEM_RUNTIME_DESTINATION "bin")
 set(CMAKE_INSTALL_UCRT_LIBRARIES TRUE)


ctest: Print arch if no C++ compiler is found

Signed-off-by: Matthias Kretz <372ea4eca737a13cd010ee806d4ce7b98ee71550@kde.org>

--- test.cmake
+++ test.cmake
@@ -204,7 +204,7 @@
       unset(CXX)
       find_program(CXX NAMES c++ g++ clang++ icpc)
       if(NOT CXX)
-         message(FATAL_ERROR "No C++ compiler found")
+         message(FATAL_ERROR "No C++ compiler found (arch: ${arch})")
       endif()
    endif()
    extract_gnuc_compiler_info("${CXX}")


attempt to fix C/C to build on older cmake

--- cmake/plugins.cmake
+++ cmake/plugins.cmake
@@ -67,7 +67,11 @@
       set_target_properties(${CC_PLUGIN_TARGET} PROPERTIES PREFIX "")
       set_target_properties(${CC_PLUGIN_TARGET} PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CC_BINARY_DIR}/plugins/lib")
       if (NOT "${CC_PLUGIN_INCLUDES}" STREQUAL "")
-        target_include_directories(${CC_PLUGIN_TARGET} PRIVATE  ${CC_PLUGIN_INCLUDES})
+        if(CMAKE_VERSION VERSION_LESS 2.8.11)
+          include_directories(${CC_PLUGIN_INCLUDES})
+        else()
+          target_include_directories(${CC_PLUGIN_TARGET} PRIVATE  ${CC_PLUGIN_INCLUDES})
+        endif()
       endif()
       if (${CC_TARGET_COMPILE_OPTIONS})
         target_compile_options(${CC_PLUGIN_TARGET} ${CC_TARGET_COMPILE_OPTIONS})


cmake: version: Misc. refactorings for readability

Misc. refactorings to increase the readability of cmake/version.cmake.

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

--- cmake/version.cmake
+++ cmake/version.cmake
@@ -16,35 +16,41 @@
 string(REGEX MATCH "EXTRAVERSION = ([a-z0-9]*)" _ ${ver})
 set(PROJECT_VERSION_EXTRA ${CMAKE_MATCH_1})

+# Temporary convenience variable
+set(PROJECT_VERSION_WITHOUT_TWEAK ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})

-message("Zephyr version: ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}")
+if(PROJECT_VERSION_TWEAK)
+  set(PROJECT_VERSION ${PROJECT_VERSION_WITHOUT_TWEAK}.${PROJECT_VERSION_TWEAK})
+else()
+  set(PROJECT_VERSION ${PROJECT_VERSION_WITHOUT_TWEAK})
+endif()

-set(PROJECT_VERSION ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})
-if(PROJECT_VERSION_TWEAK)
-  set(PROJECT_VERSION "${PROJECT_VERSION}.${PROJECT_VERSION_TWEAK}")
-endif()
+message("Zephyr version: ${PROJECT_VERSION}")

 set(MAJOR ${PROJECT_VERSION_MAJOR}) # Temporary convenience variable
 set(MINOR ${PROJECT_VERSION_MINOR}) # Temporary convenience variable
 set(PATCH ${PROJECT_VERSION_PATCH}) # Temporary convenience variable

-math(EXPR ZEPHYR_VERSION_CODE                      "(${MAJOR} << 16) + (${MINOR} << 8) + (${PATCH})")
-math(EXPR KERNEL_VERSION_NUMBER_INT                "(${MAJOR} << 16) + (${MINOR} << 8) + (${PATCH})")
-math(EXPR KERNELVERSION_INT "(${MAJOR} << 24) + (${MINOR} << 16) + (${PATCH} << 8) + ${PROJECT_VERSION_TWEAK}")
+math(EXPR KERNEL_VERSION_NUMBER_INT "(${MAJOR} << 16) + (${MINOR} << 8)  + (${PATCH})")
+math(EXPR KERNELVERSION_INT         "(${MAJOR} << 24) + (${MINOR} << 16) + (${PATCH} << 8) + (${PROJECT_VERSION_TWEAK})")

-to_hex(${KERNELVERSION_INT} KERNELVERSION)
 to_hex(${KERNEL_VERSION_NUMBER_INT} KERNEL_VERSION_NUMBER)
-
-unset(MAJOR)
-unset(MINOR)
-unset(PATCH)
+to_hex(${KERNELVERSION_INT}         KERNELVERSION)

 set(KERNEL_VERSION_MAJOR      ${PROJECT_VERSION_MAJOR})
 set(KERNEL_VERSION_MINOR      ${PROJECT_VERSION_MINOR})
 set(KERNEL_PATCHLEVEL         ${PROJECT_VERSION_PATCH})
+
 if(PROJECT_VERSION_EXTRA)
-set(KERNEL_VERSION_STRING     "\"${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}-${PROJECT_VERSION_EXTRA}\"")
+  set(KERNEL_VERSION_STRING     "\"${PROJECT_VERSION_WITHOUT_TWEAK}-${PROJECT_VERSION_EXTRA}\"")
 else()
-set(KERNEL_VERSION_STRING     "\"${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH}\"")
+  set(KERNEL_VERSION_STRING     "\"${PROJECT_VERSION_WITHOUT_TWEAK}\"")
 endif()

+set(ZEPHYR_VERSION_CODE ${KERNEL_VERSION_NUMBER_INT})
+
+# Cleanup convenience variables
+unset(MAJOR)
+unset(MINOR)
+unset(PATCH)
+unset(PROJECT_VERSION_WITHOUT_TWEAK)


Explicitly set OSX flags, to match current release.

--- cmake/build_configurations/mysql_release.cmake
+++ cmake/build_configurations/mysql_release.cmake
@@ -141,8 +141,8 @@

   # OSX flags
   IF(APPLE)
-   SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_C_FLAGS_RELWITHDEBINFO}")
-   SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-Os ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
+   SET(CMAKE_C_FLAGS_RELWITHDEBINFO "-g -Os -fno-common")
+   SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-g -Os -felide-constructors -fno-common")
   ENDIF()

   # Solaris flags


Renamed IOS_DEPLOYMENT_TARGET to DEPLOYMENT_TARGET. Upped the minimum iOS version from 8.0 to 9.0.

--- ios.toolchain.cmake
+++ ios.toolchain.cmake
@@ -74,6 +74,8 @@
 #    being compiled for.  By default this is automatically determined from
 #    CMAKE_OSX_SYSROOT, but can also be manually specified (although this should
 #    not be required).
+#
+# DEPLOYMENT_TARGET: Minimum SDK version to target. Default 2.0 on watchOS and 9.0 on tvOS+iOS
 #
 # ENABLE_BITCODE: (1|0) Enables or disables bitcode support. Default 1 (true)
 #
@@ -295,18 +297,22 @@
   endif()
 endif()

+if(DEFINED IOS_DEPLOYMENT_TARGET)
+  set(DEPLOYMENT_TARGET ${IOS_DEPLOYMENT_TARGET})
+endif()
+
 # Specify minimum version of deployment target.
-if(NOT DEFINED IOS_DEPLOYMENT_TARGET)
+if(NOT DEFINED DEPLOYMENT_TARGET)
   if (PLATFORM_INT STREQUAL "WATCHOS" OR PLATFORM_INT STREQUAL "SIMULATOR_WATCHOS")
     # Unless specified, SDK version 2.0 is used by default as minimum target version (watchOS).
-    set(IOS_DEPLOYMENT_TARGET "2.0"
+    set(DEPLOYMENT_TARGET "2.0"
             CACHE STRING "Minimum iOS version to build for." )
   else()
-    # Unless specified, SDK version 8.0 is used by default as minimum target version (iOS, tvOS).
-    set(IOS_DEPLOYMENT_TARGET "8.0"
+    # Unless specified, SDK version 9.0 is used by default as minimum target version (iOS, tvOS).
+    set(DEPLOYMENT_TARGET "9.0"
             CACHE STRING "Minimum iOS version to build for." )
   endif()
-  message(STATUS "Using the default min-version since IOS_DEPLOYMENT_TARGET not provided!")
+  message(STATUS "Using the default min-version since DEPLOYMENT_TARGET not provided!")
 endif()
 # Use bitcode or not
 if(NOT DEFINED ENABLE_BITCODE AND NOT IOS_ARCH MATCHES "((^|, )(i386|x86_64))+")
@@ -440,7 +446,7 @@
   message(STATUS "Using a data_ptr size of 4")
 endif()

-message(STATUS "Building for minimum iOS version: ${IOS_DEPLOYMENT_TARGET}"
+message(STATUS "Building for minimum iOS version: ${DEPLOYMENT_TARGET}"
                " (SDK version: ${SDK_VERSION})")
 # Note that only Xcode 7+ supports the newer more specific:
 # -m${SDK_NAME}-version-min flags, older versions of Xcode use:
@@ -448,31 +454,31 @@
 if(PLATFORM_INT STREQUAL "OS" OR PLATFORM_INT STREQUAL "OS64")
   if(XCODE_VERSION VERSION_LESS 7.0)
     set(SDK_NAME_VERSION_FLAGS
-      "-mios-version-min=${IOS_DEPLOYMENT_TARGET}")
+      "-mios-version-min=${DEPLOYMENT_TARGET}")
   else()
     # Xcode 7.0+ uses flags we can build directly from SDK_NAME.
     set(SDK_NAME_VERSION_FLAGS
-      "-m${SDK_NAME}-version-min=${IOS_DEPLOYMENT_TARGET}")
+      "-m${SDK_NAME}-version-min=${DEPLOYMENT_TARGET}")
   endif()
 elseif(PLATFORM_INT STREQUAL "TVOS")
   set(SDK_NAME_VERSION_FLAGS
-    "-mtvos-version-min=${IOS_DEPLOYMENT_TARGET}")
+    "-mtvos-version-min=${DEPLOYMENT_TARGET}")
 elseif(PLATFORM_INT STREQUAL "SIMULATOR_TVOS")
   set(SDK_NAME_VERSION_FLAGS
-    "-mtvos-simulator-version-min=${IOS_DEPLOYMENT_TARGET}")
+    "-mtvos-simulator-version-min=${DEPLOYMENT_TARGET}")
 elseif(PLATFORM_INT STREQUAL "WATCHOS")
   set(SDK_NAME_VERSION_FLAGS
-    "-mwatchos-version-min=${IOS_DEPLOYMENT_TARGET}")
+    "-mwatchos-version-min=${DEPLOYMENT_TARGET}")
 elseif(PLATFORM_INT STREQUAL "SIMULATOR_WATCHOS")
   set(SDK_NAME_VERSION_FLAGS
-    "-mwatchos-simulator-version-min=${IOS_DEPLOYMENT_TARGET}")
+    "-mwatchos-simulator-version-min=${DEPLOYMENT_TARGET}")
 else()
   # SIMULATOR or SIMULATOR64 both use -mios-simulator-version-min.
   set(SDK_NAME_VERSION_FLAGS
-    "-mios-simulator-version-min=${IOS_DEPLOYMENT_TARGET}")
+    "-mios-simulator-version-min=${DEPLOYMENT_TARGET}")
 endif()
 message(STATUS "Version flags set to: ${SDK_NAME_VERSION_FLAGS}")
-set(CMAKE_OSX_DEPLOYMENT_TARGET ${IOS_DEPLOYMENT_TARGET} CACHE STRING
+set(CMAKE_OSX_DEPLOYMENT_TARGET ${DEPLOYMENT_TARGET} CACHE STRING
     "Set CMake deployment target" FORCE)

 if(ENABLE_BITCODE_INT)


SVN_SILENT made messages (.desktop file)

--- src/vlc.desktop.cmake
+++ src/vlc.desktop.cmake
@@ -21,6 +21,7 @@
 Name[et]=VLC
 Name[fi]=VLC
 Name[fr]=VLC
+Name[ga]=VLC
 Name[gl]=VLC
 Name[hu]=VLC
 Name[it]=VLC
@@ -59,6 +60,7 @@
 Comment[et]=Phononi VLC taustaprogramm
 Comment[fi]=Phonon VLC-taustaohjelma
 Comment[fr]=Module VLC de Phonon
+Comment[ga]=Inneall VLC Phonon
 Comment[gl]=Infraestrutura de VLC para Phonon
 Comment[hu]=Phonon VLC-backend
 Comment[it]=Motore VLC di Phonon


CMake: Reenable -O2 for intel-12* compilers. Set -no-ansi-alias unconditionally

git-svn-id: 31d9d2f6432a47c86a3640814024c107794ea77c@30314 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/cmake/setup_compiler_flags_intel.cmake
+++ deal.II/cmake/setup_compiler_flags_intel.cmake
@@ -104,11 +104,24 @@
   #
   # General optimization flags:
   #
-  ADD_FLAGS(DEAL_II_CXX_FLAGS_RELEASE "-O1")
+
+  IF(CMAKE_CXX_COMPILER_VERSION VERSION_LESS "13.0" )
+    ADD_FLAGS(DEAL_II_CXX_FLAGS_RELEASE "-O2")
+  ELSE()
+    #
+    # Disable aggressive optimization for intel-13* compilers, until we
+    # resolve a lot of funny miscompilations...
+    #
+    # - Maier, 2013
+    #
+    ADD_FLAGS(DEAL_II_CXX_FLAGS_RELEASE "-O1")
+  ENDIF()
+
   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-ip")

   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-funroll-loops")
-  ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-ansi-alias") # equiv. -fstrict-aliasing
+  # equivalent to -fno-strict-aliasing:
+  ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-no-ansi-alias")
 ENDIF()


correction de la compilation sur mac

correction de la compilation sur mac

--- CMake/ConfigXsilium.cmake
+++ CMake/ConfigXsilium.cmake
@@ -159,6 +159,7 @@

 	set(FreeImage_LIBRARIES	${XSILIUM_FREEIMAGE_TARGET})
 	set(ZLIB_LIBRARIES	${XSILIUM_ZLIB_TARGET})
+	set(ZZip_LIBRARIES	${XSILIUM_ZZIP_TARGET})

 	if (APPLE)
 		set(CMAKE_XCODE_EFFECTIVE_PLATFORMS "-iphoneos;-iphonesimulator")


changed if statement checking VS version ti download  GLEW for equals or greater than vs 15.0

--- cmake/AutoBuildGLEW.cmake
+++ cmake/AutoBuildGLEW.cmake
@@ -27,8 +27,10 @@

             message(STATUS "AutoBuild: Beginning download, build, install sequence.")
 			message(STATUS "CMAKE_GENERATOR ${CMAKE_GENERATOR}")
+			message(STATUS "MSVC_VERSION ${MSVC_VERSION}")

-            if(${CMAKE_GENERATOR} STREQUAL "Visual Studio 16 2019" )
+            if((${MSVC_VERSION} GREATER_EQUAL 1910) )
+			   message(STATUS "Getting GLEW support for VS 15.0")
 			   set(GLEW_URL https://sourceforge.net/projects/glew/files/glew/snapshots/glew-20190928.zip )
 			else()
 			   set(GLEW_URL https://sourceforge.net/projects/glew/files/glew/2.1.0/glew-2.1.0.zip )


Use Boost 1.55

Use Boost 1.55

--- cmake/Hunter/config.cmake
+++ cmake/Hunter/config.cmake
@@ -1 +1,3 @@
-hunter_config(Boost VERSION 1.57.0) # 1.58.0 issue https://svn.boost.org/trac/boost/ticket/11410
+# 1.58.0 issue https://svn.boost.org/trac/boost/ticket/11410
+# 1.56.0-1.57.0 Doesn't work on Linux Ubuntu gcc (TODO Why?)
+hunter_config(Boost VERSION 1.55.0-patched-3)


IPPICV: don't use full paths in dependencies

--- cmake/OpenCVFindIPP.cmake
+++ cmake/OpenCVFindIPP.cmake
@@ -132,24 +132,22 @@
     endif ()
     if (EXISTS ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX})
       if (BUILD_WITH_DYNAMIC_IPP AND NOT HAVE_IPP_ICV_ONLY)
-        add_library(${IPP_PREFIX}${name} STATIC IMPORTED)
+        # When using dynamic libraries from standalone IPP it is your responsibility to install those on the target system
+        list(APPEND IPP_LIBRARIES ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX})
       else ()
-        add_library(${IPP_PREFIX}${name} SHARED IMPORTED)
-      endif ()
-      set_target_properties(${IPP_PREFIX}${name} PROPERTIES
-        IMPORTED_LINK_INTERFACE_LIBRARIES ""
-        IMPORTED_LOCATION ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}
-      )
-      list(APPEND IPP_LIBRARIES ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX})
-      # CMake doesn't support "install(TARGETS ${IPP_PREFIX}${name} " command with imported targets
-      # When using dynamic libraries from standalone IPP it is your responsibility to install those on the target system
-      if (NOT BUILD_WITH_DYNAMIC_IPP)
+        add_library(ipp${name} STATIC IMPORTED)
+        set_target_properties(ipp${name} PROPERTIES
+          IMPORTED_LINK_INTERFACE_LIBRARIES ""
+          IMPORTED_LOCATION ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}
+        )
+        list(APPEND IPP_LIBRARIES ipp${name})
+        # CMake doesn't support "install(TARGETS ${IPP_PREFIX}${name} " command with imported targets
         install(FILES ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}
                 DESTINATION ${OPENCV_3P_LIB_INSTALL_PATH} COMPONENT main)
         string(TOUPPER ${name} uname)
         set(IPP${uname}_INSTALL_PATH "${CMAKE_INSTALL_PREFIX}/${OPENCV_3P_LIB_INSTALL_PATH}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}" CACHE INTERNAL "" FORCE)
         set(IPP${uname}_LOCATION_PATH "${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}" CACHE INTERNAL "" FORCE)
-      endif ()
+      endif()
     else()
       message(STATUS "Can't find IPP library: ${name} at ${IPP_LIBRARY_DIR}/${IPP_LIB_PREFIX}${IPP_PREFIX}${name}${IPP_SUFFIX}${IPP_LIB_SUFFIX}")
     endif()


Removing debug message from ZincPackaging.cmake.  https://tracker.physiomeproject.org/show_bug.cgi?id=3439

--- cmake/ZincPackaging.cmake
+++ cmake/ZincPackaging.cmake
@@ -37,7 +37,6 @@
 	IF ( ${CMAKE_VERSION} VERSION_LESS "2.8.11" )
 		MESSAGE( STATUS "The CMAKE_SYSTEM_PROCESSOR will not give the correct value for 64 bit systems." )
 	ENDIF()
-	message(STATUS "dld: ${CPACK_PACKAGE_NAME}")
 	SET( CPACK_GENERATOR "ZIP;NSIS" )
 	SET( CPACK_NSIS_DISPLAY_NAME "${PROJECT_NAME}" )
 	SET( CPACK_PACKAGE_INSTALL_DIRECTORY "${PROJECT_NAME}" )


linux: Disable LLD by default

linux: Disable LLD by default

--- cmake/linux.service.cmake
+++ cmake/linux.service.cmake
@@ -14,7 +14,7 @@
 option(CUSTOM_BOTAN "Enable building with a local Botan" OFF)
 option(STATIC_BUILD "Build a portable static executable" ON)
 option(STRIP_BINARY "Strip final binary to reduce size" OFF)
-option(USE_LLD "Allow linking against LTO archives" ON)
+option(USE_LLD "Allow linking against LTO archives" OFF)

 if(DEBUGGING)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -g -O0")