Update the default version of libsodium to 1.0.16

--- cmake/configs/default.cmake
+++ cmake/configs/default.cmake
@@ -278,7 +278,7 @@
 hunter_default_version(libpcre VERSION 8.41)
 hunter_default_version(librtmp VERSION 2.4.0-p0)
 hunter_default_version(libscrypt VERSION 1.21-p1)
-hunter_default_version(libsodium VERSION 1.0.10)
+hunter_default_version(libsodium VERSION 1.0.16)
 hunter_default_version(libunibreak VERSION 4.0)
 hunter_default_version(libuv VERSION 1.21.0-p0)
 hunter_default_version(libxml2 VERSION 2.9.7)


Updated configs/default.cmake for xcursor

--- cmake/configs/default.cmake
+++ cmake/configs/default.cmake
@@ -151,6 +151,7 @@
 hunter_config(xau VERSION 1.0.7)
 hunter_config(xcb VERSION 1.11.1)
 hunter_config(xcb-proto VERSION 1.11)
+hunter_config(xcursor VERSION 1.1.13)
 hunter_config(xdamage VERSION 1.1.4)
 hunter_config(xext VERSION 1.3.1)
 hunter_config(xextproto VERSION 7.2.1)


upgrade bundled eigen to 3.3.4

upgrade bundled eigen to 3.3.4

--- cmake/external/Eigen3.cmake
+++ cmake/external/Eigen3.cmake
@@ -1,17 +1,14 @@
 GetCompilers()

 set(EIGEN_INCLUDE_DIR ${THIRD_PARTY_INCLUDE_DIR}/eigen)
-set(EIGEN_VERSION 3.2.8)
+set(EIGEN_VERSION 3.3.4)
 include(ExternalProject)
 ExternalProject_Add(
 	Eigen3
 	PREFIX ${CMAKE_BINARY_DIR}/Eigen3
 	DOWNLOAD_DIR ${THIRD_PARTY_DIR}/Eigen3
 	URL https://bitbucket.org/eigen/eigen/get/${EIGEN_VERSION}.tar.bz2
-	URL_MD5 9e3bfaaab3db18253cfd87ea697b3ab1
-#	FIXME: http://eigen.tuxfamily.org/bz/show_bug.cgi?id=1445
-#	URL https://bitbucket.org/eigen/eigen/get/3.3.4.tar.bz2
-#	URL_MD5 a7aab9f758249b86c93221ad417fbe18
+	URL_MD5 a7aab9f758249b86c93221ad417fbe18
 	CMAKE_ARGS -DEIGEN_INCLUDE_INSTALL_DIR:PATH=${EIGEN_INCLUDE_DIR}
 		-DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}${CMAKE_DEFINITIONS}
 		-DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}${CMAKE_DEFINITIONS}


[CMake] Introduce moddir for MODULE -- corresponding to LIBRARY_OUTPUT_DIRECTORY.

On Win32.DLL, it points not lib but bin.

LIBRARY_OUTPUT_DIRECTORY affects add_library(MODULE), especially Win32.DLL.

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -155,19 +155,28 @@
     return()
   endif()

+  # moddir -- corresponding to LIBRARY_OUTPUT_DIRECTORY.
+  # It affects output of add_library(MODULE).
+  if(WIN32 OR CYGWIN)
+    # DLL platform
+    set(moddir ${bindir})
+  else()
+    set(moddir ${libdir})
+  endif()
   if(NOT "${CMAKE_CFG_INTDIR}" STREQUAL ".")
     foreach(build_mode ${CMAKE_CONFIGURATION_TYPES})
       string(TOUPPER "${build_mode}" CONFIG_SUFFIX)
       string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} bi ${bindir})
       string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} li ${libdir})
+      string(REPLACE ${CMAKE_CFG_INTDIR} ${build_mode} mi ${moddir})
       set_target_properties(${target} PROPERTIES "RUNTIME_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${bi})
       set_target_properties(${target} PROPERTIES "ARCHIVE_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${li})
-      set_target_properties(${target} PROPERTIES "LIBRARY_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${li})
+      set_target_properties(${target} PROPERTIES "LIBRARY_OUTPUT_DIRECTORY_${CONFIG_SUFFIX}" ${mi})
     endforeach()
   else()
     set_target_properties(${target} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${bindir})
     set_target_properties(${target} PROPERTIES ARCHIVE_OUTPUT_DIRECTORY ${libdir})
-    set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${libdir})
+    set_target_properties(${target} PROPERTIES LIBRARY_OUTPUT_DIRECTORY ${moddir})
   endif()
 endfunction()

@@ -383,9 +392,15 @@
       set_target_properties( ${name} PROPERTIES EXCLUDE_FROM_ALL ON)
     else()
       if (NOT LLVM_INSTALL_TOOLCHAIN_ONLY)
+        if(WIN32 OR CYGWIN)
+          # DLL platform
+          set(dlldir "bin")
+        else()
+          set(dlldir "lib${LLVM_LIBDIR_SUFFIX}")
+        endif()
         install(TARGETS ${name}
           EXPORT LLVMExports
-          LIBRARY DESTINATION lib${LLVM_LIBDIR_SUFFIX}
+          LIBRARY DESTINATION ${dlldir}
           ARCHIVE DESTINATION lib${LLVM_LIBDIR_SUFFIX})
       endif()
       set_property(GLOBAL APPEND PROPERTY LLVM_EXPORTS ${name})


cmake: define and create KCONFIG_BINARY_DIR if it doesn't exists

The Zephyr CMake module kconfig.cmake will create files inside
KCONFIG_BINARY_DIR.

In a default Zephyr build setup, this directory is created by Zephyr
CMake module zephyr_module.cmake. But Zephyr CMake modules are modular
and thus it must be possible to use kconfig module without
zephyr_module.

Thus kconfig.cmake must set and create KCONFIG_BINARY_DIR if it does not
already exists.

Signed-off-by: Torsten Rasmussen <a7c5b1d5a1f41fce6edfa3f7c2392ae0c59deafe@nordicsemi.no>

--- cmake/modules/kconfig.cmake
+++ cmake/modules/kconfig.cmake
@@ -18,6 +18,9 @@
 file(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/kconfig/include/config)

 set_ifndef(KCONFIG_NAMESPACE "CONFIG")
+
+set_ifndef(KCONFIG_BINARY_DIR ${CMAKE_CURRENT_BINARY_DIR}/Kconfig)
+file(MAKE_DIRECTORY ${KCONFIG_BINARY_DIR})

 # Support multiple SOC_ROOT, remove ZEPHYR_BASE as that is always sourced.
 set(kconfig_soc_root ${SOC_ROOT})


Makefile: Only enable vectorization if specified

--- tests/Makefile.cmake
+++ tests/Makefile.cmake
@@ -68,7 +68,7 @@
 ifdef HIPACC_PPT
     HIPACC_OPTS+= -pixels-per-thread $(HIPACC_PPT)
 endif
-ifdef HIPACC_VEC
+ifeq ($(HIPACC_VEC),on)
     HIPACC_OPTS+= -vectorize $(HIPACC_VEC)
     HIPACC_WFV+= -v -v-w $(HIPACC_VEC_WIDTH) -i-s $(HIPACC_VEC_IS)
 endif


added debug for find openalsoft

added debug for find openalsoft

--- cmake/FindOpenALSoft.cmake
+++ cmake/FindOpenALSoft.cmake
@@ -45,3 +45,7 @@
 find_package_handle_standard_args(OPENALSOFT REQUIRED_VARS OPENALSOFT_LIBRARY OPENALSOFT_INCLUDE_DIR)

 mark_as_advanced(OPENALSOFT_INCLUDE_DIR OPENALSOFT_LIBRARY)
+
+# for debugging
+message(STATUS "OPENALSOFT_INCLUDE_DIR  = '${OPENALSOFT_INCLUDE_DIR}'")
+message(STATUS "OPENALSOFT_LIBRARIES    = '${OPENALSOFT_LIBRARIES}'")


Mark different vars as advanced in FindQScintilla

--- cmake/FindQScintilla.cmake
+++ cmake/FindQScintilla.cmake
@@ -83,4 +83,4 @@
 unset(BREW_EXECUTABLE CACHE)
 # The usage of brew on OSX should be considered an implementation detail

-mark_as_advanced(QSCINTILLA_INCLUDE_DIR QSCINTILLA_LIBRARY)+mark_as_advanced(QSCINTILLA_INCLUDE_DIRS QSCINTILLA_LIBRARIES)


IntelGPU backend: Switch to the latest clDNN (#2911)

--- cmake/external_cldnn.cmake
+++ cmake/external_cldnn.cmake
@@ -22,7 +22,7 @@
 #------------------------------------------------------------------------------

 set(CLDNN_GIT_REPO_URL https://github.com/intel/clDNN.git)
-set(CLDNN_GIT_LABEL a9197ba89553ad1f55ffda617cfc772b60af5bc2)
+set(CLDNN_GIT_LABEL 90a5f917c9c5ab9444480f2c98032767aba427f3)
 set(BOOST_VERSION 1.64.0)
 set(OUT_DIR ${EXTERNAL_PROJECTS_ROOT}/cldnn/out)


Improve commentary about the caddr_t situation.

svn path=/trunk/; revision=6946

--- cmake/modules/plplot.cmake
+++ cmake/modules/plplot.cmake
@@ -129,12 +129,17 @@
 # Typedefs
 #=======================================================================

-# ToDo
-# Some X11 headers require "caddr_t" even on systems that claim POSIX.1
-# compliance, which is illegal.  This makes it impossible to compile
-# programs that include X11 headers if _POSIX_SOURCE is defined.  I work
-# around this potential problem by just defining caddr_t to 'char *' on all
-# systems (unless it is set already), whether it will be needed or not.
+# In the past, some X11 headers required "caddr_t" even on systems that
+# claimed POSIX.1 compliance, which was illegal.  This made it impossible
+# to compile programs that included X11 headers if _POSIX_SOURCE was
+# defined.  We used to work around this potential problem by just defining
+# caddr_t to 'char *' on all systems (unless it is set already), whether
+# it was needed or not. Now we ignore the issue because we don't expect
+# such broken X behaviour any more and because this kind of argument list
+# for AC_CHECK_TYPE is now deprecated in the autoconf documentation.
+
+# Do not implement the equivalent of this since commented out in the ABS
+# system.
 # AC_CHECK_TYPE(caddr_t, char *)

 # Test signal handler return type (mimics AC_TYPE_SIGNAL)


smfc: find smfc per function invocation

smfc: find smfc per function invocation

--- cmake/smfc_generator.cmake
+++ cmake/smfc_generator.cmake
@@ -1,12 +1,13 @@
-# This module is exported. So use find_program by cmake
-find_program (FLATBUFFERS_COMPILER flatc)
-find_program (SMF_COMPILER smfc)
-
 function(smfc_gen)
   set(options CPP GOLANG VERBOSE)
   set(oneValueArgs TARGET_NAME OUTPUT_DIRECTORY)
   set(multiValueArgs SOURCES INCLUDE_DIRS)
   cmake_parse_arguments(SMFC_GEN "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
+
+  # Do not put outside of function. We need them discovered later
+  # per invocation
+  find_program (FLATBUFFERS_COMPILER flatc)
+  find_program (SMF_COMPILER smfc)

   # We need one per generator so we can pass it to the flatc compiler
   #


Fix errors/warnings related to unknown compiler options

--- CMake/mitkFunctionCheckCompilerFlags.cmake
+++ CMake/mitkFunctionCheckCompilerFlags.cmake
@@ -83,13 +83,18 @@
   # leads to false-negative checks.
   string(REGEX REPLACE "[/-]" "_" suffix ${FLAG_TO_TEST})
   string(REGEX REPLACE "[, \\$\\+\\*\\{\\}\\(\\)\\#]" "" suffix ${suffix})
-  CHECK_CXX_COMPILER_FLAG(${FLAG_TO_TEST} HAS_CXX_FLAG_${suffix})
+
+  # workaround for gcc's strange behaviour on -Wno-... options in combination with -Werror
+  # we test the flag without the "no-" prefix because that is more reliable
+  string(REGEX REPLACE "^-Wno-" "-W" FLAG_TO_TEST_FIXED ${FLAG_TO_TEST})
+
+  CHECK_CXX_COMPILER_FLAG(${FLAG_TO_TEST_FIXED} HAS_CXX_FLAG_${suffix})

   if(HAS_CXX_FLAG_${suffix})
     set(${CXX_RESULT_VAR} "${${CXX_RESULT_VAR}} ${FLAG_TO_TEST}" PARENT_SCOPE)
   endif()

-  CHECK_C_COMPILER_FLAG(${FLAG_TO_TEST} HAS_C_FLAG_${suffix})
+  CHECK_C_COMPILER_FLAG(${FLAG_TO_TEST_FIXED} HAS_C_FLAG_${suffix})

   if(HAS_C_FLAG_${suffix})
     set(${C_RESULT_VAR} "${${C_RESULT_VAR}} ${FLAG_TO_TEST}" PARENT_SCOPE)


VERSION_GREATER_EQUAL only available in 3.7...

--- CMakeModules/KrisLibraryDependencies.cmake
+++ CMakeModules/KrisLibraryDependencies.cmake
@@ -22,9 +22,9 @@
 if(CMAKE_VERSION VERSION_LESS "3.1.0")
   MESSAGE("Old version of CMAKE - can't check compiler")
 else(CMAKE_VERSION VERSION_LESS "3.1.0")
-  if(CMAKE_VERSION VERSION_GREATER_EQUAL "3.1.2")
+  if(NOT CMAKE_VERSION VERSION_LESS "3.1.2")
     cmake_policy(SET CMP0074 NEW)
-  endif(CMAKE_VERSION VERSION_GREATER_EQUAL "3.1.2")
+  endif(NOT CMAKE_VERSION VERSION_LESS "3.1.2")
   include(CheckCXXCompilerFlag)
   CHECK_CXX_COMPILER_FLAG("-std=c++11" COMPILER_SUPPORTS_CXX11)


Rename OVERLAY to MAIN_TARGET to reduce confusion

Signed-off-by: Andrew Butt <f0e550b392ccab9f366ecc80ae525c032211a45e@seas.upenn.edu>

--- common/cmake/devices.cmake
+++ common/cmake/devices.cmake
@@ -968,34 +968,34 @@
       append_file_dependency(ALL_OUT_FASM_DEPS ${FASM})

       if(USE_OVERLAY)
-        if (NOT OVERLAY)
-          set(OVERLAY ${TARGET})
+        if (NOT MAIN_TARGET)
+          set(MAIN_TARGET ${TARGET})
         else()
           message(FATAL_ERROR "More than one overlay device for ${BOARD}")
         endif()
       endif()
     endforeach()

-    if (NOT OVERLAY)
+    if (NOT MAIN_TARGET)
       list(LENGTH ${INCLUDED_TARGETS} TARGETS_LENGTH)
       if(NOT ${TARGETS_LENGTH} EQUAL 0)
         message(FATAL_ERROR "Multiple devices but no overlay for ${BOARD}")
       endif()
-      set(OVERLAY ${INCLUDED_TARGETS})
-    endif()
-
-    get_target_property_required(OVERLAY_BOARD ${OVERLAY} BOARD)
-    get_target_property_required(OVERLAY_DEVICE ${OVERLAY_BOARD} DEVICE)
-    get_target_property_required(PACKAGE ${OVERLAY_BOARD} PACKAGE)
+      set(MAIN_TARGET ${INCLUDED_TARGETS})
+    endif()
+
+    get_target_property_required(MAIN_TARGET_BOARD ${MAIN_TARGET} BOARD)
+    get_target_property_required(MAIN_TARGET_DEVICE ${MAIN_TARGET_BOARD} DEVICE)
+    get_target_property_required(PACKAGE ${MAIN_TARGET_BOARD} PACKAGE)
     get_target_property_required(PYTHON3 env PYTHON3)

-    get_target_property(FASM_TO_BIT_EXTRA_ARGS ${OVERLAY_BOARD} FASM_TO_BIT_EXTRA_ARGS)
+    get_target_property(FASM_TO_BIT_EXTRA_ARGS ${MAIN_TARGET_BOARD} FASM_TO_BIT_EXTRA_ARGS)
     if ("${FASM_TO_BIT_EXTRA_ARGS}" STREQUAL "FASM_TO_BIT_EXTRA_ARGS-NOTFOUND")
       set(FASM_TO_BIT_EXTRA_ARGS "")
     endif()

-    get_target_property_required(TOP ${OVERLAY} TOP)
-    get_target_property_required(ARCH ${OVERLAY_DEVICE} ARCH)
+    get_target_property_required(TOP ${MAIN_TARGET} TOP)
+    get_target_property_required(ARCH ${MAIN_TARGET_DEVICE} ARCH)
     get_target_property_required(BITSTREAM_EXTENSION ${ARCH} BITSTREAM_EXTENSION)
     get_target_property_required(FASM_TO_BIT ${ARCH} FASM_TO_BIT)
     get_target_property_required(FASM_TO_BIT_CMD ${ARCH} FASM_TO_BIT_CMD)
@@ -1005,7 +1005,7 @@
       set(FQDN ${ARCH}-${DEVICE_TYPE}-${DEVICE}-${PACKAGE})
       set(OUT_LOCAL_REL ${NAME}/${FQDN})
       set(OUT_LOCAL ${CMAKE_CURRENT_BINARY_DIR}/${OUT_LOCAL_REL})
-      set(OVERLAY ${NAME})
+      set(MAIN_TARGET ${NAME})
       add_custom_target(${NAME})
     else()
       set(OUT_LOCAL ${CMAKE_CURRENT_BINARY_DIR}/${OUT_LOCAL_REL})


rp2/micropy_rules.cmake: Fix makemoduledefs vpath to work with abs path.

In particular the firmware can now be built in a build directory that lives
outside the source tree, and the py/modarray.c file will still be found.

See issue #6837.

Signed-off-by: Damien George <99e6b749acbfbe2a596df99e91d24d6e1fdbee00@micropython.org>

--- ports/rp2/micropy_rules.cmake
+++ ports/rp2/micropy_rules.cmake
@@ -24,11 +24,10 @@
 )

 # Generate moduledefs.h
-# This is currently hard-coded to support modarray.c only, because makemoduledefs.py doesn't support absolute paths

 add_custom_command(
     OUTPUT ${MPY_MODULEDEFS}
-    COMMAND python3 ${MPY_PY_DIR}/makemoduledefs.py --vpath="." ../../../py/modarray.c > ${MPY_MODULEDEFS}
+    COMMAND python3 ${MPY_PY_DIR}/makemoduledefs.py --vpath="/" ${SOURCE_QSTR} > ${MPY_MODULEDEFS}
     DEPENDS ${MPY_MPVERSION}
         ${SOURCE_QSTR}
 )


Apply cmake-init 85ebbfcf06c81a3c4375909b0f48255702b95d1a

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -123,6 +123,10 @@
         $<$<PLATFORM_ID:Darwin>:
             -pthread
         >
+
+        $<$<VERSION_LESS:${CMAKE_VERSION},3.2>:
+            -std=c++11
+        >
     )
 endif ()


First list of default compile options for GCC 4.9.2 and 5.1

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -60,6 +60,75 @@

 set(DEFAULT_COMPILE_OPTIONS)

+if (PLATFORM_LINUX AND "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
+    set(DEFAULT_COMPILE_OPTIONS ${DEFAULT_COMPILE_OPTIONS}
+        -Wall
+        -Wextra
+        -Wunused
+        -Wpedantic
+
+        -Wctor-dtor-privacy
+        -Wdelete-non-virtual-dtor
+        -Wnarrowing
+        -Wnon-virtual-dtor
+        -Wreorder
+        -Weffc++
+        -Wstrict-null-sentinel
+        -Woverloaded-virtual
+        -Wdouble-promotion
+        -Wformat
+        -Wignored-qualifiers
+        -Wmain
+        -Wmissing-braces
+        -Wparentheses
+        -Wsequence-point
+        -Wreturn-type
+        -Wreturn-local-addr
+        -Wswitch
+        -Wswitch-default
+        -Wuninitialized
+        -Wmaybe-uninitialized
+        -Wfloat-equal
+        -Wshadow
+        -Wpointer-arith
+        -Wtype-limits
+        -Wcast-align
+        -Wconversion
+        -Wzero-as-null-pointer-constant
+        -Wuseless-cast
+        -Wempty-body
+        -Wsign-compare
+        -Wsign-conversion
+        -Wfloat-conversion
+        -Wsizeof-pointer-memaccess
+        -Waddress
+        -Wlogical-op
+        -Wmissing-declarations
+        -Wmissing-field-initializers
+        -Wpadded
+        -Wredundant-decls
+        -Winline
+        -Wlong-long
+        -Wvector-operation-performance
+
+        -Wno-pragmas
+        -Wno-attributes
+    )
+
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0)
+        set(DEFAULT_COMPILE_OPTIONS ${DEFAULT_COMPILE_OPTIONS}
+            -Wsuggest-attribute
+            -Wsuggest-final-types
+            -Wsuggest-final-methods
+            -Wsuggest-override
+            -Wbool-compare
+            -Wcast-equal
+            -Wsized-deallocation
+            -Wlogical-not-parentheses
+        )
+    endif()
+endif ()
+

 #
 # Linker options


cmake: Fix platform detection

cmake: Fix platform detection

--- cmake/PlatformDetect.cmake
+++ cmake/PlatformDetect.cmake
@@ -79,6 +79,7 @@
         # Rename hp-ux -> hpux
         if (PLIBSYS_TARGET_OS STREQUAL hp-ux)
                 set (PLIBSYS_TARGET_OS hpux)
+        endif()

         # Rename sco_sv -> scosv
         if (PLIBSYS_TARGET_OS STREQUAL sco_sv)


CMake: typo

CMake: typo

--- cmake/compileoptions.cmake
+++ cmake/compileoptions.cmake
@@ -72,7 +72,7 @@
             "${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
             list(APPEND comp_opts "-Wno-mismatched-tags") # gives lots of warnings about redefinitions of structs as class.
         endif()
-        if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang"
+        if("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
             list(APPEND comp_opts "-fsized-deallocation") # see https://github.com/pybind/pybind11/issues/1604
         endif()


Don't build boringssl on desktop.

Don't build boringssl on desktop.

--- cmake/external_rules.cmake
+++ cmake/external_rules.cmake
@@ -92,12 +92,15 @@
     OUTPUT_FILE ${PROJECT_BINARY_DIR}/external/output_cmake_build.txt
     WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external
   )
-
-  # CMake's find_package(OpenSSL) doesn't quite work right with BoringSSL unless the header file contains OPENSSL_VERSION_NUMBER.
-  file(READ ${PROJECT_BINARY_DIR}/external/src/boringssl/src/include/openssl/opensslv.h TMP_HEADER_CONTENTS)
-  if (NOT TMP_HEADER_CONTENTS MATCHES OPENSSL_VERSION_NUMBER)
-    file(APPEND ${PROJECT_BINARY_DIR}/external/src/boringssl/src/include/openssl/opensslv.h
-    "#ifndef OPENSSL_VERSION_NUMBER\n# define OPENSSL_VERSION_NUMBER  0x10010107L\n#endif\n")
+
+  if(DESKTOP)
+    # CMake's find_package(OpenSSL) doesn't quite work right with BoringSSL unless the header
+    # file contains OPENSSL_VERSION_NUMBER.
+    file(READ ${PROJECT_BINARY_DIR}/external/src/boringssl/src/include/openssl/opensslv.h TMP_HEADER_CONTENTS)
+    if (NOT TMP_HEADER_CONTENTS MATCHES OPENSSL_VERSION_NUMBER)
+      file(APPEND ${PROJECT_BINARY_DIR}/external/src/boringssl/src/include/openssl/opensslv.h
+      "#ifndef OPENSSL_VERSION_NUMBER\n# define OPENSSL_VERSION_NUMBER  0x10010107L\n#endif\n")
+    endif()
   endif()

 endfunction()
@@ -122,28 +125,30 @@
       -DCMAKE_CXX_FLAGS="${CMAKE_CXX_FLAGS}"
       -G "${CMAKE_GENERATOR}")

-  execute_process(
-    COMMAND ${ENV_COMMAND} cmake ${CMAKE_SUBBUILD_OPTIONS} ../boringssl/src
-    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external/src/boringssl-build
-    RESULT_VARIABLE boringssl_configure_status
-  )
-  if (boringssl_configure_status AND NOT boringssl_configure_status EQUAL 0)
-    message(FATAL_ERROR "BoringSSL configure failed: ${boringssl_configure_status}")
-  endif()
-
-  # Run downloads in parallel if we know how
-  if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
-    set(cmake_build_args -j)
-  endif()
-
-  execute_process(
-    COMMAND ${ENV_COMMAND} cmake --build . -- ${cmake_build_args}
-    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external/src/boringssl-build
-    RESULT_VARIABLE boringssl_build_status
-  )
-  if (boringssl_build_status AND NOT boringssl_build_status EQUAL 0)
-    message(FATAL_ERROR "BoringSSL build failed: ${boringssl_build_status}")
-  endif()
+  if(DESKTOP)
+    execute_process(
+      COMMAND ${ENV_COMMAND} cmake ${CMAKE_SUBBUILD_OPTIONS} ../boringssl/src
+      WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external/src/boringssl-build
+      RESULT_VARIABLE boringssl_configure_status
+    )
+    if (boringssl_configure_status AND NOT boringssl_configure_status EQUAL 0)
+      message(FATAL_ERROR "BoringSSL configure failed: ${boringssl_configure_status}")
+    endif()
+
+    # Run builds in parallel if we know how
+    if(CMAKE_GENERATOR STREQUAL "Unix Makefiles")
+      set(cmake_build_args -j)
+    endif()
+
+    execute_process(
+      COMMAND ${ENV_COMMAND} cmake --build . -- ${cmake_build_args}
+      WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external/src/boringssl-build
+      RESULT_VARIABLE boringssl_build_status
+    )
+    if (boringssl_build_status AND NOT boringssl_build_status EQUAL 0)
+      message(FATAL_ERROR "BoringSSL build failed: ${boringssl_build_status}")
+    endif()
+   endif()
 endfunction()

 # Populates directory variables for the given name to the location that name


nfe_types.h installation

nfe_types.h installation

--- cmake/install_target.cmake
+++ cmake/install_target.cmake
@@ -3,6 +3,8 @@

 # install headers
 install(FILES ${PROJECT_SOURCE_DIR}/src/nfe.h DESTINATION nfe/include)
+install(FILES ${PROJECT_SOURCE_DIR}/src/nfe_types.h DESTINATION nfe/include)
+

 # cpack
 include(InstallRequiredSystemLibraries)


uselib: fix a TODO

uselib: fix a TODO

--- cmake/qibuild/uselib.cmake
+++ cmake/qibuild/uselib.cmake
@@ -84,8 +84,23 @@
     if ( (DEFINED "${_U_PKG}_TARGET") AND (TARGET "${${_U_PKG}_TARGET}") )
       add_dependencies(${name} "${${_U_PKG}_TARGET}")
     endif()
-    #TODO: target properties
-    set_directory_properties(PROPERTIES COMPILE_DEFINITIONS "${${_U_PKG}_DEFINITIONS}")
+    if(${_U_PKG}_DEFINITIONS)
+      # Append the correct compile definitions to the target
+      set(_to_add)
+      get_target_property(_compile_defs ${name} COMPILE_DEFINITIONS)
+      if(_compile_defs)
+        set(_to_add ${_compile_defs})
+      endif()
+
+      set(_to_add "${_to_add} ${${_U_PKG}_DEFINITIONS}")
+      message(STATUS "_to_add: ${_to_add}")
+
+      if(_to_add)
+        set_target_properties(${name}
+          PROPERTIES
+            COMPILE_DEFINITIONS ${_to_add})
+      endif()
+    endif()
   endforeach()
   string(TOUPPER "${name}" _U_name)
   qi_set_global("${_U_name}_DEPENDS" ${${_U_name}_DEPENDS} ${_DEPS})


use Anaconda instead of ActiveState Python

--- win32.cmake
+++ win32.cmake
@@ -7,15 +7,15 @@
 SET(TCL_INCLUDE "c:/Tcl/include")
 SET(TCL_ARCHIVE "c:/Tcl/lib/tclstub85.lib")
 SET(TCL_BIN     "c:/Tcl/bin/tclsh.exe")
-SET(PYTHON_INCLUDE "c:/Python27/include")
-SET(PYTHON_ARCHIVE "c:/Python27/libs/python27.lib")
+SET(PYTHON_INCLUDE "c:/Anaconda/include")
+SET(PYTHON_ARCHIVE "c:/Anaconda/libs/python27.lib")
 ELSE (${CMAKE_SIZEOF_VOID_P} MATCHES 4)
 #64 bit build
-SET(TCL_INCLUDE "c:/Tcl_win64/include")
-SET(TCL_ARCHIVE "c:/Tcl_win64/lib/tclstub85.lib")
-SET(TCL_BIN     "c:/Tcl_win64/bin/tclsh.exe")
-SET(PYTHON_INCLUDE "c:/Python27_win64/include")
-SET(PYTHON_ARCHIVE "c:/Python27_win64/libs/python27.lib")
+SET(TCL_INCLUDE "c:/Tcl/include")
+SET(TCL_ARCHIVE "c:/Tcl/lib/tclstub85.lib")
+SET(TCL_BIN     "c:/Tcl/bin/tclsh.exe")
+SET (PYTHON_ARCHIVE C:/Anaconda/libs/python27.lib)
+SET (PYTHON_INCLUDE C:/Anaconda/include)
 ENDIF (${CMAKE_SIZEOF_VOID_P} MATCHES 4)

 SET (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /SAFESEH:NO")


Update FW: implement RGB - Mono sync: capture time and sequence numbers

--- cmake/Depthai/DepthaiDeviceSideConfig.cmake
+++ cmake/Depthai/DepthaiDeviceSideConfig.cmake
@@ -2,7 +2,7 @@
 set(DEPTHAI_DEVICE_SIDE_MATURITY "snapshot")

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "04b3c29581c258502fb50540f3954bd49aac7f90")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "dd9a974d93b0951de921c9223c434f8ce1960699")

 # "version if applicable"
 set(DEPTHAI_DEVICE_SIDE_VERSION "")


px4fmu-v3 add missing lsm303d and sort

px4fmu-v3 add missing lsm303d and sort

--- cmake/configs/nuttx_px4fmu-v3_default.cmake
+++ cmake/configs/nuttx_px4fmu-v3_default.cmake
@@ -19,21 +19,22 @@
 	drivers/magnetometer
 	drivers/telemetry

-	drivers/imu/adis16448
 	drivers/airspeed
 	drivers/batt_smbus
 	drivers/blinkm
-	drivers/imu/bmi160
 	drivers/boards
 	drivers/camera_trigger
 	drivers/device
 	drivers/gps
+	drivers/imu/adis16448
+	drivers/imu/bmi160
+	drivers/imu/l3gd20
+	drivers/imu/lsm303d
+	drivers/imu/mpu6000
+	drivers/imu/mpu9250
 	drivers/irlock
-	drivers/imu/l3gd20
 	drivers/led
 	drivers/mkblctrl
-	drivers/imu/mpu6000
-	drivers/imu/mpu9250
 	drivers/oreoled
 	drivers/protocol_splitter
 	drivers/pwm_input


Install ZSTD builtins in in lib directory, independent of the platform. ZSTD uses GNUInstall rules, and ROOT was not able to find libzstd.a in lib64 dir, in some specific OS/platforms.

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -274,6 +274,7 @@
                -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
                -DCMAKE_C_FLAGS=${ZSTD_C_FLAGS}
                -DCMAKE_AR=${CMAKE_AR}
+               -DCMAKE_INSTALL_LIBDIR=lib
     LOG_DOWNLOAD 1 LOG_CONFIGURE 1 LOG_BUILD 1 LOG_INSTALL 1 BUILD_IN_SOURCE 1
     BUILD_BYPRODUCTS ${ZSTD_LIBRARIES})
   set(ZSTD_INCLUDE_DIR ${CMAKE_BINARY_DIR}/include)


Silent a couple of potential CMake Warnings (#8832)

* Silent a couple of potential CMake Warnings

Silent the following warnings when enabling arrow (`-Darrow=ON`) on Ubuntu:
```
CMake Warning at cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package):
  By not providing "Findre2.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "re2", but
  CMake did not find one.

  Could not find a package configuration file provided by "re2" with any of
  the following names:

    re2Config.cmake
    re2-config.cmake

  Add the installation prefix of "re2" to CMAKE_PREFIX_PATH or set "re2_DIR"
  to a directory containing one of the above files.  If "re2" provides a
  separate development package or SDK, be sure it has been installed.
Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/arrow/Findre2Alt.cmake:25 (find_package)
  cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package)
  /usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/arrow/ArrowConfig.cmake:96 (find_dependency)
  cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package)
  cmake/modules/FindArrow.cmake:206 (find_package)
  cmake/modules/FindArrow.cmake:313 (arrow_find_package_cmake_package_configuration)
  cmake/modules/FindArrow.cmake:350 (arrow_find_package)
  cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package)
  cmake/modules/SearchInstalledSoftware.cmake:1088 (find_package)
  CMakeLists.txt:245 (include)
```
and
```
CMake Warning at cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package):
  By not providing "Findc-ares.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "c-ares", but
  CMake did not find one.

  Could not find a package configuration file provided by "c-ares" with any
  of the following names:

    c-aresConfig.cmake
    c-ares-config.cmake

  Add the installation prefix of "c-ares" to CMAKE_PREFIX_PATH or set
  "c-ares_DIR" to a directory containing one of the above files.  If "c-ares"
  provides a separate development package or SDK, be sure it has been
  installed.
Call Stack (most recent call first):
  /usr/lib/x86_64-linux-gnu/cmake/arrow/Findc-aresAlt.cmake:25 (find_package)
  cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package)
  /usr/share/cmake-3.16/Modules/CMakeFindDependencyMacro.cmake:47 (find_package)
  /usr/lib/x86_64-linux-gnu/cmake/arrow/ArrowConfig.cmake:96 (find_dependency)
  cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package)
  cmake/modules/FindArrow.cmake:206 (find_package)
  cmake/modules/FindArrow.cmake:313 (arrow_find_package_cmake_package_configuration)
  cmake/modules/FindArrow.cmake:350 (arrow_find_package)
  cmake/modules/SearchInstalledSoftware.cmake:20 (_find_package)
  cmake/modules/SearchInstalledSoftware.cmake:1088 (find_package)
  CMakeLists.txt:245 (include)
```

* Update cmake/modules/SearchInstalledSoftware.cmake

Co-authored-by: Enrico Guiraud <81a634b61c6957bc62fe9d7d41b6d1b9a925da25@cern.ch>

Co-authored-by: Enrico Guiraud <81a634b61c6957bc62fe9d7d41b6d1b9a925da25@cern.ch>

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -14,7 +14,13 @@

 macro(find_package)
   if(NOT "${ARGV0}" IN_LIST ROOT_BUILTINS)
-    _find_package(${ARGV})
+    # this is a workaround to silence some cmake warnings coming from FindArrow.cmake when it
+    # looks for transitive dependencies, see also https://issues.apache.org/jira/browse/ARROW-11890
+    if("${ARGV0}" MATCHES "c-ares" OR "${ARGV0}" MATCHES "re2")
+      _find_package(${ARGV} QUIET)
+    else()
+      _find_package(${ARGV})
+    endif()
   endif()
 endmacro()


Install Vc and VecCore into ${CMAKE_BINARY_DIR}/externals

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -1298,7 +1298,7 @@
   set(Vc_PROJECT "Vc-${Vc_VERSION}")
   set(Vc_SRC_URI "${lcgpackages}/${Vc_PROJECT}.tar.gz")
   set(Vc_SRC_MD5 "f996a2dcab9f0ef3e21ba0d0feba9c3e")
-  set(Vc_DESTDIR "${CMAKE_BINARY_DIR}/VC-prefix/install")
+  set(Vc_DESTDIR "${CMAKE_BINARY_DIR}/externals")
   set(Vc_ROOTDIR "${Vc_DESTDIR}/${CMAKE_INSTALL_PREFIX}")
   set(Vc_LIBNAME "${CMAKE_STATIC_LIBRARY_PREFIX}Vc${CMAKE_STATIC_LIBRARY_SUFFIX}")
   set(Vc_LIBRARY "${Vc_ROOTDIR}/lib/${Vc_LIBNAME}")
@@ -1371,7 +1371,7 @@
   set(VecCore_PROJECT "VecCore-${VecCore_VERSION}")
   set(VecCore_SRC_URI "${lcgpackages}/${VecCore_PROJECT}.tar.gz")
   set(VecCore_SRC_MD5 "7728dc706744e54a79fcb80059a31529")
-  set(VecCore_DESTDIR "${CMAKE_BINARY_DIR}/VECCORE-prefix/install")
+  set(VecCore_DESTDIR "${CMAKE_BINARY_DIR}/externals")
   set(VecCore_ROOTDIR "${VecCore_DESTDIR}/${CMAKE_INSTALL_PREFIX}")

   ExternalProject_Add(VECCORE


From Pere: CMake: pass MD5 check for lzma download.

git-svn-id: ecbadac9c76e8cf640a0bca86f6bd796c98521e3@48212 27541ba8-7e3a-0410-8455-c3a389f83636

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -71,6 +71,7 @@
     ExternalProject_Add(
 	  LZMA
 	  URL ${CMAKE_SOURCE_DIR}/core/lzma/src/xz-${lzma_version}-win32.tar.gz
+	  URL_MD5  65693dc257802b6778c28ed53ecca678
 	  PREFIX LZMA
 	  INSTALL_DIR ${CMAKE_BINARY_DIR}
       CONFIGURE_COMMAND "" BUILD_COMMAND ""
@@ -83,6 +84,7 @@
     ExternalProject_Add(
       LZMA
       URL ${CMAKE_SOURCE_DIR}/core/lzma/src/xz-${lzma_version}.tar.gz
+      URL_MD5 858405e79590e9b05634c399497f4ba7
       INSTALL_DIR ${CMAKE_BINARY_DIR}
       CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix <INSTALL_DIR> --with-pic --disable-shared
       BUILD_IN_SOURCE 1)


Fix for https://root-forum.cern.ch/t/24099

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -432,9 +432,6 @@
     execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sys;sys.stdout.write(sys.version[:3])"
                     OUTPUT_VARIABLE PYTHON_VERSION)
     message(STATUS "Found Python interpreter version ${PYTHON_VERSION}")
-    execute_process(COMMAND ${PYTHON_EXECUTABLE} -c "import sys;sys.stdout.write(sys.prefix)"
-                    OUTPUT_VARIABLE PYTHON_PREFIX)
-    set(CMAKE_PREFIX_PATH ${CMAKE_PREFIX_PATH} ${PYTHON_PREFIX})
   endif()
   set(Python_ADDITIONAL_VERSIONS ${PYTHON_VERSION})
   find_package(PythonLibs)


COMP: Fix GROUPS external project checkout updating ExternalProjectDependency

This commit updates the module based on the version published
at https://github.com/commontk/Artichoke/pull/39

--- CMake/ExternalProjectDependency.cmake
+++ CMake/ExternalProjectDependency.cmake
@@ -92,12 +92,17 @@
 #.rst:
 # .. cmake:variable:: EP_GIT_PROTOCOL
 #
-# The value of this variable is controled by the option ``<SUPERBUILD_TOPLEVEL_PROJECT>_USE_GIT_PROTOCOL``
-# automatically defined by including this CMake module. Setting this option allows to update the value of
-# ``EP_GIT_PROTOCOL`` variable.
-#
-# If enabled, the variable ``EP_GIT_PROTOCOL`` is set to ``git``. Otherwise, it is set to ``https``.
-# The option is enabled by default.
+# The value of this variable is always set to ``https``.
+#
+# Following the removal of git protocol by GitHub, the option
+# ``<SUPERBUILD_TOPLEVEL_PROJECT>_USE_GIT_PROTOCOL`` is obsolete.
+# It allowed to toggle between ``git`` and ``https``.
+# If this option is enabled, a warning is reported and the option is forced to ``OFF``.
+#
+# Similarly, if the variable ``EP_GIT_PROTOCOL`` is already set to ``git``, a warning is reported
+# and the value is forced to ``https``.
+#
+# See details at https://github.blog/2021-09-01-improving-git-protocol-security-github
 #
 # The variable ``EP_GIT_PROTOCOL`` can be used when adding external project. For example:
 #
@@ -109,9 +114,22 @@
 #     [...]
 #     )
 #
-option(${SUPERBUILD_TOPLEVEL_PROJECT}_USE_GIT_PROTOCOL "If behind a firewall turn this off to use https instead." ON)
-set(EP_GIT_PROTOCOL "git")
-if(NOT ${SUPERBUILD_TOPLEVEL_PROJECT}_USE_GIT_PROTOCOL)
+if(DEFINED ${SUPERBUILD_TOPLEVEL_PROJECT}_USE_GIT_PROTOCOL AND ${SUPERBUILD_TOPLEVEL_PROJECT}_USE_GIT_PROTOCOL)
+  message(WARNING "Forcing ${SUPERBUILD_TOPLEVEL_PROJECT}_USE_GIT_PROTOCOL to OFF (Already set to ON in current scope)")
+  set(${SUPERBUILD_TOPLEVEL_PROJECT}_USE_GIT_PROTOCOL OFF CACHE BOOL "" FORCE)
+endif()
+if(DEFINED EP_GIT_PROTOCOL)
+  if("${EP_GIT_PROTOCOL}" STREQUAL "git")
+    get_property(_value_set_in_cache CACHE EP_GIT_PROTOCOL PROPERTY VALUE SET)
+    if(_value_set_in_cache)
+      message(WARNING "Forcing EP_GIT_PROTOCOL cache variable to 'https' (Already set to '${EP_GIT_PROTOCOL}' in current scope)")
+      set(EP_GIT_PROTOCOL "https" CACHE STRING "" FORCE)
+    else()
+      message(WARNING "Forcing EP_GIT_PROTOCOL variable to 'https' (Already set to '${EP_GIT_PROTOCOL}' in current scope)")
+      set(EP_GIT_PROTOCOL "https")
+    endif()
+  endif()
+else()
   set(EP_GIT_PROTOCOL "https")
 endif()

@@ -447,16 +465,37 @@

   set(_ep_arguments "")

+  # Option CMAKE_FIND_USE_PACKAGE_REGISTRY was introduced in CMake 3.16
+  if(NOT CMAKE_VERSION VERSION_LESS "3.16")
+    if(NOT DEFINED CMAKE_FIND_USE_PACKAGE_REGISTRY)
+      set(CMAKE_FIND_USE_PACKAGE_REGISTRY OFF)
+    endif()
+  else()
+    if(NOT DEFINED CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY)
+      set(CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY ON)
+    endif()
+  endif()
+
+  # Set list of CMake options to propagate
+  set(_options
+    CMAKE_EXPORT_COMPILE_COMMANDS:BOOL
+    CMAKE_FIND_PACKAGE_NO_PACKAGE_REGISTRY:BOOL
+    CMAKE_JOB_POOL_COMPILE:STRING
+    CMAKE_JOB_POOL_LINK:STRING
+    CMAKE_JOB_POOLS:STRING
+    )
+  if(NOT CMAKE_VERSION VERSION_LESS "3.16")
+    list(APPEND _options
+      CMAKE_FIND_USE_PACKAGE_REGISTRY:BOOL
+      )
+  endif()
+
   # Automatically propagate CMake options
-  foreach(_cmake_option IN ITEMS
-    CMAKE_EXPORT_COMPILE_COMMANDS
-    CMAKE_JOB_POOL_COMPILE
-    CMAKE_JOB_POOL_LINK
-    CMAKE_JOB_POOLS
-    )
+  foreach(_cmake_option_and_type IN LISTS _options)
+    _sb_extract_varname_and_vartype(${_cmake_option_and_type} _cmake_option _cmake_option_type)
     if(DEFINED ${_cmake_option})
       list(APPEND _ep_arguments CMAKE_CACHE_ARGS
-        -D${_cmake_option}:BOOL=${${_cmake_option}}
+        -D${_cmake_option}:${_cmake_option_type}=${${_cmake_option}}
         )
     endif()
   endforeach()
@@ -1022,13 +1061,16 @@
 #
 #  ExternalProject_SetIfNotDefined(<var> <defaultvalue> [OBFUSCATE] [QUIET])
 #
-# The default value is set with:
-#  (1) if set, the value environment variable <var>.
-#  (2) if set, the value of local variable variable <var>.
-#  (3) if none of the above, the value passed as a parameter.
-#
-# Setting the optional parameter 'OBFUSCATE' will display 'OBFUSCATED' instead of the real value.
-# Setting the optional parameter 'QUIET' will not display any message.
+# If *NOT* already defined, the variable <var> is set with:
+#  (1) the value of the environment variable <var>, if defined.
+#  (2) the value of the local variable variable <var>, if defined.
+#  (3) if none of the above is defined, the <defaultvalue> passed as a parameter.
+#
+# Passing the optional parameter 'OBFUSCATE' will display 'OBFUSCATED' instead of the real value.
+# Passing the optional parameter 'QUIET' will not display any message.
+#
+# For convenience, the value of the cache variable named <var> will
+# be displayed if it was set and if QUIET has not been passed.
 macro(ExternalProject_SetIfNotDefined var defaultvalue)
   set(_obfuscate FALSE)
   set(_quiet FALSE)
@@ -1059,6 +1101,14 @@
       message(STATUS "Setting '${var}' variable with default value '${_value}'")
     endif()
     set(${var} "${defaultvalue}")
+  endif()
+  get_property(_is_set CACHE ${var} PROPERTY VALUE SET)
+  if(_is_set AND NOT _quiet)
+    set(_value "${${var}}")
+    if(_obfuscate)
+      set(_value "OBFUSCATED")
+    endif()
+    message(STATUS "Cache variable '${var}' set to '${_value}'")
   endif()
 endmacro()


Getting closer with windows build

Getting closer with windows build

--- CMakeModules/KlamptDependencies.cmake
+++ CMakeModules/KlamptDependencies.cmake
@@ -12,11 +12,11 @@
 ENDIF( )

 IF(WIN32)
-  #Assume binaries for KrisLibrary, ODE, GLPK, GLUI, GLEW, tinyxml are in the library
+  #Assume binaries for KrisLibrary, ODE, GLPK, GLEW, tinyxml are in the library
   #directory as given by the prebuilt binary package.
   #Assume ode is double
   SET(KRISLIBRARY_ROOT ${KLAMPT_ROOT}/Library CACHE PATH "Library subdirectory")
-  SET(KLAMPT_DEFINITIONS -DHAVE_GLUI=1 -DHAVE_GLUT=1 -DHAVE_TIXML=1 -DTIXML_USE_STL -DdDOUBLE -DNOMINMAX -DGLUI_NO_LIB_PRAGMA -DHAVE_GLEW)
+  SET(KLAMPT_DEFINITIONS -DHAVE_GLUI=0 -DHAVE_GLUT=0 -DHAVE_TIXML=1 -DTIXML_USE_STL -DdDOUBLE -DNOMINMAX -DHAVE_GLEW)

   include(FindPackageHandleStandardArgs)
   FIND_PATH(KRISLIBRARY_INCLUDE_DIR KrisLibrary/myfile.h
@@ -66,23 +66,6 @@
     MESSAGE("GLPK not found!")
   endif( )

-  FIND_PATH(GLUI_INCLUDE_DIR GL/glui.h
-	PATHS ${KRISLIBRARY_ROOT}/glui-2.36/src/include  )
-  FIND_LIBRARY(GLUI_LIBRARY_DEBUG
-	NAMES glui32d
-	PATHS ${KRISLIBRARY_ROOT})
-  FIND_LIBRARY(GLUI_LIBRARY_RELEASE
-	NAMES glui32
-	PATHS ${KRISLIBRARY_ROOT})
-  find_package_handle_standard_args(GLUI
-	DEFAULT_MSG
-	GLUI_INCLUDE_DIR
-	GLUI_LIBRARY_DEBUG
-	GLUI_LIBRARY_RELEASE)
-  if(NOT GLUI_FOUND)
-    MESSAGE("GLUI not found!")
-  endif( )
-
   FIND_PATH(TINYXML_INCLUDE_DIR tinyxml.h
 	PATHS ${KRISLIBRARY_ROOT}/tinyxml )
   FIND_LIBRARY(TINYXML_LIBRARY_DEBUG
@@ -100,13 +83,13 @@
     MESSAGE("TinyXML not found!")
   endif( )

-  SET(KLAMPT_LIBRARIES debug ${KRISLIBRARY_LIBRARY_DEBUG} optimized ${KRISLIBRARY_LIBRARY_RELEASE} debug ${ODE_LIBRARY_DEBUG} optimized ${ODE_LIBRARY_RELEASE} ${GLPK_LIBRARY} debug ${GLUI_LIBRARY_DEBUG} optimized ${GLUI_LIBRARY_RELEASE} debug ${TINYXML_LIBRARY_DEBUG} optimized ${TINYXML_LIBRARY_RELEASE} ${KRISLIBRARY_ROOT}/glut32.lib opengl32 Ws2_32 winmm Gdiplus)
-  SET(KLAMPT_INCLUDE_DIRS ${KRISLIBRARY_INCLUDE_DIR} ${ODE_INCLUDE_DIR} ${GLPK_INCLUDE_DIR} ${GLUI_INCLUDE_DIR} ${TINYXML_INCLUDE_DIR})
-
+  SET(KLAMPT_LIBRARIES debug ${KRISLIBRARY_LIBRARY_DEBUG} optimized ${KRISLIBRARY_LIBRARY_RELEASE} debug ${ODE_LIBRARY_DEBUG} optimized ${ODE_LIBRARY_RELEASE} ${GLPK_LIBRARY} debug ${TINYXML_LIBRARY_DEBUG} optimized ${TINYXML_LIBRARY_RELEASE} ${KRISLIBRARY_ROOT}/glut32.lib opengl32 Ws2_32 winmm Gdiplus )
+  SET(KLAMPT_INCLUDE_DIRS ${KRISLIBRARY_INCLUDE_DIR} ${ODE_INCLUDE_DIR} ${GLPK_INCLUDE_DIR}  ${TINYXML_INCLUDE_DIR})
+
   #GL Extension Wrangler package (GLEW)
   SET(GLEW_INCLUDE_DIR ${KRISLIBRARY_ROOT}/glew-2.0.0/include CACHE PATH "GLEW include directory" FORCE)
   SET(GLEW_LIB ${KRISLIBRARY_ROOT}/glew32.lib CACHE PATH "GLEW library" FORCE)
-  SET(KLAMPT_INCLUDE_DIRS ${KLAMPT_INCLUDE_DIRS} ${GLEW_INCLUDE_DIR})
+  SET(KLAMPT_INCLUDE_DIRS ${KLAMPT_INCLUDE_DIRS} ${GLEW_INCLUDE_DIR} ${KRISLIBRARY_ROOT}/log4cxx/include)
   SET(KLAMPT_LIBRARIES ${KLAMPT_LIBRARIES} ${GLEW_LIB})

   #Optional: Assimp package


Fix patch path for jsoncpp

Fix patch path for jsoncpp

--- jsoncpp.cmake
+++ jsoncpp.cmake
@@ -53,7 +53,7 @@
     UPDATE_COMMAND      ${FLYEM_ENV_STRING} ${PYTHON_EXE}
         ${COPY_SCRIPT} "${scons_SRC_DIR}/*" ${jsoncpp_SRC_DIR}
     PATCH_COMMAND       ${FLYEM_ENV_STRING} ${PATCH_EXE}
-        ${scons_SRC_DIR}/SConstruct ${PATCH_DIR}/jsoncpp-SConstruct.patch
+        ${jsoncpp_SRC_DIR}/SConstruct ${PATCH_DIR}/jsoncpp-SConstruct.patch
     CONFIGURE_COMMAND   ""
     BUILD_COMMAND       ${FLYEM_ENV_STRING} ${PYTHON_EXE} scons.py platform=linux-gcc
     BUILD_IN_SOURCE     1


fix typo

fix typo

--- version_config.cmake
+++ version_config.cmake
@@ -133,7 +133,7 @@
   ## Gadgetron
   set(DEFAULT_Gadgetron_URL https://github.com/gadgetron/gadgetron )
   #https://github.com/CCPPETMR/gadgetron)
-  set (DEFAULT_Gadgetron_TAB v3.17.0)
+  set (DEFAULT_Gadgetron_TAG v3.17.0)
   #set(DEFAULT_Gadgetron_TAG e7eb430673eb3272e8a821b51750c0a2a96dafed )
   #set(DEFAULT_Gadgetron_TAG 00b96376568278a595e78879026bb3b0d5fbb98d )


BUG: Try to fix trigger site.

BUG: Try to fix trigger site.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -8,6 +8,6 @@
 IF(CTEST_DROP_METHOD STREQUAL "http")
   SET(CTEST_DROP_SITE "public.kitware.com")
   SET(CTEST_DROP_LOCATION "/cgi-bin/HTTPUploadDartFile.cgi")
-  SET(CTEST_TRIGGER_SITE
-    "http://${CTEST_DROP_SITE}/cgi-bin/Submit-Insight-TestingResults.cgi")
+  #SET(CTEST_TRIGGER_SITE "http://${CTEST_DROP_SITE}/cgi-bin/Submit-Insight-TestingResults.cgi")
+  SET(CTEST_TRIGGER_SITE "http://public.kitware.com/cgi-bin/Submit-Insight-TestingResults.cgi")
 ENDIF(CTEST_DROP_METHOD STREQUAL "http")


typechecker-regex-prototype: increase verbosity to debug build server issue

--- cmake/Modules/LibAddHaskellPlugin.cmake
+++ cmake/Modules/LibAddHaskellPlugin.cmake
@@ -193,8 +193,8 @@

 									add_custom_command (OUTPUT ${PLUGIN_HASKELL_NAME}
 											    COMMAND ${CABAL_EXECUTABLE} configure
-												    ${CABAL_OPTS} -v0
-											    COMMAND ${CABAL_EXECUTABLE} build -v0
+												    ${CABAL_OPTS}
+											    COMMAND ${CABAL_EXECUTABLE} build
 											    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 											    DEPENDS c2hs_haskell
 												    ${PLUGIN_SOURCE_FILES}
@@ -316,13 +316,13 @@
 	if (NOT HASKELL_SANDBOX_DEP_IDX)
 		set (HASKELL_SANDBOX_DEP_IDX 1)
 		add_custom_command (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cabal.sandbox.config"
-				    COMMAND ${CABAL_EXECUTABLE} sandbox init ${SHARED_SANDBOX} -v0
+				    COMMAND ${CABAL_EXECUTABLE} sandbox init ${SHARED_SANDBOX}
 				    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 				    DEPENDS ${ARG_DEPENDS})
 		set (HASKELL_ADD_SOURCES_TARGET haskell-add-sources-${HASKELL_SANDBOX_DEP_IDX})
 	else (NOT HASKELL_SANDBOX_DEP_IDX)
 		add_custom_command (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cabal.sandbox.config"
-				    COMMAND ${CABAL_EXECUTABLE} sandbox init ${SHARED_SANDBOX} -v0
+				    COMMAND ${CABAL_EXECUTABLE} sandbox init ${SHARED_SANDBOX}
 				    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
 				    DEPENDS haskell-add-sources-${HASKELL_SANDBOX_DEP_IDX}
 					    ${ARG_DEPENDS})
@@ -337,7 +337,7 @@
 			file (COPY "${CMAKE_SOURCE_DIR}/${SANDBOX_ADD_SOURCE}/" DESTINATION "${CMAKE_BINARY_DIR}/${SANDBOX_ADD_SOURCE}")

 			add_custom_command (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cabal.sandbox.config"
-					    COMMAND ${CABAL_EXECUTABLE} sandbox add-source "${CMAKE_BINARY_DIR}/${SANDBOX_ADD_SOURCE}" -v0
+					    COMMAND ${CABAL_EXECUTABLE} sandbox add-source "${CMAKE_BINARY_DIR}/${SANDBOX_ADD_SOURCE}"
 					    APPEND)
 		endforeach (SANDBOX_ADD_SOURCE ${ARG_SANDBOX_ADD_SOURCES})
 	endif (ARG_SANDBOX_ADD_SOURCES)
@@ -347,7 +347,7 @@
 	endif (BUILD_SHARED OR BUILD_FULL)
 	add_custom_command (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/cabal.sandbox.config" # ensure any further dependencies added by plugin
 										       # developers get installed to the sandbox
-			    COMMAND ${CABAL_EXECUTABLE} install ${CABAL_OPTS} --only-dependencies -v0 || true
+			    COMMAND ${CABAL_EXECUTABLE} install ${CABAL_OPTS} --only-dependencies || true
 			    APPEND)

 	add_custom_target (${HASKELL_ADD_SOURCES_TARGET} ALL DEPENDS "${CMAKE_CURRENT_BINARY_DIR}/cabal.sandbox.config")


Fix bug that DISABLE_UPDATE on a fresh clone can get the wrong branch/tag

--- GitExternal.cmake
+++ GitExternal.cmake
@@ -80,7 +80,9 @@
   get_filename_component(NAME "${DIR}" NAME)
   get_filename_component(GIT_EXTERNAL_DIR "${DIR}/.." ABSOLUTE)

+  set(FRESH_CLONE 0)
   if(NOT EXISTS "${DIR}")
+    set(FRESH_CLONE 1)
     message(STATUS "git clone ${REPO} ${DIR}")
     execute_process(
       COMMAND "${GIT_EXECUTABLE}" clone --recursive "${REPO}" "${DIR}"
@@ -106,8 +108,10 @@
     return()
   endif()

-  if(GIT_EXTERNAL_DISABLE_UPDATE)
-    git_external_message("git update disabled by user")
+  # if a fresh clone of a repo is underway, proceed, otherwise we may
+  # get the default branch/sha instead of the one we asked for
+  if(GIT_EXTERNAL_DISABLE_UPDATE AND (NOT FRESH_CLONE))
+    git_external_message("git update of ${REPO} disabled by user")
     return()
   endif()


Fix using multiple git external files

Fix using multiple git external files

--- GitExternal.cmake
+++ GitExternal.cmake
@@ -83,50 +83,54 @@
         list(GET DATA 0 DIR)
         list(GET DATA 1 REPO)
         list(GET DATA 2 TAG)
+        string(REPLACE "/" "_" GIT_EXTERNAL_NAME ${DIR}) # unique, flat name

-        # pull in identified external
-        git_external(${DIR} ${REPO} ${TAG})
+        if(NOT TARGET update_git_external_${GIT_EXTERNAL_NAME}) # not done
+          # pull in identified external
+          git_external(${DIR} ${REPO} ${TAG})

-        # Create update script and target to bump external spec
-        if(NOT TARGET update)
-          add_custom_target(update)
-        endif()
-        if(NOT TARGET update_git_external)
-          add_custom_target(update_git_external)
-          add_dependencies(update update_git_external)
-        endif()
-        if(NOT TARGET update_git_external_header)
+          # Create update script and target to bump external spec
+          if(NOT TARGET update)
+            add_custom_target(update)
+          endif()
+          if(NOT TARGET update_git_external)
+            add_custom_target(update_git_external)
+            add_dependencies(update update_git_external)
+          endif()
+          string(REPLACE "/" "_" GIT_EXTERNAL_TARGET ${GIT_EXTERNALS})
+          set(GIT_EXTERNAL_TARGET update_git_external_${GIT_EXTERNAL_TARGET})
+          if(NOT TARGET ${GIT_EXTERNAL_TARGET})
+            set(GIT_EXTERNAL_SCRIPT
+              "${CMAKE_CURRENT_BINARY_DIR}/${GIT_EXTERNAL_TARGET}.cmake")
+            file(WRITE "${GIT_EXTERNAL_SCRIPT}"
+              "file(WRITE ${GIT_EXTERNALS} \"# -*- mode: cmake -*-\n\")\n")
+            add_custom_target(${GIT_EXTERNAL_TARGET}
+              COMMAND ${CMAKE_COMMAND} -P ${GIT_EXTERNAL_SCRIPT}
+              COMMENT "Recreate ${GIT_EXTERNALS}"
+              WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+          endif()
+
           set(GIT_EXTERNAL_SCRIPT
-            "${CMAKE_CURRENT_BINARY_DIR}/gitupdateexternal.cmake")
-          file(WRITE "${GIT_EXTERNAL_SCRIPT}"
-            "file(WRITE ${GIT_EXTERNALS} \"# -*- mode: cmake -*-\n\")\n")
-          add_custom_target(update_git_external_header
-            COMMAND ${CMAKE_COMMAND} -P ${GIT_EXTERNAL_SCRIPT}
-            COMMENT "Recreate ${GIT_EXTERNALS}"
-            WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
-        endif()
-
-        string(REPLACE "/" "_" GIT_EXTERNAL_NAME ${DIR}) # unique, flat name
-        set(GIT_EXTERNAL_SCRIPT
-          "${CMAKE_CURRENT_BINARY_DIR}/gitupdate${GIT_EXTERNAL_NAME}.cmake")
-        file(WRITE "${GIT_EXTERNAL_SCRIPT}" "
+            "${CMAKE_CURRENT_BINARY_DIR}/gitupdate${GIT_EXTERNAL_NAME}.cmake")
+          file(WRITE "${GIT_EXTERNAL_SCRIPT}" "
 execute_process(COMMAND ${GIT_EXECUTABLE} fetch --all -q
   WORKING_DIRECTORY ${DIR})
 execute_process(
   COMMAND ${GIT_EXECUTABLE} show-ref --hash=7 refs/remotes/origin/master
   OUTPUT_VARIABLE newref WORKING_DIRECTORY ${DIR})
 if(newref)
-  file(APPEND ${GIT_EXTERNALS} \"# ${DIR} ${REPO} \${newref}\n\")
+  file(APPEND ${GIT_EXTERNALS} \"# ${DIR} ${REPO} \${newref}\")
 else()
   file(APPEND ${GIT_EXTERNALS} \"# ${DIR} ${REPO} ${TAG}\n\")
 endif()")
-        add_custom_target(update_git_external_${GIT_EXTERNAL_NAME}
-          COMMAND ${CMAKE_COMMAND} -P ${GIT_EXTERNAL_SCRIPT}
-          COMMENT "Update ${REPO} in ${GIT_EXTERNALS}"
-          DEPENDS update_git_external_header
-          WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
-        add_dependencies(update_git_external
-          update_git_external_${GIT_EXTERNAL_NAME})
+          add_custom_target(update_git_external_${GIT_EXTERNAL_NAME}
+            COMMAND ${CMAKE_COMMAND} -P ${GIT_EXTERNAL_SCRIPT}
+            COMMENT "Update ${REPO} in ${GIT_EXTERNALS}"
+            DEPENDS ${GIT_EXTERNAL_TARGET}
+            WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}")
+          add_dependencies(update_git_external
+            update_git_external_${GIT_EXTERNAL_NAME})
+        endif()
       endif()
     endif()
   endforeach()


support for CUDA 7.5

support for CUDA 7.5

--- imp_cmake/cmake/macros/imp_finders.cmake
+++ imp_cmake/cmake/macros/imp_finders.cmake
@@ -59,8 +59,10 @@
 # Checking cuda version
 if(CUDA_VERSION_STRING STREQUAL "7.0")
    # CUDA 7.0
-   #imp_debug("IMP library compiled with CUDA 7.0")
    add_definitions(-DCUDA_VERSION_70)
+elseif(CUDA_VERSION_STRING STREQUAL "7.5")
+   # CUDA 7.5
+   add_definitions(-DCUDA_VERSION_75)
 else()
    message(FATAL_ERROR "unknown CUDA version. some things might not be tested.")
 endif()


Split off 8.0.56

Split off 8.0.56

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

--- version.cmake
+++ version.cmake
@@ -5,7 +5,7 @@
 set ( HPCC_PROJECT "nagios-monitoring" )
 set ( HPCC_MAJOR 8 )
 set ( HPCC_MINOR 0 )
-set ( HPCC_POINT 55 )
+set ( HPCC_POINT 57 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Fix pthread_[gs]etname_np detection

Fix pthread_[gs]etname_np detection

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

--- include/llvm/Config/config.h.cmake
+++ include/llvm/Config/config.h.cmake
@@ -113,6 +113,12 @@
 /* Define to 1 if you have the `pthread' library (-lpthread). */
 #cmakedefine HAVE_LIBPTHREAD ${HAVE_LIBPTHREAD}

+/* Define to 1 if you have the `pthread_getname_np' function. */
+#cmakedefine HAVE_PTHREAD_GETNAME_NP ${HAVE_PTHREAD_GETNAME_NP}
+
+/* Define to 1 if you have the `pthread_setname_np' function. */
+#cmakedefine HAVE_PTHREAD_SETNAME_NP ${HAVE_PTHREAD_SETNAME_NP}
+
 /* Define to 1 if you have the `shell32' library (-lshell32). */
 #cmakedefine HAVE_LIBSHELL32 ${HAVE_LIBSHELL32}


0000651: FindCoin3D should look in /usr/include/Coin3 for COIN3D_INCLUDE_DIR

--- cMake/FindCoin3D.cmake
+++ cMake/FindCoin3D.cmake
@@ -13,7 +13,6 @@
     FIND_PATH(COIN3D_INCLUDE_DIR Inventor/So.h
       /usr/include
       /usr/local/include
-      PATH_SUFFIXES Coin2
     )

     FIND_LIBRARY(COIN3D_LIBRARY Coin
@@ -78,6 +77,7 @@
   FIND_LIBRARY(COIN3D_LIBRARY Coin
     /usr/lib
     /usr/local/lib
+    PATH_SUFFIXES Coin2 Coin3
   )
   ENDIF(APPLE)


Add missing templates and CBSE.py to cbse depends for regeneration on change.

--- cmake/DaemonCBSE.cmake
+++ cmake/DaemonCBSE.cmake
@@ -49,10 +49,14 @@
         OUTPUT ${GENERATED_CBSE}
         COMMENT "Generating CBSE entities for ${definition}"
         DEPENDS ${definition}
+                ${CMAKE_SOURCE_DIR}/src/utils/cbse/CBSE.py
                 ${CMAKE_SOURCE_DIR}/src/utils/cbse/templates/Backend.cpp
                 ${CMAKE_SOURCE_DIR}/src/utils/cbse/templates/Backend.h
                 ${CMAKE_SOURCE_DIR}/src/utils/cbse/templates/Component.cpp
                 ${CMAKE_SOURCE_DIR}/src/utils/cbse/templates/Component.h
+                ${CMAKE_SOURCE_DIR}/src/utils/cbse/templates/Components.h
+                ${CMAKE_SOURCE_DIR}/src/utils/cbse/templates/Entities.h
+                ${CMAKE_SOURCE_DIR}/src/utils/cbse/templates/Helper.h
         WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/src/utils/cbse
         COMMAND
                 ${PYTHON_EXECUTABLE}


Don't change submodules as part of the build process

--- cmake/DaemonCBSE.cmake
+++ cmake/DaemonCBSE.cmake
@@ -33,19 +33,6 @@
 endfunction()

 function(CBSE target definition output)
-    # Check if we need to initialize submodule
-    file(GLOB RESULT ${CMAKE_SOURCE_DIR}/src/utils/cbse)
-    list(LENGTH ${RESULT} RES_LEN)
-    if(RES_LEN EQUAL 0)
-        if (EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/.git")
-            find_package(Git REQUIRED)
-            if (GIT_FOUND)
-                execute_process(
-                    COMMAND ${GIT_EXECUTABLE} submodule update --init --recursive
-                    WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
-            endif()
-        endif()
-    endif()
     # Check if python has all the dependencies
     # TODO: Execute pip directly here and install them
     execute_process(


no more iglboolean

no more iglboolean

--- cmake/FindLIBIGL.cmake
+++ cmake/FindLIBIGL.cmake
@@ -92,11 +92,6 @@
   endif(LIBCOMISO_FOUND)

   if(CGAL_FOUND)
-    FIND_LIBRARY( LIBIGLBOOLEAN_LIBRARY NAMES iglboolean PATHS ${LIBIGL_LIB_DIRS})
-    if(NOT LIBIGLBOOLEAN_LIBRARY)
-      message(FATAL_ERROR "could NOT find libiglboolean ")
-    endif(NOT LIBIGLBOOLEAN_LIBRARY)
-    set(LIBIGL_LIBRARIES ${LIBIGL_LIBRARIES}  ${LIBIGLBOOLEAN_LIBRARY})

     FIND_LIBRARY( LIBIGLCGAL_LIBRARY NAMES iglcgal PATHS ${LIBIGL_LIB_DIRS})
     if(NOT LIBIGLCGAL_LIBRARY)