Improved OpenMesh cmake finder for Xcode 5.1.1 with gtest 1.7

git-svn-id: e0b5bbb11d0e9fdbbfcabba14dc32ad5d6b235bd@1086 fdac6126-5c0c-442c-9429-916003d36597

--- cmake/FindGoogleTest.cmake
+++ cmake/FindGoogleTest.cmake
@@ -42,7 +42,8 @@
   else(GTEST_PREFIX)
     find_path(_GTEST_INCLUDE_DIR "gtest/gtest.h"
       PATHS
-      ~/sw/gtest/include
+      ~/sw/gtest-1.7.0/include
+      ~/sw/gtest/include
       /ACG/acgdev/gcc-4.7-x86_64/gtest/include
       /opt/local/include
       /usr/local/include
@@ -51,6 +52,7 @@
       NO_DEFAULT_PATH )
     find_library(_GTEST_LIBRARY gtest
       PATHS
+      ~/sw/gtest-1.7.0/lib
       ~/sw/gtest/lib
       /ACG/acgdev/gcc-4.7-x86_64/gtest/lib
       /opt/local/lib
@@ -60,6 +62,7 @@
       NO_DEFAULT_PATH )
     find_library(_GTEST_MAIN_LIBRARY gtest_main
       PATHS
+      ~/sw/gtest-1.7.0/lib
       ~/sw/gtest/lib
       /ACG/acgdev/gcc-4.7-x86_64/gtest/lib
       /opt/local/lib
@@ -90,6 +93,12 @@
         "Libraries to link for Google Test automatic main() definition")
 	endif()

+	# Macro required to use google test with vs2012
+	if ( CMAKE_GENERATOR MATCHES "^Visual Studio 11.*"  )
+	   add_definitions(-D_VARIADIC_MAX=10)
+	endif()
+
+
     set(GTEST_LIBRARY_DIR ${_GTEST_LIBRARY_DIR} CACHE FILEPATH
       "Library dir containing Google Test libraries")
     mark_as_advanced(GTEST_INCLUDE_DIRS GTEST_LIBRARIES GTEST_MAIN_LIBRARIES GTEST_LIBRARY_DIR )


METRON-1407 Metron-Bro-Kafka plugin unable to find correct libkafka library. (zr via JonZeolla) closes apache/metron-bro-plugin-kafka#5

--- cmake/FindLibRDKafka.cmake
+++ cmake/FindLibRDKafka.cmake
@@ -27,7 +27,7 @@

 find_library(LibRDKafka_C_LIBRARIES
     NAMES rdkafka
-    HINTS ${LibRDKafka_ROT_DIR}/lib
+    HINTS ${LibRDKafka_ROOT_DIR}/lib
     PATH_SUFFIXES ${CMAKE_LIBRARY_ARCHITECTURE}
 )


remove white spaces

remove white spaces

--- cmake/FindOpenALSoft.cmake
+++ cmake/FindOpenALSoft.cmake
@@ -5,7 +5,7 @@
 #  OPENALSOFT_INCLUDE_DIR    - The OpenAL-Soft include directories
 #  OPENALSOFT_LIBRARY        - The OpenAL-Soft libraries

-find_path(OPENALSOFT_INCLUDE_DIR
+find_path(OPENALSOFT_INCLUDE_DIR
   NAMES al.h
   PATHS
     ~/Library/Frameworks
@@ -20,11 +20,11 @@
     /usr/include/AL/
 )

-find_library(OPENALSOFT_LIBRARY
+find_library(OPENALSOFT_LIBRARY
   NAMES libopenal openal libOpenAL32 OpenAL32 OpenAL32.dll soft_oal.dll
   PATH_SUFFIXES lib64 lib libs64 libs
   PATHS
-    ${OPENALSOFT_INCLUDE_DIR}/../lib
+    ${OPENALSOFT_INCLUDE_DIR}/../lib
     lib
     /usr/lib
 )


Cause CMake to fail and return error code if C++11 not supported.

The current CMake build system will print a warning that your compiler
doesn't support C++11, but still return exit code 0. (It also returns
a garbled error message.)

This commit will cause it to hard-fail the config step, and return an
error code. It will also generate a non-garbled error message.

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

--- cmake/MesosConfigure.cmake
+++ cmake/MesosConfigure.cmake
@@ -41,6 +41,8 @@

 # CONFIGURE COMPILATION.
 ########################
+string(COMPARE EQUAL ${CMAKE_SYSTEM_NAME} "Linux" LINUX)
+
 if (_DEBUG)
   set(CMAKE_BUILD_TYPE Debug)
 endif (_DEBUG)
@@ -51,9 +53,9 @@
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
 else (COMPILER_SUPPORTS_CXX11)
   message(
-    STATUS
-    The compiler ${CMAKE_CXX_COMPILER} does not support the `-std=c++11` flag.
-    Please use a different C++ compiler.)
+    FATAL_ERROR
+    "The compiler ${CMAKE_CXX_COMPILER} does not support the `-std=c++11` flag. "
+    "Please use a different C++ compiler.")
 endif (COMPILER_SUPPORTS_CXX11)

 # Convenience flags to simplify Windows support in C++ source.


cmake/MyPackageStart.cmake: do not install files where a directory component is "internal"

--- cmake/MyPackageStart.cmake
+++ cmake/MyPackageStart.cmake
@@ -145,15 +145,31 @@
   #
   FILE (GLOB_RECURSE _include include/*.h include/*.hpp)
   FOREACH (_file ${_include} )
+    #
+    # Hiden file
+    #
     GET_FILENAME_COMPONENT(_basename ${_file} NAME)
     STRING (REGEX MATCH "^_" _hiden ${_basename})
     IF ("${_hiden}" STREQUAL "_")
       CONTINUE ()
     ENDIF ()
+    #
+    # Internal file
+    #
+    GET_FILENAME_COMPONENT(_directory ${_file} DIRECTORY)
+    STRING (REGEX MATCH "/internal/?" _internal ${_directory})
+    IF (("${_internal}" STREQUAL "/internal") OR ("${_internal}" STREQUAL "/internal/"))
+      CONTINUE ()
+    ENDIF ()
+    #
+    # Ok
+    #
     FILE (RELATIVE_PATH _relfile ${PROJECT_SOURCE_DIR} ${_file})
     GET_FILENAME_COMPONENT(_dir ${_relfile} DIRECTORY)
-    INSTALL(FILES ${_file} DESTINATION ${_dir} COMPONENT HeaderComponent)
-    SET (_HAVE_HEADERCOMPONENT TRUE CACHE INTERNAL "Have HeaderComponent" FORCE)
+    IF (${packageName}_CAN_INSTALL)
+      INSTALL(FILES ${_file} DESTINATION ${_dir} COMPONENT HeaderComponent)
+      SET (_HAVE_HEADERCOMPONENT TRUE CACHE INTERNAL "Have HeaderComponent" FORCE)
+    ENDIF ()
   ENDFOREACH()
   #
   # Make sure current project have a property associating its default directories


[build] Limit -Werror to Clang-compiler only (#4947)

* [build] Enable -Werror on Linux & Mac

* [build] Limit -Werror to Clang-compiler only

--- cmake/TaichiCXXFlags.cmake
+++ cmake/TaichiCXXFlags.cmake
@@ -50,8 +50,11 @@
     # [Global] CXX compilation option to enable all warnings.
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall ")

+# Due to limited CI coverage, -Werror is only turned on with Clang-compiler for now.
+if ("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang")
     # [Global] CXX compilation option to treat all warnings as errors.
-    #set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror ")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror ")
+endif()

     # [Global] By default, CXX compiler will throw a warning if it decides to ignore an attribute, for example "[[ maybe unused ]]".
     # However, this behaviour diverges across different compilers (GCC/CLANG), as well as different compiler versions.


Acquire Zlib from CloudFront distributed url

--- cmake/build_external.cmake
+++ cmake/build_external.cmake
@@ -25,7 +25,7 @@
         #likely, some of the things here are unnecessary
         ExternalProject_Add(ZLIB
             SOURCE_DIR ${ZLIB_SOURCE_DIR}
-            URL https://s3.amazonaws.com/aws-sdk-cpp-builds-sdks-team/zlib/zlib-1.2.11.tar.gz
+            URL https://sdk.amazonaws.com/cpp/builds/zlib-1.2.11.tar.gz
             URL_HASH "SHA256=c3e5e9fdd5004dcb542feda5ee4f0ff0744628baf8ed2dd5d66f8ca1197cb1a1"
             PATCH_COMMAND ""
             CMAKE_ARGS


Added a comment about tweaking the files on desktop after download.

--- cmake/external_rules.cmake
+++ cmake/external_rules.cmake
@@ -93,6 +93,7 @@
     WORKING_DIRECTORY ${PROJECT_BINARY_DIR}/external
   )

+  # On desktop, make a few tweaks to the downloaded files.
   if(NOT ANDROID AND NOT IOS)
     # CMake's find_package(OpenSSL) doesn't quite work right with BoringSSL
     # unless the header file contains OPENSSL_VERSION_NUMBER.


more fixes for windows python find

more fixes for windows python find

--- PyPort/system-python.cmake
+++ PyPort/system-python.cmake
@@ -27,8 +27,10 @@
 		message("Can't find Python.h in ${PYTHON_HOME}" )
 	endif()

+	string(REGEX MATCH "3[0-9]+" PYTHON_NUM "${PYTHON_INCLUDE_DIRS}")
+
 	#import the python lib
-	find_library(PYTHON_LIB NAMES ${PYTHON_VER} lib${PYTHON_VER}
+	find_library(PYTHON_LIB NAMES ${PYTHON_VER} lib${PYTHON_VER} libpython${PYTHON_NUM} python${PYTHON_NUM}
 		PATHS ${PYTHON_HOME}/lib ${PYTHON_HOME}/libs ${PYTHON_HOME}/local/lib ${PYTHON_HOME}/lib64 ${PYTHON_HOME}/local/lib64
 		PATH_SUFFIXES ${CMAKE_LIBRARY_ARCHITECTURE}
 		NO_DEFAULT_PATH


fasm_extra_features: Concatenate genfasm fasm and fasm extras

Signed-off-by: Tomasz Michalak <a2fdaa543b4cc5e3d6cd8672ec412c0eb393b86e@antmicro.com>

--- common/cmake/devices.cmake
+++ common/cmake/devices.cmake
@@ -1008,7 +1008,7 @@

     add_custom_command(
       OUTPUT ${OUT_JSON_SYNTH} ${OUT_SYNTH_V} ${OUT_FASM_EXTRA}
-      DEPENDS ${SOURCE_FILES} ${SOURCE_FILES_DEPS}
+      DEPENDS ${SOURCE_FILES} ${SOURCE_FILES_DEPS} ${INPUT_XDC_FILE}
               ${YOSYS} ${YOSYS_TARGET} ${QUIET_CMD} ${QUIET_CMD_TARGET}
               ${YOSYS_SYNTH_SCRIPT}
       COMMAND
@@ -1338,6 +1338,7 @@
     # Generate FASM
     # -------------------------------------------------------------------------
     set(OUT_FASM ${OUT_LOCAL}/${TOP}.fasm)
+    set(OUT_FASM_CONCATENATED ${OUT_LOCAL}/${TOP}.concat.fasm)
     add_custom_command(
       OUTPUT ${OUT_FASM}
       DEPENDS ${OUT_ROUTE} ${OUT_PLACE} ${VPR_DEPS} ${GENFASM_TARGET}
@@ -1345,6 +1346,9 @@
       COMMAND
         ${CMAKE_COMMAND} -E copy ${OUT_LOCAL}/vpr_stdout.log
           ${OUT_LOCAL}/genhlc.log
+      COMMAND cat ${OUT_FASM} ${OUT_FASM_EXTRA} > ${OUT_FASM_CONCATENATED}
+      COMMAND
+        ${CMAKE_COMMAND} -E copy ${OUT_FASM_CONCATENATED} ${OUT_FASM}
       WORKING_DIRECTORY ${OUT_LOCAL}
     )
     add_custom_target(${NAME}_fasm DEPENDS ${OUT_FASM})


Cleaned up changes to the common device.cmake file

Signed-off-by: Maciej Kurc <572803cc6e8d7bb35033942e4b03254951a2e0d6@antmicro.com>

--- common/cmake/devices.cmake
+++ common/cmake/devices.cmake
@@ -490,7 +490,8 @@
   #   [CACHE_PLACE_DELAY]
   #   [CACHE_LOOKAHEAD]
   #   [CACHE_ARGS <args>]
-  #   [ROUTE_CHAN_WIDTH]
+  #   [ROUTE_CHAN_WIDTH <width>]
+  #   [DONT_INSTALL]
   #   )
   # ~~~
   #
@@ -556,12 +557,6 @@
     RR_PATCH_TOOL ${DEFINE_DEVICE_ARCH} RR_PATCH_TOOL
   )
   get_target_property_required(RR_PATCH_CMD ${DEFINE_DEVICE_ARCH} RR_PATCH_CMD)
-
-  if("${DEFINE_DEVICE_ROUTE_CHAN_WIDTH}" STREQUAL "")
-    get_target_property_required(ROUTE_CHAN_WIDTH ${DEFINE_DEVICE_ARCH} ROUTE_CHAN_WIDTH)
-  else()
-    set(ROUTE_CHAN_WIDTH ${DEFINE_DEVICE_ROUTE_CHAN_WIDTH})
-  endif()

   get_target_property_required(
     VIRT_DEVICE_MERGED_FILE ${DEFINE_DEVICE_DEVICE_TYPE} DEVICE_MERGED_FILE
@@ -603,9 +598,15 @@
     # If not use a dummy value (assuming that the graph will get patched
     # anyways).
     if("${DEFINE_DEVICE_ROUTE_CHAN_WIDTH}" STREQUAL "")
-      set(RRXML_VIRT_ROUTE_CHAN_WIDTH 6) # FIXME: Where did the number come from?
+      # The value below had been chosen to allow VPR to build a virtual rr
+      # graph with BIDIR channels and get a consistent routing of a dummy
+      # wire design. Using a larger value will unnecessarly lead to increase
+      # of storage size of the graph and in turn its loading / processing time.
+      set(RRXML_VIRT_ROUTE_CHAN_WIDTH 6)
+      get_target_property_required(ROUTE_CHAN_WIDTH ${DEFINE_DEVICE_ARCH} ROUTE_CHAN_WIDTH)
     else()
       set(RRXML_VIRT_ROUTE_CHAN_WIDTH ${DEFINE_DEVICE_ROUTE_CHAN_WIDTH})
+      set(ROUTE_CHAN_WIDTH ${DEFINE_DEVICE_ROUTE_CHAN_WIDTH})
     endif()

     # Generate the "default" rr_graph.xml we are going to patch using wire.


Enhanced comments around install lists

Enhanced comments around install lists

Signed-off-by: Maciej Kurc <572803cc6e8d7bb35033942e4b03254951a2e0d6@antmicro.com>

--- common/cmake/install.cmake
+++ common/cmake/install.cmake
@@ -3,14 +3,19 @@
   # PARSE_INSTALL_LISTS
   #
   # Parses lists of architectures and devices to be installed as given by a
-  # user. Converts them to CMake lists.
+  # user. Converts them to CMake lists and sets them in the global scope.
   #
   # There are INSTALL_* and NO_INSTALL_* global variables. Each of them holds
-  # a list of entities to install and not to install.
+  # a comma-separated list of entities to install and not to install.
   #
   # When none of these two is set then all entities are considered for installation
   # If INSTALL_* is set then only entities present there are to be installed.
   # The NO_INSTALL_* list contains entities that should NOT be installed.
+  #
+  # For example: If one wants to install only the Xilinx 7-series familly one
+  # would run the CMake with -DINSTALL_FAMILIES=xc7. If one wants to install
+  # all supported families BUT Xilinx 7-series one would do -DNO_INSTALL_FAMILIES=xc7
+  # The same principle applies to the architecture and the device lists.

   # Device lists
   if (NOT "${INSTALL_DEVICES}" STREQUAL "")


Remove unguard "list(APPEND" that was causing multiple rules.

Signed-off-by: Keith Rothman <1bc19627a439baf17510dc2d0b2d250c96d445a5@users.noreply.github.com>

--- common/cmake/devices.cmake
+++ common/cmake/devices.cmake
@@ -615,7 +615,6 @@

     set(OUTPUTS ${OUT_RRBIN_REAL_FILENAME})
     set(ARGS)
-    list(APPEND OUTPUTS ${LOOKAHEAD_FILENAME})
     if(${DEFINE_DEVICE_CACHE_LOOKAHEAD})
         list(APPEND OUTPUTS ${LOOKAHEAD_FILENAME})
         list(APPEND ARGS --write_router_lookahead ${LOOKAHEAD_FILENAME})


APP-87: SDK Side fixes

APP-87: SDK Side fixes

--- client/client-multi/client-c/toolchains/esp8266.cmake
+++ client/client-multi/client-c/toolchains/esp8266.cmake
@@ -62,5 +62,5 @@
     ${TOOLCHAIN_PATH}/lib/gcc/xtensa-lx106-elf/4.8.2/include/
     )

-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-comment -fno-builtin -Wno-implicit-function-declaration -Os -Wpointer-arith  -Wl,-EL,--gc-sections -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections" CACHE FORCE "")
-set(CMAKE_EXE_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <OBJECTS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> -o <TARGET>")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-comment -fno-builtin -Wno-implicit-function-declaration -Os -Wpointer-arith -Wl,-EL,--gc-sections -fno-inline-functions -nostdlib -mlongcalls -mtext-section-literals -ffunction-sections" CACHE FORCE "")
+set(CMAKE_C_LINK_EXECUTABLE "<CMAKE_C_COMPILER> <FLAGS> <CMAKE_C_LINK_FLAGS> <LINK_FLAGS> -o <TARGET> -Wl,--start-group <OBJECTS> <LINK_LIBRARIES> -Wl,--end-group" CACHE FORCE "")


Bugfix

Bugfix

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

--- deal.II/cmake/configure/configure_boost.cmake
+++ deal.II/cmake/configure/configure_boost.cmake
@@ -71,7 +71,7 @@

   INCLUDE_DIRECTORIES(${boost_folder}/include)

-  INSTALL(DIRECTORY ${boost_folder}/include
+  INSTALL(DIRECTORY ${boost_folder}/include/boost
     DESTINATION ${DEAL_II_INCLUDE_RELDIR}/deal.II/contrib
     COMPONENT library
     FILES_MATCHING PATTERN "*.h"


Tweak debug flags

Tweak debug flags

--- Common.cmake
+++ Common.cmake
@@ -64,6 +64,8 @@
   endif()
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wextra -Winvalid-pch -Wnon-virtual-dtor -Wsign-promo -Wshadow -Winit-self -Wno-unknown-pragmas -Wno-unused-parameter -Wno-write-strings")
   set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wuninitialized")
+  set(CMAKE_CXX_FLAGS_DEBUG
+    "${CMAKE_CXX_FLAGS_DEBUG} -fprofile-arcs -ftest-coverage"
   if(NOT WIN32 AND NOT XCODE_VERSION AND NOT RELEASE_VERSION)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
   endif()


Add LINUX_PPC for Bluegene detection

Add LINUX_PPC for Bluegene detection

--- Common.cmake
+++ Common.cmake
@@ -100,6 +100,9 @@
   if(REDHAT AND CMAKE_SYSTEM_PROCESSOR MATCHES "64$")
     set(LIB_SUFFIX 64 CACHE STRING "Library directory suffix")
   endif()
+  if(CMAKE_SYSTEM_PROCESSOR MATCHES "ppc")
+    set(LINUX_PPC 1)
+  endif()
 endif()
 set(LIBRARY_DIR lib${LIB_SUFFIX})


ENH: Remove outdated External_ITKv3.cmake

The ITKv3 support is no longer needed to be maintained.
It will not work with this version of the toolkit, so
it is better to have it removed.

--- SuperBuild/External_ITKv3.cmake
+++ SuperBuild/External_ITKv3.cmake
@@ -1,83 +0,0 @@
-
-# Make sure this file is included only once
-get_filename_component(CMAKE_CURRENT_LIST_FILENAME ${CMAKE_CURRENT_LIST_FILE} NAME_WE)
-if(${CMAKE_CURRENT_LIST_FILENAME}_FILE_INCLUDED)
-  return()
-endif()
-set(${CMAKE_CURRENT_LIST_FILENAME}_FILE_INCLUDED 1)
-
-#if(${USE_SYSTEM_ITK})
-#  unset(ITK_DIR CACHE)
-#endif()
-
-# Sanity checks
-if(DEFINED ITK_DIR AND NOT EXISTS ${ITK_DIR})
-  message(FATAL_ERROR "ITK_DIR variable is defined but corresponds to non-existing directory")
-endif()
-
-# Set dependency list
-set(ITKv3_DEPENDENCIES "")
-
-# Include dependent projects if any
-SlicerMacroCheckExternalProjectDependency(ITKv3)
-set(proj ITKv3)
-
-if(NOT DEFINED ITK_DIR AND NOT ${USE_SYSTEM_ITK})
-  #message(STATUS "${__indent}Adding project ${proj}")
-
-  # Set CMake OSX variable to pass down the external project
-  set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
-  if(APPLE)
-    list(APPEND CMAKE_OSX_EXTERNAL_PROJECT_ARGS
-      -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-      -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-      -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET})
-  endif()
-
-  set(ITKv3_REPOSITORY git://itk.org/ITK.git)
-  set(ITKv3_GIT_TAG v3.20.1)
-
-  ExternalProject_Add(${proj}
-    GIT_REPOSITORY ${ITKv3_REPOSITORY}
-    GIT_TAG ${ITKv3_GIT_TAG}
-    ${cmakeversion_external_update}
-    SOURCE_DIR ${proj}
-    BINARY_DIR ${proj}-build
-    CMAKE_GENERATOR ${gen}
-    CMAKE_ARGS
-      ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
-      ${COMMON_EXTERNAL_PROJECT_ARGS}
-      -DBUILD_EXAMPLES:BOOL=OFF
-      -DBUILD_TESTING:BOOL=OFF
-      -DITK_LEGACY_REMOVE:BOOL=ON
-      -DKWSYS_USE_MD5:BOOL=ON # Required by SlicerExecutionModel
-      -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
-      -DBUILD_SHARED_LIBS:BOOL=ON
-      -DITK_INSTALL_LIB_DIR:PATH=${Slicer_INSTALL_LIB_DIR}
-      -DITK_USE_REVIEW:BOOL=ON
-      -DITK_USE_REVIEW_STATISTICS:BOOL=ON
-      -DITK_USE_OPTIMIZED_REGISTRATION_METHODS:BOOL=ON
-      -DITK_USE_CENTERED_PIXEL_COORDINATES_CONSISTENTLY:BOOL=ON
-      -DITK_USE_TRANSFORM_IO_FACTORIES:BOOL=ON
-      -DITK_USE_PORTABLE_ROUND:BOOL=ON # Unused
-      ##HACK: THE NEXT TWO LINES ARE TO AVOID CMAKE ISSUES DURING BUILD
-      -DLIBRARY_OUTPUT_PATH:PATH=${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
-      -DEXECUTABLE_OUTPUT_PATH:PATH=${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
-    INSTALL_COMMAND ""
-    DEPENDS
-      ${ITKv3_DEPENDENCIES}
-    )
-  set(ITK_DIR ${CMAKE_BINARY_DIR}/${proj}-build)
-else()
-  if(${USE_SYSTEM_ITK})
-    find_package(ITK ${ITK_VERSION_MAJOR} REQUIRED)
-    if(NOT ITK_DIR)
-      message(FATAL_ERROR "To use the system ITK, set ITK_DIR")
-    endif()
-  endif()
-  # The project is provided using ITK_DIR, nevertheless since other
-  # project may depend on ITKv3, let's add an 'empty' one
-  SlicerMacroEmptyExternalProject(${proj} "${ITKv3_DEPENDENCIES}")
-endif()
-
-list(APPEND ${CMAKE_PROJECT_NAME}_SUPERBUILD_EP_VARS ITK_DIR:PATH)


Bugfix in p4est

Bugfix in p4est

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

--- deal.II/contrib/cmake/configure/configure_p4est.cmake
+++ deal.II/contrib/cmake/configure/configure_p4est.cmake
@@ -46,6 +46,9 @@
 MACRO(FEATURE_P4EST_CONFIGURE_EXTERNAL var)
   INCLUDE_DIRECTORIES(${P4EST_INCLUDE_DIR} ${SC_INCLUDE_DIR})

+  # The user has to know the location of the p4est headers as well:
+  LIST(APPEND DEAL_II_EXTERNAL_INCLUDE_DIRS ${P4EST_INCLUDE_DIR} ${SC_INCLUDE_DIR})
+
   IF (CMAKE_BUILD_TYPE MATCHES "Debug")
     IF(P4EST_DEBUG_FOUND AND SC_DEBUG_FOUND)
       LIST(APPEND DEAL_II_EXTERNAL_LIBRARIES


blacklist updated to filter out the new zenity backend when on windows. likely need to do the same on mac and potentially resolve conflicts on linux

--- Tools/CMake/torque3d.cmake
+++ Tools/CMake/torque3d.cmake
@@ -470,7 +470,7 @@
       addLib(nativeFileDialogs)
       set(BLACKLIST ""  )
  	else()
- 	   set(BLACKLIST "nfd_gtk.c" "nfd_cocoa.m" )
+ 	   set(BLACKLIST "nfd_gtk.c" "nfd_cocoa.m" "simple_exec.h" "nfd_zenity.c")
  	   addLib(nativeFileDialogs)
      set(BLACKLIST ""  )
  	   addLib(comctl32)


Update FindLustre in order to handle a default VERBOSE option set to 0
and the proper c99 compiler option

git-svn-id: 83559b207731e135ec6ad229651e5404538d7ebe@470 041b043f-8d7c-46b2-b46e-ef0dd855326e

--- share/FindLustre.cmake
+++ share/FindLustre.cmake
@@ -15,7 +15,15 @@
 # The module defines some functions:
 #   Lustre_Compile([NODE <Lustre Main Node>]
 #                  LUS_FILES <Lustre files>
-#                  [USER_C_FILES <C files>])
+#                  [USER_C_FILES <C files>]
+#                  [VERBOSE <level>]
+#                  LIBNAME <libraryName>)
+#
+# When used the Lustre_Compile macro define the variable
+# LUSTRE_GENERATED_C_FILES_<libraryName> in the parent scope
+# so that the caller can get (if needed) the list of Lustre generated files.
+# The VERBOSE level is a numeric value passed directly to the -verbose
+# command line option of the lustre compiler
 #

 if(LUSTRE_PATH_HINT)
@@ -65,7 +73,7 @@
 include(CMakeParseArguments)
 function(Lustre_Compile)
   set(options "")
-  set(oneValueArgs NODE LIBNAME)
+  set(oneValueArgs NODE LIBNAME VERBOSE)
   set(multiValueArgs LUS_FILES USER_C_FILES)
   cmake_parse_arguments(LUS "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})

@@ -79,6 +87,13 @@
   else()
     set(LUSTRE_NODE_OPT "")
     set(LUSTRE_OUTPUT_DIR "${CMAKE_CURRENT_BINARY_DIR}/lus_${LUS_LIBNAME}")
+  endif()
+
+  if (LUS_VERBOSE)
+    set(LUSTRE_VERBOSE_OPT "-verbose ${LUS_VERBOSE}")
+  else()
+    # the default is to be quiet.
+    set(LUSTRE_VERBOSE_OPT "-verbose;0")
   endif()

   file(MAKE_DIRECTORY ${LUSTRE_OUTPUT_DIR})
@@ -97,7 +112,7 @@
     set(LUSTRE_GENERATED_FILES ${LUSTRE_GENERATED_FILES} ${LUSTRE_OUTPUT_DIR}/${L}.lusic)
     add_custom_command(
       OUTPUT ${LUSTRE_GENERATED_FILES}
-      COMMAND ${LUSTRE_COMPILER} ${LUSTRE_NODE_OPT} -d ${LUSTRE_OUTPUT_DIR} ${LFILE}
+      COMMAND ${LUSTRE_COMPILER} ${LUSTRE_VERBOSE_OPT} ${LUSTRE_NODE_OPT} -d ${LUSTRE_OUTPUT_DIR} ${LFILE}
       DEPENDS ${LFILE}
       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
       COMMENT "Compile Lustre source(s): ${LFILE} (generates: ${LUSTRE_GENERATED_FILES})."
@@ -109,6 +124,7 @@
   add_library(${LUS_LIBNAME} SHARED
               ${GLOBAL_LUSTRE_GENERATED_C_FILES} ${LUS_USER_C_FILES}
               )
+  set_target_properties(${LUS_LIBNAME} PROPERTIES COMPILE_FLAGS "-std=c99")
   set(LUSTRE_GENERATED_C_FILES_${LUS_LIBNAME} "${GLOBAL_LUSTRE_GENERATED_C_FILES}" PARENT_SCOPE)
   message(STATUS "Lustre: Added rule for building lustre library: ${LUS_LIBNAME}")
 endfunction(Lustre_Compile)


Let TOOLKIT target depends on copy_${TOOLKIT}_headers

This fixes random build failures when OCE_USE_PCH=ON and
OCE_COPY_HEADERS_BUILD=ON.

When using precompiled headers with gcc, header files must be
copied before generating precompiled headers.

--- adm/cmake/BuildToolkit.cmake
+++ adm/cmake/BuildToolkit.cmake
@@ -323,9 +323,14 @@
     list( APPEND all_destination_header_files ${destination_header_files} )
   endif()

-  add_custom_target( copy_${TOOLKIT}_headers ALL
+  add_custom_target( copy_${TOOLKIT}_headers
     DEPENDS ${all_destination_header_files}
   )
+  if(TARGET ${TOOLKIT}_gch)
+    add_dependencies(${TOOLKIT}_gch copy_${TOOLKIT}_headers)
+  else()
+    add_dependencies(${TOOLKIT} copy_${TOOLKIT}_headers)
+  endif()

 endif()


Improve clang support (OS X 10.8)

Improve clang support (OS X 10.8)

--- Common.cmake
+++ Common.cmake
@@ -72,8 +72,12 @@
   add_definitions(-D${UPPER_PROJECT_NAME}_BIGENDIAN)
 endif()

-if(CMAKE_COMPILER_IS_GNUCXX)
-  include(${CMAKE_CURRENT_LIST_DIR}/CompilerVersion.cmake)
+if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
+  set(CMAKE_COMPILER_IS_CLANG ON)
+endif()
+
+if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_COMPILER_IS_CLANG)
+  include(CompilerVersion)
   COMPILER_DUMPVERSION(GCC_COMPILER_VERSION)
   if(GCC_COMPILER_VERSION VERSION_LESS 4.1)
     message(ERROR "GCC 4.1 or later required, found ${GCC_COMPILER_VERSION}")
@@ -83,6 +87,9 @@
   set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wuninitialized")
   if(NOT WIN32 AND NOT XCODE_VERSION AND NOT RELEASE_VERSION)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror")
+  endif()
+  if(CMAKE_COMPILER_IS_CLANG)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Qunused-arguments")
   endif()
 elseif(CMAKE_COMPILER_IS_XLCXX)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -q64")


Fixed CMake installation of documentation

--- cmake/BALLDoc.cmake
+++ cmake/BALLDoc.cmake
@@ -43,6 +43,9 @@
 	        DESTINATION "${BALL_DOCUMENTATION_INSTALL_DIRECTORY}/BALL"
 					COMPONENT   "${COMPONENT_DOCUMENTATION_HTML}"
   )
+	INSTALL(FILES       "${PROJECT_SOURCE_DIR}/doc/classes"
+		DESTINATION "${BALL_DOCUMENTATION_INSTALL_DIRECTORY}/"
+		COMPONENT   "${COMPONENT_DOCUMENTATION_HTML}")

 	#######################################################################
 	## doc_tidy
@@ -111,7 +114,7 @@
 										VERBATIM)

 	INSTALL(FILES   ${PROJECT_BINARY_DIR}/doc/tutorial.pdf
-	        DESTINATION "${BALL_DOCUMENTATION_INSTALL_DIRECTORY}/doc"
+	        DESTINATION "${BALL_DOCUMENTATION_INSTALL_DIRECTORY}/TUTORIAL"
 					COMPONENT   "${COMPONENT_DOCUMENTATION_PDF}"
   )


fixed: allow running FindOpenSG.cmake multiple times.

       Thanks to Johannes Zarl for the patch.

git-svn-id: 9c86407f91444b2cc93bb44d37d96a685973386f@2480 4683daeb-ad0f-0410-a623-93161e962ae5

--- CMake/FindOpenSG.cmake
+++ CMake/FindOpenSG.cmake
@@ -195,10 +195,17 @@
     SET(OpenSG_FOUND TRUE)
     FOREACH(COMPONENT ${OpenSG_FIND_COMPONENTS})
         STRING(TOUPPER ${COMPONENT} UPPERCOMPONENT)
-        __OpenSG_ADJUST_LIB_VARS(${UPPERCOMPONENT} ${COMPONENT})
-        SET(OpenSG_LIBRARIES ${OpenSG_LIBRARIES} ${OpenSG_${UPPERCOMPONENT}_LIBRARY})
-
-        SETUP_OSG_LIB_TARGETS(${COMPONENT} ${UPPERCOMPONENT})
+
+        GET_TARGET_PROPERTY(__OpenSG_COMPONENT_IMPORTED ${COMPONENT} IMPORTED)
+
+        IF(NOT __OpenSG_COMPONENT_IMPORTED)
+            # avoid setting up componentes more than once - which is not
+            # allowed for import libraries
+            __OpenSG_ADJUST_LIB_VARS(${UPPERCOMPONENT} ${COMPONENT})
+            SET(OpenSG_LIBRARIES ${OpenSG_LIBRARIES} ${OpenSG_${UPPERCOMPONENT}_LIBRARY})
+
+            SETUP_OSG_LIB_TARGETS(${COMPONENT} ${UPPERCOMPONENT})
+        ENDIF(NOT __OpenSG_COMPONENT_IMPORTED)
     ENDFOREACH(COMPONENT)

     SET(OpenSG_INCLUDE_DIRS "${OpenSG_INCLUDE_DIR}" "${OpenSG_INCLUDE_DIR}/OpenSG")


BUG: Bump ITKv3 tag.

BUG: Bump ITKv3 tag.

Update to latest commit on the release-3.20 branch.
This includes the fix for the vessel tube reader.

Slicer was also updated to this version.

--- CMake/SuperBuild.cmake
+++ CMake/SuperBuild.cmake
@@ -132,7 +132,8 @@
     set( proj Insight )
     ExternalProject_Add( ${proj}
       GIT_REPOSITORY "${GIT_PROTOCOL}://github.com/Kitware/ITK.git"
-      GIT_TAG "v3.20.1"
+      # release-3.20 branch on 2012-09-26.
+      GIT_TAG "dcd655f89c"
       SOURCE_DIR "${CMAKE_BINARY_DIR}/Insight"
       BINARY_DIR Insight-Build
       CMAKE_GENERATOR ${gen}


MS:

MS:

-ENH: required cmake version for the dashboards is 2.8.3 because of the ctest_submit options we use.

--- src/Testing/Dashboard/elxDashboardCommon.cmake
+++ src/Testing/Dashboard/elxDashboardCommon.cmake
@@ -36,7 +36,7 @@
 # Note: this script is based on the vxl_common.cmake script.
 #

-cmake_minimum_required( VERSION 2.8 )
+cmake_minimum_required( VERSION 2.8.3 )

 set( CTEST_PROJECT_NAME elastix )


Update FW: fix -fusb2, USB descriptor was improperly set up, causing enumeration failure on Windows

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "922551b76fe361cd60dd9d24b88ce11d4dfc3e70")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "cf88fd740e226f1abdd2ea6d0b8c7e897a745f9a")

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


Update FW

Update FW

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "387165012cfd7a8da4ea88eae3089ea00c78fbc0")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "52b5afe85633fd43047f671407d68580ac20b006")

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


[CMake] Fix SearchInstalledSoftware for old CMake versions.

In cmake < 3.11, one cannot use `target_include_directories` for
imported targets. Therefore, a workaround explicitly setting the
properties was necessary.
The PR CI apparently didn't catch this.

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -1614,8 +1614,13 @@
       target_compile_options(${lib} INTERFACE -Wno-deprecated-copy)
     endif()
   endforeach()
-  target_include_directories(gtest INTERFACE ${GTEST_INCLUDE_DIR})
-  target_include_directories(gmock INTERFACE ${GMOCK_INCLUDE_DIR})
+  # Once we require at least cmake 3.11, target_include_directories will work for imported targets
+  # Because of https://gitlab.kitware.com/cmake/cmake/-/merge_requests/1264
+  # We need this workaround:
+  SET_PROPERTY(TARGET gtest APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${GTEST_INCLUDE_DIR})
+  SET_PROPERTY(TARGET gmock APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${GMOCK_INCLUDE_DIR})
+  #target_include_directories(gtest INTERFACE ${GTEST_INCLUDE_DIR})
+  #target_include_directories(gmock INTERFACE ${GMOCK_INCLUDE_DIR})

   set_property(TARGET gtest PROPERTY IMPORTED_LOCATION ${_G_LIBRARY_PATH}/gtest/${CMAKE_STATIC_LIBRARY_PREFIX}gtest${CMAKE_STATIC_LIBRARY_SUFFIX})
   set_property(TARGET gtest_main PROPERTY IMPORTED_LOCATION ${_G_LIBRARY_PATH}/gtest/${CMAKE_STATIC_LIBRARY_PREFIX}gtest_main${CMAKE_STATIC_LIBRARY_SUFFIX})


find exactly required header file

find exactly required header file

--- contrib/10.readline/cmake/FindLibedit.cmake
+++ contrib/10.readline/cmake/FindLibedit.cmake
@@ -32,7 +32,8 @@
   endif (${CMAKE_MAJOR_VERSION} EQUAL 2 AND ${CMAKE_MINOR_VERSION} EQUAL 4)
   find_path(Libedit_INCLUDE_DIR
     NAMES
-      histedit.h
+      readline.h
+      history.h
     PATHS
       ${_Libedit_INCLUDEDIR}
       /usr/include


ARROW-5050: [C++] Specify dependencies of grpc_ep

I encounter the following build error when I built the tarball of 0.13.0 RC.

```
[38/597] Performing configure step for 'grpc_ep'
FAILED: grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure
cd /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-build && /opt/brew/Cellar/cmake/3.13.3/bin/cmake -P /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-RELEASE.cmake && /opt/brew/Cellar/c
make/3.13.3/bin/cmake -E touch /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure
CMake Error at /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-RELEASE.cmake:16 (message):
  Command failed: 1

   '/opt/brew/Cellar/cmake/3.13.3/bin/cmake' '-DCMAKE_BUILD_TYPE=RELEASE' '-DCMAKE_PREFIX_PATH=';/opt/brew;/Users/mrkn/src/github.com/apache/arrow/cpp/build/gflags_ep-prefix/src/gflags_ep;/Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/thirdparty/cares_ep-install;'' '-DgRPC
_CARES_PROVIDER=package' '-DgRPC_GFLAGS_PROVIDER=package' '-DgRPC_PROTOBUF_PROVIDER=package' '-DgRPC_SSL_PROVIDER=package' '-DgRPC_ZLIB_PROVIDER=package' '-DCMAKE_CXX_FLAGS= -Qunused-arguments -fcolor-diagnostics -O3 -DNDEBUG -O3 -DNDEBUG -fPIC' '-DCMAKE_C_FLAGS= -Qunused-arguments -O3 -DNDEBUG -O3 -DNDEBUG -fPIC' '-DCMAKE_INSTALL_PREFIX=/Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/thirdparty/grpc_ep-install' '-DCMAKE_INSTALL_LIBDIR=lib' '-DProtobuf_PROTOC_LIBRARY=/opt/brew/lib/libprotoc.dylib' '-DBUILD_SHARED_LIBS=OFF' '-GNinja' '/Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep'                                                                                See also                                                                                /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-*.log
```

grpc_ep's build log is given below:

```
$ cat /Users/mrkn/Downloads/apache-arrow-0.13.0/cpp/build/grpc_ep-prefix/src/grpc_ep-stamp/grpc_ep-configure-*.log
CMake Error at cmake/cares.cmake:38 (find_package):
  Could not find a package configuration file provided by "c-ares" with any
  of the following names:

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

  Add the installation prefix of "c-ares" to CMAKE_PREFIX_PATH or set
  "c-ares_DIR" to a directory containing one of the above files.  If "c-ares"
  provides a separate development package or SDK, be sure it has been
  installed.
Call Stack (most recent call first):
  CMakeLists.txt:139 (include)

(snip)
```

This build log says that grpc_ep couldn't find cares_ep.
In this case, grpc_ep was built before cares_ep.

This pull-request could fix this dependency error on my environment.

Author: Kenta Murata <mrkn@mrkn.jp>

Closes #4064 from mrkn/cpp_grpc_depends_on_cares and squashes the following commits:

1a37054a7 <Kenta Murata> Specify dependencies of grpc_ep

--- cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -2025,7 +2025,9 @@
                       ${GRPC_CPP_PLUGIN}
                       CMAKE_ARGS
                       ${GRPC_CMAKE_ARGS}
-                      ${EP_LOG_OPTIONS})
+                      ${EP_LOG_OPTIONS}
+                      DEPENDS
+                      ${grpc_dependencies})

   add_library(gRPC::gpr STATIC IMPORTED)
   set_target_properties(gRPC::gpr


added -DVIGRA_VERSION=... to select a specific commit

--- vigra.cmake
+++ vigra.cmake
@@ -21,11 +21,28 @@
 include (numpy)
 include (nose)

+# select the desired VIGRA commit
+set(DEFAULT_VIGRA_VERSION "fd5d9bf7")
+IF(NOT DEFINED VIGRA_VERSION)
+    SET(VIGRA_VERSION "${DEFAULT_VIGRA_VERSION}")
+ENDIF()
+SET(VIGRA_VERSION ${VIGRA_VERSION}
+    CACHE STRING "Specify VIGRA branch/tag/commit to be used (default: ${DEFAULT_VIGRA_VERSION})"
+    FORCE)
+
 external_git_repo (vigra
-    HEAD
+    ${VIGRA_VERSION}
     http://github.com/ukoethe/vigra)
+
+set(vigra_NAME vigra)

-message ("Installing ${vigra_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")
+if("${VIGRA_VERSION}" STREQUAL "master")
+    set(VIGRA_UPDATE_COMMAND git pull)
+else()
+    set(VIGRA_UPDATE_COMMAND git checkout ${VIGRA_VERSION})
+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}
                         ${hdf5_NAME} ${python_NAME} ${boost_NAME} ${numpy_NAME} ${nose_NAME}
@@ -33,7 +50,7 @@
     GIT_REPOSITORY      ${vigra_URL}
     #URL                 ${vigra_URL}
     #URL_MD5             ${vigra_MD5}
-    UPDATE_COMMAND      ""
+    UPDATE_COMMAND      ${VIGRA_UPDATE_COMMAND}
     PATCH_COMMAND       ""
     LIST_SEPARATOR      ^^
     CONFIGURE_COMMAND   ${BUILDEM_ENV_STRING} ${CMAKE_COMMAND} ${vigra_SRC_DIR}


runners: pyocd: Enable semihosting in pyOCD

If ARM semihosting is selected, automatically enable the pyOCD feature.
This way the console output is directly available on the telnet port.

Signed-off-by: Casper Meijn <ef7830db5bfbf3536820c00105ab5734ef4609fc@meijn.net>

--- boards/common/pyocd.board.cmake
+++ boards/common/pyocd.board.cmake
@@ -2,4 +2,7 @@

 board_set_flasher_ifnset(pyocd)
 board_set_debugger_ifnset(pyocd)
+if(CONFIG_SEMIHOST_CONSOLE)
+    board_runner_args(pyocd "--tool-opt=-S")
+endif()
 board_finalize_runner_args(pyocd "--dt-flash=y")


boards: CUAV X7pro restore lights

boards: CUAV X7pro restore lights

--- boards/cuav/x7pro/default.cmake
+++ boards/cuav/x7pro/default.cmake
@@ -36,8 +36,8 @@
 		imu/invensense/icm20689
 		irlock
 		lights/rgbled
-		#lights/rgbled_ncp5623c
-		#lights/rgbled_pwm
+		lights/rgbled_ncp5623c
+		lights/rgbled_pwm
 		magnetometer # all available magnetometer drivers
 		optical_flow # all available optical flow drivers
 		#osd


A little cleanup so you can use vscode with CMake Tools extension.

--- CMakeModules/FindSetupTacentConfigurations.cmake
+++ CMakeModules/FindSetupTacentConfigurations.cmake
@@ -3,8 +3,6 @@
 # We want control of the available configurations. Here, before project, we allow only Debug and Release.
 #set(CMAKE_CONFIGURATION_TYPES "Debug;Release" CACHE TYPE INTERNAL FORCE)
 if (NOT SETUP_CONFIGURATIONS_COMPLETE)
-	message(STATUS "Tacent -- CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
-
 	# No reason to set CMAKE_CONFIGURATION_TYPES if it's not a multiconfig generator
 	# Also no reason mess with CMAKE_BUILD_TYPE if it's a multiconfig generator.
 	get_property(isMultiConfig GLOBAL PROPERTY GENERATOR_IS_MULTI_CONFIG)
@@ -13,24 +11,14 @@
 	else()
 		if (NOT DEFINED CMAKE_BUILD_TYPE)
 			message(STATUS "Tacent -- Default to Release build.")
-			set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose build type" FORCE)
+			set(CMAKE_BUILD_TYPE Release CACHE STRING "Choose Build Type" FORCE)
 		endif()
+		message(STATUS "Tacent -- Build type set to: ${CMAKE_BUILD_TYPE}")
+		set_property(CACHE CMAKE_BUILD_TYPE PROPERTY HELPSTRING "Choose Build Type")
+
+		# set the valid options for cmake-gui drop-down list
+		set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug" "Release")
 	endif()
-
-	if (NOT isMultiConfig)
-		message(STATUS "Tacent -- Build type set to: ${CMAKE_BUILD_TYPE}")
-	endif()
-
-	set_property(CACHE CMAKE_BUILD_TYPE PROPERTY HELPSTRING "Choose the type of build")
-
-	# set the valid options for cmake-gui drop-down list
-	set_property(CACHE CMAKE_BUILD_TYPE PROPERTY STRINGS "Debug;Release")
-
-	# now set up the configurations.
-	#set(CMAKE_C_FLAGS_PROFILE "...")
-	#set(CMAKE_CXX_FLAGS_PROFILE "...")
-	set(CMAKE_CXX_FLAGS_RELEASE "-DCONFIG_RELEASE")
-	#set(CMAKE_EXE_LINKER_FLAGS_PROFILE "...")
-
+
 	set(SETUP_CONFIGURATIONS_COMPLETE TRUE)
 endif()


remove std tr1

remove std tr1

--- build/cmake/DefineOptions.cmake
+++ build/cmake/DefineOptions.cmake
@@ -39,11 +39,6 @@
 # By default CMake checks if the required dependencies for a language are present
 # and enables the library if all are found. This means the default is to build as
 # much as possible but leaving out libraries if their dependencies are not met.
-
-option(WITH_BOOST_FUNCTIONAL "Use boost/tr1/functional.hpp even under C++11 or later" OFF)
-if (WITH_BOOST_FUNCTIONAL)
-    add_definitions(-DFORCE_BOOST_FUNCTIONAL)
-endif()

 option(WITH_BOOST_STATIC "Build with Boost static link library" OFF)
 set(Boost_USE_STATIC_LIBS ${WITH_BOOST_STATIC})
@@ -199,7 +194,6 @@
 message(STATUS "  Build shared libraries:                     ${WITH_SHARED_LIB}")
 message(STATUS "  Build static libraries:                     ${WITH_STATIC_LIB}")
 message(STATUS "  Build with Boost static link library:       ${WITH_BOOST_STATIC}")
-message(STATUS "  Build with boost/tr1/functional (forced)    ${WITH_BOOST_FUNCTIONAL}")
 message(STATUS "  Build with C++ std::thread support:         ${WITH_STDTHREADS}")
 message(STATUS "  Build with libevent support:                ${WITH_LIBEVENT}")
 message(STATUS "  Build with OpenSSL support:                 ${WITH_OPENSSL}")


Only use debug build locally.

Only use debug build locally.

--- build_settings.cmake
+++ build_settings.cmake
@@ -24,7 +24,7 @@
 set(CXX_SPECIFIC_WARN_OPTS "-Wsuggest-override -Wnon-virtual-dtor")

 # C and C++ compiler flags
-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -Og ${C_WARN_OPTS} -fPIC -D_GLIBCXX_USE_CXX11_ABI=0 -DBOOST_DISABLE_ASSERTS -march=westmere -mtune=intel ${EXTRA_C_FLAGS}")
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -g -O3 ${C_WARN_OPTS} -fPIC -D_GLIBCXX_USE_CXX11_ABI=0 -DBOOST_DISABLE_ASSERTS -march=westmere -mtune=intel ${EXTRA_C_FLAGS}")
 set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${CMAKE_C_FLAGS} ${CXX_SPECIFIC_WARN_OPTS} -std=c++1z -fvisibility-inlines-hidden -fdiagnostics-color=auto ${EXTRA_CXX_FLAGS}")

 # Linker flags


Remove commented out non-recursive code.

--- CPM.cmake
+++ CPM.cmake
@@ -1214,31 +1214,6 @@
     # So we ignore CPM_EXPORTED_MODULES (which should not be placed in our
     # scope by the modules).
     _cpm_handle_exports_for_module(${__CPM_FULL_UNID})
-    ## Check to see if the module exported any of its modules. If so, then export each
-    ## of the exported modules into our parents includes / definitions.
-    #if (DEFINED CPM_EXPORTED_MODULES)
-    #  foreach(module IN LISTS CPM_EXPORTED_MODULES)
-    #    set(IMPORT_INCLUDE_MAP_NAME    CPM_KV_INCLUDE_MAP_${module})
-    #    set(IMPORT_DEFINITION_MAP_NAME CPM_KV_DEFINITION_MAP_${module})
-    #    set(IMPORT_TARGET_LIB_MAP_NAME CPM_KV_LIB_TARGET_MAP_${module})
-
-    #    set(CPM_INCLUDE_DIRS ${CPM_INCLUDE_DIRS} ${${IMPORT_INCLUDE_MAP_NAME}})
-    #    set(CPM_DEFINITIONS ${CPM_DEFINITIONS} ${${IMPORT_DEFINITION_MAP_NAME}})
-    #    set(CPM_LIBRARIES ${CPM_LIBRARIES} ${${IMPORT_TARGET_LIB_MAP_NAME}})
-    #    set(CPM_LIBRARIES ${CPM_LIBRARIES} PARENT_SCOPE)
-    #    set(CPM_DEPENDENCIES ${CPM_DEPENDENCIES} ${${IMPORT_TARGET_LIB_MAP_NAME}})
-    #    set(CPM_DEPENDENCIES ${CPM_DEPENDENCIES} PARENT_SCOPE)
-
-    #    # Find what the module named itself, and add that definition to our
-    #    # definitions.
-    #    if (DEFINED CPM_KV_SOURCE_ADDED_MAP_${module})
-    #      set(module_specified_name ${CPM_KV_SOURCE_ADDED_MAP_${module}})
-    #      _cpm_check_and_add_preproc(${module_specified_name} ${module})
-    #    else()
-    #      message(FATAL_ERROR "Logic error: All exported modules must be in the source map: ${module}")
-    #    endif()
-    #  endforeach()
-    #endif()

     # Reset the exported modules to its value before we made the add_subdirectory call.
     set(CPM_EXPORTED_MODULES ${CPM_SAVE_EXPORTED_MODULES})
@@ -1274,29 +1249,6 @@
     endif()

     _cpm_handle_exports_for_module(${__CPM_FULL_UNID})
-    #if (DEFINED CPM_KV_EXPORT_MAP_${__CPM_FULL_UNID})
-    #  foreach(module IN LISTS CPM_KV_EXPORT_MAP_${__CPM_FULL_UNID})
-    #    set(IMPORT_INCLUDE_MAP_NAME    CPM_KV_INCLUDE_MAP_${module})
-    #    set(IMPORT_DEFINITION_MAP_NAME CPM_KV_DEFINITION_MAP_${module})
-    #    set(IMPORT_TARGET_LIB_MAP_NAME CPM_KV_LIB_TARGET_MAP_${module})
-
-    #    set(CPM_INCLUDE_DIRS ${CPM_INCLUDE_DIRS} ${${IMPORT_INCLUDE_MAP_NAME}})
-    #    set(CPM_DEFINITIONS ${CPM_DEFINITIONS} ${${IMPORT_DEFINITION_MAP_NAME}})
-    #    set(CPM_LIBRARIES ${CPM_LIBRARIES} ${${IMPORT_TARGET_LIB_MAP_NAME}})
-    #    set(CPM_LIBRARIES ${CPM_LIBRARIES} PARENT_SCOPE)
-    #    set(CPM_DEPENDENCIES ${CPM_DEPENDENCIES} ${${IMPORT_TARGET_LIB_MAP_NAME}})
-    #    set(CPM_DEPENDENCIES ${CPM_DEPENDENCIES} PARENT_SCOPE)
-
-    #    # Find what the module named itself, and add that definition to our
-    #    # definitions.
-    #    if (DEFINED CPM_KV_SOURCE_ADDED_MAP_${module})
-    #      set(module_specified_name ${CPM_KV_SOURCE_ADDED_MAP_${module}})
-    #      _cpm_check_and_add_preproc(${module_specified_name} ${module})
-    #    else()
-    #      message(FATAL_ERROR "Logic error: All exported modules must be in the source map.")
-    #    endif()
-    #  endforeach()
-    #endif()

   endif()


update iris

update iris

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

 set(iris_url ssh://git@github.com/rdeits/iris-distro.git)
-set(iris_revision 740f2c40ee6b7eb2934ff8cf828a208eb4a05248)
+set(iris_revision 7e3e104a05ce5da0ac4ba4b62d955af41b1f84b8)
 set(iris_depends)

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


cmake: fix Android toolchain missing usage of CMAKE_PREFIX_PATH

--- cmake/AndroidToolchain.cmake
+++ cmake/AndroidToolchain.cmake
@@ -1511,7 +1511,7 @@
 set( BUILD_ANDROID True )

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

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


fix a bug introduced by previous lua-bcc build fix commit

The bug does not show up in my previous test probably because
I did not clean up the build directory and did not have a clean cmake.

In gcc 4.8.5 environment where -no-pie is not supported,
a clean cmake will trigger the issue as subsequent other
cxx compile test will fail due to additional -no-pie flag.

The fix is to reset the CMAKE_REQUIRED_FLAGS to its previous value
after the specific test.

Signed-off-by: Yonghong Song <e76892bbe783db2f627de1232e139db4de43da60@fb.com>

--- cmake/FindCompilerFlag.cmake
+++ cmake/FindCompilerFlag.cmake
@@ -4,6 +4,7 @@
 if (CMAKE_C_COMPILER_ID MATCHES "Clang")
 	set(COMPILER_NOPIE_FLAG "-nopie")
 else()
+	set(_backup_c_flags "${CMAKE_REQUIRED_FLAGS}")
 	set(CMAKE_REQUIRED_FLAGS "-no-pie")
 	CHECK_CXX_SOURCE_COMPILES("int main() {return 0;}"
 				  HAVE_NO_PIE_FLAG)
@@ -12,4 +13,5 @@
 	else()
 		set(COMPILER_NOPIE_FLAG "")
 	endif()
+	set(CMAKE_REQUIRED_FLAGS "${_backup_c_flags}")
 endif()


build: remove nested tautological condition (NFC)

The entire if block is in the `SWIFTLIB_TARGET_LIBRARY` condition, so
these checks add nothing but a level of indentation.  (NFC)

--- cmake/modules/AddSwift.cmake
+++ cmake/modules/AddSwift.cmake
@@ -1869,32 +1869,30 @@
         set(resource_dir_sdk_subdir "${SWIFT_SDK_${sdk}_LIB_SUBDIR}")
         precondition(resource_dir_sdk_subdir)

-        if(SWIFTLIB_TARGET_LIBRARY)
-          if(SWIFTLIB_SHARED)
-            set(resource_dir "swift")
-            set(file_permissions
-                OWNER_READ OWNER_WRITE OWNER_EXECUTE
-                GROUP_READ GROUP_EXECUTE
-                WORLD_READ WORLD_EXECUTE)
-          else()
-            set(resource_dir "swift_static")
-            set(file_permissions
-                OWNER_READ OWNER_WRITE
-                GROUP_READ
-                WORLD_READ)
-          endif()
-
-          swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
-              FILES "${UNIVERSAL_LIBRARY_NAME}"
-              DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${resource_dir}/${resource_dir_sdk_subdir}"
-              PERMISSIONS ${file_permissions})
-          swift_is_installing_component("${SWIFTLIB_INSTALL_IN_COMPONENT}" is_installing)
-
-          if(NOT is_installing)
-            set_property(GLOBAL APPEND PROPERTY SWIFT_BUILDTREE_EXPORTS ${VARIANT_NAME})
-          else()
-            set_property(GLOBAL APPEND PROPERTY SWIFT_EXPORTS ${VARIANT_NAME})
-          endif()
+        if(SWIFTLIB_SHARED)
+          set(resource_dir "swift")
+          set(file_permissions
+              OWNER_READ OWNER_WRITE OWNER_EXECUTE
+              GROUP_READ GROUP_EXECUTE
+              WORLD_READ WORLD_EXECUTE)
+        else()
+          set(resource_dir "swift_static")
+          set(file_permissions
+              OWNER_READ OWNER_WRITE
+              GROUP_READ
+              WORLD_READ)
+        endif()
+
+        swift_install_in_component("${SWIFTLIB_INSTALL_IN_COMPONENT}"
+            FILES "${UNIVERSAL_LIBRARY_NAME}"
+            DESTINATION "lib${LLVM_LIBDIR_SUFFIX}/${resource_dir}/${resource_dir_sdk_subdir}"
+            PERMISSIONS ${file_permissions})
+        swift_is_installing_component("${SWIFTLIB_INSTALL_IN_COMPONENT}" is_installing)
+
+        if(NOT is_installing)
+          set_property(GLOBAL APPEND PROPERTY SWIFT_BUILDTREE_EXPORTS ${VARIANT_NAME})
+        else()
+          set_property(GLOBAL APPEND PROPERTY SWIFT_EXPORTS ${VARIANT_NAME})
         endif()

         # If we built static variants of the library, create a lipo target for
@@ -1928,26 +1926,24 @@

         # Add Swift standard library targets as dependencies to the top-level
         # convenience target.
-        if(SWIFTLIB_TARGET_LIBRARY)
-          set(FILTERED_UNITTESTS
-                swiftStdlibCollectionUnittest
-                swiftStdlibUnicodeUnittest)
-
-          foreach(arch ${SWIFT_SDK_${sdk}_ARCHITECTURES})
-            set(VARIANT_SUFFIX "-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-${arch}")
-            if(TARGET "swift-stdlib${VARIANT_SUFFIX}" AND
-               TARGET "swift-test-stdlib${VARIANT_SUFFIX}")
-              add_dependencies("swift-stdlib${VARIANT_SUFFIX}"
+        set(FILTERED_UNITTESTS
+              swiftStdlibCollectionUnittest
+              swiftStdlibUnicodeUnittest)
+
+        foreach(arch ${SWIFT_SDK_${sdk}_ARCHITECTURES})
+          set(VARIANT_SUFFIX "-${SWIFT_SDK_${sdk}_LIB_SUBDIR}-${arch}")
+          if(TARGET "swift-stdlib${VARIANT_SUFFIX}" AND
+             TARGET "swift-test-stdlib${VARIANT_SUFFIX}")
+            add_dependencies("swift-stdlib${VARIANT_SUFFIX}"
+                ${lipo_target}
+                ${lipo_target_static})
+            if(NOT "${name}" IN_LIST FILTERED_UNITTESTS)
+              add_dependencies("swift-test-stdlib${VARIANT_SUFFIX}"
                   ${lipo_target}
                   ${lipo_target_static})
-              if(NOT "${name}" IN_LIST FILTERED_UNITTESTS)
-                add_dependencies("swift-test-stdlib${VARIANT_SUFFIX}"
-                    ${lipo_target}
-                    ${lipo_target_static})
-              endif()
             endif()
-          endforeach()
-        endif()
+          endif()
+        endforeach()
       endif()
     endforeach()
   else()


Disable gtest warning when building in Release (#298)

https://github.com/google/googletest/issues/1303
Signed-off-by: Victor Lopez <de00b1349174b27db693f368ffdc20472d4dfefc@pal-robotics.com>

--- ament_cmake_gtest/ament_cmake_gtest-extras.cmake
+++ ament_cmake_gtest/ament_cmake_gtest-extras.cmake
@@ -87,6 +87,9 @@
         # mark gtest targets with EXCLUDE_FROM_ALL to only build
         # when tests are built which depend on them
         set_target_properties(gtest gtest_main PROPERTIES EXCLUDE_FROM_ALL 1)
+        if(NOT WIN32)
+          target_compile_options(gtest PRIVATE -Wno-null-dereference)
+        endif()
         target_include_directories(gtest BEFORE PUBLIC "${GTEST_FROM_SOURCE_INCLUDE_DIRS}")
         target_include_directories(gtest_main BEFORE PUBLIC "${GTEST_FROM_SOURCE_INCLUDE_DIRS}")
       endif()


Disable memory consuming tutorials

Disable memory consuming tutorials

When built in parallel, they fail to build on my windows machine due to
memory exaustion

--- CMake/Superbuild/External_SOFA.cmake
+++ CMake/Superbuild/External_SOFA.cmake
@@ -107,6 +107,12 @@
       -DGLEW_INCLUDE_DIR:PATH=${GLEW_INCLUDE_DIR}
       -DGLEW_LIBRARY:FILEPATH=${GLEW_LIBRARY}
       -DGLEW_LIBRARIES:FILEPATH=${GLEW_LIBRARY}
+	  -DSOFA-TUTORIAL_CHAIN_HYBRID:BOOL=OFF
+	  -DSOFA-TUTORIAL_COMPOSITE_OBJECT:BOOL=OFF
+	  -DSOFA-TUTORIAL_HOUSE_OF_CARDS:BOOL=OFF
+	  -DSOFA-TUTORIAL_MIXED_PENDULUM:BOOL=OFF
+	  -DSOFA-TUTORIAL_ONE_PARTICLE:BOOL=OFF
+	  -DSOFA-TUTORIAL_ONE_TETRAHEDRON:BOOL=OFF
     DEPENDS
       ${${proj}_DEPENDENCIES}
     STEP_TARGETS ${step_targets}


make regexes less greedy

make regexes less greedy

--- modules/git_info/git_info_sub.cmake
+++ modules/git_info/git_info_sub.cmake
@@ -30,10 +30,10 @@
         )

     if(_git_last_commit)
-        string(REGEX MATCH "Author:[ ]*(.+)<" temp "${_git_last_commit}")
+        string(REGEX MATCH "Author: +(.+) <.*@" temp "${_git_last_commit}")
         set(_git_last_commit_author ${CMAKE_MATCH_1})
         string(STRIP ${_git_last_commit_author} _git_last_commit_author)
-        string(REGEX MATCH "Date:[ ]*(.+(\\+|-)[0-9][0-9][0-9][0-9])" temp "${_git_last_commit}")
+        string(REGEX MATCH "Date: +(.+[0-9][0-9][0-9][0-9] [+-][0-9][0-9][0-9][0-9])" temp "${_git_last_commit}")
         set(_git_last_commit_date ${CMAKE_MATCH_1})
     endif()


Debugging arpack again

Debugging arpack again

Former-commit-id: 3b323cebdf29f16ad496b5af0804567d1769604f

--- cmake-modules/Fetch_Ceres.cmake
+++ cmake-modules/Fetch_Ceres.cmake
@@ -9,9 +9,9 @@
     target_include_directories(ceres INTERFACE ${CERES_INCLUDE_DIR})
     remove_shared(ceres)
     remove_pthread(ceres)
-#    target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags Threads::Threads)
-
-
+    if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
+        target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags Threads::Threads)
+    endif()
 else()

     message(STATUS "Ceres will be installed into ${CMAKE_INSTALL_PREFIX} on first build.")
@@ -64,10 +64,12 @@
         message(STATUS "ceres installed successfully")
         get_target_property(cereslib  ceres IMPORTED_LOCATION_${BUILD_TYPE})
         target_link_libraries(ceres INTERFACE ${cereslib})
-#        target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags Threads::Threads)
+        target_include_directories(ceres INTERFACE ${CERES_INCLUDE_DIR})
         remove_shared(ceres)
         remove_pthread(ceres)
-        target_include_directories(ceres INTERFACE ${CERES_INCLUDE_DIR})
+        if (${CMAKE_BUILD_TYPE} MATCHES "Debug")
+            target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags Threads::Threads)
+        endif()
     else()
         message(STATUS "config_result: ${config_result}")
         message(STATUS "build_result: ${build_result}")


clean windows build

clean windows build

--- cmake/EthCompilerSettings.cmake
+++ cmake/EthCompilerSettings.cmake
@@ -38,7 +38,7 @@
 	# declare Windows XP requirement
 	# undefine windows.h MAX && MIN macros cause it cause conflicts with std::min && std::max functions
 	# define miniupnp static library
-	add_compile_options(/MP /EHsc /wd4068 /wd4996 /wd4503 -D_WIN32_WINNT=0x0501 /DNOMINMAX /DMINIUPNP_STATICLIB)
+	add_compile_options(/MP /EHsc /wd4068 /wd4996 /wd4503 /wd4267 /wd4180 /wd4290 /wd4244 /wd4800 -D_WIN32_WINNT=0x0501 /DNOMINMAX /DMINIUPNP_STATICLIB)
 	# disable empty object file warning
 	set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221")
 	# warning LNK4075: ignoring '/EDITANDCONTINUE' due to '/SAFESEH' specification


Bump curl to v7.64.1

Bump curl to v7.64.1

The following patch fixes usage of HTTPS with libcurl in a static build, by
allowing feature checks to compile:

https://github.com/curl/curl/commit/0616dfa1e08c25ec8ff0f06c014bd3836b365049

--- cmake/Modules/FindCurl_EP.cmake
+++ cmake/Modules/FindCurl_EP.cmake
@@ -91,8 +91,8 @@

   ExternalProject_Add(ep_curl
     PREFIX "externals"
-    URL "https://curl.haxx.se/download/curl-7.59.0.zip"
-    URL_HASH SHA1=4558ff1b78396c57cf176e03f702ae87378fd776
+    URL "https://curl.haxx.se/download/curl-7.64.1.tar.gz"
+    URL_HASH SHA1=54ee48d81eb9f90d3efdc6cdf964bd0a23abc364
     CONFIGURE_COMMAND
       ${CMAKE_CURRENT_BINARY_DIR}/configure-curl.sh
       ${TILEDB_EP_BASE}/src/ep_curl/configure
@@ -130,4 +130,4 @@
 # If we built a static EP, install it if required.
 if (TILEDB_CURL_EP_BUILT AND TILEDB_INSTALL_STATIC_DEPS)
   install_target_libs(Curl::Curl)
-endif()+endif()


stupid debianists

stupid debianists

--- cmake/Modules/FindJsonCpp.cmake
+++ cmake/Modules/FindJsonCpp.cmake
@@ -6,6 +6,7 @@
     JSONCPP_INCLUDE_DIR
     json/json.h
     /usr/include
+    /usr/include/jsoncpp
     /usr/local/include
     ${JSONCPP_PATH_INCLUDES}
 )


fix -egg-base path to point to the build space (#1090)

--- cmake/catkin_python_setup.cmake
+++ cmake/catkin_python_setup.cmake
@@ -143,7 +143,7 @@

   assert(PYTHON_INSTALL_DIR)
   if(${PROJECT_NAME}_SETUP_PY_SETUP_MODULE STREQUAL "setuptools")
-    set(SETUPTOOLS_EGG_INFO "egg_info --egg-base ${CMAKE_INSTALL_PREFIX}/${PYTHON_INSTALL_DIR}")
+    set(SETUPTOOLS_EGG_INFO "egg_info --egg-base ${CMAKE_CURRENT_BINARY_DIR}")
   else()
     set(SETUPTOOLS_EGG_INFO "")
   endif()


Update CMake LibDeps

Update CMake LibDeps

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

--- cmake/modules/LLVMLibDeps.cmake
+++ cmake/modules/LLVMLibDeps.cmake
@@ -1,4 +1,4 @@
-set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMInfo LLVMMC)
+set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMInfo LLVMMCParser LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMARMCodeGen LLVMARMInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMInfo LLVMSupport)
@@ -14,7 +14,7 @@
 set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
+set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
 set(MSVC_LIB_DEPS_LLVMCBackendInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
@@ -27,9 +27,10 @@
 set(MSVC_LIB_DEPS_LLVMInstCombine LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMInstrumentation LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMInterpreter LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMJIT LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMMC LLVMSupport LLVMSystem LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMJIT LLVMAnalysis LLVMCodeGen LLVMCore LLVMExecutionEngine LLVMMC LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMLinker LLVMArchive LLVMBitReader LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMMC LLVMSupport LLVMSystem)
+set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMSIL LLVMAnalysis LLVMCodeGen LLVMCore LLVMMSILInfo LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils LLVMipa)
 set(MSVC_LIB_DEPS_LLVMMSILInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSupport LLVMSystem LLVMTarget)
@@ -56,8 +57,8 @@
 set(MSVC_LIB_DEPS_LLVMSystemZInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMTarget LLVMCore LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMTransformUtils LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget LLVMipa)
-set(MSVC_LIB_DEPS_LLVMX86AsmParser LLVMMC LLVMX86Info)
-set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMX86CodeGen LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86AsmParser LLVMMC LLVMMCParser LLVMSupport LLVMX86Info)
+set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget LLVMX86CodeGen LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86CodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Disassembler LLVMMC LLVMSupport LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Info LLVMSupport)


Still more library dependency updates. This reflects the ever decreasing
dependence on CodeGen layers and backends from the MC layers.

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

--- cmake/modules/LLVMLibDeps.cmake
+++ cmake/modules/LLVMLibDeps.cmake
@@ -1,4 +1,4 @@
-set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMCodeGen LLVMARMDesc LLVMARMInfo LLVMMC LLVMMCParser LLVMSupport)
+set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMDesc LLVMARMInfo LLVMMC LLVMMCParser LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMAsmPrinter LLVMARMDesc LLVMARMInfo LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMDesc LLVMARMAsmPrinter LLVMARMInfo LLVMMC LLVMSupport)
@@ -35,10 +35,10 @@
 set(MSVC_LIB_DEPS_LLVMMBlazeAsmPrinter LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMBlazeCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMBlazeAsmPrinter LLVMMBlazeDesc LLVMMBlazeInfo LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMBlazeDesc LLVMMBlazeAsmPrinter LLVMMBlazeInfo LLVMMC LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMBlazeDisassembler LLVMMBlazeCodeGen LLVMMBlazeDesc LLVMMBlazeInfo LLVMMC)
+set(MSVC_LIB_DEPS_LLVMMBlazeDisassembler LLVMMBlazeDesc LLVMMBlazeInfo LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMBlazeInfo LLVMMC LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMC LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMCDisassembler LLVMARMAsmParser LLVMARMDesc LLVMARMDisassembler LLVMARMInfo LLVMAlphaDesc LLVMAlphaInfo LLVMBlackfinDesc LLVMBlackfinInfo LLVMCBackend LLVMCBackendInfo LLVMCellSPUDesc LLVMCellSPUInfo LLVMCppBackend LLVMCppBackendInfo LLVMMBlazeAsmParser LLVMMBlazeDesc LLVMMBlazeDisassembler LLVMMBlazeInfo LLVMMC LLVMMCParser LLVMMSP430Desc LLVMMSP430Info LLVMMipsDesc LLVMMipsInfo LLVMPTXDesc LLVMPTXInfo LLVMPowerPCDesc LLVMPowerPCInfo LLVMSparcDesc LLVMSparcInfo LLVMSupport LLVMSystemZDesc LLVMSystemZInfo LLVMTarget LLVMX86AsmParser LLVMX86Desc LLVMX86Disassembler LLVMX86Info LLVMXCoreDesc LLVMXCoreInfo)
+set(MSVC_LIB_DEPS_LLVMMCDisassembler LLVMARMAsmParser LLVMARMDesc LLVMARMDisassembler LLVMARMInfo LLVMAlphaDesc LLVMAlphaInfo LLVMBlackfinDesc LLVMBlackfinInfo LLVMCBackendInfo LLVMCellSPUDesc LLVMCellSPUInfo LLVMCppBackendInfo LLVMMBlazeAsmParser LLVMMBlazeDesc LLVMMBlazeDisassembler LLVMMBlazeInfo LLVMMC LLVMMCParser LLVMMSP430Desc LLVMMSP430Info LLVMMipsDesc LLVMMipsInfo LLVMPTXDesc LLVMPTXInfo LLVMPowerPCDesc LLVMPowerPCInfo LLVMSparcDesc LLVMSparcInfo LLVMSupport LLVMSystemZDesc LLVMSystemZInfo LLVMTarget LLVMX86AsmParser LLVMX86Desc LLVMX86Disassembler LLVMX86Info LLVMXCoreDesc LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMMCJIT LLVMCore LLVMExecutionEngine LLVMRuntimeDyld LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMMC LLVMSupport)


Updated LLVMLibDeps.cmake

Updated LLVMLibDeps.cmake

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

--- cmake/modules/LLVMLibDeps.cmake
+++ cmake/modules/LLVMLibDeps.cmake
@@ -1,8 +1,8 @@
-set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMCodeGen LLVMARMInfo LLVMMC LLVMMCParser LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMARMAsmParser LLVMARMInfo LLVMMC LLVMMCParser LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMARMInfo LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaCodeGen LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAlphaInfo LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMAlphaCodeGen LLVMAlphaInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMAlphaInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget)
@@ -11,12 +11,12 @@
 set(MSVC_LIB_DEPS_LLVMAsmPrinter LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMMCParser LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBitReader LLVMCore LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMBitWriter LLVMCore LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMBlackfinAsmPrinter LLVMAsmPrinter LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMBlackfinInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCBackendInfo LLVMCodeGen LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils LLVMipa)
 set(MSVC_LIB_DEPS_LLVMCBackendInfo LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCellSPUInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMCodeGen LLVMAnalysis LLVMCore LLVMMC LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
@@ -35,7 +35,9 @@
 set(MSVC_LIB_DEPS_LLVMMC LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMMCDisassembler LLVMARMAsmParser LLVMARMCodeGen LLVMARMInfo LLVMAlphaAsmPrinter LLVMAlphaCodeGen LLVMAlphaInfo LLVMBlackfinAsmPrinter LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCBackend LLVMCBackendInfo LLVMCellSPUAsmPrinter LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCppBackend LLVMCppBackendInfo LLVMMBlazeAsmPrinter LLVMMBlazeCodeGen LLVMMBlazeInfo LLVMMC LLVMMCParser LLVMMSP430AsmPrinter LLVMMSP430CodeGen LLVMMSP430Info LLVMMipsAsmPrinter LLVMMipsCodeGen LLVMMipsInfo LLVMPIC16AsmPrinter LLVMPIC16CodeGen LLVMPIC16Info LLVMPowerPCAsmPrinter LLVMPowerPCCodeGen LLVMPowerPCInfo LLVMSparcAsmPrinter LLVMSparcCodeGen LLVMSparcInfo LLVMSupport LLVMSystem LLVMSystemZAsmPrinter LLVMSystemZCodeGen LLVMSystemZInfo LLVMX86AsmParser LLVMX86CodeGen LLVMX86Disassembler LLVMX86Info LLVMXCoreAsmPrinter LLVMXCoreCodeGen LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430CodeGen LLVMMSP430Info LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMMSIL LLVMAnalysis LLVMCodeGen LLVMCore LLVMMSILInfo LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils LLVMipa)
+set(MSVC_LIB_DEPS_LLVMMSILInfo LLVMSupport)
+set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMSP430CodeGen LLVMCodeGen LLVMCore LLVMMC LLVMMSP430Info LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMSP430Info LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMipsAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMMipsCodeGen LLVMMipsInfo LLVMSupport LLVMTarget)
@@ -44,17 +46,17 @@
 set(MSVC_LIB_DEPS_LLVMPIC16AsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPIC16CodeGen LLVMPIC16Info LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPIC16CodeGen LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMPIC16Info LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPIC16Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCCodeGen LLVMPowerPCInfo LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPowerPCCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMPowerPCInfo LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPowerPCInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMScalarOpts LLVMAnalysis LLVMCore LLVMInstCombine LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMSelectionDAG LLVMAnalysis LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcCodeGen LLVMSparcInfo LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSparcInfo LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSparcCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSparcInfo LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSparcInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMSystem )
-set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystemZCodeGen LLVMSystemZInfo LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSystemZAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMSystemZInfo LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSystemZCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystemZInfo LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMSystemZInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMTarget LLVMCore LLVMMC LLVMSupport)
@@ -64,7 +66,7 @@
 set(MSVC_LIB_DEPS_LLVMX86CodeGen LLVMAnalysis LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget LLVMX86AsmPrinter LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Disassembler LLVMMC LLVMSupport LLVMX86Info)
 set(MSVC_LIB_DEPS_LLVMX86Info LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMXCoreCodeGen LLVMXCoreInfo)
+set(MSVC_LIB_DEPS_LLVMXCoreAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMMC LLVMSupport LLVMTarget LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMXCoreCodeGen LLVMCodeGen LLVMCore LLVMMC LLVMSelectionDAG LLVMSupport LLVMTarget LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMXCoreInfo LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMipa LLVMAnalysis LLVMCore LLVMSupport LLVMSystem)


cross compling grpc_cpp_plugin not found bug (#982)

--- cmake/opentelemetry-proto.cmake
+++ cmake/opentelemetry-proto.cmake
@@ -84,7 +84,12 @@
   list(APPEND PROTOBUF_INCLUDE_FLAGS "-I${IMPORT_DIR}")
 endforeach()

-set(gRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)
+
+if(CMAKE_CROSSCOMPILING)
+    find_program(gRPC_CPP_PLUGIN_EXECUTABLE grpc_cpp_plugin)
+else()
+    set(gRPC_CPP_PLUGIN_EXECUTABLE $<TARGET_FILE:gRPC::grpc_cpp_plugin>)
+endif()

 add_custom_command(
   OUTPUT ${COMMON_PB_H_FILE}


Don't install the .so for test modules. Review: Matthias.

--- cmake_modules/ZorbaModule.cmake
+++ cmake_modules/ZorbaModule.cmake
@@ -266,17 +266,20 @@
     )
     TARGET_LINK_LIBRARIES(${module_lib_target}
       zorba_${ZORBA_STORE_NAME} ${MODULE_LINK_LIBRARIES})
-
+
+    # Install the library, if it's not a TEST_ONLY module
+    IF (NOT MODULE_TEST_ONLY)
       IF(NOT ${PROJECT_NAME} STREQUAL "zorba")
         STRING(REPLACE "-" "_"  component_name ${PROJECT_NAME})
         INSTALL(TARGETS ${module_lib_target}
-        ${target_type} DESTINATION ${ZORBA_MODULES_INSTALL_DIR}/${module_path}
-        COMPONENT ${component_name})
-
+          ${target_type} DESTINATION ${ZORBA_MODULES_INSTALL_DIR}/${module_path}
+          COMPONENT ${component_name})
+
       ELSE(NOT ${PROJECT_NAME} STREQUAL "zorba")
         INSTALL(TARGETS ${module_lib_target}
-        ${target_type} DESTINATION ${ZORBA_MODULES_INSTALL_DIR}/${module_path})
+          ${target_type} DESTINATION ${ZORBA_MODULES_INSTALL_DIR}/${module_path})
       ENDIF(NOT ${PROJECT_NAME} STREQUAL "zorba")
+    ENDIF (NOT MODULE_TEST_ONLY)

   ENDIF(MODULE_EXTRA_SOURCES OR EXISTS "${SOURCE_FILE}.src/")


deb: Added git to build dependencies

deb: Added git to build dependencies

--- .cmake/Modules/DebConfig.cmake
+++ .cmake/Modules/DebConfig.cmake
@@ -7,6 +7,7 @@
   debhelper
   cmake
   gettext
+  git
 )

 set(CPACK_DEBIAN_PACKAGE_DEPENDS)


COMP: protect DeployQtConfScript for later modifications

--- CMake/DeployQtConfScript.cmake
+++ CMake/DeployQtConfScript.cmake
@@ -1,2 +1,3 @@
 configure_file(${Monteverdi2_SOURCE_DIR}/CMake/qt.conf.in
-               ${TARGET_DIR}/qt.conf)+               ${TARGET_DIR}/qt.conf
+               @ONLY)


Fixed intel mkl linking under gcc.

Fixed intel mkl linking under gcc.

--- CMakeModules/FindCLAPACK.cmake
+++ CMakeModules/FindCLAPACK.cmake
@@ -95,9 +95,9 @@

     if (UNIX)
       if (COPASI_BUILD_TYPE EQUAL "32bit")
-        set(LAPACK_LIBRARIES "-Wl,--start-group $ENV{MKLROOT}/lib/ia32/libmkl_intel.a $ENV{MKLROOT}/lib/ia32/libmkl_core.a $ENV{MKLROOT}/lib/ia32/libmkl_sequential.a -Wl,--end-group")
+        set(LAPACK_LIBRARIES "-Wl,--start-group $ENV{MKLROOT}/lib/ia32/libmkl_intel.a $ENV{MKLROOT}/lib/ia32/libmkl_core.a $ENV{MKLROOT}/lib/ia32/libmkl_sequential.a -Wl,--end-group -lpthread -lm -ldl")
       elseif (COPASI_BUILD_TYPE EQUAL "64bit")
-        set(LAPACK_LIBRARIES "-Wl,--start-group $ENV{MKLROOT}/lib/intel64/libmkl_intel_lp64.a $ENV{MKLROOT}/lib/intel64/libmkl_core.a $ENV{MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group")
+        set(LAPACK_LIBRARIES "-Wl,--start-group $ENV{MKLROOT}/lib/intel64/libmkl_intel_lp64.a $ENV{MKLROOT}/lib/intel64/libmkl_core.a $ENV{MKLROOT}/lib/intel64/libmkl_sequential.a -Wl,--end-group -lpthread -lm -ldl")
       endif ()
     else ()
       if (COPASI_BUILD_TYPE EQUAL "32bit")


Updated forge tag for 3.1 release

Updated forge tag for 3.1 release

--- CMakeModules/build_forge.cmake
+++ CMakeModules/build_forge.cmake
@@ -22,7 +22,7 @@
 ExternalProject_Add(
     forge-ext
     GIT_REPOSITORY https://github.com/arrayfire/forge.git
-    GIT_TAG 79fac0b7ed35c96f25c8006075ec934729cf9dc4
+    GIT_TAG af3.1
     PREFIX "${prefix}"
     INSTALL_DIR "${prefix}"
     UPDATE_COMMAND ""


Suppress several more of Intel's warnings.

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

--- deal.II/cmake/setup_compiler_flags_intel.cmake
+++ deal.II/cmake/setup_compiler_flags_intel.cmake
@@ -1,6 +1,6 @@
 #####
 ##
-## Copyright (C) 2012 by the deal.II authors
+## Copyright (C) 2012, 2013 by the deal.II authors
 ##
 ## This file is part of the deal.II library.
 ##
@@ -62,6 +62,10 @@
 #   -w175  subscript out of range
 #   -w177  declared but not referenced
 #   -w279  controlling expression is constant
+#   -w383  value copied to temporary, reference to temporary used
+#   -w981  operands are evaluated in unspecified order
+#   -w1418 external function definition with no prior declaration
+#          (happens in boost)
 #   -w1478 deprecation warning
 #   -w1572 floating-point equality and inequality comparisons are unreliable
 #
@@ -69,6 +73,9 @@
 ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd175")
 ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd177")
 ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd279")
+ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd383")
+ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd981")
+ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd1418")
 ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd1478")
 ENABLE_IF_SUPPORTED(CMAKE_CXX_FLAGS "-wd1572")


OSX: hand -fobj-arc flag to compiler if not building through Xcode

This fixes crashes in the Oryol Metal samples when building through
make or ninja instead of xcodebuild (or in Xcode).

--- cmake-toolchains/osx.cmake
+++ cmake-toolchains/osx.cmake
@@ -19,10 +19,16 @@
 # FIXME: define standard frame works that are always linked
 set(FIPS_OSX_STANDARD_FRAMEWORKS Foundation IOKit)

+# additional command line flags
+set(FIPS_OSX_COMMON_FLAGS)
+set(FIPS_OSX_CXX_FLAGS)
+set(FIPS_OSX_C_FLAGS)
+
 # ARC on/off?
 option(FIPS_OSX_USE_ARC "Enable/disable Automatic Reference Counting" OFF)
 if (FIPS_OSX_USE_ARC)
     set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC "YES")
+    set(FIPS_OSX_COMMON_FLAGS "${OSX_COMMON_FLAGS} -fobjc-arc")
 else()
     set(CMAKE_XCODE_ATTRIBUTE_CLANG_ENABLE_OBJC_ARC "NO")
 endif()
@@ -34,27 +40,25 @@
 # exceptions on/off?
 if (FIPS_EXCEPTIONS)
     set(CMAKE_XCODE_ATTRIBUTE_GCC_ENABLE_CPP_EXCEPTIONS "YES")
-    set(FIPS_OSX_EXCEPTION_FLAGS "")
 else()
     set(CMAKE_XCODE_ATTRIBUTE_GCC_ENABLE_CPP_EXCEPTIONS "NO")
-    set(FIPS_OSX_EXCEPTION_FLAGS "-fno-exceptions")
+    set(FIPS_OSX_CXX_FLAGS "${FIPS_OSX_CXX_FLAGS} -fno-exceptions")
 endif()

 # rtti on/off?
 if (FIPS_RTTI)
     set(CMAKE_XCODE_ATTRIBUTE_GCC_ENABLE_CPP_RTTI "YES")
-    set(FIPS_OSX_RTTI_FLAGS "")
 else()
     set(CMAKE_XCODE_ATTRIBUTE_GCC_ENABLE_CPP_RTTI "NO")
-    set(FIPS_OSX_RTTI_FLAGS "-fno-rtti")
+    set(FIPS_OSX_CXX_FLAGS "${FIPS_OSX_CXX_FLAGS} -fno-rtti")
 endif()

 # compiler flags
-set(CMAKE_CXX_FLAGS "-std=c++11 ${FIPS_OSX_EXCEPTION_FLAGS} ${FIPS_OSX_RTTI_FLAGS} -fstrict-aliasing -Wno-multichar -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-unused-volatile-lvalue -Wno-deprecated-writable-strings")
+set(CMAKE_CXX_FLAGS "-std=c++11 ${FIPS_OSX_COMMON_FLAGS} ${FIPS_OSX_CXX_FLAGS} -fstrict-aliasing -Wno-multichar -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-unused-volatile-lvalue -Wno-deprecated-writable-strings")
 set(CMAKE_CXX_FLAGS_RELEASE "-O3 -msse3 -DNDEBUG")
 set(CMAKE_CXX_FLAGS_DEBUG "-O0 -D_DEBUG_ -D_DEBUG -DFIPS_DEBUG=1 -ggdb")

-set(CMAKE_C_FLAGS "-fstrict-aliasing -Wno-multichar -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-unused-volatile-lvalue  -Wno-deprecated-writable-strings")
+set(CMAKE_C_FLAGS "${FIPS_OSX_COMMON_FLAGS} ${FIPS_OSX_C_FLAGS} -fstrict-aliasing -Wno-multichar -Wall -Wextra -Wno-unused-parameter -Wno-unknown-pragmas -Wno-ignored-qualifiers -Wno-long-long -Wno-overloaded-virtual -Wno-unused-volatile-lvalue  -Wno-deprecated-writable-strings")
 set(CMAKE_C_FLAGS_RELEASE "-O3 -msse3 -DNDEBUG")
 set(CMAKE_C_FLAGS_DEBUG "-O0 -D_DEBUG_ -D_DEBUG -DFIPS_DEBUG=1 -g")


remove if

remove if

--- cmake/ArangoDBMacros.cmake
+++ cmake/ArangoDBMacros.cmake
@@ -329,20 +329,12 @@

 set(CPACK_STRIP_FILES "ON")

-if (DARWIN)
-  set(CPACK_PACKAGE_NAME "ArangoDB-CLI")
-elseif (BUILD_PACKAGE STREQUAL "debian")
-  set(CPACK_PACKAGE_NAME "arangodb")
-elseif (MSVC)
-  set(CPACK_PACKAGE_NAME "ArangoDB")
-endif ()
-
 # debian
 if (BUILD_PACKAGE STREQUAL "debian")
-
+  set(CPACK_PACKAGE_NAME "arangodb")
   set(CPACK_DEBIAN_PACKAGE_SECTION "database")
   set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA
-    "${PROJECT_SOURCE_DIR}/Installation/Debian/postinst;${PROJECT_SOURCE_DIR}/Installation/Debian/preinst;${PROJECT_SOURCE_DIR}/Installation/Debian/postrm;${PROJECT_SOURCE_DIR}/Installation/Debian/prerm;")
+    "${PROJECT_SOURCE_DIR}/Installation/Debian/arangodb.postinst;${PROJECT_SOURCE_DIR}/Installation/Debian/arangodb.preinst;${PROJECT_SOURCE_DIR}/Installation/Debian/arangodb.postrm;${PROJECT_SOURCE_DIR}/Installation/Debian/arangodb.prerm;")

   install(
     FILES ${PROJECT_SOURCE_DIR}/Installation/Debian/rc.arangodb
@@ -361,6 +353,7 @@

 # OSX bundle
 if (DARWIN)
+  set(CPACK_PACKAGE_NAME "ArangoDB-CLI")
   set(CPACK_BUNDLE_NAME            "${CPACK_PACKAGE_NAME}")
   set(CPACK_BUNDLE_PLIST           "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/Info.plist")
   set(CPACK_BUNDLE_ICON            "${PROJECT_SOURCE_DIR}/Installation/MacOSX/Bundle/icon.icns")
@@ -369,6 +362,7 @@

 # MS installer
 if (MSVC)
+  set(CPACK_PACKAGE_NAME "ArangoDB")
   set(CPACK_MODULE_PATH "${CMAKE_CURRENT_SOURCE_DIR}/Installation/Windows/Templates")
   set(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL 1)
   set(BITS 64)


CompileOptions.cmake : add support for AppleClang

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -49,6 +49,11 @@
     # c++17 require at least clang 3.4
     if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 4.0)
         message(FATAL_ERROR "Clang version must be at least 4.0!")
+    endif()
+elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "AppleClang")
+    # c++17 require at least clang 3.4
+    if (CMAKE_CXX_COMPILER_VERSION VERSION_LESS 10.0)
+        message(FATAL_ERROR "AppleClang version must be at least 10.0!")
     endif()
 elseif ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
     # c++17 require at least Microsoft Visual Studio 2017


Added compile option

Added compile option

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -139,7 +139,7 @@

         # clang
         -stdlib=libc++
-        # -stdlib=libstdc++
+        -stdlib=libstdc++
         $<$<CXX_COMPILER_ID:GNU>:
             -Wmaybe-uninitialized


Added default libraries for the whole project

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -37,7 +37,10 @@
 # Libraries
 #

-set(DEFAULT_LIBRARIES)
+find_package(SFML REQUIRED COMPONENTS graphics window system)
+find_package(Boost REQUIRED COMPONENTS filesystem system)
+
+set(DEFAULT_LIBRARIES ${SFML_LIBRARIES} ${Boost_LIBRARIES})

 #
@@ -85,6 +88,8 @@
         /GL           # -> whole program optimization: enable link-time code generation (disables Zi)
         /GF           # -> enable string pooling
         >
+
+		/DGLM_FORCE_RADIANS /DGLM_FORCE_SSE2
     )
 endif ()

@@ -123,6 +128,8 @@
         $<$<PLATFORM_ID:Darwin>:
             -pthread
         >
+
+		-DGLM_FORCE_RADIANS -DGLM_FORCE_SSE2
     )
 endif ()


Remove unimportant compiler options

Remove unimportant compiler options

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -22,7 +22,6 @@
 #

 set(DEFAULT_INCLUDE_DIRECTORIES)
-

 #
@@ -99,65 +98,19 @@
         -Wextra
         -Wunused

-        -Wctor-dtor-privacy
-        -Wdelete-non-virtual-dtor
-        -Wnarrowing
-        -Wnon-virtual-dtor
         -Wreorder
-        -Weffc++
-        -Wstrict-null-sentinel
-        -Woverloaded-virtual
-        -Wdouble-promotion
-        -Wformat
         -Wignored-qualifiers
-        -Wmain
         -Wmissing-braces
-        -Wparentheses
-        -Wsequence-point
         -Wreturn-type
         -Wswitch
         -Wswitch-default
         -Wuninitialized
         -Wmaybe-uninitialized
-        -Wfloat-equal
-        -Wshadow
-        -Wpointer-arith
-        -Wtype-limits
-        -Wcast-align
-        -Wconversion
-        -Wempty-body
-        -Wsign-compare
-        -Wsign-conversion
-        -Waddress
-        -Wlogical-op
-        -Wmissing-declarations
         -Wmissing-field-initializers
-        -Wredundant-decls
-        -Winline
-        -Wlong-long
-        -Wvector-operation-performance
-
-        -Wno-pragmas
-        -Wno-attributes

         $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,4.8>:
             -Wpedantic
             -Wreturn-local-addr
-            -Wuseless-cast
-            -Wsizeof-pointer-memaccess
-        >
-
-        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,4.9>:
-            -Wfloat-conversion
-        >
-
-        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,5.0>:
-            -Wsuggest-final-types
-            -Wsuggest-final-methods
-            -Wsuggest-override
-            -Wbool-compare
-            -Wsized-deallocation
-            -Wlogical-not-parentheses
         >
     )
 endif ()
@@ -169,50 +122,16 @@
         -Wunused
         -Wpedantic

-        -Wctor-dtor-privacy
-        -Wdelete-non-virtual-dtor
-        -Wnarrowing
-        -Wnon-virtual-dtor
         -Wreorder
-        -Weffc++
-        -Woverloaded-virtual
-        -Wformat
         -Wignored-qualifiers
-        -Wmain
         -Wmissing-braces
-        -Wparentheses
-        -Wsequence-point
         -Wreturn-type
         -Wreturn-stack-address
         -Wswitch
         -Wswitch-default
         -Wuninitialized
-        -Wfloat-equal
-        -Wshadow
-        -Wpointer-arith
-        -Wtype-limits
-        -Wcast-align
-        -Wconversion
-        -Wint-to-void-pointer-cast
-        -Wempty-body
-        -Wsign-compare
-        -Wsign-conversion
-        -Wsizeof-pointer-memaccess
-        -Waddress
-        -Wmissing-declarations
         -Wmissing-field-initializers
-        -Wredundant-decls
-        -Winline
-        -Wlong-long
-        -Wlogical-not-parentheses

-        -Wno-attributes
-
-        $<$<VERSION_GREATER:$<CXX_COMPILER_VERSION>,3.5>:
-            -Wno-pragmas
-            -Wfloat-conversion
-        >
-
         $<$<PLATFORM_ID:"Darwin">:
             -pthread
         >


Update FindMyPackage.cmake

Update FindMyPackage.cmake

--- cmake/FindLB/cloning.cmake
+++ cmake/FindLB/cloning.cmake
@@ -224,7 +224,11 @@
 endforeach()
 set(${_package}_FOUND 1)
 string(REPLACE ";" ", " _components "${_components}")
-_fmp_report_info("Found version ${_preferred_version} with components ${_components}")
+if(_components STREQUAL "")
+	_fmp_report_info("Found version ${_preferred_version} with no components")
+else()
+	_fmp_report_info("Found version ${_preferred_version} with components (${_components})")
+endif()
 return()

 # Done!


CMake: UBSAN

CMake: UBSAN

--- cmake/compiler-flags.cmake
+++ cmake/compiler-flags.cmake
@@ -56,7 +56,10 @@
     CMAKE_SHARED_LINKER_FLAGS_COVERAGE
     CMAKE_SHARED_MODULE_FLAGS_COVERAGE )

-set(asan "-O1 -fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-common -U_FORTIFY_SOURCE -fsanitize=address -fstack-protector-strong")
+set(SANITIZATION_BASE "-fno-omit-frame-pointer -fno-optimize-sibling-calls -fno-common -U_FORTIFY_SOURCE")
+set(SANITIZATION_DEFAULTS "${SANITIZATION_BASE} -O1 -fstack-protector-strong")
+
+set(asan "${SANITIZATION_DEFAULTS} -fsanitize=address")
 if(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
   set(asan "${asan} -fsanitize-address-use-after-scope")
 endif()
@@ -72,6 +75,19 @@
     CMAKE_CXX_FLAGS_ASAN
     CMAKE_C_FLAGS_ASAN )

+set(ubsan "${SANITIZATION_DEFAULTS} -fsanitize=undefined -fno-sanitize-recover=undefined")
+SET(CMAKE_CXX_FLAGS_UBSAN
+    "${ubsan}"
+    CACHE STRING "Flags used by the C++ compiler during UBSAN builds."
+    FORCE )
+SET(CMAKE_C_FLAGS_UBSAN
+    "${ubsan}"
+    CACHE STRING "Flags used by the C compiler during UBSAN builds."
+    FORCE )
+MARK_AS_ADVANCED(
+    CMAKE_CXX_FLAGS_UBSAN
+    CMAKE_C_FLAGS_UBSAN )
+
 set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -O2")
 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -O2")


Apple's ld apparently does not understand -Wl,--as-needed

--- cmake/compiler-flags.cmake
+++ cmake/compiler-flags.cmake
@@ -22,7 +22,11 @@
   add_definitions(-DDEBUG)
 endif()

-set(linkerflags "-Wl,--as-needed")
+IF(NOT APPLE)
+  set(linkerflags "-Wl,--as-needed")
+ELSE()
+  set(linkerflags "")
+ENDIF()
 # NOT CMAKE_STATIC_LINKER_FLAGS
 SET(CMAKE_SHARED_LINKER_FLAGS
     "${CMAKE_SHARED_LINKER_FLAGS} ${linkerflags}"


add more choice for eigen downloading

add more choice for eigen downloading

--- cmake/external/eigen.cmake
+++ cmake/external/eigen.cmake
@@ -7,8 +7,17 @@
 ExternalProject_Add(
     eigen3
     ${EXTERNAL_PROJECT_LOG_ARGS}
-    URL            "https://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz"
-    URL_MD5        "1a47e78efe365a97de0c022d127607c3"
+    # for latest version, please get from official website
+    # URL            "https://bitbucket.org/eigen/eigen/get/3.3.4.tar.gz"
+    # URL_MD5        "1a47e78efe365a97de0c022d127607c3"
+
+    # for no-ssl http support, please get from bazel's mirror
+    # URL           "http://mirror.bazel.build/bitbucket.org/eigen/eigen/get/f3a22f35b044.tar.gz"
+    # URL_MD5       "4645c66075982da6fa0bcf6b20f3e8f7"
+
+    # get from github mirror
+    GIT_REPOSITORY  "https://github.com/RLovelett/eigen.git"
+    GIT_TAG         "a46d2e7337c4656f00abe54a8115f6d76153a048"
     PREFIX          ${EIGEN_SOURCE_DIR}
     UPDATE_COMMAND  ""
     CONFIGURE_COMMAND ""


tweak several code for supporting more scenario that ZeroMQ not exists in system

--- cmake/modules/zeromq.cmake
+++ cmake/modules/zeromq.cmake
@@ -16,28 +16,8 @@
 ### ZeroMQ ###

 # TODO(legend): check zeromq version?
-# find_path(ZMQ_INCLUDE_DIR NAMES zmq.hpp PATHS ${ZMQ_SEARCH_PATH})
-find_path(ZMQ_INCLUDE_DIR NAMES zmq.h PATHS ${ZMQ_SEARCH_PATH})
+find_path(ZMQ_INCLUDE_DIR NAMES zmq.h* PATHS ${ZMQ_SEARCH_PATH}) # sometime it appears as .hpp or .h
 find_library(ZMQ_LIBRARY NAMES zmq PATHS ${ZMQ_SEARCH_PATH})
-
-if (ZMQ_INCLUDE_DIR)
-  set(_ZeroMQ_H ${ZMQ_INCLUDE_DIR}/zmq.h)
-
-  function(_zmqver_EXTRACT _ZeroMQ_VER_COMPONENT _ZeroMQ_VER_OUTPUT)
-    set(CMAKE_MATCH_1 "0")
-    set(_ZeroMQ_expr "^[ \\t]*#define[ \\t]+${_ZeroMQ_VER_COMPONENT}[ \\t]+([0-9]+)$")
-    file(STRINGS "${_ZeroMQ_H}" _ZeroMQ_ver REGEX "${_ZeroMQ_expr}")
-    string(REGEX MATCH "${_ZeroMQ_expr}" ZeroMQ_ver "${_ZeroMQ_ver}")
-    set(${_ZeroMQ_VER_OUTPUT} "${CMAKE_MATCH_1}" PARENT_SCOPE)
-  endfunction()
-
-  _zmqver_EXTRACT("ZMQ_VERSION_MAJOR" ZeroMQ_VERSION_MAJOR)
-  _zmqver_EXTRACT("ZMQ_VERSION_MINOR" ZeroMQ_VERSION_MINOR)
-  _zmqver_EXTRACT("ZMQ_VERSION_PATCH" ZeroMQ_VERSION_PATCH)
-
-  message(STATUS "ZeroMQ version: ${ZeroMQ_VERSION_MAJOR}.${ZeroMQ_VERSION_MINOR}.${ZeroMQ_VERSION_PATCH}")
-
-endif()

 if(ZMQ_INCLUDE_DIR AND ZMQ_LIBRARY)
     set(ZMQ_FOUND true)
@@ -47,6 +27,24 @@
     message (STATUS "Found ZeroMQ:")
     message (STATUS "  (Headers)       ${ZMQ_INCLUDE_DIR}")
     message (STATUS "  (Library)       ${ZMQ_LIBRARY}")
+    if (ZMQ_INCLUDE_DIR)
+      set(_ZeroMQ_H ${ZMQ_INCLUDE_DIR}/zmq.h)
+
+      function(_zmqver_EXTRACT _ZeroMQ_VER_COMPONENT _ZeroMQ_VER_OUTPUT)
+        set(CMAKE_MATCH_1 "0")
+        set(_ZeroMQ_expr "^[ \\t]*#define[ \\t]+${_ZeroMQ_VER_COMPONENT}[ \\t]+([0-9]+)$")
+        file(STRINGS "${_ZeroMQ_H}" _ZeroMQ_ver REGEX "${_ZeroMQ_expr}")
+        string(REGEX MATCH "${_ZeroMQ_expr}" ZeroMQ_ver "${_ZeroMQ_ver}")
+        set(${_ZeroMQ_VER_OUTPUT} "${CMAKE_MATCH_1}" PARENT_SCOPE)
+      endfunction()
+
+      _zmqver_EXTRACT("ZMQ_VERSION_MAJOR" ZeroMQ_VERSION_MAJOR)
+      _zmqver_EXTRACT("ZMQ_VERSION_MINOR" ZeroMQ_VERSION_MINOR)
+      _zmqver_EXTRACT("ZMQ_VERSION_PATCH" ZeroMQ_VERSION_PATCH)
+
+      message(STATUS "ZeroMQ version: ${ZeroMQ_VERSION_MAJOR}.${ZeroMQ_VERSION_MINOR}.${ZeroMQ_VERSION_PATCH}")
+
+    endif()
 else(ZMQ_FOUND)
     message (STATUS "ZeroMQ will be included as a third party:")
     include(ExternalProject)
@@ -55,6 +53,7 @@
         ExternalProject_Add(
             cppzmq
             GIT_REPOSITORY "https://github.com/zeromq/cppzmq"
+            GIT_TAG "v4.2.1"
             PREFIX ${THIRDPARTY_DIR}
             UPDATE_COMMAND ""
             CONFIGURE_COMMAND ""


adding REQUIRED flag to find_package(boost)

git-svn-id: e7ea667a1d39a4453c4efcc4ba7bca3d620c3f19@1334 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/pcl_find_boost.cmake
+++ cmake/pcl_find_boost.cmake
@@ -4,7 +4,7 @@
   set(Boost_USE_STATIC_LIBS ON)
 endif(NOT PCL_SHARED_LIBS OR WIN32)

-find_package(Boost 1.40.0 COMPONENTS system filesystem thread date_time)
+find_package(Boost 1.40.0 REQUIRED COMPONENTS system filesystem thread date_time)

 if(Boost_FOUND)
   # Obtain diagnostic information about Boost's automatic linking outputted


using static boost for windows

using static boost for windows

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

--- cmake/pcl_find_boost.cmake
+++ cmake/pcl_find_boost.cmake
@@ -1,8 +1,8 @@
 # Find and set Boost flags

-if(NOT PCL_SHARED_LIBS)
+if(NOT PCL_SHARED_LIBS OR WIN32)
     set(Boost_USE_STATIC_LIBS ON)
-endif(NOT PCL_SHARED_LIBS)
+endif(NOT PCL_SHARED_LIBS OR WIN32)

 find_package(Boost 1.40.0 COMPONENTS system filesystem thread date_time)


modify nosetests invocation to skip any path adjustment

--- cmake/test/nosetests.cmake
+++ cmake/test/nosetests.cmake
@@ -72,7 +72,7 @@
   else()
     set(tests "${_path_name}")
   endif()
-  set(cmd ${cmd} "${NOSETESTS} --process-timeout=${_nose_TIMEOUT} ${tests} --with-xunit --xunit-file=${output_path}/nosetests-${output_file_name}.xml${_covarg}")
+  set(cmd ${cmd} "${NOSETESTS} -P --process-timeout=${_nose_TIMEOUT} ${tests} --with-xunit --xunit-file=${output_path}/nosetests-${output_file_name}.xml${_covarg}")
   catkin_run_tests_target("nosetests" ${output_file_name} "nosetests-${output_file_name}.xml" COMMAND ${cmd} DEPENDENCIES ${_nose_DEPENDENCIES} WORKING_DIRECTORY ${_nose_WORKING_DIRECTORY})
 endfunction()


Use BYPRODUCTS on targets only. Rename targets to not clash with byproducts

--- cmake_toolchain/vita.cmake
+++ cmake_toolchain/vita.cmake
@@ -147,7 +147,6 @@
     COMMAND ${VITA_ELF_CREATE} ${VITA_ELF_CREATE_FLAGS} ${sourcepath} ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf
     DEPENDS ${sourcepath}
     COMMENT "Converting to Sony ELF ${sourcefile}.velf" VERBATIM
-    BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf
   )

   set(self_outfile ${CMAKE_CURRENT_BINARY_DIR}/${target}.out)
@@ -158,11 +157,10 @@
     COMMAND ${VITA_MAKE_FSELF} ${VITA_MAKE_FSELF_FLAGS} ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf ${self_outfile}
     DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf
     COMMENT "Creating SELF ${target}"
-    BYPRODUCTS ${self_outfile}
   )

   ## SELF target
-  add_custom_target(${target}
+  add_custom_target(${target}-self
     ALL
     DEPENDS ${self_outfile}
     COMMAND ${CMAKE_COMMAND} -E copy ${self_outfile} ${target}
@@ -170,7 +168,7 @@
   )

   if(TARGET ${source})
-    add_dependencies(${target} ${source})
+    add_dependencies(${target}-self ${source})
   endif()
 endmacro(vita_create_self)
 ##################################################
@@ -321,6 +319,8 @@
   ## check eboot for being a target, otherwise it is a file path
   if(TARGET ${eboot})
     set(sourcepath ${CMAKE_CURRENT_BINARY_DIR}/${eboot})
+  elseif(TARGET ${eboot}-self)
+    set(sourcepath ${CMAKE_CURRENT_BINARY_DIR}/${eboot})
   else()
     set(sourcepath ${eboot})
   endif()
@@ -333,7 +333,6 @@
     DEPENDS ${sourcepath}
     COMMENT "Generating param.sfo for ${target}"
     VERBATIM
-    BYPRODUCTS ${CMAKE_CURRENT_BINARY_DIR}/${target}_param.sfo
   )

   set(vpk_outfile ${CMAKE_CURRENT_BINARY_DIR}/${target}.out)
@@ -346,11 +345,10 @@
     DEPENDS ${sourcepath}
     DEPENDS ${resources}
     COMMENT "Building vpk ${target}"
-    BYPRODUCTS ${vpk_outfile}
   )

   ## VPK target
-  add_custom_target(${target}
+  add_custom_target(${target}-vpk
     ALL
     DEPENDS ${vpk_outfile}
     COMMAND ${CMAKE_COMMAND} -E copy ${vpk_outfile} ${target}
@@ -358,7 +356,7 @@
   )

   if(TARGET ${eboot})
-    add_dependencies(${target} ${eboot})
+    add_dependencies(${target}-vpk ${eboot})
   endif()
 endmacro(vita_create_vpk)
 ##################################################


Revert accidental change to LLVMLibDeps.cmake

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

--- cmake/modules/LLVMLibDeps.cmake
+++ cmake/modules/LLVMLibDeps.cmake
@@ -33,7 +33,7 @@
 set(MSVC_LIB_DEPS_LLVMMBlazeDisassembler LLVMMBlazeCodeGen LLVMMBlazeInfo LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMBlazeInfo LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMC LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMMCDisassembler LLVMARMAsmParser LLVMARMCodeGen LLVMARMDisassembler LLVMARMInfo LLVMAlphaCodeGen LLVMAlphaInfo LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCBackend LLVMCBackendInfo LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCppBackend LLVMCppBackendInfo LLVMMBlazeAsmParser LLVMMBlazeCodeGen LLVMMBlazeDisassembler LLVMMBlazeInfo LLVMMC LLVMMCParser LLVMMSP430CodeGen LLVMMSP430Info LLVMMipsCodeGen LLVMMipsInfo LLVMPTXCodeGen LLVMPTXInfo LLVMPowerPCCodeGen LLVMPowerPCInfo LLVMSparcCodeGen LLVMSparcInfo LLVMSupport LLVMSystemZCodeGen LLVMSystemZInfo LLVMTarget LLVMX86AsmParser LLVMX86CodeGen LLVMX86Disassembler LLVMX86Info LLVMXCoreCodeGen LLVMXCoreInfo)
+set(MSVC_LIB_DEPS_LLVMMCDisassembler LLVMARMAsmParser LLVMARMCodeGen LLVMARMDisassembler LLVMARMInfo LLVMAlphaCodeGen LLVMAlphaInfo LLVMBlackfinCodeGen LLVMBlackfinInfo LLVMCBackend LLVMCBackendInfo LLVMCellSPUCodeGen LLVMCellSPUInfo LLVMCppBackend LLVMCppBackendInfo LLVMMBlazeAsmParser LLVMMBlazeCodeGen LLVMMBlazeDisassembler LLVMMBlazeInfo LLVMMC LLVMMCParser LLVMMSP430CodeGen LLVMMSP430Info LLVMMipsCodeGen LLVMMipsInfo LLVMPTXCodeGen LLVMPTXInfo LLVMPowerPCCodeGen LLVMPowerPCInfo LLVMSparcCodeGen LLVMSparcInfo LLVMSupport LLVMSystemZCodeGen LLVMSystemZInfo LLVMX86AsmParser LLVMX86CodeGen LLVMX86Disassembler LLVMX86Info LLVMXCoreCodeGen LLVMXCoreInfo)
 set(MSVC_LIB_DEPS_LLVMMCJIT LLVMCore LLVMExecutionEngine LLVMRuntimeDyld LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMMCParser LLVMMC LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMMSP430AsmPrinter LLVMMC LLVMSupport)