SVN_SILENT made messages (.desktop file)

--- plasma-runner-ktp-contact.desktop.cmake
+++ plasma-runner-ktp-contact.desktop.cmake
@@ -1,14 +1,18 @@
 [Desktop Entry]
 Name=Instant Messaging
+Name[cs]=Instant Messaging
 Name[it]=Messaggistica istantanea
 Name[nl]=Instant Messaging
+Name[pt_BR]=Mensagens instantâneas
 Name[sl]=Hipno sporočanje
 Name[sv]=Direktmeddelandekontakter
 Name[uk]=Миттєвий обмін повідомленнями
 Name[x-test]=xxInstant Messagingxx
 Comment=Start a chat with any of your IM contacts or change your IM status
+Comment[cs]=Začít rozhovor s kterýmkoliv vaším kontaktem v IM nebo změnit stav na IM
 Comment[it]=Avvia una chat con un tuo contatto di MI oppure cambia il tuo stato di MI
 Comment[nl]=Begin een chat met een van uw IM-contactpersonen of wijzig uw IM-status
+Comment[pt_BR]=Inicia um bate-papo com um dos seus contatos de MI ou altera o seu status
 Comment[sl]=Začnite klepet s katerimkoli izmed vaših stikov hipnega sporočanja ali spremenite vaše stanje
 Comment[sv]=Börja chatta med någon direktmeddelandekontakt eller ändra din direktmeddelandestatus
 Comment[uk]=Почати спілкування з будь-яким з ваших контактів або змінити ваш запис стану у системах обміну повідомленнями


Allow passing mutiple `--build` arguments to `conan install`

--- conan.cmake
+++ conan.cmake
@@ -192,8 +192,8 @@

 macro(parse_arguments)
   set(options BASIC_SETUP CMAKE_TARGETS)
-  set(oneValueArgs BUILD CONANFILE)
-  set(multiValueArgs REQUIRES OPTIONS IMPORTS CONAN_COMMAND)
+  set(oneValueArgs CONANFILE)
+  set(multiValueArgs REQUIRES OPTIONS IMPORTS BUILD CONAN_COMMAND)
   cmake_parse_arguments(ARGUMENTS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
 endmacro()

@@ -204,11 +204,10 @@
     # cmake does not identify conan as command, even if it is +x and it is in the path
     parse_arguments(${ARGV})

-    if(ARGUMENTS_BUILD)
-        set(CONAN_BUILD_POLICY --build=${ARGUMENTS_BUILD})
-    else()
-        set(CONAN_BUILD_POLICY "")
-    endif()
+    set(CONAN_BUILD_POLICY "")
+    foreach(ARG ${ARGUMENTS_BUILD})
+        set(CONAN_BUILD_POLICY ${CONAN_BUILD_POLICY} --build=${ARG})
+    endforeach()
     if(ARGUMENTS_CONAN_COMMAND)
        set(conan_command ${ARGUMENTS_CONAN_COMMAND})
     else()


CMake: Harden Mesos build.

CMake: Harden Mesos build.

Apply stack protectors (stronger stack protectors with newer compilers),
position independent code suitable for linking into executables,
security warnings, and generate position independent executables.

Review: https://reviews.apache.org/r/60546/

--- cmake/CompilationConfigure.cmake
+++ cmake/CompilationConfigure.cmake
@@ -26,7 +26,6 @@
 endif ()

 option(BUILD_SHARED_LIBS "Build shared libraries." ${DEFAULT_BUILD_SHARED_LIBS})
-set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)

 option(ENABLE_JAVA "Build Java components. Warning: this is SLOW." OFF)
 if (ENABLE_JAVA)
@@ -221,7 +220,24 @@
       "flag. Please use a different C++ compiler.")
   endif ()

-  set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
+  string(APPEND CMAKE_CXX_FLAGS " -std=c++11")
+
+  # Warn about use of format functions that can produce security issues.
+  string(APPEND CMAKE_CXX_FLAGS " -Wformat-security")
+
+  # Protect many of the functions with stack guards. The exact flag
+  # depends on compiler support.
+  CHECK_CXX_COMPILER_FLAG(-fstack-protector-strong STRONG_STACK_PROTECTORS)
+  CHECK_CXX_COMPILER_FLAG(-fstack-protector STACK_PROTECTORS)
+  if (STRONG_STACK_PROTECTORS)
+    string(APPEND CMAKE_CXX_FLAGS " -fstack-protector-strong")
+  elseif (STACK_PROTECTORS)
+    string(APPEND CMAKE_CXX_FLAGS " -fstack-protector")
+  else ()
+    message(
+      WARNING
+      "The compiler ${CMAKE_CXX_COMPILER} cannot apply stack protectors.")
+  endif ()

   # Directory structure for some build artifacts.
   # This is defined for use in tests.
@@ -311,6 +327,7 @@
   set(S_BIN_DIR               "WARNINGDONOTUSEME")
 endif ()

+
 # GLOBAL CONFIGURATION.
 #######################
 if (HAS_AUTHENTICATION)
@@ -321,6 +338,12 @@
   list(APPEND MESOS_CPPFLAGS -DHAS_AUTHENTICATION=1)
 endif ()

+# Produce position independent libraries/executables so that we take
+# better advantage of Address space layout randomization (ASLR).
+# This helps guard against ROP and return-to-libc attacks,
+# and other general exploits that rely on deterministic offsets.
+set(CMAKE_POSITION_INDEPENDENT_CODE TRUE)
+
 list(APPEND MESOS_CPPFLAGS
   -DPKGLIBEXECDIR="${PKG_LIBEXEC_INSTALL_DIR}"
   -DLIBDIR="${LIB_INSTALL_DIR}"


add /usr/include/heekscad to SEARCH_PATHS for HeeksCAD

--- cmake/Modules/FindHeeksCAD.cmake
+++ cmake/Modules/FindHeeksCAD.cmake
@@ -10,6 +10,7 @@

 IF(NOT HeeksCAD_FOUND)
   SET( SEARCH_PATHS
+    "/usr/include/heekscad"
     "/usr/local/share/heekscad"
     "/usr/share/heekscad"
     "${CMAKE_SOURCE_DIR}/heekscad"


Remove support for SampGdk3_USE_STATIC_LIB variable

It didn't work well on Windows, need something better than this.

--- cmake/Modules/FindSampGdk3.cmake
+++ cmake/Modules/FindSampGdk3.cmake
@@ -1,10 +1,6 @@
-# Find sampgdk 3.x library and headers
+# Find sampgdk 3.x library and headers.
 #
-# Recognized user-defind variables:
-#
-#   SampGdk3_USE_STATIC_LIB
-#
-# Variables defined by this module:
+# Defined variables:
 #
 #   SampGdk3_FOUND
 #   SampGdk3_LIBRARY_DIRS
@@ -32,16 +28,8 @@

 find_path(SampGdk3_INCLUDE_DIR NAMES "sampgdk/version.h")

-if(SampGdk3_USE_STATIC_LIB)
-	set(SampGdk3_LIBRARY_NAMES_DEBUG "sampgdk3_d" "libsampgdk_d.a")
-	set(SampGdk3_LIBRARY_NAMES_RELEASE "sampgdk3" "libsampgdk.a")
-else()
-	set(SampGdk3_LIBRARY_NAMES_DEBUG "sampgdk3_d" "libsampgdk_d.so.3")
-	set(SampGdk3_LIBRARY_NAMES_RELEASE "sampgdk3" "libsampgdk.so.3")
-endif()
-
-find_library(SampGdk3_LIBRARY_DEBUG NAMES ${SampGdk3_LIBRARY_NAMES_DEBUG})
-find_library(SampGdk3_LIBRARY_RELEASE NAMES ${SampGdk3_LIBRARY_NAMES_RELEASE})
+find_library(SampGdk3_LIBRARY_DEBUG NAMES "sampgdk3_d" "sampgdk_d")
+find_library(SampGdk3_LIBRARY_RELEASE NAMES "sampgdk3" "sampgdk")

 if(SampGdk3_LIBRARY_DEBUG AND SampGdk3_LIBRARY_RELEASE)
 	if(CMAKE_CONFIGURATIONS OR CMAKE_BUILD_TYPE)


(paper) Don't compile cylinder example yet

--- applications/paper/paper.cmake
+++ applications/paper/paper.cmake
@@ -8,4 +8,4 @@
 ## square (Conservation test)
 #add_subdirectory(paper/square)
 add_subdirectory(paper/sphere)
-add_subdirectory(paper/cylinder)
+#add_subdirectory(paper/cylinder)


BUG: allow to build package without ice and mvd (if asked)

--- SuperBuild/Packaging/PackageHelper.cmake
+++ SuperBuild/Packaging/PackageHelper.cmake
@@ -226,17 +226,14 @@

   set(PKG_PEFILES "otbApplicationLauncherCommandLine${EXE_EXT}")

-  #set(EXE_FILES)
-  list(APPEND PKG_PEFILES "otbApplicationLauncherQt${EXE_EXT}")
-  list(APPEND PKG_PEFILES "iceViewer${EXE_EXT}")
-  list(APPEND PKG_PEFILES "otbTestDriver${EXE_EXT}")
-  list(APPEND PKG_PEFILES "monteverdi${EXE_EXT}")
-  list(APPEND PKG_PEFILES "mapla${EXE_EXT}")
-
-  #itk
-  #list(APPEND EXE_FILES "itkTestDriver")
-
-
+  foreach(exe_file
+      "otbApplicationLauncherQt" "iceViewer" "otbTestDriver" "monteverdi" "mapla")
+    if(EXISTS "${OTB_INSTALL_DIR}/bin/${exe_file}${EXE_EXT}")
+        list(APPEND PKG_PEFILES "${exe_file}${EXE_EXT}")
+    else()
+      message(STATUS "${exe_file}${EXE_EXT} not found in ${OTB_INSTALL_DIR}/bin. (skipping)")
+    endif()
+  endforeach()

   if(PKG_GENERATE_XDK)
     #Qt stuff


BUG: PerformanceBenchmarking as EXCLUDE_FROM_DEFAULT

This update adds EXCLUDE_FROM_DEFAULT to the module specification for
the PerformanceBenchmarking module, which is required for Remote modules.

Change-Id: I6096120a5617fe887b2bc70ff1439870dc919641

--- Modules/Remote/PerformanceBenchmarking.remote.cmake
+++ Modules/Remote/PerformanceBenchmarking.remote.cmake
@@ -15,5 +15,5 @@
   http://insight-journal.org/browse/publication/972
 "
   GIT_REPOSITORY ${git_protocol}://github.com/InsightSoftwareConsortium/ITKPerformanceBenchmarking.git
-  GIT_TAG e270e997b6b1626c53acc69c2ec21e1422666155
+  GIT_TAG c86aa1a895b322374ce7a928bc2cec23c29b4b36
   )


always export absolute library paths

always export absolute library paths

--- opensplice_cmake_module/cmake/Modules/FindOpenSplice.cmake
+++ opensplice_cmake_module/cmake/Modules/FindOpenSplice.cmake
@@ -106,6 +106,28 @@
     set(OpenSplice_FOUND TRUE)
   endif()
 endif()
+
+# convert libraries into absolute paths
+set(_libs ${OpenSplice_LIBRARIES})
+set(OpenSplice_LIBRARIES)
+foreach(_library ${_libs})
+  if(NOT IS_ABSOLUTE "${_library}")
+    set(_lib "NOTFOUND")
+    find_library(
+      _lib "${_library}"
+      HINTS ${OpenSplice_LIBRARY_DIRS})
+    if(NOT _lib)
+      message(FATAL_ERROR "OpenSplice exports the library '${_library}' which couldn't be found")
+    elseif(NOT IS_ABSOLUTE "${_lib}")
+      message(FATAL_ERROR "The OpenSplice library '${_library}' was found at '${_lib}' which is not an absolute path")
+    elseif(NOT EXISTS "${_lib}")
+      message(FATAL_ERROR "The OpenSplice library '${_library}' was found at '${_lib}' which doesn't exist")
+    endif()
+    set(_library "${_lib}")
+  endif()
+  list(APPEND OpenSplice_LIBRARIES "${_library}")
+endforeach()
+
 if(NOT WIN32)
   list(APPEND OpenSplice_LIBRARIES "pthread" "dl")
 endif()


Removing github url warning

Removing github url warning

--- tensorflow_cc/cmake/TensorflowBase.cmake
+++ tensorflow_cc/cmake/TensorflowBase.cmake
@@ -3,7 +3,7 @@

 ExternalProject_Add(
   tensorflow_base
-  GIT_REPOSITORY http://github.com/tensorflow/tensorflow.git
+  GIT_REPOSITORY https://github.com/tensorflow/tensorflow.git
   GIT_TAG "${TENSORFLOW_TAG}"
   TMP_DIR "/tmp"
   STAMP_DIR "tensorflow-stamp"


BUG: Name of C test file ends in .c not .cxx.

--- Utilities/kwsys/kwsysPlatformTests.cmake
+++ Utilities/kwsys/kwsysPlatformTests.cmake
@@ -1,4 +1,4 @@
-SET(KWSYS_PLATFORM_TEST_FILE_C kwsysPlatformTestsC.cxx)
+SET(KWSYS_PLATFORM_TEST_FILE_C kwsysPlatformTestsC.c)
 SET(KWSYS_PLATFORM_TEST_FILE_CXX kwsysPlatformTestsCXX.cxx)

 MACRO(KWSYS_PLATFORM_TEST lang var description invert)


STYLE: Dashboard driver script - Added comment and made console output nicer

--- CMake/ctkDashboardDriverScript.cmake
+++ CMake/ctkDashboardDriverScript.cmake
@@ -23,6 +23,7 @@
 # steps of the different CTK sub-project (library, application or plugins)
 #

+#-----------------------------------------------------------------------------
 # The following variable are expected to be define in the top-level script:
 set(expected_variables
   ADDITIONNAL_CMAKECACHE_OPTION
@@ -58,14 +59,16 @@
   endif()
 endforeach()

+set(git_repository http://github.com/commontk/CTK.git)
+
 # Should binary directory be cleaned?
 set(empty_binary_directory FALSE)

 # Attempt to build and test also if 'ctest_update' returned an error
 set(force_build FALSE)

+# Set model options
 set(model "")
-
 if (SCRIPT_MODE STREQUAL "experimental")
   set(empty_binary_directory FALSE)
   set(force_build TRUE)
@@ -95,7 +98,7 @@
 endif()

 if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}")
-  set(CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} clone http://github.com/commontk/CTK.git ${CTEST_SOURCE_DIRECTORY}")
+  set(CTEST_CHECKOUT_COMMAND "${CTEST_GIT_COMMAND} clone ${git_repository} ${CTEST_SOURCE_DIRECTORY}")
 endif()

 set(CTEST_UPDATE_COMMAND "${CTEST_GIT_COMMAND}")
@@ -137,7 +140,7 @@
     ctest_submit(FILES "${CTEST_BINARY_DIRECTORY}/Project.xml")

     # Build top level
-    message("Build SuperBuild")
+    message("----------- [ Build SuperBuild ] -----------")
     ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}" APPEND)
     ctest_submit(PARTS Build)

@@ -176,7 +179,7 @@

      # Loop over kit suffixes and try to build the corresponding target
      foreach(kit_suffixe ${kit_suffixes})
-       message("Build ${subproject}${kit_suffixe}")
+       message("----------- [ Build ${subproject}${kit_suffixe} ] -----------")
        set(CTEST_BUILD_TARGET "${subproject}${kit_suffixe}")
        ctest_build(BUILD "${ctk_build_dir}" APPEND)
      endforeach()
@@ -191,7 +194,7 @@
     foreach(subproject ${CTEST_PROJECT_SUBPROJECTS})
       set_property(GLOBAL PROPERTY SubProject ${subproject})
       set_property(GLOBAL PROPERTY Label ${subproject})
-      message("Test ${subproject}")
+      message("----------- [ Test ${subproject} ] -----------")

       ctest_test(
         BUILD "${ctk_build_dir}"
@@ -203,7 +206,7 @@

       # Coverage per sub-project (library, application or plugin)
       if (WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
-        message("Coverage ${subproject}")
+        message("----------- [ Coverage ${subproject} ] -----------")
         ctest_coverage(BUILD "${ctk_build_dir}" LABELS "${subproject}")
         ctest_submit(PARTS Coverage)
       endif ()
@@ -220,14 +223,14 @@

     # Global coverage ...
     if (WITH_COVERAGE AND CTEST_COVERAGE_COMMAND)
-      message("Global coverage")
+      message("----------- [ Global coverage ] -----------")
       ctest_coverage(BUILD "${ctk_build_dir}")
       ctest_submit(PARTS Coverage)
     endif ()

     # Global dynamic analysis ...
     if (WITH_MEMCHECK AND CTEST_MEMORYCHECK_COMMAND)
-        message("Global memcheck")
+        message("----------- [ Global memcheck ] -----------")
         ctest_memcheck(BUILD "${ctk_build_dir}")
         ctest_submit(PARTS MemCheck)
       endif ()


Fix typo in previous.

Fix typo in previous.

--- CMakeModules/ConfigurePackages.cmake
+++ CMakeModules/ConfigurePackages.cmake
@@ -457,7 +457,7 @@
     if ("$ENV{BULLET_DIR}" STREQUAL "")
        if (WIN32)
           set(BULLET_DIR ${ENV_NAALI_DEP_PATH}/Bullet)
-       else # todo: This should be temporary? Always just use the above directory.
+       else() # todo: This should be temporary? Always just use the above directory.
           set(BULLET_DIR ${ENV_NAALI_DEP_PATH}/bullet-2.77)
        endif()
     else()


SuperBuild: update shark version in superbuild

--- SuperBuild/CMake/External_shark.cmake
+++ SuperBuild/CMake/External_shark.cmake
@@ -30,8 +30,8 @@

 ExternalProject_Add(SHARK
   PREFIX SHARK
-  URL "https://github.com/Shark-ML/Shark/archive/2fd55e2b83f0666d05b403b291712668f4b76a13.zip"
-  URL_MD5 863bb5f0d94b01be5292867beb05a0bb
+  URL "https://github.com/Shark-ML/Shark/archive/67990bcd2c4a90a27be97d933b3740931e9da141.zip"
+  URL_MD5 9ad7480a4f9832b63086b9a683566187
   SOURCE_DIR ${SHARK_SB_SRC}
   BINARY_DIR ${SHARK_SB_BUILD_DIR}
   INSTALL_DIR ${SB_INSTALL_PREFIX}


accidentally added

accidentally added

--- Build/CMake/Modules/AtomicDocList.cmake
+++ Build/CMake/Modules/AtomicDocList.cmake
@@ -1,7 +0,0 @@
-# create target to generate docs with clang based doc tool
-# NB: pretty brute force ATM
-if(EXISTS "/usr/local/bin/cldoc")
-   add_custom_target(AtomicEngineDocs
-    DEPENDS AtomicEditorDocs AtomicDocs
-    )
-endif()


COMP: Fix windows pythonQt wrapping issue passing moc option through file

This fixes Slicer issue 2884.
See http://www.na-mic.org/Bug/view.php?id=2884

--- CMake/ctkScriptMocPythonQtWrapper.cmake
+++ CMake/ctkScriptMocPythonQtWrapper.cmake
@@ -26,11 +26,13 @@
 # This script should be invoked either as a CUSTOM_COMMAND
 # or from the command line using the following syntax:
 #
-#    cmake -DWRAPPING_NAMESPACE:STRING=org.commontk -DTARGET:STRING=MyLib
-#          -DOUTPUT_DIR:PATH=/path -DINCLUDE_DIRS:STRING=/path1:/path2
-#          -DWRAPPER_MASTER_MOC_FILE:FILEPATH=/path/to/file
-#          -DQT_QMAKE_EXECUTABLE:PATH=/path/to/qt/qmake
-#           -P ctkScriptWrapPythonQt.cmake
+#    cmake -DWRAPPING_NAMESPACE:STRING=org.commontk
+#      -DTARGET:STRING=MyLib
+#      -DOUTPUT_DIR:PATH=/path
+#      -DMOC_FLAGS:STRING=-I/path/to/lib1^^-I/path/to/lib2^^-DOPT1
+#      -DWRAPPER_MASTER_MOC_FILE:FILEPATH=/path/to/file
+#      -DQT_QMAKE_EXECUTABLE:PATH=/path/to/qt/qmake
+#      -P ctkScriptMocPythonQtWrapper.cmake
 #
 #

@@ -76,17 +78,32 @@

 # Moc'ified each one of them
 foreach(header ${wrapper_headers})
-
-  # what is the filename without the extension
-  get_filename_component(TMP_FILENAME ${header} NAME_WE)

-  set(moc_options)
+  set(moc_extra_options)
   set(wrapper_h_file ${OUTPUT_DIR}/${WRAP_INT_DIR}/${header})
   set(wrapper_moc_file ${OUTPUT_DIR}/${WRAP_INT_DIR}/moc_${header}.cpp)
-  #message("wrapper_h_file: ${wrapper_h_file}")
-  #message("wrapper_moc_file: ${wrapper_moc_file}")
+
+  # Dump moc executable options into a file to avoid command line length limitations
+  # See http://qt-project.org/doc/qt-4.8/moc.html#command-line-options
+
+  # As required when using the @ option of moc executable, process MOC_FLAGS list
+  # to obtain a string with one flag per line
+  set(moc_flags_with_newline "")
+  foreach(flag ${MOC_FLAGS})
+    set(moc_flags_with_newline "${moc_flags_with_newline}\n${flag}")
+  endforeach()
+
+  # Dump flags into a file
+  get_filename_component(header_we ${header} NAME_WE)
+  set(wrapper_moc_options_file ${OUTPUT_DIR}/${WRAP_INT_DIR}/${header_we}_moc_opts.txt)
+  file(WRITE ${wrapper_moc_options_file}
+"${moc_flags_with_newline}
+${moc_extra_options}")
+
+  message("${QT_MOC_EXECUTABLE} @${wrapper_moc_options_file} -o ${wrapper_moc_file} ${wrapper_h_file}")
+  # Invoke moc executable passing "@" parameter
   execute_process(
-    COMMAND ${QT_MOC_EXECUTABLE} ${MOC_FLAGS} ${moc_options} -o ${wrapper_moc_file} ${wrapper_h_file}
+    COMMAND ${QT_MOC_EXECUTABLE} @${wrapper_moc_options_file} -o ${wrapper_moc_file} ${wrapper_h_file}
     WORKING_DIRECTORY ${OUTPUT_DIR}
     RESULT_VARIABLE RESULT_VAR
     ERROR_VARIABLE error


Change default RMW vendor to CycloneDDS. (#293)

Signed-off-by: Chris Lalancette <281cd07d7578d97c83271fbbf2faddb83ab3791c@openrobotics.org>

--- rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake
+++ rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake
@@ -32,8 +32,8 @@
   if("${RMW_IMPLEMENTATION}" STREQUAL "" AND
     "$ENV{RMW_IMPLEMENTATION}" STREQUAL ""
   )
-    # prefer FastRTPS, otherwise first in alphabetical order
-    list(FIND _middleware_implementations "rmw_fastrtps_cpp" _index)
+    # prefer CycloneDDS, otherwise first in alphabetical order
+    list(FIND _middleware_implementations "rmw_cyclonedds_cpp" _index)
     if(NOT _index EQUAL -1)
       list(GET _middleware_implementations ${_index} _middleware_implementation)
     else()


Update hunter.cmake

Update hunter.cmake

--- cmake/projects/puffin-buffer/hunter.cmake
+++ cmake/projects/puffin-buffer/hunter.cmake
@@ -58,5 +58,5 @@
     BUILD_DOCS=NO
     BUILD_TESTS=NO
 )
-
+hunter_cacheable(puffin-buffer)
 hunter_download(PACKAGE_NAME puffin-buffer)


Correct search paths for MinGw and Visual Studio.

	* build-aux/cmake/modules/FindSdkRemote.cmake: .

--- build-aux/cmake/modules/FindSdkRemote.cmake
+++ build-aux/cmake/modules/FindSdkRemote.cmake
@@ -80,9 +80,11 @@
                FULLNAME "SDK Remote for debug"
                PATHS ${${PACKAGE_NAME}_ROOT_DIR}/Debug/gostai/core/i686-pc-cygwin/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/Debug/gostai/core/i686-pc-linux-gnu/remote
+                     ${${PACKAGE_NAME}_ROOT_DIR}/Debug/gostai/core/mingw32/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/Debug/lib
+                     ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/i686-pc-cygwin/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/i686-pc-linux-gnu/remote
-                     ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/i686-pc-linux-gnu/remote
+                     ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/mingw32/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/lib)

 # Search for URBI release library
@@ -90,9 +92,11 @@
                FULLNAME "SDK Remote for release"
                PATHS ${${PACKAGE_NAME}_ROOT_DIR}/Release/gostai/core/i686-pc-cygwin/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/Release/gostai/core/i686-pc-linux-gnu/remote
+                     ${${PACKAGE_NAME}_ROOT_DIR}/Release/gostai/core/mingw32/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/Release/lib
+                     ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/i686-pc-cygwin/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/i686-pc-linux-gnu/remote
-                     ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/i686-pc-linux-gnu/remote
+                     ${${PACKAGE_NAME}_ROOT_DIR}/gostai/core/mingw32/remote
                      ${${PACKAGE_NAME}_ROOT_DIR}/lib)

 # Search for the associated jpeg library.


Remove useless function.

Remove useless function.

    * build-aux/cmake/modules/ProjectInfo.cmake: Here.

Signed-off-by: Nicolas Despres <abdeb541ca46f1651c9cc594d44e707056e73d5d@gostai.com>

--- build-aux/cmake/modules/ProjectInfo.cmake
+++ build-aux/cmake/modules/ProjectInfo.cmake
@@ -43,12 +43,4 @@

   set(PROJECT_TARNAME "${PROJECT_NAME}-${PROJECT_VERSION}")

-  function(CONFIGURE_PROJECT_INFO outfile)
-    configure_file(
-      ${CMAKE_MODULE_PATH}/project-info.h.in
-      ${outfile}
-      ESCAPE_QUOTES
-      )
-  endfunction(CONFIGURE_PROJECT_INFO)
-
 endif(NOT PROJECT_INFO_CMAKE)


FindGlog: Add support for 'glogd' Debug library (#1479)

Summary:
Glog v0.4.0 when configured with Debug build type adds a 'd' suffix to
the library file. This results in FindGlog.cmake failing to locate it.

Update FindGlog.cmake to use check for 'glogd', and use
select_library_configurations() to set GLOG_LIBRARY to the correct
found filename.

(Note: this has no effect if a non-Debug type is used.)

Pull Request resolved: https://github.com/facebook/folly/pull/1479

Reviewed By: yfeldblum

Differential Revision: D24503510

Pulled By: Orvid

fbshipit-source-id: 705df05a4a3d7df2df8af3bb66c319fb044adbce

--- build/fbcode_builder/CMake/FindGlog.cmake
+++ build/fbcode_builder/CMake/FindGlog.cmake
@@ -7,12 +7,17 @@
 # GLOG_LIBRARIES - link these to use Glog

 include(FindPackageHandleStandardArgs)
+include(SelectLibraryConfigurations)

-find_library(GLOG_LIBRARY glog
+find_library(GLOG_LIBRARY_RELEASE glog
+  PATHS ${GLOG_LIBRARYDIR})
+find_library(GLOG_LIBRARY_DEBUG glogd
   PATHS ${GLOG_LIBRARYDIR})

 find_path(GLOG_INCLUDE_DIR glog/logging.h
   PATHS ${GLOG_INCLUDEDIR})
+
+select_library_configurations(GLOG)

 find_package_handle_standard_args(glog DEFAULT_MSG
   GLOG_LIBRARY


Explicit disable per-target CUDA_ARCHITECTURES props.

Setting CMP0104 to OLD wasn't enough to suppress the errors about
this property empty being uninitialized. Setting the prop to OFF
explicitly silences the errors.

--- cmake/CubBuildTargetList.cmake
+++ cmake/CubBuildTargetList.cmake
@@ -51,20 +51,29 @@
 function(cub_set_target_properties target_name dialect prefix)
   set_target_properties(${target_name}
     PROPERTIES
-    _CUB_DIALECT ${dialect}
-    _CUB_PREFIX ${prefix}
+      _CUB_DIALECT ${dialect}
+      _CUB_PREFIX ${prefix}
   )

   get_target_property(type ${target_name} TYPE)
   if (NOT ${type} STREQUAL "INTERFACE_LIBRARY")
     set_target_properties(${target_name}
       PROPERTIES
-      CXX_STANDARD ${dialect}
-      CUDA_STANDARD ${dialect}
-      ARCHIVE_OUTPUT_DIRECTORY "${CUB_LIBRARY_OUTPUT_DIR}"
-      LIBRARY_OUTPUT_DIRECTORY "${CUB_LIBRARY_OUTPUT_DIR}"
-      RUNTIME_OUTPUT_DIRECTORY "${CUB_EXECUTABLE_OUTPUT_DIR}"
+        CXX_STANDARD ${dialect}
+        CUDA_STANDARD ${dialect}
+        ARCHIVE_OUTPUT_DIRECTORY "${CUB_LIBRARY_OUTPUT_DIR}"
+        LIBRARY_OUTPUT_DIRECTORY "${CUB_LIBRARY_OUTPUT_DIR}"
+        RUNTIME_OUTPUT_DIRECTORY "${CUB_EXECUTABLE_OUTPUT_DIR}"
     )
+
+    # CMake still emits errors about empty CUDA_ARCHITECTURES when CMP0104
+    # is set to OLD. This suppresses the errors for good.
+    if (CMAKE_VERSION VERSION_GREATER_EQUAL 3.18)
+      set_target_properties(${target_name}
+        PROPERTIES
+          CUDA_ARCHITECTURES OFF
+      )
+    endif()
   endif()
 endfunction()


Fix: parameters order for calling pkg_check_modules, my bad

git-svn-id: 5398946ba177a3e438c2dae55e2cdfc2fb96c905@183 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/Modules/FindOpenNI.cmake
+++ cmake/Modules/FindOpenNI.cmake
@@ -8,7 +8,7 @@
 # OPENNI_DEFINITIONS - Compiler flags for OPENNI.

 find_package(PkgConfig)
-pkg_check_modules(PC_OPENNI openni-dev QUIET)
+pkg_check_modules(PC_OPENNI QUIET openni-dev)
 set(OPENNI_DEFINITIONS ${PC_OPENNI_CFLAGS_OTHER})

 find_path(OPENNI_INCLUDE_DIR XnStatus.h


Fix SampPlugin

Fix SampPlugin

--- cmake/Modules/SampPlugin.cmake
+++ cmake/Modules/SampPlugin.cmake
@@ -17,9 +17,7 @@
 function(add_samp_plugin name)
 	add_library(${name} MODULE ${ARGN})

-	if(WIN32)
-		set_target_properties(${name} PROPERTIES PREFIX "")
-	endif()
+	set_target_properties(${name} PROPERTIES PREFIX "")

 	if(CMAKE_COMPILER_IS_GNUCC)
 		set_property(TARGET ${name} APPEND PROPERTY COMPILE_FLAGS "-m32")


CTEST_OUTPUT_ON_FAILURE=1

--- cmake/MyPackageBootstrap.cmake
+++ cmake/MyPackageBootstrap.cmake
@@ -43,7 +43,13 @@
   IF (MYPACKAGE_DEBUG)
     MESSAGE (STATUS "[${PROJECT_NAME}-BOOTSTRAP-DEBUG] Creating target check")
   ENDIF ()
-  ADD_CUSTOM_TARGET (check COMMAND ${CMAKE_CTEST_COMMAND})
+  ADD_CUSTOM_TARGET(check
+            ${CMAKE_COMMAND} -E echo ----------------------------------
+    COMMAND ${CMAKE_COMMAND} -E echo Test command:
+    COMMAND ${CMAKE_COMMAND} -E echo ${CMAKE_CTEST_COMMAND} -C $<CONFIG>
+    COMMAND ${CMAKE_COMMAND} -E echo ----------------------------------
+    COMMAND ${CMAKE_COMMAND} -E env CTEST_OUTPUT_ON_FAILURE=1 ${CMAKE_CTEST_COMMAND} -C $<CONFIG>
+    )
   IF (MYPACKAGE_DEBUG)
     MESSAGE (STATUS "[${PROJECT_NAME}-BOOTSTRAP-DEBUG] Creating target man")
   ENDIF ()


Fix siconos with python3 build

Fix siconos with python3 build

--- cmake/PythonInstallSetup.cmake
+++ cmake/PythonInstallSetup.cmake
@@ -39,18 +39,18 @@
     # and on which python is used (virtualenv or not)
     # First, we need to check if '--user' option works in the current environment.
     execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
-      "import site; print site.ENABLE_USER_SITE" OUTPUT_VARIABLE ENABLE_USER)
+      "import site; print(site.ENABLE_USER_SITE)" OUTPUT_VARIABLE ENABLE_USER)
     string(STRIP ${ENABLE_USER} ENABLE_USER)

     if(ENABLE_USER) # --user works ...
       # Find install path for --user (site.USER_SITE)
       execute_process(COMMAND ${PYTHON_EXECUTABLE} -c
-       "import site; print site.USER_BASE" OUTPUT_VARIABLE USER_BASE)
+       "import site; print(site.USER_BASE)" OUTPUT_VARIABLE USER_BASE)
       list(APPEND python_install_options --prefix=${USER_BASE})
       # Get python user site and install path = USER_SITE + project_name
       set(PYTHON_COMMAND_GET_INSTALL_DIR
-       "import site, os, sys ; print os.path.join(site.USER_BASE, os.path.join(\"lib\", os.path.join(\"python\" + str(sys.version_info.major) + '.' + str(sys.version_info.minor),
- \"site-packages\")))")
+       "import site, os, sys ; print(os.path.join(site.USER_BASE, os.path.join(\"lib\", os.path.join(\"python\" + str(sys.version_info.major) + '.' + str(sys.version_info.minor),
+ \"site-packages\"))))")
     execute_process(
       COMMAND ${PYTHON_EXECUTABLE} -c "${PYTHON_COMMAND_GET_INSTALL_DIR}"
       OUTPUT_VARIABLE PY_INSTALL_DIR)


Added the first version of the Android toolchain file.

--- toolchains/android.toolchain.cmake
+++ toolchains/android.toolchain.cmake
@@ -4,6 +4,309 @@
 #
 # Copyright (c) 2016. Domagoj Saric. All rights reserved.
 #
-# ...todo...
-#
-################################################################################
+# In large part, a heavily trimmed down version of the OpenCV/taka-no-me
+# version (NDK r11+, Clang only).
+#
+# https://github.com/Itseez/opencv/blob/master/platforms/android/android.toolchain.cmake
+# http://code.opencv.org/projects/opencv/repository/revisions/master/changes/platforms/android/android.toolchain.cmake
+# https://github.com/taka-no-me/android-cmake/blob/master/android.toolchain.cmake
+# https://github.com/chenxiaolong/android-cmake/blob/mbp/android.toolchain.cmake
+# https://gitlab.kitware.com/vtk/vtk/blob/master/CMake/android.toolchain.cmake
+# https://gitlab.kitware.com/vtk/vtk/blob/master/CMake/vtkAndroid.cmake
+# https://llvm.org/svn/llvm-project/lldb/trunk/cmake/platforms/Android.cmake
+#
+################################################################################
+
+
+set( CMAKE_CONFIGURATION_TYPES Release CACHE STRING "Supported configuartion types" FORCE )
+set( CMAKE_BUILD_TYPE          Release CACHE STRING "Target configuration"          FORCE )
+
+include( "${CMAKE_CURRENT_LIST_DIR}/clang.cmake" )
+include( "${CMAKE_CURRENT_LIST_DIR}/../utilities.cmake" )
+
+################################################################################
+# Ninja setup
+#
+# Implementation note: For simplicity sake, assume that Android builds use Ninja
+# and perform automatic setup. Currently also assumes Windows as the host OS
+# for Android builds, to be cleaned up...
+#                                             (31.05.2016.) (Domagoj Saric)
+################################################################################
+
+find_program( TNUN_ninja_path ninja )
+if ( NOT TNUN_ninja_path )
+    set( ninja_dl ninja-win.zip )
+    TNUN_make_temp_path( ninja_dl )
+    file( DOWNLOAD
+        # https://github.com/ninja-build/ninja
+        https://github.com/ninja-build/ninja/releases/download/v1.7.1/ninja-win.zip
+        ${ninja_dl}
+        STATUS success
+        SHOW_PROGRESS
+    )
+    list( GET success 0 success )
+    if ( NOT success EQUAL 0 )
+        message( FATAL_ERROR "[TNUN] Error downloading Ninja." )
+    endif()
+    set( windir $ENV{windir} )
+    execute_process( COMMAND ${CMAKE_COMMAND} -E tar xzf
+        "${ninja_dl}"
+        WORKING_DIRECTORY "${windir}"
+        RESULT_VARIABLE success
+        OUTPUT_VARIABLE output
+        ERROR_VARIABLE  output
+    )
+    if ( NOT success EQUAL 0 )
+        message( FATAL_ERROR "[TNUN] Error extracting Ninja to ${windir}." )
+    endif()
+endif( NOT TNUN_ninja_path )
+
+
+################################################################################
+# NDK location
+# https://github.com/android-ndk/ndk/wiki
+################################################################################
+
+if ( NOT ANDROID_NDK )
+    set( ANDROID_NDK "$ENV{ANDROID_NDK}" )
+    if ( NOT ANDROID_NDK )
+        set( android_ndk_default_version r12-beta2 )
+        if ( ANDROID_NDK_ROOT )
+            set( ANDROID_NDK "${ANDROID_NDK_ROOT}/android-ndk-${android_ndk_default_version}" )
+        else()
+            set( ANDROID_NDK "$ENV{TNUN_3rd_party_root}/Android/NDK/android-ndk-${android_ndk_default_version}" )
+        endif()
+    endif()
+    if( NOT IS_DIRECTORY ${ANDROID_NDK} )
+        message( FATAL_ERROR "[TNUN] Cannot find Android NDK." )
+    endif()
+endif ( NOT ANDROID_NDK )
+
+
+set( ANDROID_NATIVE_API_LEVEL 15 )
+if ( TNUN_subproject_build )
+        if ( LE_BUILD_ABI MATCHES arm-linux-androideabi )
+        set( ANDROID_NATIVE_API_LEVEL 15 ) # ICS
+    elseif ( LE_BUILD_ABI STREQUAL x86 )
+        set( ANDROID_NATIVE_API_LEVEL 18 ) # JB
+    else() # 64bit
+        set( ANDROID_NATIVE_API_LEVEL 21 ) # L
+    endif()
+endif()
+
+set( CMAKE_ANDROID_API_MIN ${ANDROID_NATIVE_API_LEVEL} )
+message( STATUS "[TNUN] Targeting Android API level ${ANDROID_NATIVE_API_LEVEL}." )
+
+# Standard settings
+set( CMAKE_SYSTEM_NAME    Android )
+set( CMAKE_SYSTEM_VERSION 2.6     )
+
+set( UNIX    true )
+set( ANDROID true )
+
+# Detect current host platform (to support builds on 32 bit hosts).
+if ( NOT DEFINED ANDROID_NDK_HOST_X64 AND (CMAKE_HOST_SYSTEM_PROCESSOR MATCHES "amd64|x86_64|AMD64" OR CMAKE_HOST_APPLE) )
+  set( ANDROID_NDK_HOST_X64 1 )
+endif()
+
+set( TOOL_OS_SUFFIX "" )
+if( CMAKE_HOST_APPLE )
+  set( ANDROID_NDK_HOST_SYSTEM_NAME "darwin-x86_64" )
+elseif( CMAKE_HOST_WIN32 )
+  if ( ANDROID_NDK_HOST_X64 )
+    set( ANDROID_NDK_HOST_SYSTEM_NAME "windows-x86_64" )
+  else()
+    set( ANDROID_NDK_HOST_SYSTEM_NAME "windows" )
+  endif()
+  set( TOOL_OS_SUFFIX ".exe" )
+elseif( CMAKE_HOST_UNIX )
+  if ( ANDROID_NDK_HOST_X64 )
+    set( ANDROID_NDK_HOST_SYSTEM_NAME "linux-x86_64" )
+  else()
+    set( ANDROID_NDK_HOST_SYSTEM_NAME "linux-x86" )
+  endif()
+else()
+  message( FATAL_ERROR "Cross-compilation on your platform is not supported by this CMake toolchain" )
+endif()
+
+
+# Target ABI options
+if( NOT ANDROID_ABI )
+  set( ANDROID_ABI "armeabi-v7a" )
+endif()
+
+set( gcc_ver   4.9 )
+set( abi_sufix ""  )
+
+if( ANDROID_ABI STREQUAL "x86" )
+  set( x86 true )
+  set( ANDROID_NDK_ABI_NAME   "x86"  )
+  set( ANDROID_ARCH_NAME      "x86"  )
+  set( CMAKE_SYSTEM_PROCESSOR "i686" )
+elseif( ANDROID_ABI STREQUAL "x86_64" )
+  set( x86    true )
+  set( x86_64 true )
+  set( ANDROID_NDK_ABI_NAME   "x86_64" )
+  set( ANDROID_ARCH_NAME      "x86_64" )
+  set( CMAKE_SYSTEM_PROCESSOR "x86_64" )
+elseif( ANDROID_ABI STREQUAL "mips64" )
+  set( MIPS64                 true     )
+  set( ANDROID_NDK_ABI_NAME   "mips64" )
+  set( ANDROID_ARCH_NAME      "mips64" )
+  set( CMAKE_SYSTEM_PROCESSOR "mips64" )
+elseif( ANDROID_ABI STREQUAL "mips" )
+  set( MIPS true )
+  set( ANDROID_NDK_ABI_NAME   "mips" )
+  set( ANDROID_ARCH_NAME      "mips" )
+  set( CMAKE_SYSTEM_PROCESSOR "mips" )
+elseif( ANDROID_ABI STREQUAL "arm64-v8a" )
+  set( ARM64_V8A true )
+  set( ANDROID_NDK_ABI_NAME   "arm64-v8a" )
+  set( ANDROID_ARCH_NAME      "arm64"     )
+  set( CMAKE_SYSTEM_PROCESSOR "aarch64"   )
+  set( NEON true )
+elseif( ANDROID_ABI STREQUAL "armeabi-v7a" )
+  set( ARMEABI_V7A true )
+  set( ANDROID_NDK_ABI_NAME   "armeabi-v7a" )
+  set( ANDROID_ARCH_NAME      "arm"   )
+  set( CMAKE_SYSTEM_PROCESSOR "armv7-a" )
+  set( abi_sufix "eabi" )
+elseif( ANDROID_ABI STREQUAL "armeabi-v7a with NEON" )
+  set( ARMEABI_V7A true )
+  set( ANDROID_NDK_ABI_NAME "armeabi-v7a" )
+  set( ANDROID_ARCH_NAME "arm" )
+  set( CMAKE_SYSTEM_PROCESSOR "armv7-a" )
+  set( NEON true )
+  set( abi_sufix "eabi" )
+else()
+  message( SEND_ERROR "Unknown ANDROID_ABI=\"${ANDROID_ABI}\" is specified." )
+endif()
+
+
+set( ANDROID_LLVM_TRIPLE            "${CMAKE_SYSTEM_PROCESSOR}-none-linux-android${abi_sufix}" )
+set( ANDROID_TOOLCHAIN_MACHINE_NAME "${ANDROID_ARCH_NAME}-linux-android${abi_sufix}" )
+set( ANDROID_GCC_TOOLCHAIN_NAME     "${ANDROID_TOOLCHAIN_MACHINE_NAME}-${gcc_ver}" )
+# The armeabi-v7a is the only ABI where the CMAKE_SYSTEM_PROCESSOR and LLVM
+# triple do not match:
+string( REPLACE "armv7-a" "armv7" ANDROID_LLVM_TRIPLE "${ANDROID_LLVM_TRIPLE}" )
+
+set( ANDROID_NDK_TOOLCHAINS_PATH    "${ANDROID_NDK}/toolchains" )
+set( ANDROID_NDK_TOOLCHAINS_SUBPATH "/prebuilt/${ANDROID_NDK_HOST_SYSTEM_NAME}" )
+set( ANDROID_CLANG_TOOLCHAIN_ROOT   "${ANDROID_NDK_TOOLCHAINS_PATH}/llvm${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
+set( ANDROID_TOOLCHAIN_ROOT         "${ANDROID_NDK_TOOLCHAINS_PATH}/${ANDROID_GCC_TOOLCHAIN_NAME}${ANDROID_NDK_TOOLCHAINS_SUBPATH}" )
+set( ANDROID_SYSROOT                "${ANDROID_NDK}/platforms/android-${ANDROID_NATIVE_API_LEVEL}/arch-${ANDROID_ARCH_NAME}" )
+
+set( ANDROID_CXX_ROOT         "${ANDROID_NDK}/sources/cxx-stl" )
+set( ANDROID_LLVM_ROOT        "${ANDROID_CXX_ROOT}/llvm-libc++" )
+set( ANDROID_ABI_INCLUDE_DIRS "${ANDROID_CXX_ROOT}/llvm-libc++abi/libcxxabi/include" )
+set( ANDROID_STL_INCLUDE_DIRS "${ANDROID_LLVM_ROOT}/libcxx/include"
+                              "${ANDROID_ABI_INCLUDE_DIRS}" )
+
+# Standard Android directory layout for per-ABI libraries:
+set( LIBRARY_OUTPUT_PATH "${CMAKE_BINARY_DIR}/lib/${ANDROID_NDK_ABI_NAME}" )
+
+# Global includes and link directories
+# Android support files
+include_directories( SYSTEM ${ANDROID_NDK}/sources/android/support/include               )
+include_directories( SYSTEM "${ANDROID_SYSROOT}/usr/include" ${ANDROID_STL_INCLUDE_DIRS} )
+link_directories   ( "${ANDROID_SYSROOT}/usr/lib"                        )
+link_directories   ( "${ANDROID_LLVM_ROOT}/libs/${ANDROID_NDK_ABI_NAME}" )
+
+set( CMAKE_C_COMPILER   "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/clang${TOOL_OS_SUFFIX}"                               CACHE FILEPATH "C compiler"   FORCE )
+set( CMAKE_CXX_COMPILER "${ANDROID_CLANG_TOOLCHAIN_ROOT}/bin/clang++${TOOL_OS_SUFFIX}"                             CACHE FILEPATH "C++ compiler" FORCE )
+set( CMAKE_ASM_COMPILER "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc${TOOL_OS_SUFFIX}"     CACHE FILEPATH "assembler"    FORCE )
+set( CMAKE_STRIP        "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-strip${TOOL_OS_SUFFIX}"   CACHE FILEPATH "strip"        FORCE )
+# Use gcc-ar if we have it for better LTO support.
+set( CMAKE_AR           "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-gcc-ar${TOOL_OS_SUFFIX}"  CACHE FILEPATH "archive"      FORCE )
+set( CMAKE_LINKER       "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ld${TOOL_OS_SUFFIX}"      CACHE FILEPATH "linker"       FORCE )
+set( CMAKE_NM           "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-nm${TOOL_OS_SUFFIX}"      CACHE FILEPATH "nm"           FORCE )
+set( CMAKE_OBJCOPY      "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-objcopy${TOOL_OS_SUFFIX}" CACHE FILEPATH "objcopy"      FORCE )
+set( CMAKE_OBJDUMP      "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-objdump${TOOL_OS_SUFFIX}" CACHE FILEPATH "objdump"      FORCE )
+set( CMAKE_RANLIB       "${ANDROID_TOOLCHAIN_ROOT}/bin/${ANDROID_TOOLCHAIN_MACHINE_NAME}-ranlib${TOOL_OS_SUFFIX}"  CACHE FILEPATH "ranlib"       FORCE )
+
+set( _CMAKE_TOOLCHAIN_PREFIX "${ANDROID_TOOLCHAIN_MACHINE_NAME}-" )
+
+include( "${CMAKE_CURRENT_LIST_DIR}/clang.cmake" )
+
+add_definitions( -DANDROID -D__ANDROID__ )
+
+
+# Implementation note: These "basic toolchain flags" have to be added to the
+# compiler flags but also to the linker flags (at least in the 'first pass',
+# before CROSS_COMPILING is set) in order for the "Check for working CXX
+# compiler" test to succeed.
+# link_libraries() is (ab)used (see the related note in build_options.cmake) in
+# order to avoid messing with/polluting the cache (this has a tendency to append
+# the same flags on every configure run) with the CMAKE_*_*_FLAGS variables.
+# And in the great mess that is CMake add_compile_options() and link_libraries()
+# want their parameters specified in different ways (link_libraries() requires a
+# list, not a quoted string, but 'paired options' such as -target <my_triple>
+# have to be 'grouped' in quoted strings...and this is of course documented
+# nowhere). So, to avoid duplication, 'some' transformation has to be done on
+# the options in order to satisfy both functions.
+#                                             (01.06.2016.) (Domagoj Saric)
+if ( NOT CROSS_COMPILING )
+  link_libraries( ${ANDROID_BASIC_TOOLCHAIN_FLAGS} )
+endif()
+set( ANDROID_BASIC_TOOLCHAIN_FLAGS "-target ${ANDROID_LLVM_TRIPLE}" "-gcc-toolchain ${ANDROID_TOOLCHAIN_ROOT}" "--sysroot=${ANDROID_SYSROOT}" )
+set( ANDROID_C_FLAGS "${ANDROID_BASIC_TOOLCHAIN_FLAGS}" )
+foreach( a_flag ${ANDROID_BASIC_TOOLCHAIN_FLAGS} )
+  string( REPLACE " " ";" a_flag "${a_flag}" )
+  add_compile_options( ${a_flag} )
+endforeach()
+
+
+link_libraries( c++_static )
+if( ARMEABI_V7A )
+  # this is *required* to use the following linker flags that routes around
+  # a CPU bug in some Cortex-A8 implementations:
+  link_libraries( "-Wl,--fix-cortex-a8" )
+endif()
+
+
+# where is the target environment
+set( CMAKE_FIND_ROOT_PATH "${ANDROID_TOOLCHAIN_ROOT}/bin" "${ANDROID_TOOLCHAIN_ROOT}/${ANDROID_TOOLCHAIN_MACHINE_NAME}" "${ANDROID_SYSROOT}" "${CMAKE_INSTALL_PREFIX}" "${CMAKE_INSTALL_PREFIX}/share" )
+
+
+# macro to find packages on the host OS
+macro( find_host_package )
+ set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
+ set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )
+ set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )
+ if( CMAKE_HOST_WIN32 )
+  SET( WIN32 1 )
+  SET( UNIX )
+ elseif( CMAKE_HOST_APPLE )
+  SET( APPLE 1 )
+  SET( UNIX )
+ endif()
+ find_package( ${ARGN} )
+ SET( WIN32 )
+ SET( APPLE )
+ SET( UNIX 1 )
+ set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
+ set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
+ set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
+endmacro()
+
+
+# macro to find programs on the host OS
+macro( find_host_program )
+ set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER )
+ set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY NEVER )
+ set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE NEVER )
+ if( CMAKE_HOST_WIN32 )
+  SET( WIN32 1 )
+  SET( UNIX )
+ elseif( CMAKE_HOST_APPLE )
+  SET( APPLE 1 )
+  SET( UNIX )
+ endif()
+ find_program( ${ARGN} )
+ SET( WIN32 )
+ SET( APPLE )
+ SET( UNIX 1 )
+ set( CMAKE_FIND_ROOT_PATH_MODE_PROGRAM ONLY )
+ set( CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY )
+ set( CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY )
+endmacro()


Configure VIGRA to use a higher template depth if we’re about to compile using clang.

--- vigra.cmake
+++ vigra.cmake
@@ -49,6 +49,11 @@
     set(VIGRA_UPDATE_COMMAND git checkout ${VIGRA_VERSION})
 endif()

+set(VIGRA_CXX_FLAGS "")
+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang")
+	set(VIGRA_CXX_FLAGS "-ftemplate-depth=1024")
+endif()
+
 message ("Installing ${vigra_NAME}/${VIGRA_VERSION} into FlyEM build area: ${BUILDEM_DIR} ...")
 ExternalProject_Add(${vigra_NAME}
     DEPENDS             ${libjpeg_NAME} ${libtiff_NAME} ${libpng_NAME} ${openexr_NAME} ${libfftw_NAME}
@@ -80,7 +85,7 @@
         -DFFTW3F_LIBRARY=
         -DFFTW3_INCLUDE_DIR=${BUILDEM_DIR}/include
         -DFFTW3_LIBRARY=${BUILDEM_DIR}/lib/libfftw3.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
-        -DCMAKE_CXX_FLAGS=-pthread
+        -DCMAKE_CXX_FLAGS=-pthread ${VIGRA_CXX_FLAGS}
         -DCMAKE_CXX_LINK_FLAGS=-pthread
     BUILD_COMMAND       ${BUILDEM_ENV_STRING} $(MAKE)
     TEST_COMMAND        ${BUILDEM_ENV_STRING} $(MAKE) check


Graph Control 5.2.0-rc1 Release Candidate 1

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

--- version.cmake
+++ version.cmake
@@ -3,9 +3,9 @@
 ###
 set ( HPCC_PROJECT "community" )
 set ( HPCC_MAJOR 5 )
-set ( HPCC_MINOR 1 )
+set ( HPCC_MINOR 2 )
 set ( HPCC_POINT 0 )
-set ( HPCC_MATURITY "trunk" )
+set ( HPCC_MATURITY "rc" )
 set ( HPCC_SEQUENCE 1 )
 ###
 IF ( ${HPCC_POINT} GREATER 65 )


Split off 8.0.44

Split off 8.0.44

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 43 )
+set ( HPCC_POINT 45 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Split off 8.4.2

Split off 8.4.2

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 4 )
-set ( HPCC_POINT 1 )
+set ( HPCC_POINT 3 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Graph Control 6.0.2-rc1 Release Candidate 1

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

--- version.cmake
+++ version.cmake
@@ -4,8 +4,8 @@
 set ( HPCC_PROJECT "community" )
 set ( HPCC_MAJOR 6 )
 set ( HPCC_MINOR 0 )
-set ( HPCC_POINT 0 )
-set ( HPCC_MATURITY "release" )
+set ( HPCC_POINT 2 )
+set ( HPCC_MATURITY "rc" )
 set ( HPCC_SEQUENCE 1 )
 ###
 IF ( ${HPCC_POINT} GREATER 65 )


Split off 7.8.28

Split off 7.8.28

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

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


Fix misprint

Fix misprint

--- cmake/modules/hunter_pack_directory.cmake
+++ cmake/modules/hunter_pack_directory.cmake
@@ -42,7 +42,7 @@
   )

   if(packing_result EQUAL 0)
-    hunter_status_debug("Packing successful: ${temp})")
+    hunter_status_debug("Packing successful: ${temp}")
   else()
     hunter_internal_error("Packing failed")
   endif()


vigra.cmake: FIXME: Skip vigra test step because it hangs on the janelia cluster.

--- vigra.cmake
+++ vigra.cmake
@@ -60,6 +60,9 @@
 set(VIGRA_THREAD_SETTING "-DWITH_BOOST_THREAD=${VIGRA_WITH_BOOST_THREAD}")

 message ("Installing ${vigra_NAME}/${VIGRA_VERSION} into FlyEM build area: ${BUILDEM_DIR} ...")
+message ("**********************************************************************************"
+message ("***** WARNING: vigra test step SKIPPED for now.  Edit vigra.cmake to change. *****")
+message ("**********************************************************************************"
 ExternalProject_Add(${vigra_NAME}
     DEPENDS             ${libjpeg_NAME} ${libtiff_NAME} ${libpng_NAME} ${openexr_NAME} ${libfftw_NAME}
     ${hdf5_NAME} ${python_NAME} ${boost_NAME} ${NUMPY_DEP} ${nose_NAME}
@@ -124,7 +127,7 @@

     BUILD_COMMAND       ${BUILDEM_ENV_STRING} $(MAKE)
-    TEST_COMMAND        ${BUILDEM_ENV_STRING} $(MAKE) check
+    #TEST_COMMAND        ${BUILDEM_ENV_STRING} $(MAKE) check
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} $(MAKE) install
 )


Add pthread support to vigra build

Add pthread support to vigra build

--- vigra.cmake
+++ vigra.cmake
@@ -21,8 +21,7 @@
 external_source (vigra
     1.8.0
     vigra-1.8.0-src.tar.gz
-    /tmp)
-#    http://hci.iwr.uni-heidelberg.de/vigra)
+    http://hci.iwr.uni-heidelberg.de/vigra)

 # Note the number of forced -D CMake variable sets in the configure.
 # There is trouble making vigra find the libraries given priority in
@@ -45,9 +44,12 @@
         -DHDF5_CORE_LIBRARY=${FLYEM_BUILD_DIR}/lib/libhdf5.so
         -DHDF5_HL_LIBRARY=${FLYEM_BUILD_DIR}/lib/libhdf5_hl.so
         -DHDF5_INCLUDE_DIR=${FLYEM_BUILD_DIR}/include
+        -DCMAKE_CXX_FLAGS=-pthread
+        -DCMAKE_CXX_LINK_FLAGS=-pthread
     BUILD_COMMAND     make
     TEST_COMMAND      make check
     INSTALL_COMMAND   make install
 )

-endif (NOT vigra_NAME)+endif (NOT vigra_NAME)
+


BUG: mantis 1151-allow multiple options with GDAL_SB_EXTRA_OPTIONS

--- SuperBuild/CMake/External_gdal.cmake
+++ SuperBuild/CMake/External_gdal.cmake
@@ -42,6 +42,9 @@
   if(UNIX)
     set(GDAL_SB_EXTRA_OPTIONS "" CACHE STRING "Extra options to be passed to GDAL configure script")
     mark_as_advanced(GDAL_SB_EXTRA_OPTIONS)
+
+    #Convert GDAL_SB_EXTRA_OPTIONS to a list to allow to add multiple instructions to the CONFIGURE_COMMAND
+    separate_arguments(GDAL_SB_EXTRA_OPTIONS)

     ExternalProject_Add(${proj}
       PREFIX ${proj}


Attempt to make the resource compilation script work on different platforms

--- 3rdparty/rclib/RCLib.cmake
+++ 3rdparty/rclib/RCLib.cmake
@@ -28,9 +28,10 @@
     add_dependencies(${RC_LIB_NAME}_files rcc)

     add_custom_command(
+        WORKING_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}"
         TARGET ${RC_LIB_NAME}_files
         PRE_BUILD
-        COMMAND $<TARGET_FILE_NAME:rcc>
+        COMMAND $<TARGET_FILE:rcc>
         ARGS ${RC_HEADER_FILE} ${RESOURCES_FILES}
         DEPENDS ${RESOURCES_FILES}
         COMMENT "Building resource header ${RC_HEADER_FILE}"


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


Including the kinect lcm driver in externals again (this might change because the driver as in svn doesn't compile for me)


Removed the '-Wno-warn-absolute-paths' warning from emscripten toolchain

--- cmake-toolchains/emscripten.toolchain.cmake
+++ cmake-toolchains/emscripten.toolchain.cmake
@@ -187,13 +187,13 @@
 set(CMAKE_SYSTEM_INCLUDE_PATH "${EMSCRIPTEN_ROOT_PATH}/system/include")

 # c++ compiler flags
-set(CMAKE_CXX_FLAGS "${EMSCRIPTEN_CONFIG_OPTION} ${EMSCRIPTEN_CACHE_OPTION} ${EMSCRIPTEN_TRACING_OPTION} -std=c++11 -stdlib=libc++ ${FIPS_EMSC_EXCEPTION_FLAGS} ${FIPS_EMSC_RTTI_FLAGS} -fstrict-aliasing -Wall -Wno-warn-absolute-paths -Wno-multichar -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-deprecated-writable-strings -Wno-unused-volatile-lvalue -Wno-inconsistent-missing-override")
+set(CMAKE_CXX_FLAGS "${EMSCRIPTEN_CONFIG_OPTION} ${EMSCRIPTEN_CACHE_OPTION} ${EMSCRIPTEN_TRACING_OPTION} -std=c++11 -stdlib=libc++ ${FIPS_EMSC_EXCEPTION_FLAGS} ${FIPS_EMSC_RTTI_FLAGS} -fstrict-aliasing -Wall -Wno-multichar -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-deprecated-writable-strings -Wno-unused-volatile-lvalue -Wno-inconsistent-missing-override")
 set(CMAKE_CXX_FLAGS_RELEASE "${EMSCRIPTEN_OPT} -DNDEBUG")
 set(CMAKE_CXX_FLAGS_DEBUG "${EMSCRIPTEN_OPT} -g -D_DEBUG_ -D_DEBUG -DFIPS_DEBUG=1")
 set(CMAKE_CXX_FLAGS_PROFILING "${EMSCRIPTEN_OPT} --profiling")

 # c compiler flags
-set(CMAKE_C_FLAGS "${EMSCRIPTEN_CONFIG_OPTION} ${EMSCRIPTEN_CACHE_OPTION} ${EMSCRIPTEN_TRACING_OPTION} -fstrict-aliasing -Wall -Wno-warn-absolute-paths -Wextra -Wno-multichar -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-deprecated-writable-strings -Wno-unused-volatile-lvalue")
+set(CMAKE_C_FLAGS "${EMSCRIPTEN_CONFIG_OPTION} ${EMSCRIPTEN_CACHE_OPTION} ${EMSCRIPTEN_TRACING_OPTION} -fstrict-aliasing -Wall -Wextra -Wno-multichar -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-deprecated-writable-strings -Wno-unused-volatile-lvalue")
 set(CMAKE_C_FLAGS_RELEASE "${EMSCRIPTEN_OPT} -DNDEBUG")
 set(CMAKE_C_FLAGS_DEBUG "${EMSCRIPTEN_OPT} -g -D_DEBUG_ -D_DEBUG -DFIPS_DEBUG=1")
 set(CMAKE_C_FLAGS_PROFILING "${EMSCRIPTEN_OPT} --profiling")


emscripten: added a FIPS_EMSCRIPTEN_USE_WASM_ASMJS cmake option for wasm with asm.js fallback

--- cmake-toolchains/emscripten.toolchain.cmake
+++ cmake-toolchains/emscripten.toolchain.cmake
@@ -40,6 +40,7 @@
 option(FIPS_EMSCRIPTEN_USE_FS "emscripten: enable FS module" OFF)
 option(FIPS_EMSCRIPTEN_USE_DFE "emscripten: enable Duplicate Function Elimination" OFF)
 option(FIPS_EMSCRIPTEN_USE_WASM "emscripten: enable WebAssembly (experimental)" OFF)
+option(FIPS_EMSCRIPTEN_USE_WASM_ASMJS "emscripten: enable WebAssembly with asm.js fallback (experimental)" OFF)
 set(FIPS_EMSCRIPTEN_TOTAL_MEMORY 134217728 CACHE STRING "emscripten: total heap size in bytes")
 set(FIPS_EMSCRIPTEN_LTO_LEVEL 1 CACHE STRING "emscripten: Link-time-optimization level (0..3)")
 set(FIPS_EMSCRIPTEN_OUTLINING_LIMIT 20000 CACHE STRING "emscripten: outlining limit")
@@ -110,6 +111,8 @@
 # WebAssembly on/off?
 if (FIPS_EMSCRIPTEN_USE_WASM)
     set(EMSCRIPTEN_WASM_FLAGS "-s BINARYEN=1 -s 'BINARYEN_METHOD=\"native-wasm\"' -s 'BINARYEN_SCRIPTS=\"spidermonkify.py\"' -s GLOBAL_BASE=1000 -s ALIASING_FUNCTION_POINTERS=0")
+elseif(FIPS_EMSCRIPTEN_USE_WASM_ASMJS)
+    set(EMSCRIPTEN_WASM_FLAGS "-s BINARYEN=1 -s 'BINARYEN_METHOD=\"native-wasm,asmjs\"' -s 'BINARYEN_SCRIPTS=\"spidermonkify.py\"' -s GLOBAL_BASE=1000 -s ALIASING_FUNCTION_POINTERS=0")
 else()
     set(EMSCRIPTEN_WASM_FLAGS "")
 endif()
@@ -119,6 +122,7 @@
 message("FIPS_EMSCRIPTEN_OUTLINING_LIMIT: ${FIPS_EMSCRIPTEN_OUTLINING_LIMIT}")
 message("FIPS_EMSCRIPTEN_MEM_INIT_METHOD: ${FIPS_EMSCRIPTEN_MEM_INIT_METHOD}")
 message("FIPS_EMSCRIPTEN_USE_WASM: ${FIPS_EMSCRIPTEN_USE_WASM}")
+message("FIPS_EMSCRIPTEN_USE_WASM_ASMJS: ${FIPS_EMSCRIPTEN_USE_WASM_ASMJS}")
 message("FIPS_EMSCRIPTEN_EXPORTED_FUNCTIONS: ${FIPS_EMSCRIPTEN_EXPORTED_FUNCTIONS}")
 message("EMSCRIPTEN_TOTAL_MEMORY_WORKER: ${EMSCRIPTEN_TOTAL_MEMORY_WORKER}")
 message("EMSCRIPTEN_USE_CLOSURE: ${EMSCRIPTEN_USE_CLOSURE}")


px4fmu-v1: Remove INAV to free required flash space

--- cmake/configs/nuttx_px4fmu-v1_default.cmake
+++ cmake/configs/nuttx_px4fmu-v1_default.cmake
@@ -72,7 +72,7 @@
 	# Estimation modules
 	#
 	modules/attitude_estimator_q
-	modules/position_estimator_inav
+	#modules/position_estimator_inav
 	modules/local_position_estimator
 	modules/ekf2


Update nuttx_px4fmu-v2_default.cmake

Update nuttx_px4fmu-v2_default.cmake

hello sky

--- cmake/configs/nuttx_px4fmu-v2_default.cmake
+++ cmake/configs/nuttx_px4fmu-v2_default.cmake
@@ -146,7 +146,7 @@
 	#examples/math_demo
 	# Tutorial code from
 	# https://px4.io/dev/px4_simple_app
-	#examples/px4_simple_app
+	examples/px4_simple_app

 	# Tutorial code from
 	# https://px4.io/dev/daemon


Enable topic listener for Pixracer config

--- cmake/configs/nuttx_px4fmu-v4_default.cmake
+++ cmake/configs/nuttx_px4fmu-v4_default.cmake
@@ -36,7 +36,7 @@
 	drivers/meas_airspeed
 	drivers/frsky_telemetry
 	modules/sensors
-	#drivers/mkblctrl
+	drivers/mkblctrl
 	drivers/px4flow
 	drivers/oreoled
 	drivers/gimbal
@@ -53,7 +53,7 @@
 	systemcmds/pwm
 	systemcmds/esc_calib
 	systemcmds/reboot
-	#systemcmds/topic_listener
+	systemcmds/topic_listener
 	systemcmds/top
 	systemcmds/config
 	systemcmds/nshterm


Cope with the new cling library (CMake)

Cope with the new cling library (CMake)

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -733,6 +733,7 @@
   set(CLING_LIBRARIES ${BINARY_DIR}/lib/libclingInterpreter.a
                       ${BINARY_DIR}/lib/libclingMetaProcessor.a
                       ${BINARY_DIR}/lib/libclingUtils.a
+                      ${BINARY_DIR}/lib/libclingCtagsExtension.a
                       ${LLVM_LIBRARIES})
   #--Additional flags obtained from llvm-config --cxxflags
   set(CLING_CXXFLAGS "-fvisibility-inlines-hidden -fno-strict-aliasing -Wno-unused-parameter -Wwrite-strings -Wno-long-long -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS")


Update required VecCore version to 0.4.2

This version contains needed portability fixes for architectures
other than x86_64.

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -1357,7 +1357,7 @@
   if(vc)
     set(VecCore_COMPONENTS Vc)
   endif()
-  find_package(VecCore 0.4.0 CONFIG QUIET COMPONENTS ${VecCore_COMPONENTS})
+  find_package(VecCore 0.4.2 CONFIG QUIET COMPONENTS ${VecCore_COMPONENTS})
   if(NOT VecCore_FOUND)
     message(STATUS "VecCore not found, switching on 'builtin_veccore' option.")
     set(builtin_veccore ON CACHE BOOL "" FORCE)
@@ -1367,10 +1367,10 @@
 endif()

 if(veccore AND NOT VecCore_FOUND)
-  set(VecCore_VERSION "0.4.1")
+  set(VecCore_VERSION "0.4.2")
   set(VecCore_PROJECT "VecCore-${VecCore_VERSION}")
   set(VecCore_SRC_URI "${lcgpackages}/${VecCore_PROJECT}.tar.gz")
-  set(VecCore_SRC_MD5 "7728dc706744e54a79fcb80059a31529")
+  set(VecCore_SRC_MD5 "98f14acc557318d991ab9b748c7145e4")
   set(VecCore_DESTDIR "${CMAKE_BINARY_DIR}/externals")
   set(VecCore_ROOTDIR "${VecCore_DESTDIR}/${CMAKE_INSTALL_PREFIX}")


cmake/modules : fix version check introduced by commit 1d5ca322

Commit 1d5ca322, pushed on 22 Aug 2017, fixed ROOT-8967, which was about
headers not added to ROOT_INCLUDE_PATH for xrootd . There was a typo in
the new way version numbers were checked. As a consequence, the new client
libNetxNG was never built.

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -924,7 +924,7 @@
   set(XROOTD_TARGET XROOTD)
   set(xrootd ON CACHE BOOL "" FORCE)
 endif()
-if(xrootd AND XROOTD_VERSION VERSION_GREATER 3.3.5)
+if(xrootd AND XROOTD_VERSIONNUM VERSION_GREATER 300030005)
   set(netxng ON)
 else()
   set(netxng OFF)


Fix CMake missing dependency rootcling_tmp <- cling  (ROOT-5928)

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -593,19 +593,61 @@
                  -DLLVM_TARGETS_TO_BUILD=X86
                  -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
                  -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-      BUILD_COMMAND $(MAKE) libclang
     )
     #---The list of libraires is optatined by runnning 'llvm-config --libs'
     set(LLVM_INCLUDE_DIR ${CMAKE_BINARY_DIR}/LLVM-install/include)
-    set(LLVM_LIBRARIES -L${CMAKE_BINARY_DIR}/LLVM-install/lib -lclangFrontend -lclangSerialization -lclangDriver -lclangCodeGen
-                       -lclangParse -lclangSema -lclangAnalysis  -lclangRewriteCore -lclangAST -lclangBasic -lclangEdit -lclangLex
-                       -lLLVMInstrumentation -lLLVMIRReader -lLLVMAsmParser -lLLVMDebugInfo -lLLVMOption -lLLVMLTO -lLLVMLinker
-                       -lLLVMipo -lLLVMVectorize -lLLVMBitWriter -lLLVMBitReader -lLLVMTableGen -lLLVMX86Disassembler
-                       -lLLVMX86AsmParser -lLLVMX86CodeGen -lLLVMX86Desc -lLLVMX86Info -lLLVMX86AsmPrinter -lLLVMX86Utils
-                       -lLLVMSelectionDAG -lLLVMAsmPrinter -lLLVMMCDisassembler
-                       -lLLVMMCParser -lLLVMInterpreter -lLLVMMCJIT -lLLVMJIT -lLLVMCodeGen -lLLVMObjCARCOpts -lLLVMScalarOpts
-                       -lLLVMInstCombine -lLLVMTransformUtils -lLLVMipa -lLLVMAnalysis -lLLVMRuntimeDyld -lLLVMExecutionEngine
-                       -lLLVMTarget -lLLVMMC -lLLVMObject -lLLVMCore -lLLVMSupport)
+    set(LLVM_LIBRARIES ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangFrontend.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangSerialization.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangDriver.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangCodeGen.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangParse.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangSema.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangAnalysis.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangRewriteCore.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangAST.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangBasic.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangEdit.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libclangLex.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMInstrumentation.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMIRReader.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMAsmParser.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMDebugInfo.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMOption.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMLTO.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMLinker.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMipo.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMVectorize.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMBitWriter.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMBitReader.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMTableGen.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMX86Disassembler.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMX86AsmParser.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMX86CodeGen.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMX86Desc.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMX86Info.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMX86AsmPrinter.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMX86Utils.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMSelectionDAG.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMAsmPrinter.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMMCDisassembler.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMMCParser.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMInterpreter.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMMCJIT.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMJIT.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMCodeGen.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMObjCARCOpts.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMScalarOpts.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMInstCombine.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMTransformUtils.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMipa.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMAnalysis.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMRuntimeDyld.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMExecutionEngine.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMTarget.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMMC.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMObject.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMCore.a
+                       ${CMAKE_BINARY_DIR}/LLVM-install/lib/libLLVMSupport.a )
     file(READ ${LLVM_SOURCE_DIR}/configure _filestr)
     string(REGEX REPLACE ".*PACKAGE_VERSION='([0-9]+[.][0-9]+).*" "\\1" LLVM_VERSION ${_filestr})
   else()
@@ -623,7 +665,10 @@
                -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
     )
     set(CLING_INCLUDE_DIR ${CMAKE_BINARY_DIR}/CLING-install/include)
-    set(CLING_LIBRARIES -L${CMAKE_BINARY_DIR}/CLING-install/lib -lclingInterpreter -lclingMetaProcessor -lclingUtils ${LLVM_LIBRARIES})
+    set(CLING_LIBRARIES ${CMAKE_BINARY_DIR}/CLING-install/lib/libclingInterpreter.a
+                        ${CMAKE_BINARY_DIR}/CLING-install/lib/libclingMetaProcessor.a
+                        ${CMAKE_BINARY_DIR}/CLING-install/lib/libclingUtils.a
+                        ${LLVM_LIBRARIES})
     #--Additional flags obtained from llvm-config --cxxflags
     set(CLING_CXXFLAGS "-fvisibility-inlines-hidden -fno-strict-aliasing -Wno-unused-parameter -Wwrite-strings -Wmissing-field-initializers -Wno-long-long -D__STDC_CONSTANT_MACROS -D__STDC_FORMAT_MACROS -D__STDC_LIMIT_MACROS")
     add_dependencies(CLING LLVM)


Install Xrootd libraries into ${ROOTSYS}/lib when using builtin_xrootd option.

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -611,6 +611,9 @@
                        ${CMAKE_BINARY_DIR}/${_LIBDIR_DEFAULT}/libXrdClient${CMAKE_SHARED_LIBRARY_SUFFIX}
                        ${CMAKE_BINARY_DIR}/${_LIBDIR_DEFAULT}/libXrdCl${CMAKE_SHARED_LIBRARY_SUFFIX})
   set(XROOTD_CFLAGS "-DROOTXRDVERS=${xrootd_versionnum}")
+  install(DIRECTORY ${CMAKE_BINARY_DIR}/${_LIBDIR_DEFAULT}/ DESTINATION ${CMAKE_INSTALL_LIBDIR}
+                    COMPONENT libraries
+                    FILES_MATCHING PATTERN "libXrd*${CMAKE_SHARED_LIBRARY_SUFFIX}")
   set(xrootd ON CACHE BOOL "" FORCE)
 endif()
 if(xrootd AND xrootd_versionnum VERSION_GREATER 300030005)


[OSX] Forgot to add resources to the new CMake macro

--- CMake/Utils/OgreConfigTargets.cmake
+++ CMake/Utils/OgreConfigTargets.cmake
@@ -231,6 +231,8 @@
       set_target_properties(${LIBNAME} PROPERTIES PUBLIC_HEADER "${HEADER_FILES} ${PLATFORM_HEADERS}")
       set_target_properties(${LIBNAME} PROPERTIES XCODE_ATTRIBUTE_GCC_PRECOMPILE_PREFIX_HEADER "YES")
       set_target_properties(${LIBNAME} PROPERTIES XCODE_ATTRIBUTE_GCC_PREFIX_HEADER "${OGRE_SOURCE_DIR}/OgreMain/include/OgreStableHeaders.h")
+      set_target_properties(${LIBNAME} PROPERTIES RESOURCE "${RESOURCE_FILES}")
+      set_source_files_properties("${RESOURCE_FILES}" PROPERTIES MACOSX_PACKAGE_LOCATION Resources)

       set_target_properties(${LIBNAME} PROPERTIES OUTPUT_NAME ${LIBNAME})
   endif()


Always disable strict aliasing, even for non-core projects

This can cause trouble. I caught then when building the libev plugin
(which, because of inclusion of ev.h, cannot use the "Standard" flags),
throw a aliasing warning.

Change-Id: If22dedbbb74e892742f0bfde121e9ef2847abce6
Reviewed-on: http://review.couchbase.org/43627
Tested-by: Mark Nunberg <e7d42768707bf23038325b0b68d4b577e5f6064a@haskalah.org>
Reviewed-by: Sergey Avseyev <87f6d5e4fd3644c3c20800cde7fd3ad1569370b3@gmail.com>

--- cmake/Modules/GetLibcouchbaseFlags.cmake
+++ cmake/Modules/GetLibcouchbaseFlags.cmake
@@ -22,8 +22,7 @@

 LIST(APPEND LCB_GNUC_CPP_WARNINGS
     -Wall -pedantic -Wshadow -fdiagnostics-show-option -Wformat
-    -fno-strict-aliasing -Wno-strict-aliasing -Wextra -Winit-self
-    -Wno-missing-field-initializers)
+    -Wno-strict-aliasing -Wextra -Winit-self -Wno-missing-field-initializers)

 IF("${CMAKE_C_COMPILER_ID}" STREQUAL "Clang")
     LIST(APPEND LCB_GNUC_CPP_WARNINGS -Wno-cast-align -Wno-dollar-in-identifier-extension)
@@ -113,6 +112,7 @@
     SET(LCB_CORE_CFLAGS "${LCB_GNUC_C_WARNINGS} -DHAVE_VISIBILITY -fvisibility=hidden")
     SET(LCB_CORE_CXXFLAGS "${LCB_GNUC_CXX_WARNINGS} -DHAVE_VISIBILITY -fvisibility=hidden")
     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -fno-strict-aliasing")
+    SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fno-strict-aliasing")
 ENDIF()

 IF(LCB_UNIVERSAL_BINARY AND (${CMAKE_SYSTEM_NAME} MATCHES "Darwin"))


Gah, missed a ) when recreating the file.

--- indra/cmake/JsonCpp.cmake
+++ indra/cmake/JsonCpp.cmake
@@ -20,7 +20,7 @@
       set(JSONCPP_LIBRARIES libjson_linux-gcc-4.4.7_libmt.a)
     else (ND_BUILD64BIT_ARCH)
       set(JSONCPP_LIBRARIES libjson_linux-gcc-4.1.3_libmt.a)
-    endif (ND_BUILD64BIT_ARCH
+    endif (ND_BUILD64BIT_ARCH)
   endif (WINDOWS)
   set(JSONCPP_INCLUDE_DIR "${LIBS_PREBUILT_DIR}/include/jsoncpp" "${LIBS_PREBUILT_DIR}/include/json")
 endif (STANDALONE)


Fix last commit!

Fix last commit!

--- cmake/HalleyProject.cmake
+++ cmake/HalleyProject.cmake
@@ -54,23 +54,24 @@
 	if (MSVC_VERSION GREATER_EQUAL 1910)
 		set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /std:c++17 /permissive-")
 	endif ()
-	set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /sdl /Oi /Ot /Oy /Ob2 /Zi /OPT:REF")
-	set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /sdl /Oi /Ot /Oy /Ob2 /Zi /OPT:REF")
-	#set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /DEBUG")
-
-	if(DEV_BUILD EQUAL 0)
-		set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
-		set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /GL")
-		set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
-		set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
-	endif()
+	set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /sdl /Oi /Ot /Oy /Ob2 /Zi")
+	set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /sdl /Oi /Ot /Oy /Ob2 /Zi")

 	if (${CMAKE_CXX_COMPILER_ID} STREQUAL MSVC)
+		if(DEV_BUILD EQUAL 0)
+			set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /GL")
+			set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} /GL")
+			set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /LTCG")
+			set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
+		endif()
+
 		set(CMAKE_EXE_LINKER_FLAGS_DEBUG "${CMAKE_EXE_LINKER_FLAGS_DEBUG} /DEBUG:FASTLINK")
 		set(CMAKE_STATIC_LINKER_FLAGS_RELEASE "${CMAKE_STATIC_LINKER_FLAGS_RELEASE} /LTCG")
-		set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG")
+		set(CMAKE_SHARED_LINKER_FLAGS_RELEASE "${CMAKE_SHARED_LINKER_FLAGS_RELEASE} /LTCG /OPT:REF /MAP")
 		set(CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_STATIC_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
-		set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /LTCG")
+		set(CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_SHARED_LINKER_FLAGS_RELWITHDEBINFO} /LTCG /OPT:REF /MAP")
+		set(CMAKE_EXE_LINKER_FLAGS_RELEASE "${CMAKE_EXE_LINKER_FLAGS_RELEASE} /OPT:REF /MAP")
+		set(CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO "${CMAKE_EXE_LINKER_FLAGS_RELWITHDEBINFO} /OPT:REF /MAP")
 	endif()
 	set(CMAKE_CXX_STANDARD 17)


Updated XLink dependency

Updated XLink dependency

--- cmake/Hunter/config.cmake
+++ cmake/Hunter/config.cmake
@@ -8,8 +8,8 @@
 hunter_config(
     XLink
     VERSION "luxonis-2021.3-develop_tcpip_driver"
-    URL "https://github.com/luxonis/XLink/archive/eb17e70a52cce578e015780788922c8e8ed43b05.tar.gz"
-    SHA1 "25d6a7e9e9f965aa84f13f762ea47a16fa57e67b"
+    URL "https://github.com/luxonis/XLink/archive/37391b1be51eaa9ed0dda4d5e6e90ab0731c6636.tar.gz"
+    SHA1 "4d3f78d65bda07526c68d7e022ba82a7336375c8"
 )

 hunter_config(


[cmake] tests: Consider an undefined EXEC._OUTPUT_PATH.

--- cmake/OpenSimMacros.cmake
+++ cmake/OpenSimMacros.cmake
@@ -160,6 +160,14 @@
         CMAKE_PARSE_ARGUMENTS(
             OSIMADDTESTS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

+        # If EXECUTABLE_OUTPUT_PATH is set, then that's where the tests will be
+        # located. Otherwise, they are located in the current binary directory.
+        IF(EXECUTABLE_OUTPUT_PATH)
+            SET(TEST_PATH "${EXECUTABLE_OUTPUT_PATH}")
+        ELSE()
+            SET(TEST_PATH "${CMAKE_CURRENT_BINARY_DIR}")
+        ENDIF()
+
         # Make test targets.
         FOREACH(test_program ${OSIMADDTESTS_TESTPROGRAMS})
             # NAME_WE stands for "name without extension"
@@ -168,7 +176,7 @@
             ADD_EXECUTABLE(${TEST_NAME} ${test_program}
                 ${OSIIMADDTESTS_SOURCES})
             TARGET_LINK_LIBRARIES(${TEST_NAME} ${OSIMADDTESTS_LINKLIBS})
-            ADD_TEST(${TEST_NAME} ${EXECUTABLE_OUTPUT_PATH}/${TEST_NAME})
+            ADD_TEST(${TEST_NAME} ${TEST_PATH}/${TEST_NAME})
             SET_TARGET_PROPERTIES(${TEST_NAME} PROPERTIES
                 PROJECT_LABEL "Tests - ${TEST_NAME}")


Silence cmake warning about unused flag (#4547)

Co-authored-by: Scott Cyphers <7bb9a997e5f2906b81b1e1515637af43501e2590@users.noreply.github.com>

--- cmake/external_llvm.cmake
+++ cmake/external_llvm.cmake
@@ -22,7 +22,7 @@
 execute_process(COMMAND "${CMAKE_COMMAND}" -G "${CMAKE_GENERATOR}"
     -DCMAKE_GENERATOR_PLATFORM:STRING=${CMAKE_GENERATOR_PLATFORM}
     -DCMAKE_GENERATOR_TOOLSET:STRING=${CMAKE_GENERATOR_TOOLSET}
-    -DCMAKE_CXX_FLAGS:STRING=${CMAKE_ORIGINAL_CXX_FLAGS} .
+    .
     WORKING_DIRECTORY "${LLVM_PROJECT_ROOT}")

 # clone and build llvm


onnx: Fix typo. (#2457)

onnx: Fix typo. (#2457)

--- cmake/external_onnx.cmake
+++ cmake/external_onnx.cmake
@@ -138,7 +138,7 @@
     add_dependencies(onnx::libonnx ext_onnx)
 endif()

-if (NOT TARGET onnnx::libonnx_proto)
+if (NOT TARGET onnx::libonnx_proto)
     add_library(onnx::libonnx_proto UNKNOWN IMPORTED)
     set_target_properties(onnx::libonnx_proto PROPERTIES
             INTERFACE_INCLUDE_DIRECTORIES ${ONNX_PROTO_INCLUDE_DIR}


update internal header files, test=develop (#22379)

--- cmake/inference_lib.cmake
+++ cmake/inference_lib.cmake
@@ -159,6 +159,10 @@
         SRCS  ${src_dir}/inference/api/paddle_*.h ${paddle_fluid_lib}
         DSTS  ${FLUID_INFERENCE_INSTALL_DIR}/paddle/include ${FLUID_INFERENCE_INSTALL_DIR}/paddle/lib)

+copy(inference_lib_dist
+        SRCS  ${CMAKE_BINARY_DIR}/paddle/fluid/framework/framework.pb.h
+        DSTS  ${FLUID_INFERENCE_INSTALL_DIR}/paddle/include/internal)
+
 # CAPI inference library for only inference
 set(FLUID_INFERENCE_C_INSTALL_DIR "${CMAKE_BINARY_DIR}/fluid_inference_c_install_dir" CACHE STRING
 "A path setting CAPI fluid inference shared")


Try to add support for MYSQL_U_SCORE_VERSION and MYSQL_COPYRIGHT_YEAR.

--- cmake/mysql_version.cmake
+++ cmake/mysql_version.cmake
@@ -55,6 +55,7 @@
   ENDIF()

   SET(VERSION ${VERSION_STRING})
+  STRING(REPLACE "-" "_" MYSQL_U_SCORE_VERSION "${VERSION_STRING}")

   # Remove trailing (non-numeric) part of the version string
   STRING(REGEX REPLACE "[^\\.0-9].*" "" VERSION_STRING ${VERSION_STRING})
@@ -115,6 +116,16 @@
 SET(PRODUCTNAME "MySQL Server")
 SET(COMPANYNAME ${CPACK_PACKAGE_VENDOR})

+# Windows 'date' command has unpredictable output, so cannot rely on it to
+# set MYSQL_COPYRIGHT_YEAR - if someone finds a portable way to do so then
+# it might be useful
+#IF (WIN32)
+#  EXECUTE_PROCESS(COMMAND "date" "/T" OUTPUT_VARIABLE TMP_DATE)
+#  STRING(REGEX REPLACE "(..)/(..)/..(..).*" "\\3\\2\\1" MYSQL_COPYRIGHT_YEAR ${TMP_DATE})
+IF(UNIX)
+  EXECUTE_PROCESS(COMMAND "date" "+%Y" OUTPUT_VARIABLE MYSQL_COPYRIGHT_YEAR)
+ENDIF()
+
 # Add version information to the exe and dll files
 # Refer to http://msdn.microsoft.com/en-us/library/aa381058(VS.85).aspx
 # for more info.


moved up libbot-drc version to incorporate procman bug fix

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -3,7 +3,7 @@
 set(lcm_pod_depends)

 set(libbot-drc_url https://svn.csail.mit.edu/drc/trunk/software/externals/libbot-drc)
-set(libbot-drc_revision 8332)
+set(libbot-drc_revision 8334)
 set(libbot-drc_depends)

 set(Eigen_pod_url https://github.com/RobotLocomotion/eigen-pod.git)


more iris updates

more iris updates

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -104,7 +104,7 @@
 set(gurobi_depends)

 set(iris_url ssh://git@github.com/rdeits/iris-distro.git)
-set(iris_revision 246f033b553120e878689167a4e18212473e179f)
+set(iris_revision 3e87ea6549dfa8755ea97ba87f216f5958724a43)
 set(iris_depends)

 set(mosek_url ssh://git@github.com/rdeits/mosek.git)


Adding USE_PNG and USE_TIFF to cmgui configure header.

https://tracker.physiomeproject.org/show_bug.cgi?id=2648

--- source/configure/cmgui_configure.h.cmake
+++ source/configure/cmgui_configure.h.cmake
@@ -36,6 +36,8 @@
 #cmakedefine USE_PERL_INTERPRETER
 #cmakedefine USE_XML2
 #cmakedefine USE_NETGEN
+#cmakedefine USE_PNG
+#cmakedefine USE_TIFF

 // Miscellaneous defines
 #cmakedefine NETSCAPE_HELP


Adding USE_PNG and USE_TIFF to cmgui configure header.

https://tracker.physiomeproject.org/show_bug.cgi?id=2648

git-svn-id: 4705079bc6b8aadf675e3696f5c015a6aa4916e3@7984 3c1deb5b-d424-0410-962d-aba41a686d42


Build: Fix minor spelling mistake

Build: Fix minor spelling mistake

--- cmake/Modules/LibAddPlugin.cmake
+++ cmake/Modules/LibAddPlugin.cmake
@@ -196,7 +196,7 @@
 				message (
 					FATAL_ERROR
 						"Internally inconsistency, plugin ${PLUGIN_NAME} got different values for variable ${VARIABLE}: '${${VARIABLE}}' != '${VAR}'"
-						"Concatinate variables that contain the value of ${VARIABLE} in a single variable during the DEPENDENCY_PHASE."
+						"Concatenate variables that contain the value of ${VARIABLE} in a single variable during the DEPENDENCY_PHASE."
 						"Make sure that only a single variable is passed to every argument of add_plugin."
 					)
 			endif ()


Use file write instead of echo when generating the Podfile

On some versions of Mac, echo does not support -e, leading to malformed Podfiles. Switch to use file write instead. From testing, it only regenerates the file if the CMakeLists changes, which is desired.

PiperOrigin-RevId: 246597608

--- cmake/download_pod_headers.cmake
+++ cmake/download_pod_headers.cmake
@@ -33,22 +33,15 @@
   set(pod_lines "")
   foreach(pod ${POD_LIST})
     string(CONCAT pod_lines "${pod_lines}"
-           "  pod ${pod}\\n")
+           "  pod ${pod}\n")
   endforeach(pod)
   string(CONCAT podfile_contents
-        "source 'https://github.com/CocoaPods/Specs.git'\\n"
-        "platform :ios, '8.0'\\n"
-        "target 'GetPods' do\\n"
+        "source 'https://github.com/CocoaPods/Specs.git'\n"
+        "platform :ios, '8.0'\n"
+        "target 'GetPods' do\n"
         "${pod_lines}"
         "end")
-  add_custom_command(
-    OUTPUT ${podfile}
-    COMMAND echo -e "${podfile_contents}" > ${podfile}
-    VERBATIM
-    # Add a dependency on the CMakeLists file, so that any changes force a
-    # rebuild of this process.
-    DEPENDS ${CMAKE_CURRENT_LIST_FILE}
-  )
+  file(WRITE "${podfile}" "${podfile_contents}")

   # Create the CMake file needed for the xcode project.
   # This can be done at configure time since the files will never change.


Revert use of OPTIONAL_COMPONENTS in idyntree_handle_dependency

Apparently `OPTIONAL_COMPONENTS` is only supported by `find_package` in `MODULE` mode, not in `CONFIG MODE`.

--- cmake/iDynTreeDependencies.cmake
+++ cmake/iDynTreeDependencies.cmake
@@ -5,7 +5,7 @@
 #########################################################################
 # Enable/disable dependencies
 macro(idyntree_handle_dependency package)
-  set(multiValueArgs COMPONENTS OPTIONAL_COMPONENTS)
+  set(multiValueArgs COMPONENTS)
   cmake_parse_arguments(IHD "" "" "${multiValueArgs}" ${ARGN})
   if (IHD_COMPONENTS)
     find_package(${package} COMPONENTS ${IHD_COMPONENTS})
@@ -16,11 +16,7 @@
   option(IDYNTREE_USES_${PKG} "Build the part of iDynTree that depends on package ${package}" ${${package}_FOUND})
   if (IDYNTREE_USES_${PKG})
     if (IHD_COMPONENTS)
-      if (IHD_OPTIONAL_COMPONENTS)
-        find_package(${package} COMPONENTS ${IHD_COMPONENTS} OPTIONAL_COMPONENTS ${IHD_OPTIONAL_COMPONENTS} REQUIRED )
-      else()
-        find_package(${package} COMPONENTS ${IHD_COMPONENTS} REQUIRED)
-      endif()
+      find_package(${package} COMPONENTS ${IHD_COMPONENTS} REQUIRED)
     else ()
       find_package(${package} REQUIRED)
     endif ()
@@ -47,8 +43,7 @@
 idyntree_handle_dependency(YARP)
 idyntree_handle_dependency(IPOPT)
 idyntree_handle_dependency(Irrlicht)
-idyntree_handle_dependency(Qt5 COMPONENTS Qml Quick Widgets
-                               OPTIONAL_COMPONENTS Charts)
+idyntree_handle_dependency(Qt5 COMPONENTS Qml Quick Widgets)

 # If KDL is not used, an external TinyXML is not compulsory
@@ -57,4 +52,4 @@
 # in extern/CMakeLists.txt . For this reason we just check
 # the system if a local copy of TinyXML exists, and otherwise
 # we use the copy in extern/CMakeLists.txt
-find_package(TinyXML)+find_package(TinyXML)


build: rename flags to cmake_flags (NFC)

--- cmake/modules/SwiftSupport.cmake
+++ cmake/modules/SwiftSupport.cmake
@@ -8,31 +8,31 @@

   cmake_parse_arguments(AST "${options}" "${single_value_options}" "${multiple_value_options}" ${ARGN})

-  set(flags ${CMAKE_SWIFT_FLAGS})
+  set(compile_flags ${CMAKE_SWIFT_FLAGS})
   set(link_flags)

   if(AST_TARGET)
-    list(APPEND flags -target;${AST_TARGET})
+    list(APPEND compile_flags -target;${AST_TARGET})
   endif()
   if(AST_MODULE_NAME)
-    list(APPEND flags -module-name;${AST_MODULE_NAME})
-  else()
-    list(APPEND flags -module-name;${target})
+    list(APPEND compile_flags -module-name;${AST_MODULE_NAME})
+  else()
+    list(APPEND compile_flags -module-name;${target})
   endif()
   if(AST_MODULE_LINK_NAME)
-    list(APPEND flags -module-link-name;${AST_MODULE_LINK_NAME})
+    list(APPEND compile_flags -module-link-name;${AST_MODULE_LINK_NAME})
   endif()
   if(AST_MODULE_CACHE_PATH)
-    list(APPEND flags -module-cache-path;${AST_MODULE_CACHE_PATH})
+    list(APPEND compile_flags -module-cache-path;${AST_MODULE_CACHE_PATH})
   endif()
   if(AST_SWIFT_FLAGS)
     foreach(flag ${AST_SWIFT_FLAGS})
-      list(APPEND flags ${flag})
+      list(APPEND compile_flags ${flag})
     endforeach()
   endif()
   if(AST_CFLAGS)
     foreach(flag ${AST_CFLAGS})
-      list(APPEND flags -Xcc;${flag})
+      list(APPEND compile_flags -Xcc;${flag})
     endforeach()
   endif()
   if(AST_LINK_FLAGS)
@@ -99,7 +99,7 @@
                          ${source}
                          ${AST_DEPENDS}
                        COMMAND
-                         ${CMAKE_SWIFT_COMPILER} -frontend ${flags} -emit-module-path ${mod} -emit-module-doc-path ${doc} -o ${obj} -c ${all_sources})
+                         ${CMAKE_SWIFT_COMPILER} -frontend ${compile_flags} -emit-module-path ${mod} -emit-module-doc-path ${doc} -o ${obj} -c ${all_sources})

     list(APPEND objs ${obj})
     list(APPEND mods ${mod})
@@ -122,7 +122,7 @@
                          ${docs}
                          ${AST_DEPENDS}
                        COMMAND
-                         ${CMAKE_SWIFT_COMPILER} -frontend ${flags} -sil-merge-partial-modules -emit-module ${mods} -o ${module} -emit-module-doc-path ${documentation})
+                         ${CMAKE_SWIFT_COMPILER} -frontend ${compile_flags} -sil-merge-partial-modules -emit-module ${mods} -o ${module} -emit-module-doc-path ${documentation})
   endif()

   if(AST_LIBRARY)


cmake nuttx copy with rsync

cmake nuttx copy with rsync

--- cmake/nuttx/px4_impl_nuttx.cmake
+++ cmake/nuttx/px4_impl_nuttx.cmake
@@ -213,11 +213,11 @@
 	endif()

 	# copy and export
+	file(RELATIVE_PATH nuttx_cp_src ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR}/NuttX)
 	file(GLOB_RECURSE config_files ${CMAKE_SOURCE_DIR}/nuttx-configs/${CONFIG}/*)
 	add_custom_command(OUTPUT ${CMAKE_BINARY_DIR}/${CONFIG}.export
 		COMMAND ${MKDIR} -p ${nuttx_src}
-		COMMAND ${CP} -a ${CMAKE_SOURCE_DIR}/NuttX/. ${nuttx_src}/
-		COMMAND ${RM} -rf ${nuttx_src}/.git
+		COMMAND rsync -a --delete --exclude=.git ${nuttx_cp_src}/ ${CONFIG}/NuttX/
 		#COMMAND ${ECHO} Configuring NuttX for ${CONFIG}
 		COMMAND ${MAKE} --no-print-directory -C${nuttx_src}/nuttx -r --quiet distclean
 		COMMAND ${CP} -r ${CMAKE_SOURCE_DIR}/nuttx-configs/PX4_Warnings.mk ${nuttx_src}/nuttx/
@@ -227,6 +227,7 @@
 		COMMAND ${MAKE} --no-print-directory --quiet -C ${nuttx_src}/nuttx -j${THREADS} -r CONFIG_ARCH_BOARD=${CONFIG} export > nuttx_build.log
 		COMMAND ${CP} -r ${nuttx_src}/nuttx/nuttx-export.zip ${CMAKE_BINARY_DIR}/${CONFIG}.export
 		DEPENDS ${config_files} ${DEPENDS}
+		WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
 		COMMENT "Building NuttX for ${CONFIG}")

 	# extract
@@ -438,16 +439,6 @@

 	set(added_exe_linker_flags) # none currently

-	set(instrument_flags)
-	if ("${config_nuttx_hw_stack_check_${BOARD}}" STREQUAL "y")
-		set(instrument_flags
-			-finstrument-functions
-			-ffixed-r10
-			)
-		list(APPEND c_flags ${instrument_flags})
-		list(APPEND cxx_flags ${instrument_flags})
-	endif()
-
 	set(cpu_flags)
 	if (${BOARD} STREQUAL "px4fmu-v1")
 		set(cpu_flags


link thread library even if not using c++11 <thread> when needed

--- cmake/vSMCExampleFunctions.cmake
+++ cmake/vSMCExampleFunctions.cmake
@@ -83,9 +83,9 @@
             TARGET_LINK_LIBRARIES (${exe} ${TBB_MALLOC_LINK_LIBRARIES})
         ENDIF (${arg} STREQUAL "TBB_MALLOC" AND TBB_MALLOC_FOUND)

-        IF (${arg} STREQUAL "STD" AND CXX11LIB_THREAD_FOUND)
+        IF (${arg} STREQUAL "STD" AND CMAKE_THREAD_LIBS_INIT)
             TARGET_LINK_LIBRARIES (${exe} ${CMAKE_THREAD_LIBS_INIT})
-        ENDIF (${arg} STREQUAL "STD" AND CXX11LIB_THREAD_FOUND)
+        ENDIF (${arg} STREQUAL "STD" AND CMAKE_THREAD_LIBS_INIT)

         IF (${arg} STREQUAL "CILK" AND CILK_FOUND)
             SET (compile_flags "${compile_flags} ${Cilk_CXX_FLAGS}")


opencv: Fix #include dirs (changed in cv3.0 cmake?)

--- cmakemodules/script_opencv.cmake
+++ cmakemodules/script_opencv.cmake
@@ -34,9 +34,6 @@
 		SET(CMAKE_MRPT_HAS_OPENCV 1)
 		SET(MRPT_OPENCV_VERSION ${OPENCV_VERSION})

-		IF ("${OPENCV_INCLUDEDIR}")
-			INCLUDE_DIRECTORIES(${OPENCV_INCLUDEDIR})
-		ENDIF("${OPENCV_INCLUDEDIR}")
 		IF ("${OPENCV_LIBDIR}")
 			LINK_DIRECTORIES(${OPENCV_LIBDIR})
 		ENDIF ("${OPENCV_LIBDIR}")
@@ -45,7 +42,6 @@
 		IF($ENV{VERBOSE})
 			MESSAGE(STATUS " opencv include: ${OPENCV_INCLUDE_DIRS} (Version: ${OPENCV_VERSION})")
 		ENDIF($ENV{VERBOSE})
-		INCLUDE_DIRECTORIES(${OPENCV_INCLUDE_DIRS})
 	ENDIF(OPENCV_FOUND)
 ENDIF(NOT CMAKE_MRPT_HAS_OPENCV AND PKG_CONFIG_FOUND AND NOT OpenCV_IGNORE_PKGCONFIG)

@@ -110,7 +106,7 @@
 	# when also linking to gtest (???)
 	list(REMOVE_ITEM OpenCV_LIBRARIES opencv_ts)

-	INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIR})
+	INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIR} ${OpenCV_INCLUDE_DIRS} ${OPENCV_INCLUDE_DIRS} ${OPENCV_INCLUDEDIR})
 	APPEND_MRPT_LIBS(${OpenCV_LIBRARIES})

 	IF($ENV{VERBOSE})


~ py-ext sources now accessible through optional parameter

--- contrib/cmake/PyExtensions.cmake
+++ contrib/cmake/PyExtensions.cmake
@@ -31,6 +31,7 @@
 # goo_py_extensions( INTERFACES <iface1> <iface2> ...
 #                    [PKG_NAME <package name>]
 #                    [LINK_LIBS <lib1> <lib2> ...]
+#                    [WRAPPER_SOUCES <lstvariable_name>]
 #                    [NO_INIT_FILE] )
 # Please, note that one can specify Python_ADDITIONAL_VERSIONS to point out
 # desired versions of python to be used. Like that:
@@ -40,7 +41,7 @@
 function( goo_py_extensions )
     # Function signature:
     set( options NO_INIT_FILE )
-    set( oneValueArgs PKG_NAME )
+    set( oneValueArgs PKG_NAME WRAPPER_SOUCES )
     set( multiValueArgs INTERFACES LINK_LIBS )
     cmake_parse_arguments( py_extensions
             "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
@@ -96,10 +97,13 @@
         message( STATUS "Located extension module \"${IFACE}\" at ${IFACE_FILE}..." )
         ## ${SWIG_MODULE_${name}_REAL_NAME}.
         set_source_files_properties( ${IFACE_FILE} PROPERTIES CPLUSPLUS ON )
+        #set_source_files_properties( ${IFACE_FILE} PROPERTIES COMPILE_FLAGS -Dregister= )
         swig_add_module( ${IFACE} python ${IFACE_FILE} )
         swig_link_libraries( ${IFACE} ${PYTHON_LIBRARIES} ${py_extensions_LINK_LIBS})
         install(TARGETS ${SWIG_MODULE_${IFACE}_REAL_NAME}
                 DESTINATION ${PY_MODULES_INSTALL_DIR}/${PYPKGNM} )
+            #list( APPEND PY_EXT_MODULES_LIST ${SWIG_MODULE_${IFACE}_REAL_NAME} )  # TODO
+        list( APPEND PY_EXT_MODULES_LIST ${swig_generated_file_fullname} )  # TODO
         install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${IFACE}.py
                 DESTINATION ${PY_MODULES_INSTALL_DIR}/${PYPKGNM} )
         set( ${PYPKGNM}_PY_MODULES "${${PYPKGNM}_PY_MODULES}${IFACE} " )
@@ -117,6 +121,9 @@

     set( PY_MODULES_INSTALL_DIR ${PY_MODULES_INSTALL_DIR} PARENT_SCOPE )
     set( PYPKGNM ${PYPKGNM} PARENT_SCOPE )
+    if( py_extensions_WRAPPER_SOUCES )
+        set( ${py_extensions_WRAPPER_SOUCES} ${PY_EXT_MODULES_LIST} PARENT_SCOPE )
+    endif( py_extensions_WRAPPER_SOUCES )
 endfunction( goo_py_extensions )


PKG: fix detection of shared objects

PKG: fix detection of shared objects

--- Packaging/detect_using_file_command.cmake
+++ Packaging/detect_using_file_command.cmake
@@ -115,10 +115,10 @@
   # Patch file command returning shared-oject for executable on Linux when -PIE is used.
   if( LINUX )
     get_filename_component( input_file_DIR ${input_file} DIRECTORY )
-    get_filename_component( input_file_dIR ${input_file_DIR} NAME )
-    string( TOLOWER "${input_file_DIR}" input_file_DIR )
-    if( ${input_file_DIR} MATCHES "bin" )
-      message( WARNING "${input_file} detected as shared-object." )
+    get_filename_component( dir_name ${input_file_DIR} NAME )
+    string( TOLOWER "${dir_name}" dir_name_l )
+    if( "${dir_name_l}" STREQUAL "bin" )
+      message( STATUS "${input_file} detected as shared-object, but processed as executable" )
       set(detected_type PROGRAMS)
       set(detected_dir bin)
     endif()


rosbuild2 tweaks:  generation-dependency bug fixed

--HG--
extra : convert_revision : svn%3Aeb33c2ac-9c88-4c90-87e0-44a10359b0c3/stacks/driver_common/trunk%4037135

--- dynamic_reconfigure/cmake/rosbuild2.cmake
+++ dynamic_reconfigure/cmake/rosbuild2.cmake
@@ -50,14 +50,6 @@

   endforeach(_cfg)

-  # Create a target that depends on the union of all the autogenerated
-  # files
-  #add_custom_target(ROSBUILD_gencfg_cpp DEPENDS ${_autogen})
-
-  # Add our target to the top-level gencfg target, which will be fired if
-  # the user calls gencfg()
-  #add_dependencies(rospack_gencfg ROSBUILD_gencfg_cpp)
-
   add_custom_target(${PROJECT_NAME}_cfggen
     DEPENDS ${${PROJECT_NAME}_generated})

@@ -65,15 +57,8 @@
     ${PROJECT_NAME}_cfggen)

   foreach(_dep ${${PROJECT_NAME}_RECURSIVE_DEPENDS})
-    message("add_dependencies(${PROJECT_NAME}_cfggen ${_dep}_codegen)")
     add_dependencies(${PROJECT_NAME}_cfggen ${_dep}_codegen)
   endforeach()

-
-
-  #add_custom_target(rospack_gencfg_real ALL)
-  #add_dependencies(rospack_gencfg_real rospack_gencfg)
-  #include_directories(${PROJECT_SOURCE_DIR}/cfg/cpp)
-
 endmacro()


cmake: Use BSD types on IRIX for struct timeval

--- platforms/irix64-mipspro/platform.cmake
+++ platforms/irix64-mipspro/platform.cmake
@@ -6,6 +6,7 @@
 set (PLIB_PLATFORM_DEFINES
         -D_PTHREADS
         -D_POSIX_C_SOURCE=199506L
+        -D_BSD_TYPES
 )

 set (PLIB_PLATFORM_LINK_LIBRARIES pthread)


Add option for deprecation warnings

Add option for deprecation warnings

--- Compiler.cmake
+++ Compiler.cmake
@@ -12,6 +12,11 @@
   set(CMAKE_COMPILER_IS_CLANG ON)
 elseif(CMAKE_COMPILER_IS_GNUCXX)
   set(CMAKE_COMPILER_IS_GNUCXX_PURE ON)
+endif()
+
+option(ENABLE_WARN_DEPRECATED "Enable deprecation warnings" OFF)
+if(ENABLE_WARN_DEPRECATED)
+  add_definitions(-DWARN_DEPRECATED) # projects have to pick this one up
 endif()

 set(COMMON_GCC_FLAGS


CMAKE-13: Correcting typos with qnohot and NDEBUG

--- Compiler.cmake
+++ Compiler.cmake
@@ -64,11 +64,11 @@
     ON)
   if(XLC_BACKEND)
     set(CMAKE_CXX_FLAGS_RELEASE
-      "-O3 -qtune=qp -qarch=qp -q64 -qstrict -qnohota -qnostaticlink -NDEBUG")
+      "-O3 -qtune=qp -qarch=qp -q64 -qstrict -qnohot -qnostaticlink -DNDEBUG")
     set(CMAKE_C_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
   else()
     set(CMAKE_CXX_FLAGS_RELEASE
-      "-O3 -q64 -qstrict -qnostaticlink -qnostaticlink=libgcc -NDEBUG")
+      "-O3 -q64 -qstrict -qnostaticlink -qnostaticlink=libgcc -DNDEBUG")
     set(CMAKE_C_FLAGS_RELEASE ${CMAKE_CXX_FLAGS_RELEASE})
   endif()
 endif()


Ensure lcm_copy_file_target path exists

Ensure lcm_copy_file_target path exists

Modify lcm_copy_file_target slightly to also ensure that the destination
directory exists. (The next commit will add some uses where this may
matter.)

--- lcm-cmake/functions.cmake
+++ lcm-cmake/functions.cmake
@@ -36,9 +36,11 @@

 #------------------------------------------------------------------------------
 function(lcm_copy_file_target TARGET INPUT OUTPUT)
+  get_filename_component(DESTINATION ${OUTPUT} PATH)
   add_custom_command(
     OUTPUT ${OUTPUT}
     DEPENDS ${INPUT}
+    COMMAND ${CMAKE_COMMAND} -E make_directory ${DESTINATION}
     COMMAND ${CMAKE_COMMAND} -E copy ${INPUT} ${OUTPUT}
   )


java: add missing java files

java: add missing java files

--- Wrapping/Java/MakeJavacResponseFile.cmake
+++ Wrapping/Java/MakeJavacResponseFile.cmake
@@ -5,7 +5,7 @@
 file(GLOB vtk_java_rendering_awt_files "${VTK_BINARY_DIR}/java/vtk/rendering/awt/*.java")
 file(GLOB vtk_java_sample_files "${VTK_BINARY_DIR}/java/vtk/sample/*.java")

-set(all_vtk_java_files vtk_java_rendering_files vtk_java_rendering_awt_files vtk_java_sample_files)
+set(all_vtk_java_files vtk_java_files vtk_java_rendering_files vtk_java_rendering_awt_files vtk_java_sample_files)

 if(VTK_JAVA_SWT_COMPONENT)
   file(GLOB vtk_java_swt_files "${VTK_BINARY_DIR}/java/vtk/rendering/swt/*.java")


Squashed '3rdparty/github/cmake-utils/' changes from 83bf5969c..18d43f2d3

18d43f2d3 cmake/MyPackageCheckCommonFeatures.cmake: Check also flatten attribute with clang

git-subtree-dir: 3rdparty/github/cmake-utils
git-subtree-split: 18d43f2d3a7659db8221651d44fc484408f169c1

--- cmake/MyPackageCheckCommonFeatures.cmake
+++ cmake/MyPackageCheckCommonFeatures.cmake
@@ -32,10 +32,12 @@
   FINDCOPYSIGN()
   FINDCOPYSIGNF()
   FINDCOPYSIGNL()
-  FIND__GNUC__()
-  IF (C___GNUC__)
+  #
+  # We reserve the next lines to clang or gcc family
+  #
+  IF (CMAKE_C_COMPILER_ID MATCHES "Clang|GNU")
     #
-    # Usually GCC compilers just give a warning, we want to turn the warnings to errors
+    # We want to turn the warnings to errors if this is supported, else we give up.
     #
     INCLUDE(CheckCCompilerFlag)
     CHECK_C_COMPILER_FLAG(-Werror C_COMPILER_HAS_WERROR_OPTION)


Improve error message.

Improve error message.

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

--- deal.II/cmake/setup_custom_targets.cmake
+++ deal.II/cmake/setup_custom_targets.cmake
@@ -40,9 +40,17 @@

   ELSE()

+    STRING(TOUPPER ${_component} _componentuppercase)
     ADD_CUSTOM_TARGET(${_component}
-      COMMAND ${CMAKE_COMMAND} -E echo "Error: Could not build and install disabled component \"${_component}\"."
-        && ${CMAKE_COMMAND} -E echo "Please reconfigure with -DDEAL_II_COMPONENT_${_component}=yes"
+      COMMAND
+           ${CMAKE_COMMAND} -E echo ''
+        && ${CMAKE_COMMAND} -E echo ''
+        && ${CMAKE_COMMAND} -E echo '***************************************************************************'
+        && ${CMAKE_COMMAND} -E echo "**  Error: Could not build and install disabled component \"${_component}\"."
+        && ${CMAKE_COMMAND} -E echo "**  Please reconfigure with -DDEAL_II_COMPONENT_${_componentuppercase}=ON"
+        && ${CMAKE_COMMAND} -E echo '***************************************************************************'
+        && ${CMAKE_COMMAND} -E echo ''
+        && ${CMAKE_COMMAND} -E echo ''
         && false
       )


Fixed libcurl compilation for iOS

Fixed libcurl compilation for iOS

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -1769,7 +1769,7 @@
 set(LIBCURL_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -L${ZLIB_PREFIX}/lib")
 set(CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${LIBCURL_PREFIX} ${HOST}
         --with-zlib=${ZLIB_PREFIX})
-if (APPLE)
+if (APPLE AND NOT IS_IOS)
   set(CONFIGURE_COMMAND ${CONFIGURE_COMMAND} --with-darwinssl)
 else ()
   set(CONFIGURE_COMMAND ${CONFIGURE_COMMAND} --with-ssl=${OPENSSL_PREFIX})


Added producer_endpoint to deployment

Added producer_endpoint to deployment

--- org.inaetics.demonstrator.celix.implementation/deploy.cmake
+++ org.inaetics.demonstrator.celix.implementation/deploy.cmake
@@ -9,6 +9,7 @@
         org.inaetics.demonstrator.api.datastore.DataStore_endpoint
         org.inaetics.demonstrator.api.datastore.DataStore_proxy
         org.inaetics.demonstrator.api.producer.Producer
+	org.inaetics.demonstrator.api.producer.Producer_endpoint
         org.inaetics.demonstrator.api.processor.Processor
       )

@@ -44,6 +45,7 @@
         ENDPOINTS
         org.inaetics.demonstrator.api.queue.SampleQueue_proxy
         org.inaetics.demonstrator.api.stats.StatsProvider_endpoint
+	org.inaetics.demonstrator.api.producer.Producer_endpoint
       )

   deploy("inaetics-demonstrator-processor" BUNDLES


fix debug suffix for fmt and spdlog

fix debug suffix for fmt and spdlog

--- externals/CMakeExternals.cmake
+++ externals/CMakeExternals.cmake
@@ -698,7 +698,7 @@
       set(FMT_LIB "lib/fmt<SUFFIX>.lib")
     else()
       include(GNUInstallDirs)
-      set(FMT_LIB "${CMAKE_INSTALL_LIBDIR}/libfmt.a")
+      set(FMT_LIB "${CMAKE_INSTALL_LIBDIR}/libfmt<SUFFIX>.a")
     endif()

     add_external_project(fmt STATIC
@@ -726,7 +726,7 @@
       set(SPDLOG_LIB "lib/spdlog<SUFFIX>.lib")
     else()
       include(GNUInstallDirs)
-      set(SPDLOG_LIB "${CMAKE_INSTALL_LIBDIR}/libspdlog.a")
+      set(SPDLOG_LIB "${CMAKE_INSTALL_LIBDIR}/libspdlog<SUFFIX>.a")
     endif()

     external_get_property(fmt BINARY_DIR)


CMake: modifying OMNIORB_ADD_MODULE macro to support dynamic build of IDL files in the build tree (used in PARAVIS module)

--- salome_adm/cmake_files/UseOmniORB.cmake
+++ salome_adm/cmake_files/UseOmniORB.cmake
@@ -117,14 +117,14 @@

     ADD_CUSTOM_COMMAND(OUTPUT ${_outputs}
       COMMAND ${OMNIORB_IDL_COMPILER} ${_cxx_flags} ${_input_cmd}
-      DEPENDS ${_input})
+      DEPENDS ${_input_cmd})

-    INSTALL(FILES ${_input} DESTINATION idl/salome)
+    INSTALL(FILES ${_input_cmd} DESTINATION idl/salome)
     INSTALL(FILES ${_inc}   DESTINATION include/salome)

     IF(OMNIORB_PYTHON_BACKEND)
       STRING(REPLACE ";" " " _tmp "${_py_flags}")
-      INSTALL(CODE "OMNIORB_COMPILE_IDL_FORPYTHON_ON_INSTALL( \"${OMNIORB_IDL_COMPILER}\" \"${_tmp}\" \"${_input}\" \"${CMAKE_INSTALL_PREFIX}/\${INSTALL_PYIDL_DIR}\" )")
+      INSTALL(CODE "OMNIORB_COMPILE_IDL_FORPYTHON_ON_INSTALL( \"${OMNIORB_IDL_COMPILER}\" \"${_tmp}\" \"${_input_cmd}\" \"${CMAKE_INSTALL_PREFIX}/\${INSTALL_PYIDL_DIR}\" )")
     ENDIF()
   ENDFOREACH()