Added support for AFNetworking

Added support for AFNetworking

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -156,6 +156,7 @@
 endfunction()

 # Forward declarations.
+add_target(AFNETWORKING afnetworking)
 add_target(APR apr)
 add_target(APR_UTIL apr-util)
 add_target(ARABICA arabica)
@@ -266,6 +267,7 @@
 set(OPENCV_LIB_DIR ${OPENCV_PREFIX}/lib)

 # Third-party libraries definitions.
+set_libraries(afnetworking ${AFNETWORKING_PREFIX}/lib afnetworking)
 set_libraries(arabica ${ARABICA_PREFIX}/lib arabica)
 set_libraries(boost_atomic ${BOOST_LIB_DIR} boost_atomic)
 set_libraries(boost_chrono ${BOOST_LIB_DIR} boost_chrono)
@@ -527,6 +529,9 @@
 endif ()

 # Dependencies. We must be careful to define a DAG.
+add_framework_dependencies(
+    afnetworking CoreGraphics MobileCoreServices Security SystemConfiguration
+    UIKit)
 add_framework_dependencies(sw_reveal_view_controller CoreGraphics)

 add_library_dependencies(boost_filesystem third_party.boost_system)
@@ -630,6 +635,8 @@

 # Include directories.
+set_include_directories(afnetworking ${AFNETWORKING_PREFIX}/include
+                        ${AFNETWORKING_PREFIX}/include/AFNetworking)
 set_include_directories(
     arabica ${ARABICA_PREFIX}/include ${ARABICA_PREFIX}/include/arabica)
 set_include_directories(boost ${BOOST_PREFIX}/include)
@@ -762,6 +769,93 @@
 ################################################################################
 # External project inclusions.
 ################################################################################
+
+################################################################################
+# libcxx must be the first declared target as it is used by objc_library rules
+# used below.
+################################################################################
+# libcxx.
+add_external_project(
+  ${LIBCXX_TARGET}_headers
+  PREFIX ${LIBCXX_PREFIX}
+  DOWNLOAD_COMMAND
+      ${SVN} export --force http://llvm.org/svn/llvm-project/libcxx/trunk
+          ${LIBCXX_TARGET}
+  CONFIGURE_COMMAND ${NOP}
+  BUILD_COMMAND ${NOP}
+  INSTALL_COMMAND ${NOP})
+set(LIBCXX_LINKER_FLAGS "-L${LIBCXXABI_PREFIX}/lib ${CMAKE_SHARED_LINKER_FLAGS}")
+add_external_project(
+  ${LIBCXX_TARGET}
+  PREFIX ${LIBCXX_PREFIX}
+  DOWNLOAD_COMMAND ${NOP}
+  PATCH_COMMAND
+    patch -p0 < ${THIRD_PARTY_SOURCE_DIR}/libcxx.patch
+  CMAKE_ARGS
+      -DLIBCXX_ENABLE_SHARED=${BUILD_SHARED_LIBS}
+
+      -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
+      -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
+      -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
+      -DCMAKE_BUILD_TYPE=RELEASE
+      -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS_WITH_ARCHS}
+      -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS_WITH_ARCHS}
+      -DCMAKE_SHARED_LINKER_FLAGS=${LIBCXX_LINKER_FLAGS}
+      -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
+      -DCMAKE_OSX_ARCHITECTURES=${ARCHS}
+      -DCMAKE_INSTALL_PREFIX=${LIBCXX_PREFIX}
+      -DLIBCXX_CXX_ABI=libcxxabi
+      -DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${LIBCXXABI_PREFIX}/include)
+add_install_name_step(LIBCXX)
+add_dependencies(${LIBCXX_TARGET} ${LIBCXX_TARGET}_headers)
+add_dependencies(${LIBCXX_TARGET} ${LIBCXXABI_TARGET})
+
+################################################################################
+# AFNetworking.
+add_external_project(
+  ${AFNETWORKING_TARGET}_download
+  PREFIX ${AFNETWORKING_PREFIX}
+  SOURCE_DIR ${AFNETWORKING_PREFIX}/src/${AFNETWORKING_TARGET}
+  DOWNLOAD_COMMAND
+      ${GIT} clone --depth 1 git://github.com/AFNetworking/AFNetworking.git ${AFNETWORKING_TARGET}
+  CONFIGURE_COMMAND ${NOP}
+  BUILD_COMMAND ${NOP}
+  INSTALL_COMMAND
+      cd <SOURCE_DIR> &&
+      find AFNetworking UIKit+AFNetworking -name "*.h" |
+          cpio -dp <INSTALL_DIR>/include)
+ExternalProject_Get_Property(${AFNETWORKING_TARGET}_download SOURCE_DIR)
+set(AFNETWORKING_SRCS
+    ${SOURCE_DIR}/AFNetworking/AFHTTPRequestOperation.m
+    ${SOURCE_DIR}/AFNetworking/AFHTTPRequestOperationManager.m
+    ${SOURCE_DIR}/AFNetworking/AFHTTPSessionManager.m
+    ${SOURCE_DIR}/AFNetworking/AFNetworkReachabilityManager.m
+    ${SOURCE_DIR}/AFNetworking/AFSecurityPolicy.m
+    ${SOURCE_DIR}/AFNetworking/AFURLConnectionOperation.m
+    ${SOURCE_DIR}/AFNetworking/AFURLRequestSerialization.m
+    ${SOURCE_DIR}/AFNetworking/AFURLResponseSerialization.m
+    ${SOURCE_DIR}/AFNetworking/AFURLSessionManager.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/AFNetworkActivityIndicatorManager.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/UIActivityIndicatorView+AFNetworking.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/UIAlertView+AFNetworking.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/UIButton+AFNetworking.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/UIImageView+AFNetworking.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/UIProgressView+AFNetworking.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/UIRefreshControl+AFNetworking.m
+    ${SOURCE_DIR}/UIKit+AFNetworking/UIWebView+AFNetworking.m)
+set_source_files_properties(${AFNETWORKING_SRCS} PROPERTIES GENERATED TRUE)
+objc_library(${AFNETWORKING_TARGET} ${AFNETWORKING_SRCS})
+link_framework(
+    ${AFNETWORKING_TARGET} CoreGraphics MobileCoreServices Security
+    SystemConfiguration UIKit)
+target_include_directories(
+    ${AFNETWORKING_TARGET} PUBLIC ${AFNETWORKING_PREFIX}/include/AFNetworking)
+set_target_properties(
+    ${AFNETWORKING_TARGET} PROPERTIES
+    ARCHIVE_OUTPUT_DIRECTORY ${AFNETWORKING_PREFIX}/lib
+    LIBRARY_OUTPUT_DIRECTORY ${AFNETWORKING_PREFIX}/lib
+    OUTPUT_NAME afnetworking)
+add_dependencies(${AFNETWORKING_TARGET} ${AFNETWORKING_TARGET}_download)

 ################################################################################
 # APR.
@@ -2058,45 +2152,6 @@
   add_dependencies(${LIBCURL_TARGET} ${OPENSSL_TARGET})
 endif ()
 add_dependencies(${LIBCURL_TARGET} ${ZLIB_TARGET})
-
-################################################################################
-# libcxx_download.
-add_external_project(
-  ${LIBCXX_TARGET}_headers
-  PREFIX ${LIBCXX_PREFIX}
-  DOWNLOAD_COMMAND
-      ${SVN} export --force http://llvm.org/svn/llvm-project/libcxx/trunk ${LIBCXX_TARGET}
-  CONFIGURE_COMMAND ${NOP}
-  BUILD_COMMAND ${NOP}
-  INSTALL_COMMAND ${NOP})
-
-################################################################################
-# libcxx.
-set(LIBCXX_LINKER_FLAGS "-L${LIBCXXABI_PREFIX}/lib ${CMAKE_SHARED_LINKER_FLAGS}")
-add_external_project(
-  ${LIBCXX_TARGET}
-  PREFIX ${LIBCXX_PREFIX}
-  DOWNLOAD_COMMAND ${NOP}
-  PATCH_COMMAND
-    patch -p0 < ${THIRD_PARTY_SOURCE_DIR}/libcxx.patch
-  CMAKE_ARGS
-      -DLIBCXX_ENABLE_SHARED=${BUILD_SHARED_LIBS}
-
-      -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
-      -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-      -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-      -DCMAKE_BUILD_TYPE=RELEASE
-      -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS_WITH_ARCHS}
-      -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS_WITH_ARCHS}
-      -DCMAKE_SHARED_LINKER_FLAGS=${LIBCXX_LINKER_FLAGS}
-      -DBUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
-      -DCMAKE_OSX_ARCHITECTURES=${ARCHS}
-      -DCMAKE_INSTALL_PREFIX=${LIBCXX_PREFIX}
-      -DLIBCXX_CXX_ABI=libcxxabi
-      -DLIBCXX_LIBCXXABI_INCLUDE_PATHS=${LIBCXXABI_PREFIX}/include)
-add_install_name_step(LIBCXX)
-add_dependencies(${LIBCXX_TARGET} ${LIBCXX_TARGET}_headers)
-add_dependencies(${LIBCXX_TARGET} ${LIBCXXABI_TARGET})

 ################################################################################
 # libcxxabi.


CMAKE_FEDORA_ADDITIONAL_SCRIPT_PATH fixed

--- Modules/ManageEnvironment.cmake
+++ Modules/ManageEnvironment.cmake
@@ -141,7 +141,8 @@
 ## CMAKE_FEODRA_MODULE_DIR: Directory contains cmake-fedora modules
 INCLUDE(ManageMessage RESULT_VARIABLE MANAGE_ENVIRONMENT_PATH)
 GET_FILENAME_COMPONENT(CMAKE_FEDORA_MODULE_DIR
-    "${MANAGE_ENVIRONMENT_PATH}" PATH CACHE)
+    "${MANAGE_ENVIRONMENT_PATH}" PATH CACHE
+    )

 SET(CMAKE_FEDORA_ADDITIONAL_SCRIPT_PATH
     ${CMAKE_SOURCE_DIR}/scripts ${CMAKE_SOURCE_DIR}/cmake-fedora/scripts


Exclude vtkRenderingMathText module from wrapping

The module has only one class, and it is excluded from wrapping since
commit f127f6ee (Move python init out of MathTextUtil constructor,
2012-07-10).

Change-Id: I8a22d16338754d34286638c7cb4fac845bf2df83

--- Rendering/MathText/module.cmake
+++ Rendering/MathText/module.cmake
@@ -6,4 +6,5 @@
     vtkTestingRendering
     vtkInteractionImage
     vtkRenderingOpenGL
+  EXCLUDE_FROM_WRAPPING
   )


CMake: minor: documenting NumPy detection.

--- adm_local_without_kernel/cmake_files/FindSalomePython.cmake
+++ adm_local_without_kernel/cmake_files/FindSalomePython.cmake
@@ -24,7 +24,12 @@
 #  !! Please read the generic detection procedure in SalomeMacros.cmake !!
 #
 # The interpreter is found first, and if OK, the corresponding libraries are searched.
-# We ensure the version of the libraries matches the one of the interpreter.
+# We ensure the version of the libraries matches the one of the interpreter.
+#
+# We also look for an installation of NumPy, and if found the following variables are set
+#   NUMPY_INCLUDE_DIR  - NumPy header location
+#   NUMPY_DEFINITIONS  - compiler flag
+# and are automatically appended to PYTHON_INCLUDE_DIRS (and PYTHON_DEFINITIONS resp.)
 #

 # 1. Load environment or any previously detected Python
@@ -136,7 +141,9 @@
   ENDIF()

   # 6. Specifics
-
+  #
+
+  # NumPy detection
   EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import numpy ; import sys ; sys.stdout.write(numpy.get_include())" OUTPUT_VARIABLE NUMPY_INCLUDE_DIR ERROR_QUIET )
   IF(NUMPY_INCLUDE_DIR)
     SET(NUMPY_FOUND TRUE)
@@ -144,9 +151,9 @@
   IF(NUMPY_FOUND)
     SET(PYTHON_INCLUDE_DIRS ${NUMPY_INCLUDE_DIR} ${PYTHON_INCLUDE_DIRS})
     SET(PYTHON_DEFINITIONS "${PYTHON_DEFINITIONS} -DWITH_NUMPY")
-    MESSAGE(STATUS "numpy found : ${NUMPY_INCLUDE_DIR}")
+    MESSAGE(STATUS "NumPy found : ${NUMPY_INCLUDE_DIR}")
   ELSE(NUMPY_FOUND)
-    MESSAGE(STATUS "numpy not found")
+    MESSAGE(STATUS "NumPy not found.")
   ENDIF(NUMPY_FOUND)

   ## None here


+ fix PCH to work again with QtCreator

+ fix PCH to work again with QtCreator

--- cMake/FreeCadMacros.cmake
+++ cMake/FreeCadMacros.cmake
@@ -173,7 +173,7 @@
     GET_FILENAME_COMPONENT(PrecompiledBasename ${PrecompiledHeader} NAME_WE)
     IF(MSVC_IDE)
       SET(PrecompiledBinary "$(IntDir)\\$(TargetName).pch")
-    ELSEIF(MSVC_IDE)
+    ELSE(MSVC_IDE)
       SET(PrecompiledBinary ${CMAKE_CURRENT_BINARY_DIR}/${TargetName}.pch)
     ENDIF(MSVC_IDE)
     SET(Sources ${${SourcesVar}})


modified device side config

modified device side config

--- 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 "0d77d6d052b43509262155430bbe71f067550b80")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "369b2bcca21c393b312328a1c3885c17b293dac6")

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


MindPX: Update modules config.

MindPX: Update modules config.

--- cmake/configs/nuttx_mindpx-v2_default.cmake
+++ cmake/configs/nuttx_mindpx-v2_default.cmake
@@ -14,8 +14,6 @@
 	drivers/stm32/tone_alarm
 	drivers/led
 	drivers/px4fmu
-	#drivers/px4io
-	#drivers/test_ppm
 	drivers/boards/mindpx-v2
 	#drivers/rgbled
 	drivers/rgbled_pwm
@@ -27,13 +25,14 @@
 	drivers/l3gd20
 	drivers/hmc5883
 	drivers/ms5611
-	#drivers/mb12xx
-	#drivers/srf02
+	drivers/mb12xx
+	drivers/srf02
 	drivers/srf02_i2c
-	drivers/hc_sr04
-	#drivers/sf0x
-	#drivers/ll40ls
-	#drivers/trone
+	#drivers/hc_sr04
+	drivers/sf0x
+	drivers/sf1xx
+	drivers/ll40ls
+	drivers/trone
 	drivers/gps
 	drivers/pwm_out_sim
 	#drivers/hott
@@ -99,7 +98,7 @@
 	modules/land_detector

 	#
-	# Estimation modules (EKF/ SO3 / other filters)
+	# Estimation modules
 	#
 	modules/attitude_estimator_q
 	modules/position_estimator_inav
@@ -184,6 +183,9 @@

 	# Hardware test
 	#examples/hwtest
+
+	# EKF
+	#examples/ekf_att_pos_estimator
 )

 set(config_extra_builtin_cmds


build ulanding radar for Pixhawk version 2

Signed-off-by: Roman <019237760eff64d50a7eec108f84e3d8840aac17@gmail.com>

--- cmake/configs/nuttx_px4fmu-v2_default.cmake
+++ cmake/configs/nuttx_px4fmu-v2_default.cmake
@@ -51,6 +51,7 @@
 ##TO FIT drivers/snapdragon_rc_pwm
 	drivers/lis3mdl
 	drivers/iridiumsbd
+	drivers/ulanding

 	#
 	# System commands


FMUv2: Reduce flash use

FMUv2: Reduce flash use

--- cmake/configs/nuttx_px4fmu-v2_default.cmake
+++ cmake/configs/nuttx_px4fmu-v2_default.cmake
@@ -30,9 +30,9 @@
 	drivers/trone
 	drivers/gps
 	drivers/pwm_out_sim
-	drivers/hott
-	drivers/hott/hott_telemetry
-	drivers/hott/hott_sensors
+	#drivers/hott
+	#drivers/hott/hott_telemetry
+	#drivers/hott/hott_sensors
 	drivers/blinkm
 	drivers/airspeed
 	drivers/ets_airspeed
@@ -45,7 +45,7 @@
 	drivers/gimbal
 	drivers/pwm_input
 	drivers/camera_trigger
-    drivers/bst
+	drivers/bst

 	#
 	# System commands


Changed the version of XROOTD when building with builtin_xrootd=ON and simplification in the interface (2nd attempt)

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -617,7 +617,7 @@
 endif()
 if(builtin_xrootd)
   set(xrootd_version 4.2.2)
-  set(xrootd_versionnum 400020001)
+  set(xrootd_versionnum 400020002)
   message(STATUS "Downloading and building XROOTD version ${xrootd_version}")
   ExternalProject_Add(
     XROOTD
@@ -628,7 +628,7 @@
                -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}
                -DCMAKE_C_FLAGS=${CMAKE_C_FLAGS}
                -DCMAKE_CXX_COMPILER=${CMAKE_CXX_COMPILER}
-               -DCMAKE_CXX_FLAGS=${__cxxflags}
+               -DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS}
                -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
                -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET}
   )


fptu-cmake: check and use GNU C11.

fptu-cmake: check and use GNU C11.

--- cmake.fptu/compiler.cmake
+++ cmake.fptu/compiler.cmake
@@ -42,7 +42,7 @@
 #
 # Check supported standards
 #
-if((NOT HAVE_STD_C11 AND NOT HAVE_STD_C99 AND NOT HAVE_STD_GNU99) OR
+if((NOT HAVE_STD_C11 AND NOT HAVE_STD_C99 AND NOT HAVE_STD_GNU99 AND NOT HAVE_STD_GNU11) OR
     (NOT HAVE_STD_CXX11 AND NOT HAVE_STD_GNUXX0X))
   set(CMAKE_REQUIRED_FLAGS "-std=c11")
   check_c_source_compiles("
@@ -57,6 +57,25 @@
     int main(void) { return 0; }
     " HAVE_STD_C11)

+  set(CMAKE_REQUIRED_FLAGS "-std=gnu11")
+  check_c_source_compiles("
+    #if __STDC_VERSION__ < 201112L
+    #   error GNU C11 not available
+    #endif
+    /*
+    * FreeBSD 10 ctype.h header fail to compile on gcc4.8 in c11 mode.
+    * Make sure we aren't affected.
+    */
+    #include <ctype.h>
+    /* Check for GNU C extension for VA_ARGS */
+    static inline void probe(int anchor, ...) { (void) anchor; }
+    #define PROBE(...) probe(42, ##__VA_ARGS__)
+    int main(void) {
+    PROBE(); PROBE(1); PROBE(2,2); PROBE(3,3,3);
+    return 0;
+    }
+    " HAVE_STD_GNU11)
+
   set(CMAKE_REQUIRED_FLAGS "-std=c99")
   check_c_source_compiles("
     #if (__STDC_VERSION__ < 199901L) && (_MSC_FULL_VER < 180040629)
@@ -70,7 +89,13 @@
     #if __STDC_VERSION__ < 199901L
     #   error C99 not available
     #endif
-    int main(void) { return 0; }
+    /* Check for GNU C extension for VA_ARGS */
+    static inline void probe(int anchor, ...) { (void) anchor; }
+    #define PROBE(...) probe(42, ##__VA_ARGS__)
+    int main(void) {
+    PROBE(); PROBE(1); PROBE(2,2); PROBE(3,3,3);
+    return 0;
+    }
     " HAVE_STD_GNU99)

   set(CMAKE_REQUIRED_FLAGS "-std=c++11")
@@ -391,7 +416,9 @@
   endif()

   # Set standard
-  if(HAVE_STD_C11)
+  if(HAVE_STD_GNU11)
+    add_compile_flags("C" "-std=gnu11")
+  elseif(HAVE_STD_C11)
     add_compile_flags("C" "-std=c11")
   elseif(HAVE_STD_GNU99)
     add_compile_flags("C" "-std=gnu99")


Bumped DataSpaces dependency to 2.1.1

Bumped DataSpaces dependency to 2.1.1

--- cmake/DetectOptions.cmake
+++ cmake/DetectOptions.cmake
@@ -216,9 +216,9 @@

 # DataSpaces
 if(ADIOS2_USE_DataSpaces STREQUAL AUTO)
-  find_package(DataSpaces 1.8)
+  find_package(DataSpaces 2.1.1)
 elseif(ADIOS2_USE_DataSpaces)
-  find_package(DataSpaces 1.8 REQUIRED)
+  find_package(DataSpaces 2.1.1 REQUIRED)
 endif()
 if(DATASPACES_FOUND)
   set(ADIOS2_HAVE_DataSpaces TRUE)


Remove debug output

Remove debug output

--- cmake/InstallMacros.cmake
+++ cmake/InstallMacros.cmake
@@ -139,7 +139,6 @@
 endif()

 macro(to_native_path sourceVarName)
-
   if (MSVC)
     string(REGEX REPLACE "/" "\\\\\\\\" myVar ${${sourceVarName}} )
   else()
@@ -147,10 +146,4 @@
   endif()

   set("INC_${sourceVarName}" ${myVar})
-
-get_cmake_property(_variableNames VARIABLES)
-foreach (_variableName ${_variableNames})
-    message(STATUS "${_variableName}=${${_variableName}}")
-endforeach()
-
 endmacro()


Delete zlib.cmake (#13467)

Delete zlib.cmake (#13467)

Delete the file because it is not included by any other file.

--- cmake/external/zlib.cmake
+++ cmake/external/zlib.cmake
@@ -1,47 +0,0 @@
-include (ExternalProject)
-
-set(zlib_INCLUDE_DIR ${CMAKE_CURRENT_BINARY_DIR}/external/zlib_archive)
-set(ZLIB_URL https://github.com/madler/zlib.git)
-set(ZLIB_BUILD ${CMAKE_CURRENT_BINARY_DIR}/zlib/src/zlib)
-set(ZLIB_INSTALL ${CMAKE_CURRENT_BINARY_DIR}/zlib/install)
-set(ZLIB_TAG 50893291621658f355bc5b4d450a8d06a563053d)
-
-if(WIN32)
-  set(zlib_STATIC_LIBRARIES
-      debug ${CMAKE_CURRENT_BINARY_DIR}/zlib/install/lib/zlibstaticd.lib
-      optimized ${CMAKE_CURRENT_BINARY_DIR}/zlib/install/lib/zlibstatic.lib)
-else()
-  set(zlib_STATIC_LIBRARIES
-      ${CMAKE_CURRENT_BINARY_DIR}/zlib/install/lib/libz.a)
-endif()
-
-set(ZLIB_HEADERS
-    "${ZLIB_INSTALL}/include/zconf.h"
-    "${ZLIB_INSTALL}/include/zlib.h"
-)
-
-ExternalProject_Add(zlib
-    PREFIX zlib
-    GIT_REPOSITORY ${ZLIB_URL}
-    GIT_TAG ${ZLIB_TAG}
-    INSTALL_DIR ${ZLIB_INSTALL}
-    BUILD_IN_SOURCE 1
-    DOWNLOAD_DIR "${DOWNLOAD_LOCATION}"
-    CMAKE_CACHE_ARGS
-        -DCMAKE_BUILD_TYPE:STRING=Release
-        -DCMAKE_INSTALL_PREFIX:STRING=${ZLIB_INSTALL}
-	-DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=ON
-)
-
-# put zlib includes in the directory where they are expected
-add_custom_target(zlib_create_destination_dir
-    COMMAND ${CMAKE_COMMAND} -E make_directory ${zlib_INCLUDE_DIR}
-    DEPENDS zlib)
-
-add_custom_target(zlib_copy_headers_to_destination
-    DEPENDS zlib_create_destination_dir)
-
-foreach(header_file ${ZLIB_HEADERS})
-    add_custom_command(TARGET zlib_copy_headers_to_destination PRE_BUILD
-    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${header_file} ${zlib_INCLUDE_DIR})
-endforeach()


Bugfix: didn't set platform library search paths correctly

--- cmake/oryol_private.cmake
+++ cmake/oryol_private.cmake
@@ -36,7 +36,7 @@
 #   Setup the link library search paths.
 #
 macro(oryol_setup_link_directories)
-    include_directories(${ORYOL_ROOT_DIR}/lib/${ORYOL_PLATFORM_NAME})
+    link_directories(${ORYOL_ROOT_DIR}/lib/${ORYOL_PLATFORM_NAME})
 endmacro()

 #-------------------------------------------------------------------------------


Update Freetype versions. Thanks Transporter!

--HG--
branch : v1-8

--- CMake/Packages/FindFreetype.cmake
+++ CMake/Packages/FindFreetype.cmake
@@ -31,7 +31,7 @@
   FREETYPE_INCLUDE_DIR
 )

-set(FREETYPE_LIBRARY_NAMES freetype2410 freetype249 freetype248 freetype246 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
+set(FREETYPE_LIBRARY_NAMES freetype2411 freetype2410 freetype249 freetype248 freetype246 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
 get_debug_names(FREETYPE_LIBRARY_NAMES)

 use_pkgconfig(FREETYPE_PKGC freetype2)


FindFreetype needs to look for the header ft2build.h separately; might be in a different directory.

--- CMake/Packages/FindFreetype.cmake
+++ CMake/Packages/FindFreetype.cmake
@@ -43,11 +43,15 @@
 message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")

 find_path(FREETYPE_INCLUDE_DIR NAMES freetype/freetype.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES freetype2)
+find_path(FREETYPE_FT2BUILD_INCLUDE_DIR NAMES ft2build.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS})
 find_library(FREETYPE_LIBRARY_REL NAMES ${FREETYPE_LIBRARY_NAMES} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
 find_library(FREETYPE_LIBRARY_DBG NAMES ${FREETYPE_LIBRARY_NAMES_DBG} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
 make_library_set(FREETYPE_LIBRARY)

 findpkg_finish(FREETYPE)
+if (NOT FREETYPE_FT2BUILD_INCLUDE_DIR STREQUAL FREETYPE_INCLUDE_DIR)
+  set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_FT2BUILD_INCLUDE_DIR})
+endif ()

 # Reset framework finding
 set(CMAKE_FIND_FRAMEWORK "FIRST")


[removed] dependency on TPL GTest (we automatically get from package BootsOnTheGround_GTest

--- cmake/Dependencies.cmake
+++ cmake/Dependencies.cmake
@@ -1,6 +1,4 @@
 TRIBITS_PACKAGE_DEFINE_DEPENDENCIES(
   LIB_REQUIRED_PACKAGES
     BootsOnTheGround_GTest
-  LIB_REQUIRED_TPLS
-    GTest
 )


Update to version 0.9.4

Update to version 0.9.4

--- cmake/globalconfig.cmake
+++ cmake/globalconfig.cmake
@@ -27,10 +27,10 @@
  #
  #################################################################################

-set(IVW_VERSION 0.9.3dev)
+set(IVW_VERSION 0.9.4)
 set(IVW_MAJOR_VERSION 0)
 set(IVW_MINOR_VERSION 9)
-set(IVW_PATCH_VERSION 3dev)
+set(IVW_PATCH_VERSION 4)

 set_property(GLOBAL PROPERTY USE_FOLDERS On)
 set_property(GLOBAL PROPERTY PREDEFINED_TARGETS_FOLDER cmake)


build of dependecies don't works on cross compiling

--- cmake/packages/deb.cmake
+++ cmake/packages/deb.cmake
@@ -10,7 +10,10 @@
 FILE(READ "${PROJECT_SOURCE_DIR}/Installation/debian/packagedesc.txt" CPACK_DEBIAN_PACKAGE_DESCRIPTION)
 set(CPACK_DEBIAN_PACKAGE_SECTION "database")
 set(CPACK_DEBIAN_PACKAGE_CONFLICTS "arangodb, ${CPACKG_PACKAGE_CONFLICTS}, ${CPACKG_PACKAGE_CONFLICTS}-client, ${CPACK_PACKAGE_NAME}-client")
-set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
+# build of dependecies (yet) don't works on cross compiling
+if (NOT CROSS_COMPILING)
+  set(CPACK_DEBIAN_PACKAGE_SHLIBDEPS ON)
+endif()
 if(NOT DISABLE_XZ_DEB)
   set(CPACK_DEBIAN_COMPRESSION_TYPE "xz")
 endif()


ARROW-4597: [C++] Targets for system Google Mock shared library are missing

Author: Kouhei Sutou <kou@clear-code.com>

Closes #3673 from kou/cpp-system-shared-gmock and squashes the following commits:

81148876 <Kouhei Sutou>  Targets for system Google Mock shared library are missing

--- cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -734,6 +734,10 @@
       SHARED_LIB ${GTEST_SHARED_LIB})
     ADD_THIRDPARTY_LIB(gtest_main
       SHARED_LIB ${GTEST_MAIN_SHARED_LIB})
+    ADD_THIRDPARTY_LIB(gmock
+      SHARED_LIB ${GMOCK_SHARED_LIB})
+    ADD_THIRDPARTY_LIB(gmock_main
+      SHARED_LIB ${GMOCK_MAIN_SHARED_LIB})
     set(GTEST_LIBRARY gtest_shared)
     set(GTEST_MAIN_LIBRARY gtest_main_shared)
     set(GMOCK_LIBRARY gmock_shared)


FindMKL.cmake: fix a typo

FindMKL.cmake: fix a typo

--- CMakeModules/FindMKL.cmake
+++ CMakeModules/FindMKL.cmake
@@ -326,7 +326,7 @@
     if(NOT TARGET MKL::MKL)
         add_library(MKL::MKL UNKNOWN IMPORTED)
         set_target_properties(MKL::MKL PROPERTIES
-            IMPORTED_LOCATION             "${SQLITE3_LIBRARIES}"
+            IMPORTED_LOCATION             "${MKL_LIBRARIES}"
             INTERFACE_INCLUDE_DIRECTORIES "${MKL_INCLUDE_DIR}")
     endif()
 else()


[CMake] Infer -Werror=switch via asserts being enabled (#11098)

LLVM-style projects like Swift make heavy use of switch statements and
therefore -Werror=switch is very useful during feature development. That
being said, if asserts are disabled, then you're probably not actively
hacking on the project and -Werror (or warnings in general) aren't
helpful.

--- cmake/modules/SwiftSharedCMakeConfig.cmake
+++ cmake/modules/SwiftSharedCMakeConfig.cmake
@@ -256,6 +256,11 @@
 # Common cmake project config for additional warnings.
 #
 macro(swift_common_cxx_warnings)
+  # Make unhandled switch cases be an error in assert builds
+  if(DEFINED LLVM_ENABLE_ASSERTIONS)
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror=switch")
+  endif()
+
   check_cxx_compiler_flag("-Werror -Wdocumentation" CXX_SUPPORTS_DOCUMENTATION_FLAG)
   append_if(CXX_SUPPORTS_DOCUMENTATION_FLAG "-Wdocumentation" CMAKE_CXX_FLAGS)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


cmake: include what you use

cmake: include what you use

Add a missing include.  This is important in the case HandleLLVMOptions is
included prior to the missing CheckCXXSourceCompiles or CheckCXXCompilerFlag
which includes CheckCXXSourceCompiles.

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

--- cmake/modules/CheckCompilerVersion.cmake
+++ cmake/modules/CheckCompilerVersion.cmake
@@ -1,5 +1,7 @@
 # Check if the host compiler is new enough. LLVM requires at least GCC 4.7,
 # MSVC 2013, or Clang 3.1.
+
+include(CheckCXXSourceCompiles)

 if(NOT DEFINED LLVM_COMPILER_CHECKED)
   set(LLVM_COMPILER_CHECKED ON)


ManageTarget: Refactor

ManageTarget: Refactor

--- Modules/ManageTarget.cmake
+++ Modules/ManageTarget.cmake
@@ -1,4 +1,7 @@
 # - Modules for managing targets and outputs.
+#
+# Includes:
+#   ManageVariable
 #
 # Defines following macros:
 #   ADD_CUSTOM_TARGET_COMMAND(target OUTPUT file1 [file2 ..]
@@ -15,30 +18,23 @@

 IF(NOT DEFINED _MANAGE_TARGET_CMAKE_)
     SET(_MANAGE_TARGET_CMAKE_ "DEFINED")
+    INCLUDE(ManageVariable)
     MACRO(ADD_CUSTOM_TARGET_COMMAND target OUTPUT)
-	SET(_outputFileList "")
-	SET(_optionList "")
-	SET(_outputFileMode 1)
-	SET(_all "")
-	FOREACH(_t ${ARGN})
-	    IF(_outputFileMode)
-		IF(_t STREQUAL "COMMAND")
-		    SET(_outputFileMode 0)
-		    LIST(APPEND _optionList "${_t}")
-		ELSEIF(_t STREQUAL "ALL")
-		    SET(_outputFileMode 0)
-		    SET(_all "ALL")
-		ELSE(_t STREQUAL "COMMAND")
-		    LIST(APPEND _outputFileList "${_t}")
-		ENDIF(_t STREQUAL "COMMAND")
-	    ELSE(_outputFileMode)
-		LIST(APPEND _optionList "${_t}")
-	    ENDIF(_outputFileMode)
-	ENDFOREACH(_t ${ARGN})
-	#MESSAGE("ADD_CUSTOM_TARGET(${target} ${_optionList})")
-	ADD_CUSTOM_TARGET(${target} ${_all} ${_optionList})
-	#MESSAGE("ADD_CUSTOM_COMMAND(OUTPUT ${_outputFileList}  ${_optionList})")
-	ADD_CUSTOM_COMMAND(OUTPUT ${_outputFileList}  ${_optionList})
+	SET(_validOptions "OUTPUT" "ALL" "COMMAND")
+	VARIABLE_PARSE_ARGN(_opt _validOptions ${ARGN})
+	IF(DEFINED _opt_ALL)
+	    SET(_all "ALL")
+	ELSE(DEFINED _opt_ALL)
+	    SET(_all "")
+	ENDIF(DEFINED _opt_ALL)
+
+	ADD_CUSTOM_TARGET(${target} ${_all}
+	    COMMAND ${_opt_COMMAND}
+	    )
+
+	ADD_CUSTOM_COMMAND(OUTPUT ${_opt}
+	    COMMAND ${_opt_COMMAND}
+	    )
     ENDMACRO(ADD_CUSTOM_TARGET_COMMAND)

 ENDIF(NOT DEFINED _MANAGE_TARGET_CMAKE_)


update remus

update remus

--- superbuild/versions.cmake
+++ superbuild/versions.cmake
@@ -156,9 +156,9 @@
 endif()

 add_revision(remus
-  #GIT_REPOSITORY http://public.kitware.com/Remus.git
-  GIT_REPOSITORY https://github.com/robertmaynard/Remus.git
-  GIT_TAG c21bfabd468a5b2f99f91184b643b5fea2645aea
+  GIT_REPOSITORY http://public.kitware.com/Remus.git
+####GIT_REPOSITORY https://github.com/robertmaynard/Remus.git
+  GIT_TAG e87bfb84434001e47deddd8e5044b84f2f293c1a
   )

 add_revision(kml


update remus version to fix build issue

update remus version to fix build issue

--- superbuild/versions.cmake
+++ superbuild/versions.cmake
@@ -155,7 +155,7 @@

 add_revision(remus
   GIT_REPOSITORY http://public.kitware.com/Remus.git
-  GIT_TAG 5199facbe94f1f5c6a498f891ea31f26e0bd04fa
+  GIT_TAG 7f9fbb25f78e0b7627e31c0d55d28716bb75b3e4
   )

 add_revision(kml


BUG: Bring in IOFDF license updates.

BUG: Bring in IOFDF license updates.

This update includes updates to the license header from GPL to Apache 2.

Change-Id: I410c560459574c2c800dde6f56dd1873560c5ba0

--- Modules/Remote/IOFDF.remote.cmake
+++ Modules/Remote/IOFDF.remote.cmake
@@ -1,5 +1,5 @@
 itk_fetch_module(IOFDF
   "FDFImageIO plugin for ITK. Authors Gleen Pierce/Nick Tustison/Kent Williams"
   GIT_REPOSITORY http://github.com/InsightSoftwareConsortium/itkFDFImageIO.git
-  GIT_TAG 570f6a3202d9a8b301945b9ff05950fe69ee0e9c
+  GIT_TAG f52592da33c226b9ffc43a173d3c747b8fc4f241
   )


typo

typo

Change-Id: If6b8f6f8b118b31434e3ae86fad7202ae4e8ac4f

--- VAD_HendriksWrappers.cmake
+++ VAD_HendriksWrappers.cmake
@@ -87,7 +87,7 @@
         target_link_libraries(${TARGT} PUBLIC ${L})
       else()
         # TODO check if BUILD_FROM  GIT is true if yes abort!
-        message("requirested target ${TARGT} PUBLIC ${L} not found!")
+        message("requested target ${TARGT} PUBLIC ${L} not found!")
       endif()
     endif()
   endforeach()


[CMake] Pass -no_warn_inits to the linker on Apple platforms to silence warnings about global initializers.

We already get warnings from clang at compile time. For cases where we silence those, with SWIFT_ALLOWED_RUNTIME_GLOBAL_CTOR_BEGIN, these warnings are just noise.

rdar://problem/70445131

--- stdlib/cmake/modules/AddSwiftStdlib.cmake
+++ stdlib/cmake/modules/AddSwiftStdlib.cmake
@@ -1291,6 +1291,10 @@
         endif()
       endif()
     endif()
+
+    # Silence warnings about global initializers. We already have clang
+    # emitting warnings about global initializers when it compiles the code.
+    list(APPEND swiftlib_link_flags_all "-Xlinker -no_warn_inits")
   endif()
   target_link_libraries(${target} PRIVATE
     ${link_libraries})


Modified FindTBB.cmake to cope with TBB 3 paths

--- CMake/Packages/FindTBB.cmake
+++ CMake/Packages/FindTBB.cmake
@@ -62,13 +62,21 @@
   foreach (dir ${TBB_PREFIX_PATH})
     if (CMAKE_CL_64)
       list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia64/${COMPILER_PREFIX}/lib)
+      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia64/${COMPILER_PREFIX})
       list(APPEND TBB_LIB_SEARCH_PATH ${dir}/intel64/${COMPILER_PREFIX}/lib)
+      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/intel64/${COMPILER_PREFIX})
     else ()
       list(APPEND TBB_LIB_SEARCH_PATH ${dir}/ia32/${COMPILER_PREFIX}/lib)
+      list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/ia32/${COMPILER_PREFIX})
     endif ()
   endforeach ()
 endif ()

+foreach (dir ${TBB_PREFIX_PATH})
+  list(APPEND TBB_LIB_SEARCH_PATH ${dir}/$ENV{TBB_ARCH_PLATFORM}/lib)
+  list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib/$ENV{TBB_ARCH_PLATFORM})
+  list(APPEND TBB_LIB_SEARCH_PATH ${dir}/lib)
+endforeach ()

 set(TBB_LIBRARY_NAMES tbb)


don't search for bz2d only, also search for non-debug lib bz2

--- CMakeModules/FindBZip2.cmake
+++ CMakeModules/FindBZip2.cmake
@@ -27,7 +27,7 @@

 FIND_PATH(BZIP2_INCLUDE_DIR bzlib.h )

-FIND_LIBRARY(BZIP2_LIBRARY NAMES bz2d bzip2 )
+FIND_LIBRARY(BZIP2_LIBRARY NAMES bz2 bz2d bzip2 )
 if(BZip2_FIND_DEBUG)
 	FIND_LIBRARY(BZIP2_LIBRARY_DEBUG NAMES bz2d bzip2d )
 endif(BZip2_FIND_DEBUG)


build BUGFIX set PIC for compat

build BUGFIX set PIC for compat

--- CMakeModules/UseCompat.cmake
+++ CMakeModules/UseCompat.cmake
@@ -22,4 +22,5 @@
     configure_file(${PROJECT_SOURCE_DIR}/compat/compat.h.in ${PROJECT_BINARY_DIR}/compat.h @ONLY)
     include_directories(${PROJECT_BINARY_DIR})
     add_library(compat OBJECT ${PROJECT_SOURCE_DIR}/compat/compat.c)
+    set_property(TARGET compat PROPERTY POSITION_INDEPENDENT_CODE ON)
 endmacro()


fixed ignore list

fixed ignore list

.hg has been interpreted as regexp, so e.g if the source directory
is called vigra-hg, everything has been ignored

--- config/CPackConfig.cmake
+++ config/CPackConfig.cmake
@@ -14,7 +14,7 @@
 SET(CPACK_RESOURCE_FILE_LICENSE         "${PROJECT_SOURCE_DIR}/LICENSE.txt")
 SET(CPACK_RESOURCE_FILE_README          "${PROJECT_SOURCE_DIR}/README.txt")
 SET(CPACK_STRIP_FILES TRUE)
-SET(CPACK_SOURCE_IGNORE_FILES .hg ".#" "#.*~")
+SET(CPACK_SOURCE_IGNORE_FILES "${PROJECT_SOURCE_DIR}/.hg" ".#" "#.*~")
 SET(CPACK_PACKAGE_CONTACT "Ullrich Koethe <ullrich.koethe@iwr.uni-heidelberg.de>")
 SET(CPACK_DEBIAN_PACKAGE_DEPENDS "")


CI: include tiny rendersystem in Windows SDK

--- ci-build.cmake
+++ ci-build.cmake
@@ -42,6 +42,7 @@
     set(CMAKE_BUILD_TYPE Release)
     set(RENDERSYSTEMS
         -DOGRE_BUILD_RENDERSYSTEM_D3D9=TRUE
+        -DOGRE_BUILD_RENDERSYSTEM_TINY=TRUE
         -DOGRE_BUILD_RENDERSYSTEM_GL=TRUE
         -DOGRE_BUILD_RENDERSYSTEM_GLES2=TRUE
         -DOGRE_BUILD_RENDERSYSTEM_GL3PLUS=TRUE)


ENH (#3117): improve global cmake access to bundle directories by creating them as CMake projects, added new target helpPages3m3

--- openCherry/CMake/MacroCreatePlugin.cmake
+++ openCherry/CMake/MacroCreatePlugin.cmake
@@ -22,6 +22,7 @@
   ENDIF(MSVC80)

   MESSAGE(STATUS "Creating plugin ${BUNDLE-SYMBOLICNAME}")
+  PROJECT(${BUNDLE-SYMBOLICNAME})

   STRING(REPLACE . _ PLUGIN_TARGET ${BUNDLE-SYMBOLICNAME})


pkg-config: remove $<LINK_ONLY:...> expressions

--- cmake/OpenCVUtils.cmake
+++ cmake/OpenCVUtils.cmake
@@ -824,11 +824,17 @@
   list(FIND ${_extra} "ippicv" ippicv_idx)
   if (${ippicv_idx} GREATER -1)
     list(REMOVE_ITEM ${_extra} "ippicv")
-    list(INSERT ${_3rdparty} 0 "ippicv")
+    if(NOT BUILD_SHARED_LIBS)
+      list(INSERT ${_3rdparty} 0 "ippicv")
+    endif()
   endif()

   # split 3rdparty libs and modules
   list(REMOVE_ITEM ${_modules} ${${_3rdparty}} ${${_extra}} non_empty_list)
+
+  ocv_list_filterout(${_modules} "^[\$]<")
+  ocv_list_filterout(${_3rdparty} "^[\$]<")
+  ocv_list_filterout(${_extra} "^[\$]<")

   # convert CMake lists to makefile literals
   foreach(lst ${_modules} ${_3rdparty} ${_extra})


Update libprotobuf.cmake

Update libprotobuf.cmake

--- cmake/libprotobuf.cmake
+++ cmake/libprotobuf.cmake
@@ -122,7 +122,7 @@
   target_link_libraries(libprotobuf atomic)
 endif()
 if(${CMAKE_SYSTEM_NAME} STREQUAL "Android")
-	target_link_libraries(libprotobuf-lite log)
+	target_link_libraries(libprotobuf log)
 endif()
 target_include_directories(libprotobuf PUBLIC ${protobuf_source_dir}/src)
 if(MSVC AND protobuf_BUILD_SHARED_LIBS)


Prepare for gcc 4.4.

Prepare for gcc 4.4.

svn path=/trunk/; revision=9448

--- cmake/modules/ada.cmake
+++ cmake/modules/ada.cmake
@@ -26,7 +26,7 @@
 endif(DEFAULT_NO_BINDINGS)

 if(ENABLE_ada)
-  find_library(GNAT_LIB NAMES gnat gnat-4.1 gnat-4.2 gnat-4.3)
+  find_library(GNAT_LIB NAMES gnat gnat-4.1 gnat-4.2 gnat-4.3 gnat-4.4)
   if(NOT GNAT_LIB)
     message(STATUS "WARNING: "
       "gnat library not found. Disabling ada bindings")


Correct typo (missing endif) that was just introduced.

svn path=/trunk/; revision=9424

--- cmake/modules/lua.cmake
+++ cmake/modules/lua.cmake
@@ -93,6 +93,7 @@
       "lua executable found but version not consistent with library. Disabling lua bindings")
     set(ENABLE_lua OFF CACHE BOOL "Enable LUA bindings" FORCE)
   endif(NOT LUA_VERSION_VALID)
+endif(ENABLE_lua)

 if(ENABLE_lua)
   # Unless some better convention comes along, follow what Debian does for


fix for Fedora users who need explicit pthread linking

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

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -150,7 +150,11 @@
 macro(PCL_ADD_EXECUTABLE _name _component)
     add_executable(${_name} ${ARGN})
     # must link explicitly against boost.
-    target_link_libraries(${_name} ${Boost_LIBRARIES})
+    if(UNIX)
+      target_link_libraries(${_name} ${Boost_LIBRARIES} pthread)
+    else(UNIX)
+      target_link_libraries(${_name} ${Boost_LIBRARIES})
+    endif(UNIX)
     #
     # Only link if needed
     if(WIN32 AND MSVC)


Updated spdlog version

Updated spdlog version

--- externals/CMakeExternals.cmake
+++ externals/CMakeExternals.cmake
@@ -531,7 +531,7 @@

     add_external_project(spdlog STATIC
       GIT_REPOSITORY https://github.com/gabime/spdlog.git
-      GIT_TAG "v1.5.0"
+      GIT_TAG "v1.7.0"
       DEPENDS fmt
       BUILD_BYPRODUCTS "<INSTALL_DIR>/${SPDLOG_LIB}"
       DEBUG_SUFFIX "d"


Add code to algorithmically shortern runtime library names

Because 260 chars ought to be enough for anybody

--- halide.cmake
+++ halide.cmake
@@ -425,16 +425,62 @@
   _halide_split_target("${HALIDE_TARGET}" BASE FEATURES)
   # Discard target features which do not affect the contents of the runtime.
   list(REMOVE_DUPLICATES FEATURES)
-  list(REMOVE_ITEM FEATURES "user_context" "no_asserts" "no_bounds_query" "profile")
+  list(REMOVE_ITEM FEATURES "user_context" "no_asserts" "no_bounds_query" "no_runtime" "profile")
   list(SORT FEATURES)
   # Now build up the name
-  set(RESULT "halide_library_runtime")
+  set(RESULT "halide_rt")
   foreach(B ${BASE})
     list(APPEND RESULT ${B})
   endforeach()
+  if(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
+    set(HALIDE_ABBREVIATE_TARGETS TRUE)
+  endif()
+  if(HALIDE_ABBREVIATE_TARGETS)
+    # Windows systems still have limits of 260-character pathnames in
+    # lots of situations, and CMake can replicate project names multiple times
+    # in the same path, so long target strings can cause us to overflow
+    # this limit, even if CMAKE_OBJECT_PATH_MAX is set. So here we make
+    # algorithmically-generated abbreviations for all the feature strings
+    # and use those for external cmaketarget/filenames.
+
+    # Halide Target Features we know about. (This need not be exact, but should
+    # be close for best compression.)
+    list(APPEND KNOWN_FEATURES armv7s avx avx2 avx512 avx512_cannonlake avx512_knl
+         avx512_skylake c_plus_plus_name_mangling cl_doubles cuda cuda_capability_30
+         cuda_capability_32 cuda_capability_35 cuda_capability_50 cuda_capability_61
+         debug f16c fma fma4 fuzz_float_stores hvx_128 hvx_64 hvx_shared_object
+         hvx_v62 hvx_v65 hvx_v66 jit large_buffers matlab metal mingw msan no_asserts
+         no_bounds_query no_neon no_runtime opencl opengl openglcompute
+         power_arch_2_07 profile soft_float_abi sse41 trace_loads trace_realizations
+         trace_stores user_context vsx)
+    # Synthesize a one-or-two-char abbreviation based on the feature's position
+    # in the KNOWN_FEATURES list.
+    set(I 0)
+    foreach(F ${KNOWN_FEATURES})
+      math(EXPR II "97 + (${I} / 26)")
+      if("${II}" GREATER 97)
+        string(ASCII ${II} C1)
+      else()
+        set(C1 "")
+      endif()
+      math(EXPR II "97 + (${I} % 26)")
+      string(ASCII ${II} C2)
+      # CMake has no map-like structure; we'll fake it using synthesized variable names.
+      set(HALIDE_TARGET_FEATURE_ABBREVIATION_${F} ${C1}${C2})
+      math(EXPR I "${I} + 1")
+    endforeach()
+  endif()
+
   foreach(F ${FEATURES})
-    list(APPEND RESULT ${F})
-  endforeach()
+    if(DEFINED HALIDE_TARGET_FEATURE_ABBREVIATION_${F})
+      list(APPEND RESULT ${HALIDE_TARGET_FEATURE_ABBREVIATION_${F}})
+    else()
+      # Unknown features get appended to the end
+      list(APPEND RESULT ${F})
+    endif()
+  endforeach()
+
+  # Finally, convert from a list into a _ separated name
   string(REPLACE ";" "_" RESULT "${RESULT}")
   set(${OUTVAR} "${RESULT}" PARENT_SCOPE)
 endfunction()


Update Ruby to 2.3.5 (and RubyGems and Bundler).

--- build/cmake/versions.cmake
+++ build/cmake/versions.cmake
@@ -1,8 +1,8 @@
 # Define the versions of the various dependencies to build.
 set(API_UMBRELLA_STATIC_SITE_VERSION c02b8869cafb063deb7f9436d0137b0ea6e652aa)
 set(API_UMBRELLA_STATIC_SITE_HASH 8998cd6cab3708257e4d47e169802d2f)
-set(BUNDLER_VERSION 1.15.1)
-set(BUNDLER_HASH fa6ec48f94faffe4987f89b4b85409fd6a4ddce8d46f779acdc26d041eb200d7)
+set(BUNDLER_VERSION 1.15.4)
+set(BUNDLER_HASH fad17ea3a1c15df2f2a7fcea052b35ebeab0dc87906cd762470637bef8c98472)
 set(ELASTICSEARCH_VERSION 2.4.5)
 set(ELASTICSEARCH_HASH 180353a1a65995f5e4533ff0a58f18e1e85f28ae)
 set(FLUME_VERSION 1.7.0)
@@ -92,10 +92,10 @@
 set(PHANTOMJS_HASH 1c947d57fce2f21ce0b43fe2ed7cd361)
 set(PRESTO_VERSION 0.173)
 set(PRESTO_HASH f6586ac7a5001a771342307d44b1255d)
-set(RUBY_VERSION 2.3.4)
-set(RUBY_HASH cd9808bb53824d6edb58beaadd3906cb23b987438ce75ab7bb279b2229930e2f)
-set(RUBYGEMS_VERSION 2.6.12)
-set(RUBYGEMS_HASH 2b724ce280daa4d0a0a209fe44c2bbe01dacb78b95301b35f8a6d40ce3ff05b6)
+set(RUBY_VERSION 2.3.5)
+set(RUBY_HASH f71c4b67ba1bef424feba66774dc9d4bbe02375f5787e41596bc7f923739128b)
+set(RUBYGEMS_VERSION 2.6.13)
+set(RUBYGEMS_HASH 20abbf7754b82c46aacf12c831339870f4cd1ec069d256d338f1041298badda9)
 # Hold at 8.27.0 until memory leak is fixed:
 # https://github.com/rsyslog/rsyslog/issues/1668
 set(RSYSLOG_VERSION 8.27.0)


fix Friday bug

fix Friday bug

--- cmake/LibraryProjectSetup.cmake
+++ cmake/LibraryProjectSetup.cmake
@@ -152,6 +152,7 @@

   # libraries
   install(TARGETS ${COMPONENT}
+    EXPORT ${PROJECT_NAME}Targets
     RUNTIME DESTINATION bin
     ARCHIVE DESTINATION ${CMAKE_INSTALL_LIBDIR}
     LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR})


Fix minor semantic issue in find module

Fix minor semantic issue in find module

--- cmake/Modules/FindGEngine.cmake
+++ cmake/Modules/FindGEngine.cmake
@@ -33,7 +33,7 @@
 	   DOC "GEngine library name"
 	)
 	MARK_AS_ADVANCED(GENGINE_INCLUDE_DIR GENGINE_LIBRARIES)
-endif(NOT GENGINE_INCLUDE_DIR AND GENGINE_LIBRARIES)
+endif(NOT GENGINE_INCLUDE_DIR OR NOT GENGINE_LIBRARIES)

 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(GEngine DEFAULT_MSG GENGINE_INCLUDE_DIR GENGINE_LIBRARIES)


Houdini 19 uses VDB ABI 8

Houdini 19 uses VDB ABI 8

Signed-off-by: Nick Avramoussis <ce9ae7fb000f2865db247e53b12753caeda92c74@users.noreply.github.com>

--- cmake/OpenVDBHoudiniSetup.cmake
+++ cmake/OpenVDBHoudiniSetup.cmake
@@ -335,6 +335,8 @@
   set(OPENVDB_HOUDINI_ABI 6)
 elseif(Houdini_VERSION_MAJOR_MINOR VERSION_EQUAL 18.5)
   set(OPENVDB_HOUDINI_ABI 7)
+elseif(Houdini_VERSION_MAJOR_MINOR VERSION_EQUAL 19.0)
+  set(OPENVDB_HOUDINI_ABI 8)
 else()
   message(WARNING "Unknown version of Houdini, assuming OpenVDB ABI=8, "
     "but if this not correct, the CMake flag -DOPENVDB_HOUDINI_ABI=<N> can override this value.")


Fixed exporting XLink when not using a local version

--- cmake/depthaiDependencies.cmake
+++ cmake/depthaiDependencies.cmake
@@ -61,11 +61,11 @@
         add_subdirectory("${DEPTHAI_XLINK_LOCAL}" ${CMAKE_CURRENT_BINARY_DIR}/XLink)
         set(BUILD_SHARED_LIBS "${_BUILD_SHARED_LIBS_SAVED}")
         unset(_BUILD_SHARED_LIBS_SAVED)
+        if(NOT BUILD_SHARED_LIBS)
+            list(APPEND targets_to_export XLink)
+        endif()
     else()
         find_package(XLink ${_QUIET} CONFIG REQUIRED)
-    endif()
-    if(NOT BUILD_SHARED_LIBS)
-        list(APPEND targets_to_export XLink)
     endif()
 endif()


Support global property ZORBA_PROJECT_UNAVAILABLE so non-core modules can inform Zorba build that they failed to find their dependencies.

--- cmake_modules/ZorbaModule.cmake
+++ cmake_modules/ZorbaModule.cmake
@@ -719,13 +719,20 @@
   # Now, do things that should be done at the end of *any* project, not
   # just the top-level project.

-  # Generate project's projectConfig.cmake file.
+  # Generate project's projectConfig.cmake file, unless the project told
+  # us not to by setting the global property ZORBA_PROJECT_UNAVAILABLE to true.
   # QQQ need to create an installable version of this too, once we know
   # how installing a module package should work.
-  GET_PROPERTY (ZORBA_MODULE_LIBRARIES
-    GLOBAL PROPERTY "${PROJECT_NAME}_LIBRARIES")
-  CONFIGURE_FILE("${Zorba_EXTERNALMODULECONFIG_FILE}"
-    "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @ONLY)
+  GET_PROPERTY (_unavailable GLOBAL PROPERTY ZORBA_PROJECT_UNAVAILABLE)
+  IF (NOT _unavailable)
+    GET_PROPERTY (ZORBA_MODULE_LIBRARIES
+      GLOBAL PROPERTY "${PROJECT_NAME}_LIBRARIES")
+    CONFIGURE_FILE("${Zorba_EXTERNALMODULECONFIG_FILE}"
+      "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @ONLY)
+  ELSE (NOT _unavailable)
+    # Reset this variable so next project will still work
+    SET_PROPERTY (GLOBAL PROPERTY ZORBA_PROJECT_UNAVAILABLE)
+  ENDIF (NOT _unavailable)

 ENDMACRO (DONE_DECLARING_ZORBA_URIS)


Protobuf 2.4.1-p0

Protobuf 2.4.1-p0

--- cmake/projects/Protobuf/hunter.cmake
+++ cmake/projects/Protobuf/hunter.cmake
@@ -78,6 +78,16 @@
     URL "https://github.com/hunter-packages/protobuf/archive/v3.5.2-p0.tar.gz"
     SHA1 "0c1eacb460266dea7cd18c2009642fa192c15b70")

+hunter_add_version(
+    PACKAGE_NAME Protobuf
+    VERSION "2.4.1-p0"
+    URL "https://github.com/hunter-packages/protobuf/archive/v2.4.1-p0.tar.gz"
+    SHA1 "c57c846131f804622057d83bf44144c179613e44")
+
+string(
+    COMPARE EQUAL "${CMAKE_SYSTEM_NAME}" "WindowsStore" _hunter_windows_store
+)
+
 if(ANDROID OR IOS)
   hunter_cmake_args(
       Protobuf
@@ -85,12 +95,20 @@
         protobuf_BUILD_TESTS=OFF
         protobuf_BUILD_PROTOC=OFF
   )
+elseif(_hunter_windows_store)
+  hunter_cmake_args(
+      Protobuf
+      CMAKE_ARGS
+        protobuf_BUILD_TESTS=OFF
+        protobuf_BUILD_PROTOC=OFF
+        protobuf_MSVC_STATIC_RUNTIME=OFF # Do not force static runtime
+  )
 elseif(MSVC)
   hunter_cmake_args(
       Protobuf
       CMAKE_ARGS
         protobuf_BUILD_TESTS=OFF
-        protobuf_MSVC_STATIC_RUNTIME=OFF # Do not forece static runtime
+        protobuf_MSVC_STATIC_RUNTIME=OFF # Do not force static runtime
   )
 else()
   hunter_cmake_args(
@@ -99,6 +117,7 @@
         protobuf_BUILD_TESTS=OFF
   )
 endif()
+
 hunter_pick_scheme(DEFAULT url_sha1_cmake)
 hunter_cacheable(Protobuf)
 hunter_download(PACKAGE_NAME Protobuf)


Fix typo in FreeCadMacros.cmake

Fix typo in FreeCadMacros.cmake

--- cMake/FreeCadMacros.cmake
+++ cMake/FreeCadMacros.cmake
@@ -103,15 +103,15 @@
 		 endif(CMAKE_CFG_INTDIR STREQUAL .)
 		 file(TO_NATIVE_PATH ${SOURCE_PATHS} NATIVE_SOURCE)
 		 file(TO_NATIVE_PATH ${DEBUG_LOCAL_OUTPUT_PATH}/ NATIVE_DEBUG_DESTINATION)
-		 file(TO_NATIVE_PATH ${RELEASE_LOCAL_OUTPUT_PATH}/ NATIVE_RELESE_DESTINATION)
+		 file(TO_NATIVE_PATH ${RELEASE_LOCAL_OUTPUT_PATH}/ NATIVE_RELEASE_DESTINATION)
 		 message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}")
 		 execute_process(
 		 		 COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}
 		 		 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 		 if(NOT ${DEBUG_LOCAL_OUTPUT_PATH} STREQUAL ${RELEASE_LOCAL_OUTPUT_PATH})
-		 		 message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}")
+		 		 message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELEASE_DESTINATION}")
 		 		 execute_process(
-		 		 		 COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}
+		 		 		 COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELEASE_DESTINATION}
 		 		 		 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 		 endif(NOT ${DEBUG_LOCAL_OUTPUT_PATH} STREQUAL ${RELEASE_LOCAL_OUTPUT_PATH})
 endmacro(copy_to_local_output_paths)
@@ -119,15 +119,15 @@
 macro(copy_to_main_output_paths SOURCE_PATHS)
 		 file(TO_NATIVE_PATH ${SOURCE_PATHS} NATIVE_SOURCE)
 		 file(TO_NATIVE_PATH ${DEBUG_MAIN_OUTPUT_PATH}/ NATIVE_DEBUG_DESTINATION)
-		 file(TO_NATIVE_PATH ${RELEASE_MAIN_OUTPUT_PATH}/ NATIVE_RELESE_DESTINATION)
+		 file(TO_NATIVE_PATH ${RELEASE_MAIN_OUTPUT_PATH}/ NATIVE_RELEASE_DESTINATION)
 		 message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}")
 		 execute_process(
 		 		 COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_DEBUG_DESTINATION}
 		 		 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 		 if(NOT ${DEBUG_MAIN_OUTPUT_PATH} STREQUAL ${RELEASE_MAIN_OUTPUT_PATH})
-		 		 message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}")
+		 		 message(STATUS "${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELEASE_DESTINATION}")
 		 		 execute_process(
-		 		 		 COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELESE_DESTINATION}
+		 		 		 COMMAND ${PLATFORM_CP} ${NATIVE_SOURCE} ${NATIVE_RELEASE_DESTINATION}
 		 		 		 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
 		 endif(NOT ${DEBUG_MAIN_OUTPUT_PATH} STREQUAL ${RELEASE_MAIN_OUTPUT_PATH})
 endmacro(copy_to_main_output_paths)
@@ -146,12 +146,10 @@
     file(TO_NATIVE_PATH "${OUTPUT_PATH}" OUTPUT_NATIVE_PATH)
     if(NOT EXISTS "${SOURCE_CPP_PATH}")
         # assures the source files are generated at least once
-
         execute_process(COMMAND "${PYTHON_EXECUTABLE}" "${TOOL_NATIVE_PATH}" --outputPath "${OUTPUT_NATIVE_PATH}" "${SOURCE_NATIVE_PATH}"
                         WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}"
         )
     endif()
-
     add_custom_command(
         OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.h" "${CMAKE_CURRENT_BINARY_DIR}/${BASE_NAME}.cpp"
         COMMAND ${PYTHON_EXECUTABLE} "${TOOL_NATIVE_PATH}" --outputPath "${OUTPUT_NATIVE_PATH}" ${BASE_NAME}.xml


Clean up and improve "COPY_IF_DIFFERENT" CMake macro


Quote variable expansion in Python macros

--- conf/sprokit-macro-python.cmake
+++ conf/sprokit-macro-python.cmake
@@ -54,11 +54,11 @@
   REGULAR_EXPRESSION ".*\\.py$")

 macro (_sprokit_create_safe_modpath modpath result)
-  string(REPLACE "/" "." ${result} ${modpath})
+  string(REPLACE "/" "." "${result}" "${modpath}")
 endmacro ()

 function (sprokit_add_python_library name modpath)
-  _sprokit_create_safe_modpath(${modpath} safe_modpath)
+  _sprokit_create_safe_modpath("${modpath}" safe_modpath)

   set(library_subdir "/${sprokit_python_subdir}")
   set(library_subdir_suffix "/${modpath}")
@@ -66,27 +66,26 @@

   set(no_export ON)

-  sprokit_add_library(python-${safe_modpath}-${name} SHARED
+  sprokit_add_library("python-${safe_modpath}-${name}" SHARED
     ${ARGN})

-  set(pysuffix ${CMAKE_SHARED_MODULE_SUFFIX})
-
+  set(pysuffix "${CMAKE_SHARED_MODULE_SUFFIX}")
   if (WIN32)
     set(pysuffix .pyd)
   endif ()

-  set_target_properties(python-${safe_modpath}-${name}
+  set_target_properties("python-${safe_modpath}-${name}"
     PROPERTIES
-      OUTPUT_NAME ${name}
+      OUTPUT_NAME "${name}"
       PREFIX      ""
-      SUFFIX      ${pysuffix})
+      SUFFIX      "${pysuffix}")

   add_dependencies(python
-    python-${safe_modpath}-${name})
+    "python-${safe_modpath}-${name}")
 endfunction ()

 function (_sprokit_add_python_module path modpath module)
-  _sprokit_create_safe_modpath(${modpath} safe_modpath)
+  _sprokit_create_safe_modpath("${modpath}" safe_modpath)

   set(python_sitepath)
   set(python_arch arch)
@@ -99,23 +98,23 @@
       set(python_sitepath /site-packages)
       set(python_arch noarch)
     else ()
-      set(python_install_path lib${LIB_SUFFIX})
+      set(python_install_path "lib${LIB_SUFFIX}")
     endif ()
   endif ()

-  sprokit_configure_file(python-module-${python_arch}-${safe_modpath}-${module}
+  sprokit_configure_file("python-module-${python_arch}-${safe_modpath}-${module}"
     "${path}"
     "${sprokit_python_output_path}${sitepath}/${modpath}/${module}.py"
     PYTHON_EXECUTABLE)

   foreach (config ${CMAKE_CONFIGURATION_TYPES})
-    sprokit_configure_file(python-module-${python_arch}-${safe_modpath}-${module}-${config}
+    sprokit_configure_file("python-module-${python_arch}-${safe_modpath}-${module}-${config}"
       "${path}"
       "${sprokit_python_output_path}/${config}${sitepath}/${modpath}/${module}.py"
       PYTHON_EXECUTABLE)

     add_dependencies(python
-      python-module-${python_arch}-${safe_modpath}-${module}-${config})
+      "python-module-${python_arch}-${safe_modpath}-${module}-${config}")
   endforeach ()

   sprokit_install(
@@ -124,7 +123,7 @@
     COMPONENT   runtime)

   add_dependencies(python
-    python-module-${python_arch}-${safe_modpath}-${module})
+    "python-module-${python_arch}-${safe_modpath}-${module}")

   if (python_both_arch)
     set(python_both_arch)
@@ -134,20 +133,20 @@
     if (NOT WIN32)
       _sprokit_add_python_module(
         "${path}"
-        ${modpath}
-        ${module})
+        "${modpath}"
+        "${module}")
     endif ()
   endif ()
 endfunction ()

 function (sprokit_add_python_module path modpath module)
   _sprokit_add_python_module("${path}"
-    ${modpath}
-    ${module})
+    "${modpath}"
+    "${module}")
 endfunction ()

 function (sprokit_create_python_init modpath)
-  _sprokit_create_safe_modpath(${modpath} safe_modpath)
+  _sprokit_create_safe_modpath("${modpath}" safe_modpath)

   set(init_template "${CMAKE_CURRENT_BINARY_DIR}/${safe_modpath}.__init__.py")

@@ -164,12 +163,12 @@
   endforeach ()

   _sprokit_add_python_module("${init_template}"
-    ${modpath}
+    "${modpath}"
     __init__)
 endfunction ()

 function (sprokit_create_python_plugin_init modpath)
-  _sprokit_create_safe_modpath(${modpath} safe_modpath)
+  _sprokit_create_safe_modpath("${modpath}" safe_modpath)

   set(init_template "${CMAKE_CURRENT_BINARY_DIR}/${safe_modpath}.__init__.py")

@@ -185,6 +184,6 @@
     "__path__ = extend_path(__path__, __name__)\n")

   _sprokit_add_python_module("${init_template}"
-    ${modpath}
+    "${modpath}"
     __init__)
 endfunction ()


Fix copyright header.

Fix copyright header.

--- tests/ItemHasPropertyContainingValue.cmake
+++ tests/ItemHasPropertyContainingValue.cmake
@@ -1,5 +1,7 @@
-# /tests/ItemHasPropertyContainingValue.cmake
-# Check the _item_has_property_with_value matcher.
+# /tests/ItemHasPropertyContainingValueGlobal.cmake
+# Check the _item_has_property_with_value matcher with GLOBAL properties
+#
+# See LICENCE.md for Copyright information.

 include (${CMAKE_UNIT_DIRECTORY}/CMakeUnit.cmake)


git-svn-id: svn://scm.gforge.inria.fr/svn/openvibe@1802 c330d7e9-fc0c-0410-a5b3-fd85c6f5aa8f

--- cmake-modules/FindThirdPartyVRPN.cmake
+++ cmake-modules/FindThirdPartyVRPN.cmake
@@ -3,11 +3,13 @@
 # Adds library to target
 # Adds include path
 # ---------------------------------
+FIND_PATH(PATH_VRPN include/vrpn_BaseClass.h PATHS $ENV{OV_DEP_VRPN} $ENV{VRPN_ROOT} NO_DEFAULT_PATH)
 FIND_PATH(PATH_VRPN include/vrpn_BaseClass.h PATHS $ENV{OV_DEP_VRPN} $ENV{VRPN_ROOT})
 IF(PATH_VRPN)
 	MESSAGE(STATUS "  Found VRPN...")
 	INCLUDE_DIRECTORIES(${PATH_VRPN}/include)

+	FIND_LIBRARY(LIB_VRPN vrpn PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
 	FIND_LIBRARY(LIB_VRPN vrpn PATHS ${PATH_VRPN}/lib)
 	IF(LIB_VRPN)
 		MESSAGE(STATUS "    [  OK  ] lib ${LIB_VRPN}")
@@ -17,6 +19,7 @@
 	ENDIF(LIB_VRPN)

 	IF(UNIX)
+		FIND_LIBRARY(LIB_VRPNSERVER vrpnserver PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
 		FIND_LIBRARY(LIB_VRPNSERVER vrpnserver PATHS ${PATH_VRPN}/lib)
 		IF(LIB_VRPNSERVER)
 			MESSAGE(STATUS "    [  OK  ] lib ${LIB_VRPNSERVER}")
@@ -26,6 +29,7 @@
 		ENDIF(LIB_VRPNSERVER)
 	ENDIF(UNIX)

+	FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib NO_DEFAULT_PATH)
 	FIND_LIBRARY(LIB_QUAT quat PATHS ${PATH_VRPN}/lib)
 	IF(LIB_QUAT)
 		MESSAGE(STATUS "    [  OK  ] lib ${LIB_QUAT}")


cmake: PythonInterp: Fixed a bug related to python detection

Fixed #11980, a bug where a build failure occured when 'python' was
not on path.

There was a bug in the implementation where it failed to detect that
'python' was not on path. This is now fixed.

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

--- cmake/backports/FindPythonInterp.cmake
+++ cmake/backports/FindPythonInterp.cmake
@@ -54,7 +54,7 @@
 # and choose it if it does. This gives this executable the highest
 # priority, which is expected behaviour.
 find_program(PYTHON_EXECUTABLE python)
-if(NOT (${PYTHON_EXECUTABLE} STREQUAL FIND_PY-NOTFOUND))
+if(NOT (${PYTHON_EXECUTABLE} STREQUAL PYTHON_EXECUTABLE-NOTFOUND))
   determine_python_version(${PYTHON_EXECUTABLE} ver)
   if(${ver} VERSION_LESS PythonInterp_FIND_VERSION)
 	# We didn't find the correct version on path, so forget about it


Do not use pedantic when cuda support is enabled

nvcc generates code that produces a lot of warnings when pedantic is used.
Since the code is generated by nvcc there is nothing we can do about it except
not using pedantic.

--- cmake/configure/configure_1_cuda.cmake
+++ cmake/configure/configure_1_cuda.cmake
@@ -115,6 +115,12 @@
   #
   ADD_FLAGS(DEAL_II_CUDA_FLAGS "${DEAL_II_CXX_VERSION_FLAG}")

+  # We cannot use -pedantic as compiler flags. nvcc generates code that
+  # produces a lot of warnings when pedantic is enabled. So filter out the
+  # flag:
+  #
+  STRING(REPLACE "-pedantic" "" DEAL_II_CXX_FLAGS "${DEAL_II_CXX_FLAGS}")
+
   #
   # Export definitions:
   #


update(build): update libs version for 0.31 release.

Signed-off-by: Federico Di Pierro <6c3e26470d5343bb7a522873746c21bb7fcc0d20@gmail.com>

--- cmake/modules/falcosecurity-libs.cmake
+++ cmake/modules/falcosecurity-libs.cmake
@@ -24,8 +24,8 @@
   # default below In case you want to test against another falcosecurity/libs version just pass the variable - ie., `cmake
   # -DFALCOSECURITY_LIBS_VERSION=dev ..`
   if(NOT FALCOSECURITY_LIBS_VERSION)
-    set(FALCOSECURITY_LIBS_VERSION "4de7ad2857fb55439eb10455aacd1d262b70551b")
-    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=3769e410fc0e31d5c7c37f33a7a73dfe52418a850d8f166fbafc67a723c619b6")
+    set(FALCOSECURITY_LIBS_VERSION "319368f1ad778691164d33d59945e00c5752cd27")
+    set(FALCOSECURITY_LIBS_CHECKSUM "SHA256=2cf44f06a282e8cee7aa1f775a08ea94c06e275faaf0636b21eb06af28cf4b3f")
   endif()

   # cd /path/to/build && cmake /path/to/source


version to find is 1.0.0

version to find is 1.0.0

--- cmake/modules/FindLibKVkontakte.cmake
+++ cmake/modules/FindLibKVkontakte.cmake
@@ -66,13 +66,13 @@
       PKGCONFIG(libkvkontakte _VKONTAKTEIncDir _VKONTAKTELinkDir _VKONTAKTELinkFlags _VKONTAKTECflags)

       IF(_VKONTAKTELinkFlags)
-        # query pkg-config asking for a libkvkontakte >= 0.1.0
-        EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=0.1.0 libkvkontakte RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
+        # query pkg-config asking for a libkvkontakte >= 1.0.0
+        EXEC_PROGRAM(${PKGCONFIG_EXECUTABLE} ARGS --atleast-version=1.0.0 libkvkontakte RETURN_VALUE _return_VALUE OUTPUT_VARIABLE _pkgconfigDevNull )
         IF(_return_VALUE STREQUAL "0")
-            MESSAGE(STATUS "Found libkvkontakte release >= 0.1.0")
+            MESSAGE(STATUS "Found libkvkontakte release >= 1.0.0")
             SET(VKONTAKTE_VERSION_GOOD_FOUND TRUE)
         ELSE(_return_VALUE STREQUAL "0")
-            MESSAGE(STATUS "Found libkvkontakte release < 0.1.0, too old")
+            MESSAGE(STATUS "Found libkvkontakte release < 1.0.0, too old")
             SET(VKONTAKTE_VERSION_GOOD_FOUND FALSE)
             SET(VKONTAKTE_FOUND FALSE)
         ENDIF(_return_VALUE STREQUAL "0")


Revert duplicate check for DragonFly BSD

Summary: Revert duplicate check for DragonFly BSD

Submitted by tuxillo.

Reviewers: krytarowski

Reviewed By: krytarowski

Subscribers: mgorny, llvm-commits

Tags: #llvm

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

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -138,7 +138,6 @@
 # Pass -Wl,-z,defs. This makes sure all symbols are defined. Otherwise a DSO
 # build might work on ELF but fail on MachO/COFF.
 if(NOT (${CMAKE_SYSTEM_NAME} MATCHES "Darwin" OR WIN32 OR CYGWIN OR
-        ${CMAKE_SYSTEM_NAME} MATCHES "DragonFly" OR
         ${CMAKE_SYSTEM_NAME} MATCHES "FreeBSD" OR
 	${CMAKE_SYSTEM_NAME} MATCHES "OpenBSD" OR
 	${CMAKE_SYSTEM_NAME} MATCHES "DragonFly") AND


Fix -fuse-ld feature detection error.

Fix -fuse-ld feature detection error.

check_cxx_compiler_flag doesn't seem to try to link a program, so
the existing code doesn't correctly detect the availability of a given
linker.  This patch uses check_cxx_source_compiles instead.

I confirmed that cmake now reports this error

  Host compiler does not support '-fuse-ld=foo'

for -DLLVM_USE_LINKER=foo.

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

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -194,10 +194,13 @@
 endif()

 if( LLVM_USE_LINKER )
-  check_cxx_compiler_flag("-fuse-ld=${LLVM_USE_LINKER}" CXX_SUPPORTS_CUSTOM_LINKER)
+  set(OLD_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+  set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -fuse-ld=${LLVM_USE_LINKER}")
+  check_cxx_source_compiles("int main() { return 0; }" CXX_SUPPORTS_CUSTOM_LINKER)
   if ( NOT CXX_SUPPORTS_CUSTOM_LINKER )
 	  message(FATAL_ERROR "Host compiler does not support '-fuse-ld=${LLVM_USE_LINKER}'")
   endif()
+  set(CMAKE_REQUIRED_FLAGS ${OLD_CMAKE_REQUIRED_FLAGS})
   append("-fuse-ld=${LLVM_USE_LINKER}"
     CMAKE_EXE_LINKER_FLAGS CMAKE_MODULE_LINKER_FLAGS CMAKE_SHARED_LINKER_FLAGS)
 endif()


Removing unnecessary lines from the BGQ GNU toolchain file, but it unfortunately still contains a hardcoded path to Jeff's LAPACK installation...

--- cmake/toolchains/BGQ-gnu-netlib.cmake
+++ cmake/toolchains/BGQ-gnu-netlib.cmake
@@ -53,6 +53,4 @@

 ##############################################################

-set(BLAS_LIB   "-L/home/xajhammond/LAPACK -lblas_BGQ_GNU")
-set(LAPACK_LIB "-L/home/xajhammond/LAPACK -llapack_BGQ_GNU")
-set(MATH_LIBS  "-L/home/xajhammond/LAPACK -llapack_BGQ_GNU -lblas_BGQ_GNU -lgfortran -lm")
+set(MATH_LIBS "-L/home/xajhammond/LAPACK -llapack_BGQ_GNU -lblas_BGQ_GNU -lgfortran -lm")


Closes #114 and closes #117.

Closes #114 and closes #117.

--- ios.toolchain.cmake
+++ ios.toolchain.cmake
@@ -204,6 +204,10 @@
   message(FATAL_ERROR "PLATFORM argument not set. Bailing configure since I don't know what target you want to build for!")
 endif ()

+if(PLATFORM MATCHES ".*COMBINED" AND NOT CMAKE_GENERATOR MATCHES "Xcode")
+  message(FATAL_ERROR "The combined builds support requires Xcode to be used as generator via '-G Xcode' command-line argument in CMake")
+endif()
+
 # Safeguard that the platform value is set and is one of the supported values
 list(FIND _supported_platforms ${PLATFORM} contains_PLATFORM)
 if("${contains_PLATFORM}" EQUAL "-1")
@@ -276,6 +280,8 @@
   if(NOT ARCHS)
     set(ARCHS armv7 armv7s arm64)
     set(APPLE_TARGET_TRIPLE_INT arm-apple-ios$${DEPLOYMENT_TARGET})
+  else()
+    set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET})
   endif()
 elseif(PLATFORM_INT STREQUAL "OS64")
   set(SDK_NAME iphoneos)
@@ -285,7 +291,7 @@
     else()
       set(ARCHS arm64)
     endif()
-    set(APPLE_TARGET_TRIPLE_INT arm64-apple-ios${DEPLOYMENT_TARGET})
+    set(APPLE_TARGET_TRIPLE_INT aarch64-apple-ios${DEPLOYMENT_TARGET})
   else()
     set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET})
   endif()
@@ -306,7 +312,7 @@
         set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphoneos*] "arm64")
         set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=iphonesimulator*] "x86_64")
       endif()
-      set(APPLE_TARGET_TRIPLE_INT arm64-x86_64-apple-ios${DEPLOYMENT_TARGET})
+      set(APPLE_TARGET_TRIPLE_INT aarch64-x86_64-apple-ios${DEPLOYMENT_TARGET})
     else()
       set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET})
     endif()
@@ -334,7 +340,7 @@
   set(SDK_NAME iphonesimulator)
   if(NOT ARCHS)
     set(ARCHS arm64)
-    set(APPLE_TARGET_TRIPLE_INT arm64-apple-ios${DEPLOYMENT_TARGET}-simulator)
+    set(APPLE_TARGET_TRIPLE_INT aarch64-apple-ios${DEPLOYMENT_TARGET}-simulator)
   else()
     set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-ios${DEPLOYMENT_TARGET}-simulator)
   endif()
@@ -342,7 +348,7 @@
   set(SDK_NAME appletvos)
   if(NOT ARCHS)
     set(ARCHS arm64)
-    set(APPLE_TARGET_TRIPLE_INT arm64-apple-tvos${DEPLOYMENT_TARGET})
+    set(APPLE_TARGET_TRIPLE_INT aarch64-apple-tvos${DEPLOYMENT_TARGET})
   else()
     set(APPLE_TARGET_TRIPLE_INT ${ARCHS_SPLIT}-apple-tvos${DEPLOYMENT_TARGET})
   endif()
@@ -351,7 +357,7 @@
   if(MODERN_CMAKE)
     if(NOT ARCHS)
       set(ARCHS arm64 x86_64)
-      set(APPLE_TARGET_TRIPLE_INT arm64-x86_64-apple-tvos${DEPLOYMENT_TARGET})
+      set(APPLE_TARGET_TRIPLE_INT aarch64-x86_64-apple-tvos${DEPLOYMENT_TARGET})
       set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=appletvos*] "arm64")
       set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=appletvsimulator*] "x86_64")
       set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=appletvos*] "arm64")
@@ -375,7 +381,7 @@
   if(NOT ARCHS)
     if (XCODE_VERSION_INT VERSION_GREATER 10.0)
       set(ARCHS armv7k arm64_32)
-      set(APPLE_TARGET_TRIPLE_INT arm64_32-apple-watchos${DEPLOYMENT_TARGET})
+      set(APPLE_TARGET_TRIPLE_INT aarch64_32-apple-watchos${DEPLOYMENT_TARGET})
     else()
       set(ARCHS armv7k)
       set(APPLE_TARGET_TRIPLE_INT arm-apple-watchos${DEPLOYMENT_TARGET})
@@ -389,7 +395,7 @@
     if(NOT ARCHS)
       if (XCODE_VERSION_INT VERSION_GREATER 10.0)
         set(ARCHS armv7k arm64_32 i386)
-        set(APPLE_TARGET_TRIPLE_INT arm64_32-i386-apple-watchos${DEPLOYMENT_TARGET})
+        set(APPLE_TARGET_TRIPLE_INT aarch64_32-i386-apple-watchos${DEPLOYMENT_TARGET})
         set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchos*] "armv7k arm64_32")
         set(CMAKE_XCODE_ATTRIBUTE_ARCHS[sdk=watchsimulator*] "i386")
         set(CMAKE_XCODE_ATTRIBUTE_VALID_ARCHS[sdk=watchos*] "armv7k arm64_32")
@@ -731,7 +737,7 @@
 endif()

 if(PLATFORM_INT MATCHES "^MAC_CATALYST")
-  set(C_TARGET_FLAGS "-target ${APPLE_TARGET_TRIPLE_INT} -isystem ${CMAKE_OSX_SYSROOT_INT}/System/iOSSupport/usr/include -iframework ${CMAKE_OSX_SYSROOT_INT}/System/iOSSupport/System/Library/Frameworks")
+  set(C_TARGET_FLAGS "-isystem ${CMAKE_OSX_SYSROOT_INT}/System/iOSSupport/usr/include -iframework ${CMAKE_OSX_SYSROOT_INT}/System/iOSSupport/System/Library/Frameworks")
 endif()

 if(ENABLE_BITCODE_INT)
@@ -765,20 +771,24 @@
   set(VISIBILITY "-fvisibility=default")
 endif()

+if(DEFINED APPLE_TARGET_TRIPLE)
+  set(APPLE_TARGET_TRIPLE_FLAG "-target ${APPLE_TARGET_TRIPLE}")
+endif()
+
 #Check if Xcode generator is used, since that will handle these flags automagically
 if(CMAKE_GENERATOR MATCHES "Xcode")
   message(STATUS "Not setting any manual command-line buildflags, since Xcode is selected as generator.")
 else()
   # Hidden visibility is required for C++ on iOS.
-  set(CMAKE_C_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS} ${BITCODE} -fobjc-abi-version=2 ${FOBJC_ARC} ${CMAKE_C_FLAGS}")
-  set(CMAKE_CXX_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS} ${BITCODE} ${VISIBILITY} -fobjc-abi-version=2 ${FOBJC_ARC} ${CMAKE_CXX_FLAGS}")
+  set(CMAKE_C_FLAGS "${C_TARGET_FLAGS} ${APPLE_TARGET_TRIPLE_FLAG} ${SDK_NAME_VERSION_FLAGS} ${BITCODE} -fobjc-abi-version=2 ${FOBJC_ARC} ${CMAKE_C_FLAGS}")
+  set(CMAKE_CXX_FLAGS "${C_TARGET_FLAGS} ${APPLE_TARGET_TRIPLE_FLAG} ${SDK_NAME_VERSION_FLAGS} ${BITCODE} ${VISIBILITY} -fobjc-abi-version=2 ${FOBJC_ARC} ${CMAKE_CXX_FLAGS}")
   set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS} -O0 -g ${CMAKE_CXX_FLAGS_DEBUG}")
   set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS} -DNDEBUG -Os -ffast-math ${CMAKE_CXX_FLAGS_MINSIZEREL}")
   set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS} -DNDEBUG -O2 -g -ffast-math ${CMAKE_CXX_FLAGS_RELWITHDEBINFO}")
   set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS} -DNDEBUG -O3 -ffast-math ${CMAKE_CXX_FLAGS_RELEASE}")
   set(CMAKE_C_LINK_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS} -Wl,-search_paths_first ${CMAKE_C_LINK_FLAGS}")
   set(CMAKE_CXX_LINK_FLAGS "${C_TARGET_FLAGS} ${SDK_NAME_VERSION_FLAGS}  -Wl,-search_paths_first ${CMAKE_CXX_LINK_FLAGS}")
-  set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp -arch ${CMAKE_OSX_ARCHITECTURES}")
+  set(CMAKE_ASM_FLAGS "${CMAKE_C_FLAGS} -x assembler-with-cpp -arch ${CMAKE_OSX_ARCHITECTURES} ${APPLE_TARGET_TRIPLE_FLAG}")
 endif()

 ## Print status messages to inform of the current state


Fix compilation on Windows

Fix compilation on Windows

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -61,7 +61,8 @@
     set(DEFAULT_COMPILE_OPTIONS ${DEFAULT_COMPILE_OPTIONS}
         /MP           # -> build with multiple processes
         /W4           # -> warning level 4
-
+        /Zm114        # -> Memory size for precompiled headers
+
         $<$<CONFIG:Debug>:
         /RTCc         # -> value is assigned to a smaller data type and results in a data loss
         >


allow passing absolute INCLUDE_DIRS via catkin_package() into CMake config file in install space

--- cmake/catkin_package.cmake
+++ cmake/catkin_package.cmake
@@ -288,12 +288,12 @@
     else()
       message(FATAL_ERROR "catkin_package() include dir '${idir}' is neither an absolute directory nor exists relative to '${CMAKE_CURRENT_SOURCE_DIR}'")
     endif()
-    list(APPEND PROJECT_CMAKE_CONFIG_INCLUDE_DIRS ${include})
-    list(APPEND PROJECT_PKG_CONFIG_INCLUDE_DIRS ${include})
+    list_append_unique(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS ${include})
+    list_append_unique(PROJECT_PKG_CONFIG_INCLUDE_DIRS ${include})
   endforeach()
   if(PROJECT_DEPENDENCIES_INCLUDE_DIRS)
-    list(APPEND PROJECT_CMAKE_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
-    list(APPEND PROJECT_PKG_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
+    list_append_unique(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
+    list_append_unique(PROJECT_PKG_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
   endif()

   # prepend library path of this workspace
@@ -390,13 +390,18 @@
   # absolute path to include dir under install prefix if any include dir is set
   set(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS "")
   set(PROJECT_PKG_CONFIG_INCLUDE_DIRS "")
-  if(NOT "${PROJECT_INCLUDE_DIRS}" STREQUAL "")
-    set(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS "${CATKIN_GLOBAL_INCLUDE_DESTINATION}")
-    set(PROJECT_PKG_CONFIG_INCLUDE_DIRS "${PKG_INCLUDE_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}")
-  endif()
+  foreach(idir ${PROJECT_INCLUDE_DIRS})
+    if(IS_ABSOLUTE ${idir})
+      list_append_unique(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS "${idir}")
+      list_append_unique(PROJECT_PKG_CONFIG_INCLUDE_DIRS "${idir}")
+    else()
+      list_append_unique(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS "${CATKIN_GLOBAL_INCLUDE_DESTINATION}")
+      list_append_unique(PROJECT_PKG_CONFIG_INCLUDE_DIRS "${PKG_INCLUDE_PREFIX}/${CATKIN_GLOBAL_INCLUDE_DESTINATION}")
+    endif()
+  endforeach()
   if(PROJECT_DEPENDENCIES_INCLUDE_DIRS)
-    list(APPEND PROJECT_CMAKE_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
-    list(APPEND PROJECT_PKG_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
+    list_append_unique(PROJECT_CMAKE_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
+    list_append_unique(PROJECT_PKG_CONFIG_INCLUDE_DIRS ${PROJECT_DEPENDENCIES_INCLUDE_DIRS})
   endif()

   # prepend library path of this workspace


IntelGPU backend: Switch to new clDNN: Fixed _GLIBCXX_USE_CXX11_ABI redifinition error during ngrap-bridge build (#3049)

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

 set(CLDNN_GIT_REPO_URL https://github.com/intel/clDNN.git)
-set(CLDNN_GIT_LABEL 7cdec74c3307bbe98c5c0b7bd0e17536f60a3c12)
+set(CLDNN_GIT_LABEL 3e4b6ec092ca7c5d83ccb23bffcdf2a143127c78)
 set(OUT_DIR ${EXTERNAL_PROJECTS_ROOT}/cldnn/out)

 ExternalProject_Add(


cmake:target: massive cleanup

cmake:target: massive cleanup

--- cmake/qibuild/target.cmake
+++ cmake/qibuild/target.cmake
@@ -25,7 +25,9 @@
 # and dependencies. It help keep track of groups of sources.
 # see link:submodule.html[SubModule].
 #
+# TODO: document options that could be passed to add_executable

+include(CMakeParseArguments)

 #! Create an executable
 # The target name should be unique.
@@ -36,52 +38,48 @@
 # \flag:EXCLUDE_FROM_ALL do not include the target in the 'all' target,
 #                        this target will not be build by default, you will
 #                        to compile the target explicitely.
+# \flag:STAGE Stage the binary.
+# \flag:WIN32 Build an executable with a WinMain entry point on windows.
+# \flag:MACOSX_BUNDLE refer to the add_executable documentation.
 # \param:SUBFOLDER the destination subfolder. The install rules generated will be
 #                  sdk/bin/<subfolder>
 # \group:SRC the list of source files
+# \group:DEP the list of source files
+# \group:SUBMODULE the list of source files
 # \example:target
 function(qi_create_bin name)
-  qi_argn_flags(NO_INSTALL EXCLUDE_FROM_ALL)
-  qi_argn_params(SUBFOLDER)
-  qi_argn_groups(SRC SUBMODULE)
+  qi_debug("qi_create_bin(${name})")

-  #ARGN are sources too
-  set(qi_group_src "${argn_group_src}" "${argn_remaining}")
+  cmake_parse_arguments(ARG "NO_INSTALL;EXCLUDE_FROM_ALL;STAGE" "SUBFOLDER" "SRC;DEP;SUBMODULE" ${ARGN})
+
+  set(ARG_SRC "${ARG_UNPARSED_ARGUMENTS}" "${ARG_SRC}")
+  qi_set_global("${name}_SUBFOLDER" "${ARG_SUBFOLDER}")
+  qi_set_global("${name}_NO_INSTALL" ${ARG_NO_INSTALL})

   #no install rules can be generated for target not always built
-  if (argn_flag_exclude_from_all)
-    set(argn_flag_no_install ON)
+  if (ARG_EXCLUDE_FROM_ALL)
+    set(ARG_NO_INSTALL ON)
+    set(ARG_SRC EXCLUDE_FROM_ALL ${ARG_SRC})
   endif()

-  debug("qi_create_bin(${name}, ${argn_param_subfolder})")
-
-  add_executable("${name}" ${argn_forward_flag_exclude_from_all} "${argn_group_src}")
-
-  #TODO:qi
-  #always postfix debug lib/bin with _d
-  # if(${TARGET_ARCH} STREQUAL windows)
-  #   set_target_properties("${_name}" PROPERTIES DEBUG_POSTFIX "_d")
-  # endif()
-  qi_set_global("${name}_SUBFOLDER" "${argn_param_subfolder}")
-  debug("qi_create_bin: ${name} will not be installed")
-  qi_set_global("${name}_NO_INSTALL" ${argn_flag_no_install})
+  add_executable("${name}" ${ARG_SRC})

   #make install rules
-  if(${argn_flag_no_install})
-    install(TARGETS "${name}" RUNTIME COMPONENT binary DESTINATION ${QI_SDK_BIN}/${argn_param_subfolder})
+  if(NOT ARG_NO_INSTALL)
+    install(TARGETS "${name}" RUNTIME COMPONENT binary DESTINATION ${QI_SDK_BIN}/${ARG_SUBFOLDER})
   endif()

   #TODO:qi
-  # if(${TARGET_ARCH} STREQUAL windows)
-  #   win32_copy_target("${_name}" "${SDK_DIR}/${_SDK_BIN}/${_subfolder}")
-  #   # Be nice with VS user: generate a vcproj so that:
-  #   # -> target path is the path where the executable is copyied
-  #   # (not the place where it is compiled)
-  #   # -> PATH and PYTHONPATH are always set to nice values
-  #   configure_user_vcproj(${_name} "${SDK_DIR}/${_SDK_BIN}/${_subfolder}")
-  # else()
-  set_target_properties("${name}" PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${QI_SDK_DIR}/${QI_SDK_BIN}/${argn_param_subfolder}")
-  #endif()
+  if(WIN32)
+    set_target_properties("${name}" PROPERTIES DEBUG_POSTFIX "_d")
+    _qi_win32_copy_target("${_name}" "${SDK_DIR}/${_SDK_BIN}/${_subfolder}")
+    # Be nice with VS user: generate a vcproj so that:
+    # -> target path is the path where the executable is copyied
+    # (not the place where it is compiled)
+    # -> PATH and PYTHONPATH are always set to nice values
+    _qi_configure_user_vcproj(${_name} "${SDK_DIR}/${_SDK_BIN}/${_subfolder}")
+  endif()
+  set_target_properties("${name}" PROPERTIES RUNTIME_OUTPUT_DIRECTORY "${QI_SDK_DIR}/${QI_SDK_BIN}/${ARG_SUBFOLDER}")
 endfunction()

@@ -90,24 +88,23 @@
 # \arg:name the name of the target script
 # \arg:source the source script, that will be copied in the sdk to bin/<name>
 # \flag:NO_INSTALL do not generate install rule for the script
+# \flag:STAGE Stage the binary.
 # \param:SUBFOLDER the subfolder to install the script into in the sdk. (sdk/bin/<subfolder>)
 #
 function(qi_create_script name source)
-  qi_argn_flags(NO_INSTALL)
-  qi_argn_params(SUBFOLDER)
+  qi_debug("qi_create_script(${name})")
+  cmake_parse_arguments(ARG "NO_INSTALL" "SUBFOLDER" "" ${ARGN})

-  debug("qi_create_script(${name} ${argn_param_subfolder})")
   #TODO:
-  #copy_with_depend("${_namein}" "${_SDK_BIN}/${_subfolder}/${_name}")
-  qi_set_global("${name}_SUBFOLDER" "${argn_param_subfolder}")
-  qi_set_global("${name}_NO_INSTALL" ${argn_flag_no_install})
+  _qi_copy_file("${source}" "${_SDK_BIN}/${ARG_SUBFOLDER}/${name}")
+  qi_set_global("${name}_SUBFOLDER" "${ARG_SUBFOLDER}")
+  qi_set_global("${name}_NO_INSTALL" ${ARG_NO_INSTALL})

   #make install rules
-  if (${argn_flag_no_install})
-    #TODO:
-    install(PROGRAMS    "${SDK_DIR}/${_SDK_BIN}/${_subfolder}/${_name}"
+  if (NOT ARG_NO_INSTALL)
+    install(PROGRAMS    "${QI_SDK_DIR}/${QI_SDK_BIN}/${ARG_SUBFOLDER}/${name}"
             COMPONENT   binary
-            DESTINATION "${_SDK_BIN}")
+            DESTINATION "${QI_SDK_BIN}/${ARG_SUBFOLDER}")
   endif()
 endfunction()

@@ -122,76 +119,73 @@
 # \flag:EXCLUDE_FROM_ALL do not include the target in the 'all' target,
 #                        this target will not be build by default, you will
 #                        to compile the target explicitely.
+# \flag:NO_STAGE do not stage the librarie.
 # \param:SUBFOLDER the destination subfolder. The install rules generated will be
 #                  sdk/bin/<subfolder>
-# \group:SRC the list of source files
+# \group:SRC the list of source files (private headers and sources)
+# \group:PUBLIC_HEADER list of public headers that should be installed with the lib
+# \group:RESOURCE the list of OSX resources
+# \group:SUBMODULE submodule to include in the lib
+# \group:DEP list of dependencies
 # \example:target
 function(qi_create_lib name)
-  #TODO: what is NOBINDLL?
-  qi_argn_flags(NO_INSTALL NOBINDLL)
-  qi_argn_params(SUBFOLDER)
-  qi_argn_groups(SRC HEADER RESOURCE)
+  cmake_parse_arguments(ARG "NOBINDLL;NO_INSTALL;NO_STAGE" "SUBFOLDER" "SRC;PUBLIC_HEADER;RESOURCE;SUBMODULE;DEP" ${ARGN})

-  debug("qi_create_lib(${name} ${argn_param_subfolder})")
+  if (ARG_NOBINDLL)
+    qi_warning("Unhandled : NOBINDLL")
+  endif()
+  qi_debug("qi_create_lib(${name} ${ARG_SUBFOLDER})")

+  #ARGN are sources too
+  set(ARG_SRC "${ARG_UNPARSED_ARGUMENTS}" "${ARG_SRC}" "${ARG_PUBLIC_HEADER}")

-  #TODO: handle static/shared
-  set(${_name}_NO_INSTALL CACHE INTERNAL "" FORCE)
+  qi_set_global("${name}_SUBFOLDER" "${ARG_SUBFOLDER}")
+  qi_set_global("${name}_NO_INSTALL" ${ARG_NO_INSTALL})

-  add_library("${_name}" ${_args} ${_src} ${_header})
-  #always postfix debug lib/bin with _d
-  if (${TARGET_ARCH} STREQUAL windows)
-    set_target_properties("${_name}" PROPERTIES DEBUG_POSTFIX "_d")
-  endif (${TARGET_ARCH} STREQUAL windows)
-
-  #by default dll under windows goes in bin
-  #everything else goes into lib
-  if (_is_nobinwin)
-    set(_binlib "${_SDK_LIB}")
-  else (_is_nobinwin)
-    get_target_property(_ttype ${_name} "TYPE")
-    if (_ttype STREQUAL "STATIC_LIBRARY")
-      set(_binlib "${_SDK_LIB}")
-    else (_ttype STREQUAL "STATIC_LIBRARY")
-      set(_binlib "${_SDK_BIN}")
-    endif (_ttype STREQUAL "STATIC_LIBRARY")
-  endif (_is_nobinwin)
-
-  set(${_name}_SUBFOLDER ${_subfolder} CACHE INTERNAL "" FORCE)
-  if (_res)
-    set_target_properties("${_name}" PROPERTIES RESOURCE      "${_res}")
-  endif (_res)
-  if (_header)
-    set_target_properties("${_name}" PROPERTIES PUBLIC_HEADER "${_header}")
-  endif (_header)
-
-  #under win32 bin/lib goes into /Release and /Debug => change that
-  if (${TARGET_ARCH} STREQUAL windows)
-    win32_copy_target("${_name}" "${SDK_DIR}/${_binlib}/${_subfolder}")
-  else (${TARGET_ARCH} STREQUAL windows)
-    set_target_properties("${_name}"
-      PROPERTIES
-        RUNTIME_OUTPUT_DIRECTORY ${SDK_DIR}/${_binlib}/${_subfolder}
-        ARCHIVE_OUTPUT_DIRECTORY ${SDK_DIR}/${_SDK_LIB}/${_subfolder}
-        LIBRARY_OUTPUT_DIRECTORY ${SDK_DIR}/${_SDK_LIB}/${_subfolder}
-      )
-  endif (${TARGET_ARCH} STREQUAL windows)
-
-  #make install rules
-  if (${_no_install})
-    debug("libbin: create_script: ${_name} not to be installed")
-    set(${_name}_NO_INSTALL TRUE CACHE INTERNAL "" FORCE)
-  else()
-    install(TARGETS "${_name}"
-            RUNTIME COMPONENT binary     DESTINATION ${_binlib}/${_subfolder}
-            LIBRARY COMPONENT lib        DESTINATION ${_SDK_LIB}/${_subfolder}
-      PUBLIC_HEADER COMPONENT header     DESTINATION ${_SDK_INCLUDE}/${_subfolder}
-     PRIVATE_HEADER COMPONENT header     DESTINATION ${_SDK_INCLUDE}/${_subfolder}
-           RESOURCE COMPONENT data       DESTINATION ${_SDK_SHARE}/${_name}/${_subfolder}
-            ARCHIVE COMPONENT static-lib DESTINATION ${_SDK_LIB}/${_subfolder})
-  endif()
-  debug("BINLIB: END create_lib: (${_name}, ${_is_nobinwin}, ${_subfolder}, src=(${_args} ${_src}) , h=(${_header}))")
-endfunction(create_lib)
+  add_library("${name}" ${ARG_SRC})

+  if (ARG_RESOURCE)
+    set_target_properties("${name}" PROPERTIES RESOURCE      "${ARG_RESOURCE}")
+  endif()
+
+  if (ARG_PUBLIC_HEADER)
+    set_target_properties("${name}" PROPERTIES PUBLIC_HEADER "${ARG_PUBLIC_HEADER}")
+  endif()
+
+  #set(_binlib ${QI_SDK_LIB})
+  #under win32 bin/lib goes into /Release and /Debug => change that
+  if (WIN32)
+    #always postfix debug lib/bin with _d
+    set_target_properties("${name}" PROPERTIES DEBUG_POSTFIX "_d")
+
+    #by default put libraries next to binaries under windows
+    get_target_property(_type ${name} "TYPE")
+    # if (_type STREQUAL "SHARED_LIBRARY")
+    #   set(_binlib "${_SDK_BIN}")
+    # endif ()
+    _qi_win32_copy_target("${name}" "${SDK_DIR}/${_binlib}/${ARG_SUBFOLDER}")
+  endif()
+
+  set_target_properties("${name}"
+    PROPERTIES
+      RUNTIME_OUTPUT_DIRECTORY ${QI_SDK_DIR}/${QI_SDK_BIN}/${ARG_SUBFOLDER}
+      ARCHIVE_OUTPUT_DIRECTORY ${QI_SDK_DIR}/${QI_SDK_LIB}/${ARG_SUBFOLDER}
+      LIBRARY_OUTPUT_DIRECTORY ${QI_SDK_DIR}/${QI_SDK_LIB}/${ARG_SUBFOLDER}
+      )
+  #endif()
+
+  #make install rules
+  if (NOT ARG_NO_INSTALL)
+    install(TARGETS "${name}"
+            RUNTIME COMPONENT binary     DESTINATION ${QI_SDK_BIN}/${ARG_SUBFOLDER}
+            LIBRARY COMPONENT lib        DESTINATION ${QI_SDK_LIB}/${ARG_SUBFOLDER}
+      PUBLIC_HEADER COMPONENT header     DESTINATION ${QI_SDK_INCLUDE}/${ARG_SUBFOLDER}
+           RESOURCE COMPONENT data       DESTINATION ${QI_SDK_SHARE}/${name}/${ARG_SUBFOLDER}
+            ARCHIVE COMPONENT static-lib DESTINATION ${QI_SDK_LIB}/${ARG_SUBFOLDER})
+  endif()
+endfunction()
+
+
+


Fix uselib to find *-config.cmake before Find*.cmake

First, we search for *-config.cmake files
generated by qiBuild, then we look
for upstream Find-*.cmake
See: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package

--- cmake/qibuild/uselib.cmake
+++ cmake/qibuild/uselib.cmake
@@ -26,9 +26,15 @@

   foreach(_pkg ${ARGN})
     string(TOUPPER ${_pkg} _U_PKG)
+    # First, we search for *-config.cmake files
+    # generated by qiBuild, then we look
+    # for upstream Find-*.cmake
+    # See: http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:find_package
     if (NOT ${_U_PKG}_SEARCHED)
-      find_package(${_pkg} NO_MODULE QUIET)
-      find_package(${_pkg} ${_is_required})
+      find_package(${_pkg} NO_MODULE)
+      if (NOT ${${_pkg}_FOUND})
+        find_package(${_pkg} ${_is_required})
+      endif()
       qi_set_global("${_U_PKG}_SEARCHED" TRUE)
     endif()


cross compile toolchain args for ios

cross compile toolchain args for ios

--- contrib/cmake/build_from_scratch.cmake
+++ contrib/cmake/build_from_scratch.cmake
@@ -168,19 +168,32 @@
         )
     endforeach()
 else()
+    if(VCPKG_CMAKE_SYSTEM_NAME STREQUAL "iOS")
+        include(${_3rdparty_vcpkg_dir}/scripts/toolchains/ios.cmake)
+        if(NOT CMAKE_OSX_SYSROOT)
+            # Probably should figure out why vcpkg doesn't set this var for arm64 ios,
+            # this is what controls cross-compiling for apple targets
+            set(CMAKE_OSX_SYSROOT "iphoneos")
+        endif()
+        set(_toolchain_cross_compile_args
+            "-DCMAKE_SYSTEM_PROCESSOR=${CMAKE_SYSTEM_PROCESSOR}"
+            "-DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}"
+            "-DCMAKE_SYSTEM_NAME=${CMAKE_SYSTEM_NAME}"
+
+        )
+        message(STATUS "Got cross args ${_toolchain_cross_compile_args}")
+    endif()
+
     foreach(_config "Debug" "Release")
         set(_build_dir "${_sdk_dir}/build-${_triplet}-${_config}")
         file(MAKE_DIRECTORY ${_build_dir})

         execute_checked_command(
             COMMAND ${_cmake}
-                ${_common_cmake_args}
                 -B ${_build_dir}
                 "-DCMAKE_BUILD_TYPE=${_config}"
-                "-DCMAKE_SYSTEM_NAME=iOS"
-                "-DCMAKE_SYSTEM_VERSION=13.0"
-                "-DCMAKE_SYSTEM_ARCHITECTURES=arm64"
-                "-DNO_READLINE=1"
+                ${_common_cmake_args}
+                ${_toolchain_cross_compile_args}
         )

         execute_checked_command(


Removed plastimatch specific code

Removed plastimatch specific code

--- cmake/FindCUDA_wrap.cmake
+++ cmake/FindCUDA_wrap.cmake
@@ -32,22 +32,12 @@
 #   This script will modify CUDA_NVCC_FLAGS if system default is not gcc-4.3
 include (nvcc-check)

-# JAS 2010.12.09
-#   Build code for all known compute capabilities by default.
-#   When developing, it is sometimes nice to turn this off in order
-#   to speed up the build processes (since you only have 1 GPU in your machine).
-set (PLM_CUDA_ALL_DEVICES ON CACHE BOOL
-  "Generate GPU code for all compute capabilities?")
-if (PLM_CUDA_ALL_DEVICES)
-  message (STATUS "CUDA Build Level: ALL Compute Capabilities")
-  set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}
-        -gencode arch=compute_10,code=sm_10
-        -gencode arch=compute_11,code=sm_11
-        -gencode arch=compute_12,code=sm_12
-        -gencode arch=compute_13,code=sm_13
-        -gencode arch=compute_20,code=sm_20
+message (STATUS "CUDA Build Level: ALL Compute Capabilities")
+set (CUDA_NVCC_FLAGS ${CUDA_NVCC_FLAGS}
+      -gencode arch=compute_10,code=sm_10
+      -gencode arch=compute_11,code=sm_11
+      -gencode arch=compute_12,code=sm_12
+      -gencode arch=compute_13,code=sm_13
+      -gencode arch=compute_20,code=sm_20
     )
-else ()
-  message (STATUS "CUDA Build Level: Build system Compute Capability ONLY!")
-endif ()


Fixed URL for GSMPI library.

Fixed URL for GSMPI library.

--- cmake/ThirdPartyMPI.cmake
+++ cmake/ThirdPartyMPI.cmake
@@ -31,7 +31,7 @@
         EXTERNALPROJECT_ADD(
             gsmpi-1.1.1
             PREFIX ${TPSRC}
-            URL http://xyloid.org/gsmpi-1.1.1.tar.bz2
+            URL ${TPURL}/gsmpi-1.1.1.tar.bz2
             URL_MD5 48a6006437e094f6cccce65dcf79f967
             DOWNLOAD_DIR ${TPSRC}
             CONFIGURE_COMMAND


Ooops, iOS build system never set the ORYOL_DEBUG define

--- cmake/ios.toolchain.cmake
+++ cmake/ios.toolchain.cmake
@@ -44,11 +44,11 @@
 # compiler flags
 set(CMAKE_CXX_FLAGS "${ORYOL_PLATFORM_DEFINES} -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 -DNDEBUG")
-set(CMAKE_CXX_FLAGS_DEBUG "-O0 -D_DEBUG_ -D_DEBUG -g")
+set(CMAKE_CXX_FLAGS_DEBUG "-O0 -D_DEBUG_ -D_DEBUG -DORYOL_DEBUG=1 -g")

-set(CMAKE_C_FLAGS "${ORYOL_PLATFORM_DEFINES} -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 -D__OSX__=1  -D__IOS__=1 -D__LINUX__=1")
+set(CMAKE_C_FLAGS "${ORYOL_PLATFORM_DEFINES} -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 -DNDEBUG")
-set(CMAKE_C_FLAGS_DEBUG "-O0 -D_DEBUG_ -D_DEBUG -g")
+set(CMAKE_C_FLAGS_DEBUG "-O0 -D_DEBUG_ -D_DEBUG -DORYOL_DEBUG=1 -g")

 set(CMAKE_EXE_LINKER_FLAGS "-ObjC -dead_strip -lstdc++ -lpthread")
 set(CMAKE_EXE_LINKER_FLAGS_DEBUG "")


On Linux, package *libcrypt* as a dependency

Some operating systems such as fedora do not have the same version
of libcrypt. We should package libcrypt so that it can be used.

This packaging method works by overriding the type of the libcrypt file
as it is seen by `get_prerequisites()` so that it will not be ignored.

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

--- projects/unix/install_dependencies.cmake
+++ projects/unix/install_dependencies.cmake
@@ -12,6 +12,16 @@
 if (qt_root)
   list(APPEND dirs ${qt_root}/lib)
 endif()
+
+# This function overrides the type of a file when `get_prerequesites()`
+# is called. We will use it so that *libcrypt* will be installed along
+# with the other libraries. Otherwise, it would be considered a system
+# library, and it would not be installed.
+function(gp_resolved_file_type_override filename type)
+  if(filename MATCHES "(.*)libcrypt(.*)")
+    set(type "other" PARENT_SCOPE)
+  endif()
+endfunction()

 message("Determining dependencies for '${exename}'")
 get_prerequisites(


ARROW-3518: Detect HOMEBREW_PREFIX automatically

It can be detected by executing `brew --prefix` if available.

Author: Kenta Murata <mrkn@mrkn.jp>

Closes #2761 from mrkn/use_brew_prefix and squashes the following commits:

1863b4e28 <Kenta Murata> Detect HOMEBREW_PREFIX automatically

--- cpp/cmake_modules/FindClangTools.cmake
+++ cpp/cmake_modules/FindClangTools.cmake
@@ -28,12 +28,21 @@
 #  CLANG_TIDY_BIN, The  path to the clang tidy binary
 #  CLANG_TIDY_FOUND, Whether clang tidy was found
 #  CLANG_FORMAT_BIN, The path to the clang format binary
-#  CLANG_TIDY_FOUND, Whether clang format was found
+#  CLANG_FORMAT_FOUND, Whether clang format was found

 if (DEFINED ENV{HOMEBREW_PREFIX})
   set(HOMEBREW_PREFIX "$ENV{HOMEBREW_PREFIX}")
 else()
-  set(HOMEBREW_PREFIX "/usr/local")
+  find_program(BREW_BIN brew)
+  if ((NOT ("${BREW_BIN}" STREQUAL "BREW_BIN-NOTFOUND")) AND APPLE)
+    execute_process(
+      COMMAND ${BREW_BIN} --prefix
+      OUTPUT_VARIABLE HOMEBREW_PREFIX
+      OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+  else()
+    set(HOMEBREW_PREFIX "/usr/local")
+  endif()
 endif()

 find_program(CLANG_TIDY_BIN


CMake: Also find netcdf_c++4

CMake: Also find netcdf_c++4

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

--- deal.II/cmake/modules/FindNETCDF.cmake
+++ deal.II/cmake/modules/FindNETCDF.cmake
@@ -39,7 +39,7 @@
 # - separate C++ and C library search
 #

-FIND_LIBRARY(NETCDF_CPLUSPLUS_LIBRARY NAMES netcdf_c++ netcdf_cpp
+FIND_LIBRARY(NETCDF_CPLUSPLUS_LIBRARY NAMES netcdf_c++ netcdf_cpp netcdf_c++4
   HINTS
     ${NETCDF_DIR}
   PATH_SUFFIXES


Set CMAKE_CUDA_COMPILER in aarch64-linux-gnu-toolchain.cmake (#18713)

CMAKE_CUDA_HOST_COMPILER will be reset if CMAKE_CUDA_COMPILER is not set as of cmake 3.17.3

See https://gitlab.kitware.com/cmake/cmake/-/issues/20826

--- ci/docker/toolchains/aarch64-linux-gnu-toolchain.cmake
+++ ci/docker/toolchains/aarch64-linux-gnu-toolchain.cmake
@@ -19,6 +19,7 @@
 set(CMAKE_SYSTEM_PROCESSOR "aarch64")
 set(CMAKE_C_COMPILER aarch64-linux-gnu-gcc)
 set(CMAKE_CXX_COMPILER aarch64-linux-gnu-g++)
+set(CMAKE_CUDA_COMPILER nvcc)
 set(CMAKE_CUDA_HOST_COMPILER aarch64-linux-gnu-gcc)
 set(CMAKE_FIND_ROOT_PATH "/usr/aarch64-linux-gnu")


Unset cached variables before computing them, #2389.

--- core/rosbuild/public.cmake
+++ core/rosbuild/public.cmake
@@ -171,6 +171,14 @@
   # speeding up the build, #2109.
   _rosbuild_time_less_than_latest_mtime(_rebuild_cache "${_rosbuild_cached_flag_time}" ${ROS_MANIFEST_LIST})
   if(_rebuild_cache)
+    # Explicitly unset all cached variables, to avoid possible accumulation
+    # across builds, #2389.
+    set(${_prefix}_INCLUDE_DIRS "" CACHE INTERNAL "")
+    set(${_prefix}_CFLAGS_OTHER "" CACHE INTERNAL "")
+    set(${_prefix}_LIBRARY_DIRS "" CACHE INTERNAL "")
+    set(${_prefix}_LIBRARIES "" CACHE INTERNAL "")
+    set(${_prefix}_LDFLAGS_OTHER "" CACHE INTERNAL "")
+
     message("[rosbuild] Cached build flags older than manifests; calling rospack to get flags")
     # Get the include dirs
     rosbuild_invoke_rospack(${PROJECT_NAME} ${_prefix} INCLUDE_DIRS cflags-only-I --deps-only)


ENH: forward superbuild compilation option to muparserx

--- SuperBuild/CMake/External_muparserx.cmake
+++ SuperBuild/CMake/External_muparserx.cmake
@@ -12,6 +12,16 @@
  list(APPEND MUPARSERX_FLAGS -DCMAKE_WINDOWS_EXPORT_ALL_SYMBOLS:BOOL=ON)
 endif()

+# forward compilation flags (muparserx has to be compile with cxx11 and muparserx CMakeLists.txt does not seem to add this flag automatically...)
+set(MUPARSERX_SB_COMPILATION_FLAGS
+   -DCMAKE_C_FLAGS:STRING=${CMAKE_C_FLAGS}
+   -DCMAKE_CXX_FLAGS:STRING=${CMAKE_CXX_FLAGS}
+   -DCMAKE_EXE_LINKER_FLAGS:STRING=${CMAKE_EXE_LINKER_FLAGS}
+   -DCMAKE_MODULE_LINKER_FLAGS:STRING=${CMAKE_MODULE_LINKER_FLAGS}
+   -DCMAKE_SHARED_LINKER_FLAGS:STRING=${CMAKE_SHARED_LINKER_FLAGS}
+   -DCMAKE_STATIC_LINKER_FLAGS:STRING=${CMAKE_STATIC_LINKER_FLAGS}
+   )
+
 ExternalProject_Add(MUPARSERX
   PREFIX MUPARSERX
   URL "https://github.com/beltoforion/muparserx/archive/v4.0.7.zip"
@@ -21,6 +31,7 @@
   DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
   CMAKE_CACHE_ARGS
   ${SB_CMAKE_CACHE_ARGS}
+  ${MUPARSERX_SB_COMPILATION_FLAGS}
   ${MUPARSERX_FLAGS}
   CMAKE_COMMAND ${SB_CMAKE_COMMAND}
   DEPENDS ${MUPARSERX_DEPENDENCIES}
@@ -28,5 +39,3 @@

 #Patch mpParserMessageProvider.cpp. This patch is integrated upstream but not yet released (last release is 4.0.7)
 SUPERBUILD_PATCH_SOURCE(MUPARSERX)
-
-SUPERBUILD_UPDATE_CMAKE_VARIABLES(MUPARSERX FALSE)


[oneDNN ep] Update from oneDNN v2.7.0 to oneDNN v2.7.1 (#13536)

The oneDNN 2.7.1 release includes multiple functional and performance
improvements.

Signed-off-by: George Nash <acbdc39d528a4315fe0b532d55c50ae46f5c1667@intel.com>

### Description
Update the oneDNN library from 2.7.0 to 2.7.1. This contains multiple
functional and performance improvements.

### Motivation and Context
This is a minor point release from the oneDNN library that gives
performance and functional fixes that were found in the oneDNN 2.7
library shortly after release.

Signed-off-by: George Nash <acbdc39d528a4315fe0b532d55c50ae46f5c1667@intel.com>


Increase shared library version

Increase shared library version

--- cmake/mysql_version.cmake
+++ cmake/mysql_version.cmake
@@ -17,7 +17,7 @@
 # Global constants, only to be changed between major releases.
 #

-SET(SHARED_LIB_MAJOR_VERSION "18")
+SET(SHARED_LIB_MAJOR_VERSION "19")
 SET(PROTOCOL_VERSION "10")
 SET(DOT_FRM_VERSION "6")


do not look for examples in PCLConfig.cmake

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

--- cmake/pcl_pclconfig.cmake
+++ cmake/pcl_pclconfig.cmake
@@ -1,6 +1,6 @@

 set(PCL_SUBSYSTEMS_MODULES ${PCL_SUBSYSTEMS})
-list(REMOVE_ITEM PCL_SUBSYSTEMS_MODULES tools cuda_apps global_tests proctor gpu_kinfu)
+list(REMOVE_ITEM PCL_SUBSYSTEMS_MODULES tools cuda_apps global_tests proctor examples)

 set(PCLCONFIG_AVAILABLE_COMPONENTS)
 set(PCLCONFIG_AVAILABLE_COMPONENTS_LIST)


Addded setting of FREETYPE_INCLUDE_DIRS to Find3rdPartyDependencies.cmake

--- CMakeModules/Find3rdPartyDependencies.cmake
+++ CMakeModules/Find3rdPartyDependencies.cmake
@@ -61,6 +61,7 @@
             SET(FREETYPE_INCLUDE_DIR_ft2build ${FREETYPE_INCLUDE_DIR} CACHE PATH "")
             SET(FREETYPE_INCLUDE_DIR_freetype2 ${FREETYPE_INCLUDE_DIR} CACHE PATH "")
             MARK_AS_ADVANCED(FREETYPE_INCLUDE_DIR_ft2build FREETYPE_INCLUDE_DIR_freetype2)
+            SET(FREETYPE_INCLUDE_DIRS "${FREETYPE_INCLUDE_DIR_ft2build};${FREETYPE_INCLUDE_DIR_freetype2}")
         ENDIF(FREETYPE_FOUND)
         FIND_DEPENDENCY(CURL curl/curl.h "libcurl;curllib" ${OSG_3RDPARTY_BIN} "D")
         FIND_DEPENDENCY(JPEG jpeglib.h libjpeg ${OSG_3RDPARTY_BIN} "D")


Turn down verbosity of make output

Turn down verbosity of make output

--- build/cmake/CondorConfigure.cmake
+++ build/cmake/CondorConfigure.cmake
@@ -90,7 +90,9 @@
 endif()

 set( CONDOR_EXTERNAL_DIR ${CONDOR_SOURCE_DIR}/externals )
-set( CMAKE_VERBOSE_MAKEFILE TRUE )
+
+# set to true to enable printing of make actions
+set( CMAKE_VERBOSE_MAKEFILE FALSE )
 set( BUILD_SHARED_LIBS FALSE )

 # Windows is so different perform the check 1st and start setting the vars.


compiler/clang: enable boost::preprocessor variadic macro support

--- cmake/Compiler/Clang.cmake
+++ cmake/Compiler/Clang.cmake
@@ -12,3 +12,8 @@
   -Wno-global-constructors
   -Wno-weak-vtables
 )
+
+# some hacks
+
+# clang has variadic macro support in c++11 mode, so just enable it for boost, because boost thinks it has not
+add_definitions(-DBOOST_PP_VARIADICS)


fixed ADD_TARGET_PROPERTIES arg shifting

git-svn-id: e98c317c6679dcf055eb388f05b44c3a6d6b38c6@2186 152afb58-edef-0310-8abb-c4023f1b3aa9

--- cmake/LighttpdMacros.cmake
+++ cmake/LighttpdMacros.cmake
@@ -31,7 +31,7 @@
 MACRO(ADD_TARGET_PROPERTIES _target _name _properties)
   SET(_properties ${ARGV})
   LIST(REMOVE_AT _properties 0)
-  LIST(REMOVE_AT _properties 1)
+  LIST(REMOVE_AT _properties 0)
   GET_TARGET_PROPERTY(_old_properties ${_target} ${_name})
 	MESSAGE("adding property to ${_target} ${_name}: ${_properties}")
   IF(NOT _old_properties)