trying fmt import

trying fmt import

--- cmake/mtao_fetch_dependencies.cmake
+++ cmake/mtao_fetch_dependencies.cmake
@@ -74,6 +74,10 @@
         fetch_dep(magnum-integration https://github.com/mosra/magnum-integration v2019.10 ON)
     endif()
 endif()
+find_package(fmt QUIET)
+if(NOT fmt_FOUND)
+fetch_dep(spdlog https://github.com/fmtlib/fmt.git 6.2.1 ON)
+endif()

 find_package(spdlog QUIET)
 if(NOT spdlog_FOUND)


Add support for CONFIG_FILTER_INTRA to the cmake build.

Note: CONFIG_FILTER_INTRA is broken in both build systems due
to link errors. This is a parity patch.

BUG=https://bugs.chromium.org/p/aomedia/issues/detail?id=76

Change-Id: I713bc7b6f5f13387bbf6b9e3df22731c22d558cc

--- av1/av1.cmake
+++ av1/av1.cmake
@@ -173,12 +173,16 @@
     "${AOM_ROOT}/av1/common/x86/av1_convolve_ssse3.c")

 set(AOM_AV1_COMMON_SSE4_1_INTRIN
-    # Requires CONFIG_FILTER_INTRA
-    #"${AOM_ROOT}/av1/common/x86/filterintra_sse4.c"
     # Requires CONFIG_CDEF
     #"${AOM_ROOT}/av1/common/x86/od_dering_sse4.c"
     "${AOM_ROOT}/av1/common/x86/av1_fwd_txfm1d_sse4.c"
     "${AOM_ROOT}/av1/common/x86/av1_fwd_txfm2d_sse4.c")
+
+if (CONFIG_FILTER_INTRA)
+  set(AOM_AV1_COMMON_SSE4_1_INTRIN
+      ${AOM_AV1_COMMON_SSE4_1_INTRIN}
+      "${AOM_ROOT}/av1/common/x86/filterintra_sse4.c")
+endif ()

 set(AOM_AV1_COMMON_AVX2_INTRIN
     "${AOM_ROOT}/av1/common/x86/hybrid_inv_txfm_avx2.c")


Link boost statically on UNIX.

Link boost statically on UNIX.

--- bin/dsn.cmake
+++ bin/dsn.cmake
@@ -286,7 +286,7 @@
     endif()

     set(Boost_USE_MULTITHREADED            ON)
-	if(MSVC)#${STATIC_LINK})
+	if(${STATIC_LINK})
         set(Boost_USE_STATIC_LIBS        ON)
         set(Boost_USE_STATIC_RUNTIME    ON)
     else()


Remove dev warning on non Visual Studio generators

--- cmake/Modules/SampPluginTest.cmake
+++ cmake/Modules/SampPluginTest.cmake
@@ -40,14 +40,16 @@

 	get_target_property(PLUGIN_PATH ${ARG_TARGET} LOCATION)

-	list(FIND CMAKE_CONFIGURATION_TYPES "${CMAKE_BUILD_TYPE}" index)
-	if(MSVC_IDE AND CMAKE_BUILD_TYPE AND NOT index EQUAL -1)
-		string(REPLACE "$(Configuration)" ${CMAKE_BUILD_TYPE}
-		       PLUGIN_PATH ${PLUGIN_PATH})
-	else()
-		message(AUTHOR_WARNING "CMAKE_BUILD_TYPE must be set to one of the "
-		                       "existing build configurations in order for "
-		                       "the tests to work")
+	if(MSVC_IDE)
+		list(FIND CMAKE_CONFIGURATION_TYPES "${CMAKE_BUILD_TYPE}" index)
+		if(CMAKE_BUILD_TYPE AND NOT index EQUAL -1)
+			string(REPLACE "$(Configuration)" ${CMAKE_BUILD_TYPE}
+				   PLUGIN_PATH ${PLUGIN_PATH})
+		else()
+			message(AUTHOR_WARNING "CMAKE_BUILD_TYPE must be set to one of the "
+								   "existing build configurations in order for "
+								   "the tests to work")
+		endif()
 	endif()

 	list(APPEND arguments


Fixes to allow compilation on Mac OS X with CUDA 7.0.

--- cmake/oskar_compiler_options.cmake
+++ cmake/oskar_compiler_options.cmake
@@ -220,6 +220,9 @@
         set(CUDA_NVCC_FLAGS_MINSIZEREL -01)

         # Options passed to the compiler NVCC encapsulates.
+        if (APPLE)
+            list(APPEND CUDA_NVCC_FLAGS -Xcompiler;-stdlib=libstdc++;)
+        endif()
         list(APPEND CUDA_NVCC_FLAGS_RELEASE -Xcompiler;-O2)
         list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-O0)
         list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-g)
@@ -227,19 +230,18 @@
         list(APPEND CUDA_NVCC_FLAGS_RELWIDTHDEBINFO -Xcompiler;-g)
         list(APPEND CUDA_NVCC_FLAGS_MINSIZEREL -Xcompiler;-01)

-        if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "Clang" OR "${CMAKE_CXX_COMPILER_ID}" STREQUAL "GNU")
-            list(APPEND CUDA_NVCC_FLAGS -Xcompiler;-fvisibility=hidden;)
-            list(APPEND CUDA_NVCC_FLAGS -Xcompiler;-fPIC;)
-            list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wall;)
-            list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wextra;)
-            list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-unused-parameter;)
-            list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-variadic-macros;)
-            list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-long-long;)
-            # Disable warning about missing initializers (for CUDA Thrust).
-            list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-missing-field-initializers;)
-            # Disable warning about "unsigned int* __get_precalculated_matrix(int) defined but not used".
-            list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-unused-function;)
-        endif()
+        list(APPEND CUDA_NVCC_FLAGS -Xcompiler;-fvisibility=hidden;)
+        list(APPEND CUDA_NVCC_FLAGS -Xcompiler;-fPIC;)
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wall;)
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wextra;)
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-unused-private-field;)
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-unused-parameter;)
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-variadic-macros;)
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-long-long;)
+        # Disable warning about missing initializers (for CUDA Thrust).
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-missing-field-initializers;)
+        # Disable warning about "unsigned int* __get_precalculated_matrix(int) defined but not used".
+        list(APPEND CUDA_NVCC_FLAGS_DEBUG -Xcompiler;-Wno-unused-function;)
         # PTX compiler options
         #list(APPEND CUDA_NVCC_FLAGS_RELEASE --ptxas-options=-v;)
     endif ()


OpenCV "3.0.0-p11"

OpenCV "3.0.0-p11"

[skip ci]

--- cmake/projects/OpenCV/hunter.cmake
+++ cmake/projects/OpenCV/hunter.cmake
@@ -45,6 +45,17 @@
     SHA1
     ab503105ce7e5415fc77cf44de0b276008be624f
     )
+
+hunter_add_version(
+    PACKAGE_NAME
+    OpenCV
+    VERSION
+    "3.0.0-p11"
+    URL
+    "https://github.com/hunter-packages/opencv/archive/v3.0.0-p11.tar.gz"
+    SHA1
+    3fa05fadc5c2b5e02ada00ccb7752ede660699ab
+)

 hunter_add_version(
     PACKAGE_NAME


Update hunter.cmake

Update hunter.cmake

--- cmake/projects/buffer/hunter.cmake
+++ cmake/projects/buffer/hunter.cmake
@@ -3,6 +3,17 @@
 include(hunter_pick_scheme)

 # List of versions here...
+
+hunter_add_version(
+    PACKAGE_NAME
+    buffer
+    VERSION
+    "0.1.8"
+    URL
+    "https://github.com/designerror/buffer/archive/v0.1.8.tar.gz"
+    SHA1
+    8c2d28491556e507f806269034611b015053b2af
+)

 hunter_add_version(
     PACKAGE_NAME


iox-#142 remove u postfix

iox-#142 remove u postfix

Signed-off-by: Kraus Mathias (CC-AD/ESW1) <8e179faa490d2a9c134c46102c4361276a2b4d71@de.bosch.com>

--- iceoryx_posh/cmake/iceoryx_posh_deployment.cmake
+++ iceoryx_posh/cmake/iceoryx_posh_deployment.cmake
@@ -1,26 +1,26 @@
 # configure deployment
 if(NOT IOX_MAX_PORT_NUMBER)
-    set(IOX_MAX_PORT_NUMBER 1024u)
+    set(IOX_MAX_PORT_NUMBER 1024)
 endif()

 if(NOT IOX_MAX_INTERFACE_NUMBER)
-    set(IOX_MAX_INTERFACE_NUMBER 4u)
+    set(IOX_MAX_INTERFACE_NUMBER 4)
 endif()

 if(NOT IOX_MAX_SUBSCRIBERS_PER_PUBLISHER)
-    set(IOX_MAX_SUBSCRIBERS_PER_PUBLISHER 256u)
+    set(IOX_MAX_SUBSCRIBERS_PER_PUBLISHER 256)
 endif()

 if(NOT IOX_MAX_CHUNKS_ALLOCATE_PER_SENDER)
-    set(IOX_MAX_CHUNKS_ALLOCATE_PER_SENDER 8u)
+    set(IOX_MAX_CHUNKS_ALLOCATE_PER_SENDER 8)
 endif()

 if(NOT IOX_MAX_HISTORY_CAPACITY_OF_CHUNK_DISTRIBUTOR)
-    set(IOX_MAX_HISTORY_CAPACITY_OF_CHUNK_DISTRIBUTOR 16u)
+    set(IOX_MAX_HISTORY_CAPACITY_OF_CHUNK_DISTRIBUTOR 16)
 endif()

 if(NOT IOX_MAX_CHUNKS_HELD_PER_RECEIVER)
-    set(IOX_MAX_CHUNKS_HELD_PER_RECEIVER 256u)
+    set(IOX_MAX_CHUNKS_HELD_PER_RECEIVER 256)
 endif()

 configure_file("${CMAKE_CURRENT_SOURCE_DIR}/cmake/iceoryx_posh_deployment.hpp.in"


Fix iree_bytecode_module RISCV crosscompile flags (#10471)

`iree_bytecode_module` internally uses `_ARGS` variable to pass down the
`iree-compiler` flags.

--- build_tools/cmake/iree_bytecode_module.cmake
+++ build_tools/cmake/iree_bytecode_module.cmake
@@ -115,7 +115,7 @@
     # RV64 Linux crosscompile toolchain can support iree-compile with
     # specific CPU flags. Add the llvm flags to support RV64 RVV codegen if
     # llvm-target-triple is not specified.
-    list(APPEND _RULE_FLAGS ${RISCV64_TEST_DEFAULT_LLVM_FLAGS})
+    list(APPEND _ARGS ${RISCV64_TEST_DEFAULT_LLVM_FLAGS})
   endif()

   if(_RULE_FRIENDLY_NAME)


more fixes for mkl

more fixes for mkl

--- cmake/FindMKL.cmake
+++ cmake/FindMKL.cmake
@@ -49,7 +49,8 @@
 if(DEFINED INTEL_ROOT AND NOT EXISTS "${INTEL_ROOT}")
     message(WARNING "The path INTEL_ROOT: ${INTEL_ROOT} does not exist")
   else()
-    file(GLOB irootL "/opt/intel/compilers_and_*")
+    file(GLOB irootL "/*/intel/compilers_and_*")
+    #file(GLOB irootC "/*/intel/parallel*/compilers_and_*")
     file(GLOB irootW "C:/Program Files (x86)/IntelSWTools/compilers_and_*")
     find_path(INTEL_ROOT "mkl" PATHS /opt/intel "${irootL}" "${irootL}/linux" "${irootW}" "${irootL}/windows")
     message(STATUS "Intel root: ${INTEL_ROOT}")
@@ -104,6 +105,7 @@

     ####################### Computational layer #####################
     find_library(MKL_CORE_LIBRARY mkl_core PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
+    find_package (Threads) # mkl_core links to pthreads

     ######################### Interface layer #######################
     find_library(MKL_INTERFACE_LIBRARY mkl_intel${ARCH_PREFIX} mkl_intel_c PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
@@ -112,7 +114,6 @@
       ######################## Threading layer ########################
       message(STATUS "MKL multi-threading enabled.")
       find_library(MKL_THREADING_LIBRARY mkl_intel_thread PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
-      #find_package (Threads)
       #find_library(MKL_THREADING_LIBRARY mkl_pgi_thread
       #find_library(MKL_THREADING_LIBRARY mkl_gnu_thread
       #find_library(MKL_THREADING_LIBRARY mkl_tbb_thread
@@ -126,9 +127,8 @@
     endif(GISMO_WITH_OPENMP)

     ####################### Cluster libraries #####################
+    if(GISMO_WITH_MPI)
     find_library(MKL_FFT_LIBRARY mkl_cdft_core PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
-
-    if(GISMO_WITH_MPI)
     find_library(MKL_SCALAPACK_LIBRARY mkl_scalapack${ARCH_PREFIX} PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
     if("x${MKL_BLACS_MPI}" STREQUAL "xINTELMPI")
       find_library(MKL_BLACS_LIBRARY NAMES mkl_blacs_intelmpi${ARCH_PREFIX} PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
@@ -137,7 +137,8 @@
     #elseif("x${MKL_BLACS_MPI}" STREQUAL "xMSMPI")
     #elseif("x${MKL_BLACS_MPI}" STREQUAL "xMPICH2")
     else()
-      find_library(MKL_BLACS_LIBRARY NAMES mkl_blacs_openmpi${ARCH_PREFIX}  PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
+      #Note: libmkl_blacs${ARCH_PREFIX} is deprecated!
+      find_library(MKL_BLACS_LIBRARY NAMES mkl_blacs_openmpi${ARCH_PREFIX} mkl_blacs_intelmpi${ARCH_PREFIX} PATHS ${MKL_ROOT}/lib/${MPL_ARCH})
     endif()
     else(GISMO_WITH_MPI)
       message(STATUS "MKL Cluster parallelization with MPI is DISABLED (use GISMO_WITH_MPI=ON to enable it)")
@@ -148,7 +149,7 @@
     #find_library(MPI_LIBRARY mpi_mt PATHS /opt/intel/composer_xe_2013.0.079/mpirt/lib/${MPL_ARCH})

 set(MKL_LIBRARY ${MKL_CORE_LIBRARY} ${MKL_INTERFACE_LIBRARY} ${MKL_THREADING_LIBRARY} ${MKL_RTL_LIBRARY}
-  ${MKL_FFT_LIBRARY} ${MKL_SCALAPACK_LIBRARY} ${MKL_BLACS_LIBRARY} ${MPI_LIBRARY}
+  ${MKL_FFT_LIBRARY} ${MKL_SCALAPACK_LIBRARY} ${MKL_BLACS_LIBRARY}
   )
 endif()

@@ -165,6 +166,10 @@

 if(MKL_FOUND)
     message(STATUS "Found Intel MKL libraries")
-    set(MKL_LIBRARIES ${MKL_LIBRARY})
+    if(Threads_FOUND)
+      set(MKL_LIBRARIES ${MKL_LIBRARY} Threads::Threads)
+    else()
+      set(MKL_LIBRARIES ${MKL_LIBRARY})
+    endif()
     mark_as_advanced (MKL_LIBRARY)
 endif()


test removal of redundant line

test removal of redundant line

--- cmake/generic.cmake
+++ cmake/generic.cmake
@@ -587,7 +587,6 @@
   get_filename_component(PROTO_WE ${grpc_library_PROTO} NAME_WE)
   get_filename_component(PROTO_PATH ${ABS_PROTO} PATH)

-  protobuf_generate_cpp(grpc_proto_srcs grpc_proto_hdrs "${ABS_PROTO}")
   set(grpc_grpc_srcs "${CMAKE_CURRENT_BINARY_DIR}/${PROTO_WE}.grpc.pb.cc")
   set(grpc_grpc_hdrs "${CMAKE_CURRENT_BINARY_DIR}/${PROTO_WE}.grpc.pb.h")
   cc_library("${TARGET_NAME}_proto" SRCS "${grpc_proto_srcs}")


cmake: report extra version (rcX)

cmake: report extra version (rcX)

Right now when building a release candidate in master cmake reports the
version wrongly as the final version, for example:

-- Zephyr version: 2.2.0

This is misleading and confusing. Cmake does not like the rcX suffix and
internally we indeed use 2.2.0 as the version.

This patch just changes the output of the status message and adds the
extra version field:

-- Zephyr version: 2.2.0-rc1

and continues to use the cmake compatible version internally.

Signed-off-by: Anas Nashif <0d9952ec84ac43c159f6b7e7ed99a9080c00dd6e@intel.com>

--- cmake/version.cmake
+++ cmake/version.cmake
@@ -48,13 +48,20 @@
 # Temporary convenience variable
 set(PROJECT_VERSION_WITHOUT_TWEAK ${PROJECT_VERSION_MAJOR}.${PROJECT_VERSION_MINOR}.${PROJECT_VERSION_PATCH})

+
+if(PROJECT_VERSION_EXTRA)
+  set(PROJECT_VERSION_EXTRA_STR "-${PROJECT_VERSION_EXTRA}")
+endif()
+
 if(PROJECT_VERSION_TWEAK)
   set(PROJECT_VERSION ${PROJECT_VERSION_WITHOUT_TWEAK}.${PROJECT_VERSION_TWEAK})
 else()
   set(PROJECT_VERSION ${PROJECT_VERSION_WITHOUT_TWEAK})
 endif()

-message(STATUS "Zephyr version: ${PROJECT_VERSION}")
+set(PROJECT_VERSION_STR ${PROJECT_VERSION}${PROJECT_VERSION_EXTRA_STR})
+
+message(STATUS "Zephyr version: ${PROJECT_VERSION_STR}")

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


Removed variables requireing sed.

Removed variables requireing sed.

--- library/cmake/Modules/FindPHP.cmake
+++ library/cmake/Modules/FindPHP.cmake
@@ -9,16 +9,12 @@
 # for php-config documentation.
 #
 # This code sets the following variables:
-#  PHP_CONFIG_DIR             = directory containing PHP configuration files
 #  PHP_CONFIG_EXECUTABLE      = full path to the php-config binary
 #  PHP_EXECUTABLE             = full path to the php binary
 #  PHP_EXTENSIONS_DIR         = directory containing PHP extensions
 #  PHP_EXTENSIONS_INCLUDE_DIR = directory containing PHP extension headers
 #  PHP_INCLUDE_DIRS           = include directives for PHP development
 #  PHP_VERSION_NUMBER         = PHP version number in PHP's "vernum" format eg 50303
-#  PHP_VERSION_MAJOR          = PHP major version number eg 5
-#  PHP_VERSION_MINOR          = PHP minor version number eg 3
-#  PHP_VERSION_PATCH          = PHP patch version number eg 3
 #  PHP_VERSION_STRING         = PHP version string eg 5.3.3-1ubuntu9.3
 #  PHP_FOUND                  = set to TRUE if all of the above has been found.
 #
@@ -39,14 +35,6 @@
 FIND_PROGRAM(PHP_CONFIG_EXECUTABLE NAMES php-config5 php-config4 php-config)

 if (PHP_CONFIG_EXECUTABLE)
-  execute_process(
-    COMMAND
-      ${PHP_CONFIG_EXECUTABLE} --configure-options
-    COMMAND sed -ne "s/^.*--with-config-file-scan-dir=\\([^ ]*\\).*/\\1/p"
-      OUTPUT_VARIABLE PHP_CONFIG_DIR
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-  )
-
   execute_process(
     COMMAND
       ${PHP_CONFIG_EXECUTABLE} --php-binary
@@ -84,31 +72,6 @@

   execute_process(
     COMMAND
-      ${PHP_CONFIG_EXECUTABLE} --vernum
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-    COMMAND sed -ne "s/....$//p"
-      OUTPUT_VARIABLE PHP_VERSION_MAJOR
-  )
-
-  execute_process(
-    COMMAND
-      ${PHP_CONFIG_EXECUTABLE} --vernum
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-    COMMAND sed -ne "s/..$//p"
-    COMMAND sed -ne "s/^.0\\?//p"
-      OUTPUT_VARIABLE PHP_VERSION_MINOR
-  )
-
-  execute_process(
-    COMMAND
-      ${PHP_CONFIG_EXECUTABLE} --vernum
-      OUTPUT_STRIP_TRAILING_WHITESPACE
-    COMMAND sed -ne "s/^...0\\?//p"
-      OUTPUT_VARIABLE PHP_VERSION_PATCH
-  )
-
-  execute_process(
-    COMMAND
       ${PHP_CONFIG_EXECUTABLE} --version
       OUTPUT_VARIABLE PHP_VERSION_STRING
       OUTPUT_STRIP_TRAILING_WHITESPACE
@@ -116,15 +79,11 @@
 endif (PHP_CONFIG_EXECUTABLE)

 MARK_AS_ADVANCED(
-  PHP_CONFIG_DIR
   PHP_CONFIG_EXECUTABLE
   PHP_EXECUTABLE
   PHP_EXTENSIONS_DIR
   PHP_EXTENSIONS_INCLUDE_DIR
   PHP_INCLUDE_DIRS
-  PHP_VERSION_MAJOR
-  PHP_VERSION_MINOR
-  PHP_VERSION_PATCH
   PHP_VERSION_STRING
 )

@@ -133,29 +92,21 @@
   php
   DEFAULT_MSG
   PHP_VERSION_STRING
-  PHP_CONFIG_DIR
   PHP_CONFIG_EXECUTABLE
   PHP_EXECUTABLE
   PHP_EXTENSIONS_DIR
   PHP_EXTENSIONS_INCLUDE_DIR
   PHP_INCLUDE_DIRS
   PHP_VERSION_NUMBER
-  PHP_VERSION_MAJOR
-  PHP_VERSION_MINOR
-  PHP_VERSION_PATCH
   PHP_VERSION_STRING
 )

 # Some handy dev output. Is there a way to enable these in some debug mode?
-#MESSAGE("PHP_CONFIG_DIR             = ${PHP_CONFIG_DIR}")
 #MESSAGE("PHP_CONFIG_EXECUTABLE      = ${PHP_CONFIG_EXECUTABLE}")
 #MESSAGE("PHP_EXECUTABLE             = ${PHP_EXECUTABLE}")
 #MESSAGE("PHP_EXTENSIONS_DIR         = ${PHP_EXTENSIONS_DIR}")
 #MESSAGE("PHP_EXTENSIONS_INCLUDE_DIR = ${PHP_EXTENSIONS_INCLUDE_DIR}")
 #MESSAGE("PHP_INCLUDE_DIRS           = ${PHP_INCLUDE_DIRS}")
 #MESSAGE("PHP_VERSION_NUMBER         = ${PHP_VERSION_NUMBER}")
-#MESSAGE("PHP_VERSION_MAJOR          = ${PHP_VERSION_MAJOR}")
-#MESSAGE("PHP_VERSION_MINOR          = ${PHP_VERSION_MINOR}")
-#MESSAGE("PHP_VERSION_PATCH          = ${PHP_VERSION_PATCH}")
 #MESSAGE("PHP_VERSION_STRING         = ${PHP_VERSION_STRING}")
 #MESSAGE("PHP_FOUND                  = ${PHP_FOUND}")


Trying newer ceres

Trying newer ceres

Former-commit-id: 054593de28ef9f66f868887b538e140483747c21

--- cmake-modules/Fetch_Ceres.cmake
+++ cmake-modules/Fetch_Ceres.cmake
@@ -1,10 +1,17 @@
 include(cmake-modules/filterTarget.cmake)
+string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
 find_package(Ceres PATHS ${CMAKE_INSTALL_PREFIX}/ceres)

 if(TARGET ceres)
     message(STATUS "ceres found")
+    get_target_property(cereslib  ceres IMPORTED_LOCATION_${BUILD_TYPE})
+    target_link_libraries(ceres INTERFACE ${cereslib})
+    target_include_directories(ceres INTERFACE ${CERES_INCLUDE_DIR})
     remove_shared(ceres)
     remove_pthread(ceres)
+    target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags)
+
+
 else()

     message(STATUS "Ceres will be installed into ${CMAKE_INSTALL_PREFIX} on first build.")
@@ -42,14 +49,15 @@
     message(STATUS "ceres options: ${CERES_CMAKE_OPTIONS}")
     include(${PROJECT_SOURCE_DIR}/cmake-modules/BuildDependency.cmake)
     build_dependency(ceres "${CERES_CMAKE_OPTIONS}")
-    find_package(Ceres PATHS ${CMAKE_INSTALL_PREFIX}/ceres PATH_SUFFIXES REQUIRED)
+    find_package(Ceres HINTS ${CMAKE_INSTALL_PREFIX}/ceres)
     if(TARGET ceres)
         message(STATUS "ceres installed successfully")
+        get_target_property(cereslib  ceres IMPORTED_LOCATION_${BUILD_TYPE})
+        target_link_libraries(ceres INTERFACE ${cereslib})
+        target_link_libraries(ceres INTERFACE Eigen3::Eigen glog::glog gflags)
         remove_shared(ceres)
         remove_pthread(ceres)
-        string(TOUPPER ${CMAKE_BUILD_TYPE} BUILD_TYPE)
-        get_target_property(cereslib  ceres IMPORTED_LOCATION_${BUILD_TYPE})
-        target_link_libraries(ceres INTERFACE ${cereslib})
+        target_include_directories(ceres INTERFACE ${CERES_INCLUDE_DIR})
     else()
         message(STATUS "config_result: ${config_result}")
         message(STATUS "build_result: ${build_result}")


Fix gh-2800, Disable URIPARSER by default


add comment for tgz

add comment for tgz

--- project/cmake/modules/FindConfigurePackage.cmake
+++ project/cmake/modules/FindConfigurePackage.cmake
@@ -40,7 +40,7 @@
 #   <prefix directory>      - prefix directory(default: <work directory>)
 #   <source directory name> - source directory name(default detected by download url)
 #   <zip url>               - from where to download zip when find package failed
-#   <tar url>               - from where to download tar.* when find package failed
+#   <tar url>               - from where to download tar.* or tgz when find package failed
 #   <svn url>               - from where to svn co when find package failed
 #   <git url>               - from where to git clone when find package failed
 #


Apple: added a workaround for the incompatibility between function-sections and emebed-bitcode compiler options.

--- toolchains/apple.cmake
+++ toolchains/apple.cmake
@@ -31,6 +31,13 @@
     add_compile_options( -mconstant-cfstrings )
 endif()

+# Xcode (7 & 8) report that function-sections are incompatible embed-bitcode
+set( CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "NO" )
+function( TNUN_enable_bitcode )
+  add_compile_options( -fno-function-sections )
+  set( CMAKE_XCODE_ATTRIBUTE_ENABLE_BITCODE "YES" )
+endfunction()
+
 link_libraries( $<$<CONFIG:RELEASE>:-dead_strip> )

 set( TNUN_ABI   default    )


Delete old, obsolette and unusable clang toolchain file

--- toolchains/clang.cmake
+++ toolchains/clang.cmake
@@ -1,23 +0,0 @@
-# our linker requires special script
-INCLUDE(CMakeForceCompiler)
-
-# this one is important
-set(CMAKE_SYSTEM_NAME Generic)
-#this one not so much
-set(CMAKE_SYSTEM_VERSION 1)
-
-# specify the cross compiler
-# there is no LLVM linker that can work with linker script and true
-# bare metal (or, maybe, I didn't google'd enough?)
-set(CMAKE_C_LINKER arm-none-eabi-ld)
-CMAKE_FORCE_C_COMPILER(clang Clang)
-CMAKE_FORCE_CXX_COMPILER(clang++ Clang)
-
-# where is the target environment
-set(CMAKE_FIND_ROOT_PATH /usr/bin)
-
-# search for programs in the build host directories
-set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
-# for libraries and headers in the target directories
-set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
-set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)


COMP: Ensure that temporary directory always exists before testing gdal (tests will attempt to write files in this directory)

--- Modules/ThirdParty/GDAL/otb-module-init.cmake
+++ Modules/ThirdParty/GDAL/otb-module-init.cmake
@@ -15,6 +15,11 @@
 set(MIN_MINOR_VERSION 10)

 set(GDAL_QUALIFIES TRUE)
+
+# Ensure that the temporary dir always exists before starting tests
+if(NOT EXISTS ${TEMP})
+  FILE(MAKE_DIRECTORY ${TEMP})
+endif()

 #------------------- TESTS ---------------------
 # Version of GDAL


ql: cmake: install pp3-specific pack.tcl yosys script

Signed-off-by: Paweł Czarnecki <be3a62494a976d1435cc0900bd9adf3fa1029787@antmicro.com>

--- quicklogic/common/cmake/quicklogic_install.cmake
+++ quicklogic/common/cmake/quicklogic_install.cmake
@@ -161,6 +161,13 @@
   # install Yosys scripts
   install(FILES ${DEFINE_QL_TOOLCHAIN_TARGET_CONV_SCRIPT} ${DEFINE_QL_TOOLCHAIN_TARGET_SYNTH_SCRIPT}
           DESTINATION share/symbiflow/scripts/${FAMILY})
+
+  if("${FAMILY}" STREQUAL "pp3")
+	  install(FILES ${symbiflow-arch-defs_SOURCE_DIR}/quicklogic/pp3/yosys/pack.tcl
+		  DESTINATION share/symbiflow/scripts/${FAMILY})
+	  message(STATUS "Installing pack.tcl for ${FAMILY}")
+  endif()
+

   install(FILES ${symbiflow-arch-defs_SOURCE_DIR}/quicklogic/common/utils/create_ioplace.py
           DESTINATION bin/python


Remove explicit libm linking

Remove explicit libm linking

Signed-off-by: André B. M. Gomes <ef9bc0f6e6723dd5b5765fcab39380acfb4fd169@gmail.com>

--- scripts/cmake/hackerrank_challenge.cmake
+++ scripts/cmake/hackerrank_challenge.cmake
@@ -13,10 +13,10 @@
 	set_target_properties(${ProjectId} PROPERTIES FOLDER "${ProjectFolder}")

 	if (USE_CONAN_LIBS)
-		target_link_libraries(${ProjectId} ${CONAN_LIBS} m)
+		target_link_libraries(${ProjectId} ${CONAN_LIBS})
 	else()
 		include_directories(${Boost_INCLUDE_DIRS} ${JsonCpp_INCLUDE_DIRS})
-		target_link_libraries(${ProjectId} ${Boost_LIBRARIES} ${JsonCpp_LIBRARIES} m)
+		target_link_libraries(${ProjectId} ${Boost_LIBRARIES} ${JsonCpp_LIBRARIES})
 	endif (USE_CONAN_LIBS)
 endmacro()


ManageRPM: Comment reviewed

ManageRPM: Comment reviewed

--- Modules/ManageRPM.cmake
+++ Modules/ManageRPM.cmake
@@ -2,57 +2,58 @@
 # This module provides macros that provides various rpm building and
 # verification targets.
 #
-# This module needs variable from ManageArchive, so INCLUDE(ManageArchive)
+# This module needs variables from ManageArchive, so
+# INCLUDE(ManageArchive)
 # before this module.
 #
-# Includes:
-#   ManageFile
-#   ManageTarget
+# Included Modules:
+#   - ManageFile
+#   - ManageTarget
+#   - ManageVariable
 #
 # Reads and defines following variables:
-#   RPM_SPEC_CMAKE_FLAGS: cmake flags in RPM spec.
-#   RPM_SPEC_MAKE_FLAGS: "make flags in RPM spec.
+#   - RPM_SPEC_CMAKE_FLAGS: cmake flags in RPM spec.
+#   - RPM_SPEC_MAKE_FLAGS: "make flags in RPM spec.
 #
 # Reads and defines following variables if dependencies are satisfied:
-#   PRJ_RPM_SPEC_FILE: spec file for rpmbuild.
-#   RPM_SPEC_BUILD_ARCH: (optional) Set "BuildArch:"
-#   RPM_BUILD_ARCH: (optional) Arch that will be built."
-#   RPM_DIST_TAG: (optional) Current distribution tag such as el5, fc10.
+#   - PRJ_RPM_SPEC_FILE: spec file for rpmbuild.
+#   - RPM_SPEC_BUILD_ARCH: (optional) Set "BuildArch:"
+#   - RPM_BUILD_ARCH: (optional) Arch that will be built."
+#   - RPM_DIST_TAG: (optional) Current distribution tag such as el5, fc10.
 #     Default: Distribution tag from rpm --showrc
 #
-#   RPM_BUILD_TOPDIR: (optional) Directory of  the rpm topdir.
+#   - RPM_BUILD_TOPDIR: (optional) Directory of  the rpm topdir.
 #     Default: ${CMAKE_BINARY_DIR}
 #
-#   RPM_BUILD_SPECS: (optional) Directory of generated spec files
-#     and RPM-ChangeLog.
-#     Note this variable is not for locating
-#     SPEC template (project.spec.in), RPM-ChangeLog source files.
-#     These are located through the path of spec_in.
+#   - RPM_BUILD_SPECS: (optional) Directory of generated spec files
+#       and RPM-ChangeLog.
+#     Note this variable is not for locating SPEC template file
+#       (i.e. project.spec.in). The SPEC template file should be
+#       specified in PACK_RPM()
 #     Default: ${RPM_BUILD_TOPDIR}/SPECS
 #
-#   RPM_BUILD_SOURCES: (optional) Directory of source (tar.gz or zip) files.
+#   - RPM_BUILD_SOURCES: (optional) Directory of source archive files.
 #     Default: ${RPM_BUILD_TOPDIR}/SOURCES
 #
-#   RPM_BUILD_SRPMS: (optional) Directory of source rpm files.
+#   - RPM_BUILD_SRPMS: (optional) Directory of source rpm files.
 #     Default: ${RPM_BUILD_TOPDIR}/SRPMS
 #
-#   RPM_BUILD_RPMS: (optional) Directory of generated rpm files.
+#   - RPM_BUILD_RPMS: (optional) Directory of generated rpm files.
 #     Default: ${RPM_BUILD_TOPDIR}/RPMS
 #
-#   RPM_BUILD_BUILD: (optional) Directory for RPM build.
+#   - RPM_BUILD_BUILD: (optional) Directory for RPM build.
 #     Default: ${RPM_BUILD_TOPDIR}/BUILD
 #
-#   RPM_BUILD_BUILDROOT: (optional) Directory for RPM build.
+#   - RPM_BUILD_BUILDROOT: (optional) Directory for RPM buildroot.
 #     Default: ${RPM_BUILD_TOPDIR}/BUILDROOT
 #
-#   RPM_RELEASE_NO: (optional) RPM release number
+#   - RPM_RELEASE_NO: (optional) RPM release number.
 #     Default: 1
 #
 # Defines following variables:
-#   RPM_IGNORE_FILES: A list of exclude file patterns for PackSource.
-#     This value is appended to SOURCE_ARCHIVE_IGNORE_FILES after including
-#     this module.
-#   RPM_FILES_SECTION_CONTENT: A list of string
+#   - RPM_IGNORE_FILES: A list of exclude file patterns for PackSource.
+#     This value is appended to SOURCE_ARCHIVE_IGNORE_FILES after
+#     including this module.
 #
 # Defines following Functions:
 #   RPM_SPEC_STRING_ADD(<var> <str> [<position>])
@@ -67,27 +68,25 @@
 #
 #   RPM_SPEC_STRING_ADD_DIRECTIVE <var> <directive> <attribute> <content>)
 #   - Add a SPEC directive (e.g. %description -l zh_TW) to SPEC string.
-#     Parameters:
-#     + var: Variable that hold results in string format.
-#     + directive: Directive to be added.
-#     + attribute: Attribute of tag. That is, string between '()'
-#     + value: Value fot the tag.
-#     + position: (Optional) position to put the tag.
-#       Valid value: FRONT for inserting in the beginning.
-#       Default: Append in the end of string.
-#       of string.
+#     * Parameters:
+#       + var: Variable that hold results in string format.
+#       + directive: Directive to be added.
+#       + attribute: Attribute of tag. That is, string between '()'
+#       + value: Value fot the tag.
+#       + position: (Optional) position to put the tag.
+#         Valid value: FRONT for inserting in the beginning.
+#         Default: Append in the end of string.
 #
 #   RPM_SPEC_STRING_ADD_TAG(<var> <tag> <attribute> <value> [<position>])
 #   - Add a SPEC tag (e.g. BuildArch: noarch) to SPEC string.
-#     Parameters:
-#     + var: Variable that hold results in string format.
-#     + tag: Tag to be added.
-#     + attribute: Attribute of tag. That is, string between '()'
-#     + value: Value fot the tag.
-#     + position: (Optional) position to put the tag.
-#       Valid value: FRONT for inserting in the beginning.
-#       Default: Append in the end of string.
-#       of string.
+#     * Parameters:
+#       + var: Variable that hold results in string format.
+#       + tag: Tag to be added.
+#       + attribute: Attribute of tag. That is, string between '()'
+#       + value: Value fot the tag.
+#       + position: (Optional) position to put the tag.
+#         Valid value: FRONT for inserting in the beginning.
+#         Default: Append in the end of string.
 #
 # Defines following Macros:
 #   PACK_RPM([SPEC_IN <specInFile>] [SPEC <specFile>]
@@ -118,7 +117,7 @@
 #           relative path.
 #         + PRJ_RPM_FILES: Binary RPM files to be build.
 #
-#   RPM_MOCK_BUILD()
+#   RPM_MOCK_BUILD([config1 ...])
 #     - Add mock related targets.
 #       * Targets:
 #         + rpm_mock_i386: Make i386 rpm
@@ -189,52 +188,52 @@
     )

-IF(NOT _manage_rpm_dependency_missing)
-    INCLUDE(ManageVariable)
-    CMAKE_FEDORA_CONF_GET_ALL_VARIABLES()
-
-
-    ## arch
-    IF(BUILD_ARCH STREQUAL "noarch")
-	SET(RPM_BUILD_ARCH ${BUILD_ARCH})
-    ELSE(BUILD_ARCH STREQUAL "noarch")
-	EXECUTE_PROCESS(COMMAND ${RPM_CMD} -E "%{_arch}"
-	    COMMAND sed -e "s/^\\.//"
-	    OUTPUT_VARIABLE RPM_BUILD_ARCH
-	    OUTPUT_STRIP_TRAILING_WHITESPACE
+IF(_manage_rpm_dependency_missing)
+    RETURN()
+ENDIF(_manage_rpm_dependency_missing)
+INCLUDE(ManageVariable)
+CMAKE_FEDORA_CONF_GET_ALL_VARIABLES()
+
+
+## arch
+IF(BUILD_ARCH STREQUAL "noarch")
+    SET(RPM_BUILD_ARCH ${BUILD_ARCH})
+ELSE(BUILD_ARCH STREQUAL "noarch")
+    EXECUTE_PROCESS(COMMAND ${RPM_CMD} -E "%{_arch}"
+	COMMAND sed -e "s/^\\.//"
+	OUTPUT_VARIABLE RPM_BUILD_ARCH
+	OUTPUT_STRIP_TRAILING_WHITESPACE
+	)
+ENDIF(BUILD_ARCH STREQUAL "noarch")
+
+## %{dist}
+EXECUTE_PROCESS(COMMAND ${RPM_CMD} -E "%{dist}"
+    COMMAND sed -e "s/^\\.//"
+    OUTPUT_VARIABLE _RPM_DIST_TAG
+    OUTPUT_STRIP_TRAILING_WHITESPACE
+    )
+SET(RPM_DIST_TAG "${_RPM_DIST_TAG}" CACHE STRING "RPM Dist Tag")
+
+SET(RPM_RELEASE_NO "1" CACHE STRING "RPM Release Number")
+
+SET(RPM_BUILD_TOPDIR "${CMAKE_BINARY_DIR}" CACHE PATH "RPM topdir")
+
+SET(RPM_IGNORE_FILES "debug.*s.list")
+FOREACH(_dir "SPECS" "SOURCES" "SRPMS" "RPMS" "BUILD" "BUILDROOT")
+    IF(NOT RPM_BUILD_${_dir})
+	SET(RPM_BUILD_${_dir} "${RPM_BUILD_TOPDIR}/${_dir}"
+	    CACHE PATH "RPM ${_dir} dir"
 	    )
-    ENDIF(BUILD_ARCH STREQUAL "noarch")
-
-    ## %{dist}
-    EXECUTE_PROCESS(COMMAND ${RPM_CMD} -E "%{dist}"
-	COMMAND sed -e "s/^\\.//"
-	OUTPUT_VARIABLE _RPM_DIST_TAG
-	OUTPUT_STRIP_TRAILING_WHITESPACE
-	)
-    SET(RPM_DIST_TAG "${_RPM_DIST_TAG}" CACHE STRING "RPM Dist Tag")
-
-    SET(RPM_RELEASE_NO "1" CACHE STRING "RPM Release Number")
-
-    SET(RPM_BUILD_TOPDIR "${CMAKE_BINARY_DIR}" CACHE PATH "RPM topdir")
-
-    SET(RPM_IGNORE_FILES "debug.*s.list")
-    FOREACH(_dir "SPECS" "SOURCES" "SRPMS" "RPMS" "BUILD" "BUILDROOT")
-	IF(NOT RPM_BUILD_${_dir})
-	    SET(RPM_BUILD_${_dir} "${RPM_BUILD_TOPDIR}/${_dir}"
-		CACHE PATH "RPM ${_dir} dir"
-		)
-	    MARK_AS_ADVANCED(RPM_BUILD_${_dir})
-	    IF(NOT "${_dir}" STREQUAL "SPECS")
-		LIST(APPEND RPM_IGNORE_FILES "/${_dir}/")
-	    ENDIF(NOT "${_dir}" STREQUAL "SPECS")
-	    FILE(MAKE_DIRECTORY "${RPM_BUILD_${_dir}}")
-	ENDIF(NOT RPM_BUILD_${_dir})
-    ENDFOREACH(_dir "SPECS" "SOURCES" "SRPMS" "RPMS" "BUILD" "BUILDROOT")
-
-    # Add RPM build directories in ignore file list.
-    LIST(APPEND SOURCE_ARCHIVE_IGNORE_FILES ${RPM_IGNORE_FILES})
-
-ENDIF(NOT _manage_rpm_dependency_missing)
+	MARK_AS_ADVANCED(RPM_BUILD_${_dir})
+	IF(NOT "${_dir}" STREQUAL "SPECS")
+	    LIST(APPEND RPM_IGNORE_FILES "/${_dir}/")
+	ENDIF(NOT "${_dir}" STREQUAL "SPECS")
+	FILE(MAKE_DIRECTORY "${RPM_BUILD_${_dir}}")
+    ENDIF(NOT RPM_BUILD_${_dir})
+ENDFOREACH(_dir "SPECS" "SOURCES" "SRPMS" "RPMS" "BUILD" "BUILDROOT")
+
+# Add RPM build directories in ignore file list.
+LIST(APPEND SOURCE_ARCHIVE_IGNORE_FILES ${RPM_IGNORE_FILES})

 FUNCTION(RPM_SPEC_STRING_ADD var str)
     IF("${ARGN}" STREQUAL "FRONT")
@@ -328,124 +327,134 @@
 ENDMACRO(MANAGE_RPM_SPEC)

 MACRO(PACK_RPM)
-    IF(NOT _manage_rpm_dependency_missing )
-	SET(_validOptions "SPEC_IN" "SPEC" "CONFIG_REPLACE")
-	VARIABLE_PARSE_ARGN(_opt _validOptions ${ARGN})
-	MANAGE_RPM_SPEC()
-
-	SET(PRJ_SRPM_FILE "${RPM_BUILD_SRPMS}/${PROJECT_NAME}-${PRJ_VER}-${RPM_RELEASE_NO}.${RPM_DIST_TAG}.src.rpm"
-	    CACHE STRING "RPM files" FORCE)
-
-	SET(PRJ_RPM_FILES "${RPM_BUILD_RPMS}/${RPM_BUILD_ARCH}/${PROJECT_NAME}-${PRJ_VER}-${RPM_RELEASE_NO}.${RPM_DIST_TAG}.${RPM_BUILD_ARCH}.rpm"
-	    CACHE STRING "Building RPM files" FORCE)
-
-#-------------------------------------------------------------------
-	# RPM build commands and targets
-
-	ADD_CUSTOM_TARGET_COMMAND(srpm
-	    OUTPUT ${PRJ_SRPM_FILE}
-	    COMMAND ${RPMBUILD_CMD} -bs ${_opt_SPEC}
-	    --define '_sourcedir ${RPM_BUILD_SOURCES}'
-	    --define '_builddir ${RPM_BUILD_BUILD}'
-	    --define '_srcrpmdir ${RPM_BUILD_SRPMS}'
-	    --define '_specdir ${RPM_BUILD_SPECS}'
-	    DEPENDS ${_opt_SPEC} ${SOURCE_ARCHIVE_FILE}
-	    COMMENT "srpm: ${PRJ_SRPM_FILE}"
+    IF(_manage_rpm_dependency_missing)
+	RETURN()
+    ENDIF(_manage_rpm_dependency_missing)
+
+    SET(_validOptions "SPEC_IN" "SPEC" "CONFIG_REPLACE")
+    VARIABLE_PARSE_ARGN(_opt _validOptions ${ARGN})
+    MANAGE_RPM_SPEC()
+
+    SET(PRJ_SRPM_FILE "${RPM_BUILD_SRPMS}/${PROJECT_NAME}-${PRJ_VER}-${RPM_RELEASE_NO}.${RPM_DIST_TAG}.src.rpm"
+	CACHE STRING "RPM files" FORCE)
+
+    SET(PRJ_RPM_FILES "${RPM_BUILD_RPMS}/${RPM_BUILD_ARCH}/${PROJECT_NAME}-${PRJ_VER}-${RPM_RELEASE_NO}.${RPM_DIST_TAG}.${RPM_BUILD_ARCH}.rpm"
+	CACHE STRING "Building RPM files" FORCE)
+
+    #-------------------------------------------------------------------
+    # RPM build commands and targets
+
+    ADD_CUSTOM_TARGET_COMMAND(srpm
+	OUTPUT ${PRJ_SRPM_FILE}
+	COMMAND ${RPMBUILD_CMD} -bs ${_opt_SPEC}
+	--define '_sourcedir ${RPM_BUILD_SOURCES}'
+	--define '_builddir ${RPM_BUILD_BUILD}'
+	--define '_srcrpmdir ${RPM_BUILD_SRPMS}'
+	--define '_specdir ${RPM_BUILD_SPECS}'
+	DEPENDS ${_opt_SPEC} ${SOURCE_ARCHIVE_FILE}
+	COMMENT "srpm: ${PRJ_SRPM_FILE}"
+	)
+
+    # Binary RPMs
+    ADD_CUSTOM_TARGET_COMMAND(rpm
+	OUTPUT ${PRJ_RPM_FILES}
+	COMMAND ${RPMBUILD_CMD} --rebuild ${PRJ_SRPM_FILE}
+	--define '_rpmdir ${RPM_BUILD_RPMS}'
+	--define '_builddir ${RPM_BUILD_BUILD}'
+	--define '_buildrootdir ${RPM_BUILD_BUILDROOT}'
+	DEPENDS ${PRJ_SRPM_FILE}
+	COMMENT "rpm: ${PRJ_RPM_FILES}"
+	)
+
+    ADD_CUSTOM_TARGET(install_rpms
+	COMMAND find ${RPM_BUILD_RPMS}/${RPM_BUILD_ARCH}
+	-name '${PROJECT_NAME}*-${PRJ_VER}-${RPM_RELEASE_NO}.*.${RPM_BUILD_ARCH}.rpm' !
+	-name '${PROJECT_NAME}-debuginfo-${RPM_RELEASE_NO}.*.${RPM_BUILD_ARCH}.rpm'
+	-print -exec sudo rpm --upgrade --hash --verbose '{}' '\\;'
+	DEPENDS ${PRJ_RPM_FILES}
+	COMMENT "install_rpm: Install all rpms except debuginfo"
+	)
+
+    ADD_CUSTOM_TARGET(rpmlint
+	COMMAND find .
+	-name '${PROJECT_NAME}*-${PRJ_VER}-${RPM_RELEASE_NO}.*.rpm'
+	| xargs rpmlint -i -v
+	DEPENDS ${PRJ_SRPM_FILE} ${PRJ_RPM_FILES}
+	COMMENT "rpmlint: ${PRJ_SRPM_FILE} ${PRJ_RPM_FILES}"
+	)
+
+    ADD_CUSTOM_TARGET(clean_old_rpm
+	COMMAND find .
+	-name '${PROJECT_NAME}*.rpm' ! -name '${PROJECT_NAME}*-${PRJ_VER}-${RPM_RELEASE_NO}.*.rpm'
+	-print -delete
+	COMMAND find ${RPM_BUILD_BUILD}
+	-path '${PROJECT_NAME}*' ! -path '${RPM_BUILD_BUILD}/${PROJECT_NAME}-${PRJ_VER}-*'
+	-print -delete
+	COMMENT "Cleaning old rpms and build."
+	)
+
+    ADD_CUSTOM_TARGET(clean_old_pkg
+	)
+
+    ADD_DEPENDENCIES(clean_old_pkg clean_old_rpm clean_old_pack_src)
+
+    ADD_CUSTOM_TARGET(clean_rpm
+	COMMAND find . -name '${PROJECT_NAME}-*.rpm' -print -delete
+	COMMENT "Cleaning rpms.."
+	)
+    ADD_CUSTOM_TARGET(clean_pkg
+	)
+
+    ADD_DEPENDENCIES(clean_rpm clean_old_rpm)
+    ADD_DEPENDENCIES(clean_pkg clean_rpm clean_pack_src)
+ENDMACRO(PACK_RPM)
+
+MACRO(RPM_MOCK_BUILD)
+    IF(_manage_rpm_dependency_missing)
+	RETURN()
+    ENDIF(_manage_rpm_dependency_missing)
+
+    SET(_mock_missing 0)
+    FIND_PROGRAM_ERROR_HANDLING(MOCK_CMD
+	ERROR_MSG "mock not found, mock build support is disabled."
+	ERROR_VAR _mock_missing
+	VERBOSE_LEVEL ${M_OFF}
+	FIND_ARGS NAMES mock
+	)
+
+    IF(_manage_rpm_dependency_missing)
+	RETURN()
+    ENDIF(_manage_rpm_dependency_missing)
+
+    IF(_mock_missing)
+	RETURN()
+    ENDIF(_mock_missing)
+    IF(NOT RPM_BUILD_ARCH STREQUAL "noarch")
+	IF(NOT DEFINED MOCK_RPM_DIST_TAG)
+	    STRING(REGEX MATCH "^fc([1-9][0-9]*)"  _fedora_mock_dist "${RPM_DIST_TAG}")
+	    STRING(REGEX MATCH "^el([1-9][0-9]*)"  _el_mock_dist "${RPM_DIST_TAG}")
+
+	    IF (_fedora_mock_dist)
+		STRING(REGEX REPLACE "^fc([1-9][0-9]*)" "fedora-\\1" MOCK_RPM_DIST_TAG "${RPM_DIST_TAG}")
+	    ELSEIF (_el_mock_dist)
+		STRING(REGEX REPLACE "^el([1-9][0-9]*)" "epel-\\1" MOCK_RPM_DIST_TAG "${RPM_DIST_TAG}")
+	    ELSE (_fedora_mock_dist)
+		SET(MOCK_RPM_DIST_TAG "fedora-devel")
+	    ENDIF(_fedora_mock_dist)
+	ENDIF(NOT DEFINED MOCK_RPM_DIST_TAG)
+
+	#MESSAGE ("MOCK_RPM_DIST_TAG=${MOCK_RPM_DIST_TAG}")
+	ADD_CUSTOM_TARGET(rpm_mock_i386
+	    COMMAND ${CMAKE_COMMAND} -E make_directory ${RPM_BUILD_RPMS}/i386
+	    COMMAND ${MOCK_CMD} -r  "${MOCK_RPM_DIST_TAG}-i386" --resultdir="${RPM_BUILD_RPMS}/i386" ${PRJ_SRPM_FILE}
+	    DEPENDS ${PRJ_SRPM_FILE}
 	    )

-	# Binary RPMs
-	ADD_CUSTOM_TARGET_COMMAND(rpm
-	    OUTPUT ${PRJ_RPM_FILES}
-	    COMMAND ${RPMBUILD_CMD} --rebuild ${PRJ_SRPM_FILE}
-	    --define '_rpmdir ${RPM_BUILD_RPMS}'
-	    --define '_builddir ${RPM_BUILD_BUILD}'
-	    --define '_buildrootdir ${RPM_BUILD_BUILDROOT}'
+	ADD_CUSTOM_TARGET(rpm_mock_x86_64
+	    COMMAND ${CMAKE_COMMAND} -E make_directory ${RPM_BUILD_RPMS}/x86_64
+	    COMMAND ${MOCK_CMD} -r  "${MOCK_RPM_DIST_TAG}-x86_64" --resultdir="${RPM_BUILD_RPMS}/x86_64" ${PRJ_SRPM_FILE}
 	    DEPENDS ${PRJ_SRPM_FILE}
-	    COMMENT "rpm: ${PRJ_RPM_FILES}"
 	    )
-
-	ADD_CUSTOM_TARGET(install_rpms
-	    COMMAND find ${RPM_BUILD_RPMS}/${RPM_BUILD_ARCH}
-	    -name '${PROJECT_NAME}*-${PRJ_VER}-${RPM_RELEASE_NO}.*.${RPM_BUILD_ARCH}.rpm' !
-	    -name '${PROJECT_NAME}-debuginfo-${RPM_RELEASE_NO}.*.${RPM_BUILD_ARCH}.rpm'
-	    -print -exec sudo rpm --upgrade --hash --verbose '{}' '\\;'
-	    DEPENDS ${PRJ_RPM_FILES}
-	    COMMENT "install_rpm: Install all rpms except debuginfo"
-	    )
-
-	ADD_CUSTOM_TARGET(rpmlint
-	    COMMAND find .
-	    -name '${PROJECT_NAME}*-${PRJ_VER}-${RPM_RELEASE_NO}.*.rpm'
-	    | xargs rpmlint -i -v
-	    DEPENDS ${PRJ_SRPM_FILE} ${PRJ_RPM_FILES}
-	    COMMENT "rpmlint: ${PRJ_SRPM_FILE} ${PRJ_RPM_FILES}"
-	    )
-
-	ADD_CUSTOM_TARGET(clean_old_rpm
-	    COMMAND find .
-	    -name '${PROJECT_NAME}*.rpm' ! -name '${PROJECT_NAME}*-${PRJ_VER}-${RPM_RELEASE_NO}.*.rpm'
-	    -print -delete
-	    COMMAND find ${RPM_BUILD_BUILD}
-	    -path '${PROJECT_NAME}*' ! -path '${RPM_BUILD_BUILD}/${PROJECT_NAME}-${PRJ_VER}-*'
-	    -print -delete
-	    COMMENT "Cleaning old rpms and build."
-	    )
-
-	ADD_CUSTOM_TARGET(clean_old_pkg
-	    )
-
-	ADD_DEPENDENCIES(clean_old_pkg clean_old_rpm clean_old_pack_src)
-
-	ADD_CUSTOM_TARGET(clean_rpm
-	    COMMAND find . -name '${PROJECT_NAME}-*.rpm' -print -delete
-	    COMMENT "Cleaning rpms.."
-	    )
-	ADD_CUSTOM_TARGET(clean_pkg
-	    )
-
-	ADD_DEPENDENCIES(clean_rpm clean_old_rpm)
-	ADD_DEPENDENCIES(clean_pkg clean_rpm clean_pack_src)
-    ENDIF(NOT _manage_rpm_dependency_missing )
-ENDMACRO(PACK_RPM)
-
-MACRO(RPM_MOCK_BUILD)
-    IF(NOT _manage_rpm_dependency_missing )
-	FIND_PROGRAM_ERROR_HANDLING(MOCK_CMD
-	    ERROR_MSG "mock not found, mock build support is disabled."
-	    ERROR_VAR _mock_missing
-	    VERBOSE_LEVEL ${M_OFF}
-	    FIND_ARGS NAMES mock
-	    )
-	IF(NOT _mock_missing)
-	    IF(NOT RPM_BUILD_ARCH STREQUAL "noarch")
-		IF(NOT DEFINED MOCK_RPM_DIST_TAG)
-		    STRING(REGEX MATCH "^fc([1-9][0-9]*)"  _fedora_mock_dist "${RPM_DIST_TAG}")
-		    STRING(REGEX MATCH "^el([1-9][0-9]*)"  _el_mock_dist "${RPM_DIST_TAG}")
-
-		    IF (_fedora_mock_dist)
-			STRING(REGEX REPLACE "^fc([1-9][0-9]*)" "fedora-\\1" MOCK_RPM_DIST_TAG "${RPM_DIST_TAG}")
-		    ELSEIF (_el_mock_dist)
-			STRING(REGEX REPLACE "^el([1-9][0-9]*)" "epel-\\1" MOCK_RPM_DIST_TAG "${RPM_DIST_TAG}")
-		    ELSE (_fedora_mock_dist)
-			SET(MOCK_RPM_DIST_TAG "fedora-devel")
-		    ENDIF(_fedora_mock_dist)
-		ENDIF(NOT DEFINED MOCK_RPM_DIST_TAG)
-
-		#MESSAGE ("MOCK_RPM_DIST_TAG=${MOCK_RPM_DIST_TAG}")
-		ADD_CUSTOM_TARGET(rpm_mock_i386
-		    COMMAND ${CMAKE_COMMAND} -E make_directory ${RPM_BUILD_RPMS}/i386
-		    COMMAND ${MOCK_CMD} -r  "${MOCK_RPM_DIST_TAG}-i386" --resultdir="${RPM_BUILD_RPMS}/i386" ${PRJ_SRPM_FILE}
-		    DEPENDS ${PRJ_SRPM_FILE}
-		    )
-
-		ADD_CUSTOM_TARGET(rpm_mock_x86_64
-		    COMMAND ${CMAKE_COMMAND} -E make_directory ${RPM_BUILD_RPMS}/x86_64
-		    COMMAND ${MOCK_CMD} -r  "${MOCK_RPM_DIST_TAG}-x86_64" --resultdir="${RPM_BUILD_RPMS}/x86_64" ${PRJ_SRPM_FILE}
-		    DEPENDS ${PRJ_SRPM_FILE}
-		    )
-	    ENDIF(NOT RPM_BUILD_ARCH STREQUAL "noarch")
-	ENDIF(NOT _mock_missing)
-    ENDIF(NOT _manage_rpm_dependency_missing )
-
+    ENDIF(NOT RPM_BUILD_ARCH STREQUAL "noarch")
 ENDMACRO(RPM_MOCK_BUILD)


COMP: Enclose tagfile path in quotation marks

--- BlueBerry/CMake/MacroCreateCTKPlugin.cmake
+++ BlueBerry/CMake/MacroCreateCTKPlugin.cmake
@@ -90,7 +90,7 @@

       set(_tag_file "${plugin_tag_dir}/${_dep_target}.tag")
       if(EXISTS ${_tag_file})
-        set(PLUGIN_DOXYGEN_TAGFILES "${PLUGIN_DOXYGEN_TAGFILES} ${_tag_file}=qthelp://${_dep}/bundle/")
+        set(PLUGIN_DOXYGEN_TAGFILES "${PLUGIN_DOXYGEN_TAGFILES} \"${_tag_file}=qthelp://${_dep}/bundle/\"")
       endif()
     endforeach()
     if(_PLUGIN_DOXYGEN_TAGFILES)


Remove dangling package depends file

Remove dangling package depends file

--- CMake/PackageDepends/MITK_VPX_Config.cmake
+++ CMake/PackageDepends/MITK_VPX_Config.cmake
@@ -1,9 +0,0 @@
-set( VPX_LIB "" CACHE FILEPATH "Search for the vpx library file" )
-set( VPX_HEADER_DIR "" CACHE PATH "The path containing vpy headers" )
-set( VPX_FOUND FALSE )
-
-if(VPX_LIB AND VPX_HEADER_DIR)
-  list(APPEND ALL_LIBRARIES ${VPX_LIB})
-  list(APPEND ALL_INCLUDE_DIRECTORIES ${VPX_HEADER_DIR})
-  set( VPX_FOUND TRUE )
-endif()


Use a qRestAPI tarball to avoid git operations during CTK superbuild.

--- CMakeExternals/CTK.cmake
+++ CMakeExternals/CTK.cmake
@@ -81,6 +81,7 @@
         -DCTK_PLUGIN_org.commontk.configadmin:BOOL=ON
         -DCTK_USE_GIT_PROTOCOL:BOOL=OFF
         -DDCMTK_URL:STRING=${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/CTK_DCMTK_085525e6.tar.gz
+        -DqRestAPI_URL:STRING=${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/qRestAPI_778ac3f8.tar.gz
       DEPENDS ${proj_DEPENDENCIES}
      )
   set(CTK_DIR ${CMAKE_CURRENT_BINARY_DIR}/${proj}-build)


Fixed plugin installation location on Windows

--- modules/videoio/cmake/plugin.cmake
+++ modules/videoio/cmake/plugin.cmake
@@ -29,7 +29,12 @@
     CXX_STANDARD 11
     CXX_VISIBILITY_PRESET hidden
   )
-  install(TARGETS ${name} LIBRARY DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT plugins OPTIONAL)
+
+  if(WIN32)
+    install(TARGETS ${name} OPTIONAL LIBRARY DESTINATION ${OPENCV_BIN_INSTALL_PATH} COMPONENT plugins)
+  else()
+    install(TARGETS ${name} OPTIONAL LIBRARY DESTINATION ${OPENCV_LIB_INSTALL_PATH} COMPONENT plugins)
+  endif()

   add_dependencies(opencv_videoio_plugins ${name})


modified FindTreeFrog.cmake.

modified FindTreeFrog.cmake.

--- defaults/FindTreeFrog.cmake
+++ defaults/FindTreeFrog.cmake
@@ -1,32 +1,20 @@
 # Search paths
-if(NOT WIN32)
-  set(TreeFrog_INCLUDE_SEARCH_PATHS
-    $ENV{TFDIR}/include/treefrog
-    /usr/include/treefrog
-    /usr/local/include/treefrog
-  )
+set(TFDIR $ENV{TFDIR})

-  set(TreeFrog_LIB_SEARCH_PATHS
-    $ENV{TFDIR}/lib
-    /usr/lib
-    /usr/local/lib
-  )
+set(TreeFrog_INCLUDE_SEARCH_PATHS
+  /usr/include/treefrog
+  /usr/local/include/treefrog
+)

-  set(TreeFrog_BIN_SEARCH_PATHS
-    $ENV{TFDIR}/bin
-    /usr/bin
-    /usr/local/bin
-  )
-  find_library(TreeFrog_LIB NAMES treefrog PATHS ${TreeFrog_LIB_SEARCH_PATHS})
+if(TFDIR)
+  find_path(TreeFrog_INCLUDE_DIR TGlobal PATHS ${TFDIR}/include/treefrog NO_DEFAULT_PATH)
+  find_library(TreeFrog_LIB treefrog PATHS ${TFDIR}/lib NO_DEFAULT_PATH)
+  find_program(TreeFrog_TMAKE_CMD tmake PATHS ${TFDIR}/bin NO_DEFAULT_PATH)
 else()
-  set(TreeFrog_INCLUDE_SEARCH_PATHS $ENV{TFDIR}/include)
-  set(TreeFrog_LIB_SEARCH_PATHS $ENV{TFDIR}/bin)
-  set(TreeFrog_BIN_SEARCH_PATHS $ENV{TFDIR}/bin)
-  find_library(TreeFrog_LIB NAMES treefrog1 PATHS ${TreeFrog_LIB_SEARCH_PATHS})
+  find_path(TreeFrog_INCLUDE_DIR TGlobal PATHS ${TreeFrog_INCLUDE_SEARCH_PATHS})
+  find_library(TreeFrog_LIB treefrog)
+  find_program(TreeFrog_TMAKE_CMD tmake)
 endif()
-
-find_path(TreeFrog_INCLUDE_DIR NAMES TGlobal PATHS ${TreeFrog_INCLUDE_SEARCH_PATHS})
-find_program(TreeFrog_TMAKE_CMD tmake PATHS ${TreeFrog_BIN_SEARCH_PATHS})

 set(TreeFrog_FOUND ON)

@@ -49,11 +37,11 @@
 endif()

 if(TreeFrog_FOUND)
+  message(STATUS "Found TreeFrog include: ${TreeFrog_INCLUDE_DIR}")
   message(STATUS "Found TreeFrog libraries: ${TreeFrog_LIB}")
-  message(STATUS "Found TreeFrog include: ${TreeFrog_INCLUDE_DIR}")
   message(STATUS "Found TreeFrog tmake command: ${TreeFrog_TMAKE_CMD}")
 else(TreeFrog_FOUND)
-  message(FATAL_ERROR "Could not find TreeFrog. Set the path to TFDIR environment variable.")
+  message(FATAL_ERROR "Could not find TreeFrog. Set the path prefix to TFDIR environment variable.")
 endif(TreeFrog_FOUND)

 mark_as_advanced(


Updating todo list.

Updating todo list.

--- CPM.cmake
+++ CPM.cmake
@@ -7,17 +7,14 @@
 # building the linkages as you go, but that would require two runs of cmake,
 # which I feel is not acceptable.
 #
-# TODO: Add a recursive display of all modules and versions and their
-#       dependencies. Similar to npm's display.
 # TODO: Implement 'export module interface'.
-# TODO: Add include prefixes. Since we know that all public includes will be
-#       located in ./include, we can copy the contents of that directory to a
-#       new location and prefix it with something. This is so we can fix
-#       include issues at the local CMake level instead of having to go
-#       upstream with requests or patch the project.
+# TODO: Add source prefixes. We can take advantage of the standard directory
+#       layout of CPM modules and prefix the cloned source directories. These
+#       prefixes will allow us to bypass, however unlikely, header naming
+#       conflicts.
 #       Name: INCLUDE_PREFIX.
-# TODO: Add library constraints. Some modules may require the user to use
-#       the same version of GLM it uses, for instance. This is to avoid
+# TODO: Add exetrnal library constraints. Some modules may require the user to
+#       use the same version of GLM it uses, for instance. This is to avoid
 #       conflicts regarding what headers are used. This shouldn't be hard
 #       to do as long as all externals and modules are run through CPM.
 # TODO: Add externals. CPM could check the user's home directory for the


Minor formating.

Minor formating.

--- CPM.cmake
+++ CPM.cmake
@@ -956,25 +956,25 @@
 endmacro()

 macro(_cpm_update_hg_repo dir tag)
- message(STATUS "updating hg repository (${dir} @ ${tag})")
- execute_process(
- COMMAND "${HG_EXECUTABLE}" update
- WORKING_DIRECTORY "${dir}"
- RESULT_VARIABLE error_code)
-
- if(error_code)
-  message("could not update hg repo in : '${dir}'")
- endif()
-
- execute_process(
-  COMMAND "${HG_EXECUTABLE}" checkout "${tag}"
-  WORKING_DIRECTORY "${dir}"
-  RESULT_VARIABLE error_code
- )
-
-if(error_code)
- message(FATAL_ERROR "could not checkout sepcified tag: '${tag}'" )
-endif()
+  message(STATUS "updating hg repository (${dir} @ ${tag})")
+  execute_process(
+    COMMAND "${HG_EXECUTABLE}" update
+    WORKING_DIRECTORY "${dir}"
+    RESULT_VARIABLE error_code)
+
+  if(error_code)
+    message("could not update hg repo in : '${dir}'")
+  endif()
+
+  execute_process(
+    COMMAND "${HG_EXECUTABLE}" checkout "${tag}"
+    WORKING_DIRECTORY "${dir}"
+    RESULT_VARIABLE error_code
+    )
+
+  if(error_code)
+    message(FATAL_ERROR "could not checkout sepcified tag: '${tag}'" )
+  endif()
 endmacro()

 macro(_cpm_update_git_repo dir tag)


Fix SVN update failure message.

Fix SVN update failure message.

--- CPM.cmake
+++ CPM.cmake
@@ -1078,8 +1078,8 @@
   if (result)
     set(msg "Command failed: ${result}\n")
     set(msg "${msg} '${cmd}'")
-    set(msg "Skipping SVN update.")
-    message("${msg}")
+    set(msg "Skipping SVN update. ${msg}.")
+    message(STATUS "${msg}")
   endif()
 endmacro()


Fix unterminated conditional directive.

Fix unterminated conditional directive.

--- CPM.cmake
+++ CPM.cmake
@@ -193,7 +193,7 @@
 file(APPEND ${CPM_NS_HEADER_FILE} "      namespace CPM_NAMESPACE_NAME {\\\n")
 file(APPEND ${CPM_NS_HEADER_FILE} "    #else\\\n")
 file(APPEND ${CPM_NS_HEADER_FILE} "      }\\\n")
-file(APPEND ${CPM_NS_HEADER_FILE} "    #endif\\\n")
+file(APPEND ${CPM_NS_HEADER_FILE} "    #endif\n")
 file(APPEND ${CPM_NS_HEADER_FILE} "#endif\n\n")
 file(APPEND ${CPM_NS_HEADER_FILE} "#endif\n")


BUG: .dll as file extension for python modules was (silently) deprecated for a long time on windows plateform, and as been fully removed in python 2.5. The file extension must be .pyd. This change documented in http://docs.python.org/whatsnew/ports.html#SECTION0001510000000000000000

--- Wrapping/WrapITK/CreateWrapperLibrary.cmake
+++ Wrapping/WrapITK/CreateWrapperLibrary.cmake
@@ -484,6 +484,11 @@
     SET(SWIG_RUNTIME_LANGUAGE "")
   ENDIF("${language}" STREQUAL "Java" AND APPLE)

+  IF("${language}" STREQUAL "Python" AND WIN32)
+    # MESSAGE("Setting file extension to .pyd for python modules ${library_name}")
+    SET_TARGET_PROPERTIES(${library_name} PROPERTIES SUFFIX .pyd)
+  ENDIF("${language}" STREQUAL "Python" AND WIN32)
+
   IF(CMAKE_CXX_COMPILER MATCHES "icpc")
     # disable warning #191: type qualifier is meaningless on cast type
     SET_TARGET_PROPERTIES(${library_name} PROPERTIES COMPILE_FLAGS -wd191 )


Update documentation

Update documentation

--- toolchain.cmake
+++ toolchain.cmake
@@ -39,7 +39,7 @@
 find_program( PARALLAX_P8X32A_LOADER propeller-load )
 mark_as_advanced( PARALLAX_P8X32A_LOADER )

-# configure the Parallax P8X32A memory model
+# provide an optional memory model configuration variable
 set(
     PARALLAX_P8X32A_MEMORY_MODELS
     "cog"


Delete old backtrace depend.

Delete old backtrace depend.

--- CMake/FindBacktrace.cmake
+++ CMake/FindBacktrace.cmake
@@ -1,106 +0,0 @@
-# This is cloned from
-# https://github.com/Kitware/CMake/blob/master/Modules/
-# The module is already included in CMake since 3.0. Until we
-# require CMake 3.0 this module works as a backport.
-
-# Find provider for backtrace(3).
-#
-# Checks if OS supports backtrace(3) via either libc or custom library.
-# This module defines the following variables:
-#
-# ``Backtrace_HEADER``
-#   The header file needed for backtrace(3). Cached.
-#   Could be forcibly set by user.
-# ``Backtrace_INCLUDE_DIRS``
-#   The include directories needed to use backtrace(3) header.
-# ``Backtrace_LIBRARIES``
-#   The libraries (linker flags) needed to use backtrace(3), if any.
-# ``Backtrace_FOUND``
-#   Is set if and only if backtrace(3) support detected.
-#
-# The following cache variables are also available to set or use:
-#
-# ``Backtrace_LIBRARY``
-#   The external library providing backtrace, if any.
-# ``Backtrace_INCLUDE_DIR``
-#   The directory holding the backtrace(3) header.
-#
-# Typical usage is to generate of header file using configure_file() with the
-# contents like the following::
-#
-#  #cmakedefine01 Backtrace_FOUND
-#  #if Backtrace_FOUND
-#  # include <${Backtrace_HEADER}>
-#  #endif
-#
-# And then reference that generated header file in actual source.
-
-#=============================================================================
-# Copyright 2013 Vadim Zhukov
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distribute this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-
-include(CMakePushCheckState)
-include(CheckSymbolExists)
-include(FindPackageHandleStandardArgs)
-
-# List of variables to be provided to find_package_handle_standard_args()
-set(_Backtrace_STD_ARGS Backtrace_INCLUDE_DIR)
-
-if(Backtrace_HEADER)
-  set(_Backtrace_HEADER_TRY "${Backtrace_HEADER}")
-else(Backtrace_HEADER)
-  set(_Backtrace_HEADER_TRY "execinfo.h")
-endif(Backtrace_HEADER)
-
-find_path(Backtrace_INCLUDE_DIR "${_Backtrace_HEADER_TRY}")
-set(Backtrace_INCLUDE_DIRS ${Backtrace_INCLUDE_DIR})
-
-if (NOT DEFINED Backtrace_LIBRARY)
-  # First, check if we already have backtrace(), e.g., in libc
-  cmake_push_check_state(RESET)
-  set(CMAKE_REQUIRED_INCLUDES ${Backtrace_INCLUDE_DIRS})
-  set(CMAKE_REQUIRED_QUIET ${Backtrace_FIND_QUIETLY})
-  check_symbol_exists("backtrace" "${_Backtrace_HEADER_TRY}"
-      _Backtrace_SYM_FOUND)
-  cmake_pop_check_state()
-endif()
-
-if(_Backtrace_SYM_FOUND)
-  # Avoid repeating the message() call below each time CMake is run.
-  if(NOT Backtrace_FIND_QUIETLY AND NOT DEFINED Backtrace_LIBRARY)
-    message(STATUS "backtrace facility detected in default set of libraries")
-  endif()
-  set(Backtrace_LIBRARY "" CACHE FILEPATH "Library providing backtrace(3),
-      empty for default set of libraries")
-else()
-  # Check for external library, for non-glibc systems
-  if(Backtrace_INCLUDE_DIR)
-    # OpenBSD has libbacktrace renamed to libexecinfo
-    find_library(Backtrace_LIBRARY "execinfo")
-  elseif()     # respect user wishes
-    set(_Backtrace_HEADER_TRY "backtrace.h")
-    find_path(Backtrace_INCLUDE_DIR ${_Backtrace_HEADER_TRY})
-    find_library(Backtrace_LIBRARY "backtrace")
-  endif()
-
-  # Prepend list with library path as it's more common practice
-  set(_Backtrace_STD_ARGS Backtrace_LIBRARY ${_Backtrace_STD_ARGS})
-endif()
-
-set(Backtrace_LIBRARIES ${Backtrace_LIBRARY})
-set(Backtrace_HEADER "${_Backtrace_HEADER_TRY}" CACHE STRING "Header
-    providing backtrace(3) facility")
-
-find_package_handle_standard_args(Backtrace FOUND_VAR Backtrace_FOUND
-    REQUIRED_VARS ${_Backtrace_STD_ARGS})
-mark_as_advanced(Backtrace_HEADER Backtrace_INCLUDE_DIR Backtrace_LIBRARY)


Enables support for having your project directory different to your Torque engine directory.

--- Tools/CMake/basics.cmake
+++ Tools/CMake/basics.cmake
@@ -32,7 +32,7 @@
     set(TORQUE_TEMPLATE "BaseGame" CACHE STRING "the template to use")
 endif()
 if(NOT TORQUE_APP_DIR)
-    set(TORQUE_APP_DIR "${CMAKE_SOURCE_DIR}/My Projects/${TORQUE_APP_NAME}")
+    set(TORQUE_APP_DIR "${CMAKE_BINARY_DIR}")
 endif()
 if(NOT projectOutDir)
     set(projectOutDir "${TORQUE_APP_DIR}/game")


Copy assets on build

Copy assets on build

--- BuildTools/Macros.cmake
+++ BuildTools/Macros.cmake
@@ -97,8 +97,11 @@
         if(ANDROID)
             #Copy files over
             file(GLOB Android_Project_Dir ${CMAKE_SOURCE_DIR}/BuildTools/Platform/Android/Ancona_Project/*)
+            file(GLOB Android_Assets ${CMAKE_SOURCE_DIR}/resources/*)
+
             file(COPY ${Android_Project_Dir} DESTINATION ${CMAKE_BINARY_DIR}/Android/${target})
-            file(INSTALL ${ARGS_SRC} DESTINATION ${CMAKE_BINARY_DIR}/Android/${target}/jni/)
+            file(COPY ${Android_Assets} DESTINATION ${CMAKE_BINARY_DIR}/Android/${target}/assets/resources)
+            file(COPY ${ARGS_SRC} DESTINATION ${CMAKE_BINARY_DIR}/Android/${target}/jni/)

             #Configure and create the Android.mk file
             create_android_mk_file(${target}


Make windows gpu build project name tensorflow_gpu. (#5794)

* Make windows gpu build project name tensorflow_gpu.

* Update tf_python.cmake

oops, fixed :)

--- tensorflow/contrib/cmake/tf_python.cmake
+++ tensorflow/contrib/cmake/tf_python.cmake
@@ -617,6 +617,12 @@
   COMMAND ${CMAKE_COMMAND} -E copy ${tensorflow_source_dir}/tensorflow/tensorboard/TAG
                                    ${CMAKE_CURRENT_BINARY_DIR}/tf_python/tensorflow/tensorboard/)

-add_custom_command(TARGET tf_python_build_pip_package POST_BUILD
-  COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/tf_python/setup.py bdist_wheel
-  WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tf_python)
+if(${tensorflow_ENABLE_GPU})
+  add_custom_command(TARGET tf_python_build_pip_package POST_BUILD
+    COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/tf_python/setup.py bdist_wheel --project_name tensorflow_gpu
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tf_python)
+else()
+  add_custom_command(TARGET tf_python_build_pip_package POST_BUILD
+    COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_CURRENT_BINARY_DIR}/tf_python/setup.py bdist_wheel
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/tf_python)
+endif(${tensorflow_ENABLE_GPU})


Fix windows cmake build by adding missing bijectors python directory

"tensorflow/contrib/distributions/python/ops/bijectors"
Change: 148222936

--- tensorflow/contrib/cmake/tf_python.cmake
+++ tensorflow/contrib/cmake/tf_python.cmake
@@ -241,6 +241,7 @@
 add_python_module("tensorflow/contrib/distributions/python")
 add_python_module("tensorflow/contrib/distributions/python/kernel_tests")
 add_python_module("tensorflow/contrib/distributions/python/ops")
+add_python_module("tensorflow/contrib/distributions/python/ops/bijectors")
 add_python_module("tensorflow/contrib/factorization")
 add_python_module("tensorflow/contrib/factorization/examples")
 add_python_module("tensorflow/contrib/factorization/kernels")


modules: updated FindMagnumIntegration.cmake.

--- modules/FindMagnumIntegration.cmake
+++ modules/FindMagnumIntegration.cmake
@@ -117,12 +117,14 @@
         else()
             unset(MAGNUM_${_COMPONENT}INTEGRATION_LIBRARY)
         endif()
+
+    # LibOVR integration library
     elseif(${component} STREQUAL LibOvr)
         find_package(OVR)
         if(OVR_FOUND)
-            set(_MAGNUM_${_COMPONENT}INTEGRATION_LIBRARIES ${OVR_LIBRARIES})
+            set(_MAGNUM_${_COMPONENT}INTEGRATION_LIBRARIES ${OVR_LIBRARY})
             set(_MAGNUM_${_COMPONENT}INTEGRATION_INCLUDE_PATH_NAMES LibOvrIntegration.h)
-            set(_MAGNUM_${_COMPONENT}INTEGRATION_INCLUDE_DIRS ${PVR_INCLUDE_DIRS})
+            set(_MAGNUM_${_COMPONENT}INTEGRATION_INCLUDE_DIRS ${OVR_INCLUDE_DIR})
         else()
             unset(MAGNUM_${_COMPONENT}INTEGRATION_LIBRARY)
         endif()


Enable GSL tests (reverts part of changeset 88c50cd078dd).

--- cmake/FindGSL.cmake
+++ cmake/FindGSL.cmake
@@ -160,7 +160,6 @@
   ENDIF(UNIX)
 ENDIF(WIN32)

-set(GSL_LIBRARIES "")

 IF(GSL_LIBRARIES)
   IF(GSL_INCLUDE_DIR OR GSL_CXX_FLAGS)


Improved detection of OIS, with default paths built by the Ogre dependencies package.

--- cmake/FindOIS.cmake
+++ cmake/FindOIS.cmake
@@ -3,10 +3,28 @@
 ################################################################################
 include(FindPackageHandleStandardArgs)

-find_path(OIS_H_PATH NAMES OIS.h PATH_SUFFIXES OIS)
-find_library(OIS_LIB NAMES OIS libOIS)
-find_library(OIS_LIB_DBG NAMES OIS_d libOIS_d)
+set(ENV_OIS_HOME $ENV{OIS_HOME})
+if (ENV_OIS_HOME)
+  string( REGEX REPLACE "\\\\" "/" ENV_OIS_HOME ${ENV_OIS_HOME} )
+endif ()

+set(OIS_PREFIX_PATH
+  ${OIS_HOME} ${ENV_OIS_HOME}
+)
+
+
+find_path(OIS_H_PATH NAMES OIS.h
+        PATHS ${OIS_PREFIX_PATH}
+        PATH_SUFFIXES OIS include includes)
+
+find_library(OIS_LIB NAMES OIS libOIS
+        PATHS ${OIS_PREFIX_PATH}
+        PATH_SUFFIXES Release lib/Release
+        )
+find_library(OIS_LIB_DBG NAMES OIS_d libOIS_d
+        PATHS ${OIS_PREFIX_PATH}
+        PATH_SUFFIXES Debug lib/Debug
+        )
 mark_as_advanced(OIS_H_PATH OIS_LIB OIS_LIB_DBG)

 find_package_handle_standard_args(OIS DEFAULT_MSG OIS_LIB OIS_H_PATH)


FindXDR now detects debug libraries as well.

--- cmake/FindXDR.cmake
+++ cmake/FindXDR.cmake
@@ -47,6 +47,16 @@
 			ENDIF()
 			IF (XDR_INT_SYMBOL_FOUND)
 				SET(XDR_LIBRARIES ${XDR_INT_LIBRARY})
+				## try to find the debug version as well
+				FIND_LIBRARY(XDR_INT_LIBRARY_D ${lib}d)
+
+				IF (XDR_INT_LIBRARY_D)
+					CHECK_LIBRARY_EXISTS(${XDR_INT_LIBRARY_D} xdr_int "" XDR_INT_SYMBOL_D_FOUND)
+					IF (XDR_INT_SYMBOL_D_FOUND)
+						BALL_COMBINE_LIBS(XDR_LIBRARIES $(XDR_LIBRARIES) $(XDR_INT_LIBRARY_D))
+					ENDIF()
+				ENDIF()
+
 				SET(XDR_INT_FOUND TRUE)
 				BREAK()
 			ENDIF()


cmake: output spirv text in *.spvasm files.

This makes my SPIR-V vim plugin happy

--- cmake/glslang.cmake
+++ cmake/glslang.cmake
@@ -64,7 +64,7 @@
                 COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_SPIRV_PATH}
                 COMMAND ${VULKAN_GLSLANGVALIDATOR_EXEC} --target-env spirv1.3 -g -e main -V -D ${INPUT_SHADER} -I${shader_root_folder} -o ${OUTPUT_SPIRV}.unoptimized
                 COMMAND ${VULKAN_SPIRV_OPT_EXEC} ${OUTPUT_SPIRV}.unoptimized --legalize-hlsl -Os -o ${OUTPUT_SPIRV}
-                COMMAND ${VULKAN_SPIRV_DIS_EXEC} ${OUTPUT_SPIRV} -o ${OUTPUT_SPIRV}.txt
+                COMMAND ${VULKAN_SPIRV_DIS_EXEC} ${OUTPUT_SPIRV} -o ${OUTPUT_SPIRV}asm
                 COMMAND ${VULKAN_SPIRV_VAL_EXEC} ${OUTPUT_SPIRV}
                 MAIN_DEPENDENCY ${INPUT_SHADER}
                 COMMENT "Compiling HLSL shader ${INPUT_SHADER_REL} to SPIR-V (${OUTPUT_SPIRV_NAME})"
@@ -74,7 +74,7 @@
                 COMMAND ${CMAKE_COMMAND} -E make_directory ${OUTPUT_SPIRV_PATH}
                 COMMAND ${VULKAN_GLSLANGVALIDATOR_EXEC} --target-env spirv1.3 -g -V ${INPUT_SHADER} -I${shader_root_folder} -o ${OUTPUT_SPIRV}.unoptimized
                 COMMAND ${VULKAN_SPIRV_OPT_EXEC} ${OUTPUT_SPIRV}.unoptimized -Os -o ${OUTPUT_SPIRV}
-                COMMAND ${VULKAN_SPIRV_DIS_EXEC} ${OUTPUT_SPIRV} -o ${OUTPUT_SPIRV}.txt
+                COMMAND ${VULKAN_SPIRV_DIS_EXEC} ${OUTPUT_SPIRV} -o ${OUTPUT_SPIRV}asm
                 COMMAND ${VULKAN_SPIRV_VAL_EXEC} ${OUTPUT_SPIRV}
                 MAIN_DEPENDENCY ${INPUT_SHADER}
                 COMMENT "Compiling GLSL shader ${INPUT_SHADER_REL} to SPIR-V (${OUTPUT_SPIRV_NAME})"


Reflect name change of lapacke_mangling.h template

--- cmake/lapacke.cmake
+++ cmake/lapacke.cmake
@@ -2119,6 +2119,6 @@
 endforeach ()

 set(lapacke_include_dir "${NETLIB_LAPACK_DIR}/LAPACKE/include")
-execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${lapacke_include_dir}/lapacke_mangling_with_flags.h" "${lapacke_include_dir}/lapacke_mangling.h")
+execute_process(COMMAND ${CMAKE_COMMAND} -E copy "${lapacke_include_dir}/lapacke_mangling_with_flags.h.in" "${lapacke_include_dir}/lapacke_mangling.h")
 include_directories(${lapacke_include_dir})
 set_source_files_properties(${LAPACKE_SOURCES} PROPERTIES COMPILE_FLAGS "${LAPACK_CFLAGS}")


fixed: check if python is really available before linking/including it

--- CMake/BuildFunctions.cmake
+++ CMake/BuildFunctions.cmake
@@ -1495,9 +1495,9 @@

 FUNCTION(OSG_SETUP_PYTHON_BUILD)

-  IF(${PROJECT_NAME}_NO_PYTHON)
+  IF(${PROJECT_NAME}_NO_PYTHON OR NOT PYTHON_FOUND)
       RETURN()
-  ENDIF(${PROJECT_NAME}_NO_PYTHON)
+  ENDIF(${PROJECT_NAME}_NO_PYTHON OR NOT PYTHON_FOUND)

   MESSAGE("  setup python for ${PROJECT_NAME}")


fixed: unix use of imported target

fixed: unix use of imported target

git-svn-id: 6c7e10cdde2c115f53707ba8ec4efe535f92d362@2090 4683daeb-ad0f-0410-a623-93161e962ae5

--- CMake/BuildFunctions.cmake
+++ CMake/BuildFunctions.cmake
@@ -1195,12 +1195,17 @@
   ENDIF(NOT ${NEW_LIB}_RELEASE AND ${NEW_LIB}_DEBUG)

   SET_TARGET_PROPERTIES(OSG_${NEW_LIB}_TARGET PROPERTIES
-                        IMPORTED_IMPLIB ${${NEW_LIB}_RELEASE}
-                        IMPORTED_LOCATION ${OSG_TMP_LIB_DIR}
-                        IMPORTED_IMPLIB_DEBUG ${${NEW_LIB}_DEBUG}
-                        IMPORTED_LOCATION_DEBUG ${OSG_TMP_LIB_DIR}
-                        IMPORTED_IMPLIB_DEBUGGV ${${NEW_LIB}_DEBUG}
-                        IMPORTED_LOCATION_DEBUGGV ${OSG_TMP_LIB_DIR})
+                        IMPORTED_LOCATION ${${NEW_LIB}_RELEASE}
+                        IMPORTED_LOCATION_DEBUG ${${NEW_LIB}_DEBUG}
+                        IMPORTED_LOCATION_DEBUGGV ${${NEW_LIB}_DEBUG})
+
+#  SET_TARGET_PROPERTIES(OSG_${NEW_LIB}_TARGET PROPERTIES
+#                        IMPORTED_IMPLIB ${${NEW_LIB}_RELEASE}
+#                        IMPORTED_LOCATION ${OSG_TMP_LIB_DIR}
+#                        IMPORTED_IMPLIB_DEBUG ${${NEW_LIB}_DEBUG}
+#                        IMPORTED_LOCATION_DEBUG ${OSG_TMP_LIB_DIR}
+#                        IMPORTED_IMPLIB_DEBUGGV ${${NEW_LIB}_DEBUG}
+#                        IMPORTED_LOCATION_DEBUGGV ${OSG_TMP_LIB_DIR})

 ENDFUNCTION(OSG_SETUP_IMPORT_LIB_UNIX)


feat(cmake): Enable ${WARN_AS_ERROR_FLAGS}

--- CMake/CompileOptions.cmake
+++ CMake/CompileOptions.cmake
@@ -75,8 +75,8 @@
 if (CMAKE_CXX_COMPILER_ID MATCHES "MSVC")
 	set(DEFAULT_COMPILE_OPTIONS ${DEFAULT_COMPILE_OPTIONS}
 		/MP           # -> build with multiple processes
-		/W4           # -> warning level 3
-		# ${WARN_AS_ERROR_FLAGS}
+		/W4           # -> warning level 4
+		${WARN_AS_ERROR_FLAGS}

 		# /wd4251     # -> disable warning: 'identifier': class 'type' needs to have dll-interface to be used by clients of class 'type2'
 		# /wd4592     # -> disable warning: 'identifier': symbol will be dynamically initialized (implementation limitation)


Ensure OGRE_USE_BOOST is 0 by default (thanks dermont)

--HG--
extra : convert_revision : svn%3A8631bf8a-c64b-0410-883c-f3eb003322f7/trunk%40833

--- CMake/ConfigureBuild.cmake
+++ CMake/ConfigureBuild.cmake
@@ -36,6 +36,7 @@
 set(OGRE_SET_DISABLE_DDS 0)
 set(OGRE_SET_NEW_COMPILERS 0)
 set(OGRE_STATIC_LIB 0)
+set(OGRE_USE_BOOST 0)
 if (OGRE_CONFIG_DOUBLE)
   set(OGRE_SET_DOUBLE 1)
 endif()


Cmake: Remove OSX include which is removed in 1.12 (#1269)

--- CMake/ConfigureBuild.cmake
+++ CMake/ConfigureBuild.cmake
@@ -160,9 +160,7 @@

   set(OGRE_ADDITIONAL_LIBS "")
   set(OGRE_ADDITIONAL_INCLUDE_DIRS "")
-  if (APPLE AND NOT APPLE_IOS)
-    set(OGRE_ADDITIONAL_INCLUDE_DIRS "-I\${includedir}/OGRE/OSX")
-  endif ()
+
   set(OGRE_CFLAGS "")
   set(OGRE_PREFIX_PATH ${CMAKE_INSTALL_PREFIX})
   if (OGRE_CONFIG_THREADS GREATER 0)


Fixed problem with finding ros.h

Fixed problem with finding ros.h

--- CMakeModules/FindROS.cmake
+++ CMakeModules/FindROS.cmake
@@ -26,22 +26,20 @@
   MESSAGE("ROS_VERSION not defined")
   FOREACH(version ${AVAILABLE_ROS_VERSIONS})
     IF(NOT ROS_FOUND)
-      FIND_PATH(ROS_H ros.h PATHS /opt/ros/${version}/include/ros)
-      IF(ROS_H)
+      IF(EXISTS /opt/ros/${version}/include/ros/ros.h)
         MESSAGE(STATUS "Found ros version ${version}")
         SET(ROS_VERSION2 ${version})
         SET(ROS_FOUND 1)
-      ENDIF(ROS_H)
+      ENDIF(EXISTS /opt/ros/${version}/include/ros/ros.h)
     ENDIF(NOT ROS_FOUND)
   ENDFOREACH(version)
 ELSE(ROS_VERSION MATCHES "")
   MESSAGE("ROS_VERSION defined as " ${ROS_VERSION})
-  FIND_PATH(ROS_H ros.h PATHS /opt/ros/${ROS_VERSION}/include/ros)
-  IF(ROS_H)
+  IF(EXISTS /opt/ros/${version}/include/ros/ros.h)
     MESSAGE("Found ros version ${ROS_VERSION}")
     SET(ROS_FOUND 1)
     SET(ROS_VERSION2 ${version})
-  ENDIF(ROS_H)
+  ENDIF(EXISTS /opt/ros/${version}/include/ros/ros.h)
 ENDIF(ROS_VERSION MATCHES "")

 IF(NOT ROS_FOUND)


Increment version to 3.1.1

Increment version to 3.1.1

--- CMakeModules/Version.cmake
+++ CMakeModules/Version.cmake
@@ -3,7 +3,7 @@
 #
 SET(AF_VERSION_MAJOR "3")
 SET(AF_VERSION_MINOR "1")
-SET(AF_VERSION_PATCH "0")
+SET(AF_VERSION_PATCH "1")

 SET(AF_VERSION "${AF_VERSION_MAJOR}.${AF_VERSION_MINOR}.${AF_VERSION_PATCH}")
 SET(AF_API_VERSION_CURRENT ${AF_VERSION_MAJOR}${AF_VERSION_MINOR})


Error checking; try three times on failures.

--- modules/DownloadModules.cmake
+++ modules/DownloadModules.cmake
@@ -77,37 +77,56 @@
     # Download
     if (_getmod)
       message ("Downloading module '${_modname}'...")
-      if (${_modvc} STREQUAL "svn")
-        if (NOT svn)
-          message (FATAL_ERROR
-            "Subversion client not found - required for ${_modname} module!")
-        endif (NOT svn)
-        # QQQ Ridiculous and slow hack, but Sourceforge has been
-        # incredibly unreliable lately so this is the best choice I've
-        # got to make the remote queue semi-stable
-        foreach (s 1 2)
+      # We try three times, to account for network weirdnesses
+      foreach (i 1 2 3)
+	# First delete the output directory, in case there's a partial
+	# download from a previous attempt
+	file (REMOVE_RECURSE "${outdir}/${_modname}")
+
+	set (_status)
+
+	if (${_modvc} STREQUAL "svn")
+          if (NOT svn)
+            message (FATAL_ERROR
+              "Subversion client not found - required for ${_modname} module!")
+          endif (NOT svn)
           execute_process (COMMAND "${svn}" checkout "${_modurl}" "${_modname}"
-            WORKING_DIRECTORY "${outdir}" TIMEOUT 60)
-        endforeach (s 1 2)
+            WORKING_DIRECTORY "${outdir}" TIMEOUT 60 RESULT_VARIABLE _status)

-      elseif (${_modvc} STREQUAL "bzr")
-        if (NOT bzr)
-          message (FATAL_ERROR
-            "Bazaar client not found - required for ${_modname} module!")
-        endif (NOT bzr)
+	elseif (${_modvc} STREQUAL "bzr")
+          if (NOT bzr)
+            message (FATAL_ERROR
+              "Bazaar client not found - required for ${_modname} module!")
+          endif (NOT bzr)

-        set (_modtagargs)
-        if (_modtag AND NOT notags)
-          set (_modtagargs "-r" "${_modtag}")
-        endif (_modtag AND NOT notags)
-        execute_process (COMMAND "${bzr}" branch "${_modurl}" "${_modname}"
-          ${_modtagargs} WORKING_DIRECTORY "${outdir}" TIMEOUT 60)
+          set (_modtagargs)
+          if (_modtag AND NOT notags)
+            set (_modtagargs "-r" "${_modtag}")
+          endif (_modtag AND NOT notags)
+          execute_process (COMMAND "${bzr}" branch "${_modurl}" "${_modname}"
+            ${_modtagargs} WORKING_DIRECTORY "${outdir}" TIMEOUT 60
+	    RESULT_VARIABLE _status)

-      else (${_modvc} STREQUAL "svn")
-        message (FATAL_ERROR "Unknown vc-type '${_modvc}' for module "
-          "'${_modname}' in modules/ExternalModules.conf!")
+	else (${_modvc} STREQUAL "svn")
+          message (FATAL_ERROR "Unknown vc-type '${_modvc}' for module "
+            "'${_modname}' in modules/ExternalModules.conf!")

-      endif (${_modvc} STREQUAL "svn")
+	endif (${_modvc} STREQUAL "svn")
+
+	if ("${_status}" EQUAL 0)
+	  # Success
+	  break ()
+	else ("${_status}" EQUAL 0)
+	  message (WARNING "Attempt ${i}: Failed to download '${_modname}' (${_status})")
+	endif ("${_status}" EQUAL 0)
+
+      endforeach (i)
     endif (_getmod)
+
+    # Ensure we successfully downloaded something good
+    if (NOT EXISTS "${outdir}/${_modname}/CMakeLists.txt")
+      message (FATAL_ERROR "Failed to download '${_modname}' after 3 attempts, giving up.")
+    endif (NOT EXISTS "${outdir}/${_modname}/CMakeLists.txt")
+
   endif (modline)
 endforeach (modline)


Restore code that finds Jasper when using static libraw (#3210)

This was deleted a few months back, but I think I did not realize
it still served a purpose. We don't use JasPer directly, but LibRaw
does, so if we are using static LibRaw, we still need it here.

Fixes #3209

--- src/cmake/modules/FindLibRaw.cmake
+++ src/cmake/modules/FindLibRaw.cmake
@@ -86,6 +86,10 @@

 if (LINKSTATIC)
     # Necessary?
+    find_package (Jasper)
+    if (JASPER_FOUND)
+        set (LibRaw_r_LIBRARIES ${LibRaw_r_LIBRARIES} ${JASPER_LIBRARIES})
+    endif()
     find_library (LCMS2_LIBRARIES NAMES lcms2)
     if (LCMS2_LIBRARIES)
         set (LibRaw_r_LIBRARIES ${LibRaw_r_LIBRARIES} ${LCMS2_LIBRARIES})


Added linker option for Emscripten demangle support

(see #217)

by @darkmusic

--- cmake-toolchains/emscripten.toolchain.cmake
+++ cmake-toolchains/emscripten.toolchain.cmake
@@ -59,6 +59,7 @@
 option(FIPS_EMSCRIPTEN_USE_EMMALLOC "emscripten: use emmalloc allocator" OFF)
 option(FIPS_EMSCRIPTEN_ALLOW_MEMORY_GROWTH "emscripten: allow memory growth" OFF)
 option(FIPS_EMSCRIPTEN_USE_WASM_TRAP_MODE_CLAMP "emscripten: use trap-mode clamp for wasm" ON)
+option(FIPS_EMSCRIPTEN_DEMANGLE "emscripten: compile with libcxxabi-provided demangling support" OFF)
 option(FIPS_EMSCRIPTEN_USE_FETCH "emscripten: use fetch API" OFF)
 set(FIPS_EMSCRIPTEN_TOTAL_MEMORY 134217728 CACHE STRING "emscripten: total heap size in bytes")
 set(FIPS_EMSCRIPTEN_LTO_LEVEL 1 CACHE STRING "emscripten: Link-time-optimization level (0..3)")
@@ -148,6 +149,9 @@
     set(EMSC_LINKER_FLAGS_RELEASE "${EMSC_LINKER_FLAGS_RELEASE} --closure 1")
 else()
     set(EMSC_LINKER_FLAGS_RELEASE "${EMSC_LINKER_FLAGS_RELEASE} --closure 0")
+endif()
+if (FIPS_EMSCRIPTEN_DEMANGLE)
+    set(EMSC_LINKER_FLAGS "${EMSC_LINKER_FLAGS} -s DEMANGLE_SUPPORT=1")
 endif()
 set(EMSC_LINKER_FLAGS_RELEASE "${EMSC_LINKER_FLAGS_RELEASE} -s ASSERTIONS=0")
 if (FIPS_EMSCRIPTEN_USE_FETCH)


Warp engine improvements for RGB alignment/stereo rectification

--- 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 "2bebad51c15c2e8961899a29b93b93f2409d8464")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "9215cfc78468345cf226e92984ff3ed7ad3cfe2b")

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


Update FW

Update FW

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

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

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


FMUv2: Disable more unused modules

FMUv2: Disable more unused modules

--- cmake/configs/nuttx_px4fmu-v2_default.cmake
+++ cmake/configs/nuttx_px4fmu-v2_default.cmake
@@ -23,7 +23,7 @@
 	drivers/l3gd20
 	drivers/hmc5883
 	drivers/ms5611
-	drivers/mb12xx
+	#drivers/mb12xx
 	drivers/srf02
 	drivers/sf0x
 	drivers/ll40ls
@@ -134,7 +134,7 @@
 	#
 	# OBC challenge
 	#
-	modules/bottle_drop
+	#modules/bottle_drop

 	#
 	# Rover apps


Workaround cmake/curl refusing to download a https file.

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -1379,7 +1379,8 @@
   # http://stackoverflow.com/questions/9689183/cmake-googletest
   ExternalProject_Add(
     googletest
-    URL https://github.com/google/googletest/archive/release-1.8.0.zip
+    GIT_REPOSITORY https://github.com/google/googletest.git
+    GIT_TAG release-1.8.0
     # TIMEOUT 10
     # # Force separate output paths for debug and release builds to allow easy
     # # identification of correct lib in subsequent TARGET_LINK_LIBRARIES commands


Changing cvs root for vtk.

Changing cvs root for vtk.

--- DartConfig.cmake
+++ DartConfig.cmake
@@ -7,8 +7,8 @@
        "http://${DROP_SITE}/cgi-bin/Submit-vtk-TestingResults.pl")

 # Dart server configuration
-SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/cvsweb.cgi/vtknew/")
-SET (CVS_WEB_CVSROOT "vtknew")
+SET (CVS_WEB_URL "http://${DROP_SITE}/cgi-bin/cvsweb.cgi/VTK/")
+SET (CVS_WEB_CVSROOT "VTK")
 SET (DOXYGEN_URL "http://${DROP_SITE}/" )
 SET (GNATS_WEB_URL "http://${DROP_SITE}/")


adapted external imgui dependency for multiple use in different plugins

--- CMakeExternals.cmake
+++ CMakeExternals.cmake
@@ -244,28 +244,28 @@

   # imgui
   elseif(NAME STREQUAL "imgui")
-    if(TARGET imgui)
-      return()
-    endif()
-
-    if(WIN32)
-      set(IMGUI_LIB "lib/imgui.lib")
-    else()
-      set(IMGUI_LIB "lib/libimgui.a")
-    endif()
-
-    add_external_project(imgui STATIC
-      GIT_REPOSITORY https://github.com/ocornut/imgui.git
-      GIT_TAG "v1.70"
-      BUILD_BYPRODUCTS "<INSTALL_DIR>/${IMGUI_LIB}"
-      PATCH_COMMAND ${CMAKE_COMMAND} -E copy
-        "${CMAKE_SOURCE_DIR}/cmake/imgui/CMakeLists.txt"
-        "<SOURCE_DIR>/CMakeLists.txt")
+    if(NOT TARGET imgui)
+
+      if(WIN32)
+        set(IMGUI_LIB "lib/imgui.lib")
+      else()
+        set(IMGUI_LIB "lib/libimgui.a")
+      endif()
+
+      add_external_project(imgui STATIC
+        GIT_REPOSITORY https://github.com/ocornut/imgui.git
+        GIT_TAG "v1.70"
+        BUILD_BYPRODUCTS "<INSTALL_DIR>/${IMGUI_LIB}"
+        PATCH_COMMAND ${CMAKE_COMMAND} -E copy
+          "${CMAKE_SOURCE_DIR}/cmake/imgui/CMakeLists.txt"
+          "<SOURCE_DIR>/CMakeLists.txt")
+
+      add_external_library(imgui
+        LIBRARY ${IMGUI_LIB})
+
+    endif()

     external_get_property(imgui SOURCE_DIR)
-
-    add_external_library(imgui
-      LIBRARY ${IMGUI_LIB})

     target_include_directories(imgui INTERFACE "${SOURCE_DIR}/examples" "${SOURCE_DIR}/misc/cpp")


Add a space after each -I and -isystem

Add a space after each -I and -isystem

--- ClangTidy.cmake
+++ ClangTidy.cmake
@@ -142,7 +142,7 @@
         foreach (INTERNAL_INCLUDE ${MAKE_COMP_DB_INTERNAL_INCLUDE_DIRS})

             set (COMPILATION_DB_FILE_CONTENTS
-                 "${COMPILATION_DB_FILE_CONTENTS} -I${INTERNAL_INCLUDE}")
+                 "${COMPILATION_DB_FILE_CONTENTS} -I${INTERNAL_INCLUDE} ")

         endforeach ()

@@ -150,7 +150,7 @@

             set (COMPILATION_DB_FILE_CONTENTS
                  "${COMPILATION_DB_FILE_CONTENTS}"
-                 "-isystem${EXTERNAL_INCLUDE}")
+                 "-isystem${EXTERNAL_INCLUDE} ")

         endforeach ()


Dispense with the unconfigured DIRNAME stuff.

svn path=/trunk/; revision=7250

--- test/plplot-test.sh.cmake
+++ test/plplot-test.sh.cmake
@@ -33,8 +33,6 @@
 # or jpeg files on Linux systems) to make sure they display properly.

 version=@VERSION@
-
-dirname=@DIRNAME@

 EXAMPLES_DIR=${EXAMPLES_DIR:-.}
 SRC_EXAMPLES_DIR=${SRC_EXAMPLES_DIR:-.}
@@ -228,17 +226,13 @@
    test "@ENABLE_pdl@" = ON    && FRONT_END="$FRONT_END perl"
 fi

-# Find where the front-end scripts are by looking at the dirname of the
-# current script.  Try to use first the dirname program found by configure.
-# Otherwise, fall back to a sed solution (this fails on Mac OS X!).
-if test -n "$dirname" ; then
-   scripts_dir=`$dirname $0`
+# Find where the front-end scripts are by looking at the directory name of the
+# current script.
+
+if test "@WIN32@" = "1"; then
+   scripts_dir=${0%/*}
 else
-   if test "@WIN32@" = "1"; then
-      scripts_dir=${0%/*}
-   else
-      scripts_dir=`echo $0 | sed 's:/[^/][^/]*$::'`
-   fi
+   scripts_dir=`echo $0 | sed 's:/[^/][^/]*$::'`
 fi

 # Call the front-end scripts


ENH: add tweak flag for OSF

ENH: add tweak flag for OSF

--- vtkCMakeOptions.cmake
+++ vtkCMakeOptions.cmake
@@ -112,6 +112,9 @@

 IF(NOT CMAKE_COMPILER_IS_GNUCXX)
   SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${CMAKE_ANSI_CFLAGS}")
+  IF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
+     SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -tweak")
+  ENDIF(CMAKE_SYSTEM MATCHES "OSF1-V.*")
 ENDIF(NOT CMAKE_COMPILER_IS_GNUCXX)

 IF(APPLE)


Fixed boost thread dependency on boost system

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -556,7 +556,8 @@

 add_library_dependencies(boost_filesystem third_party.boost_system)
 add_library_dependencies(boost_log third_party.boost_filesystem)
-add_library_dependencies(boost_thread third_party.boost_atomic)
+add_library_dependencies(
+    boost_thread third_party.boost_atomic third_party.boost_system)
 add_library_dependencies(boost_iostreams ${BZ2_LIB})
 add_framework_dependencies(formatter_kit AddressBook AddressBookUI CoreLocation)
 add_library_dependencies(gtest pthread)


Mac: have to use Core Animation

Mac: have to use Core Animation

--- src/PluginConfig.cmake
+++ src/PluginConfig.cmake
@@ -91,9 +91,9 @@
 set(FBMAC_USE_QUICKDRAW 0)
 set(FBMAC_USE_CARBON 0)
 set(FBMAC_USE_COCOA 1)
-set(FBMAC_USE_COREGRAPHICS 1)
-set(FBMAC_USE_COREANIMATION 0)
-set(FBMAC_USE_INVALIDATINGCOREANIMATION 0)
+set(FBMAC_USE_COREGRAPHICS 0)
+set(FBMAC_USE_COREANIMATION 1)
+set(FBMAC_USE_INVALIDATINGCOREANIMATION 1)

 # If you want to register per-machine on Windows, uncomment this line
 #set (FB_ATLREG_MACHINEWIDE 1)


ENH: changed CTEST_DROP_METHOD from http to https

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -1,7 +1,7 @@
 set(CTEST_PROJECT_NAME "ITK")
 set(CTEST_NIGHTLY_START_TIME "1:00:00 UTC")

-set(CTEST_DROP_METHOD "http")
+set(CTEST_DROP_METHOD "https")
 set(CTEST_DROP_SITE "open.cdash.org")
 set(CTEST_DROP_LOCATION "/submit.php?project=Insight")
 set(CTEST_DROP_SITE_CDASH TRUE)


Increased timeout for large file tests.

Increased timeout for large file tests.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -6,7 +6,7 @@
 ##   ENABLE_TESTING()
 ##   INCLUDE(CTest)

-set(DART_TESTING_TIMEOUT "3600")
+set(DART_TESTING_TIMEOUT "4800")

 set(CTEST_PROJECT_NAME "netcdf-c")
 set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")


cake install to clone branch feature/project

--- CakeInstall.cmake
+++ CakeInstall.cmake
@@ -72,6 +72,7 @@
 execute_process(
       COMMAND ${GIT_EXECUTABLE} clone
         --depth 1 ${CAKE_GIT_URL}
+        --branch feature/project
         ${CAKE_ROOT}
       RESULT_VARIABLE _cake_git_result_variable)
 if(_cake_git_result_variable)


Squashed 'CMake/Basis/' changes from 22983ed..1766106

1766106 Merge branch 'bugfix-546-custom-cmake-namespace-delimiter' into develop
93d4837 #506 fix: Show error message when BASIS_TEST_LIBRARY or BASIS_TEST_MAIN_LIBRARY not set
030ecb9 #542 del: FindGTest.cmake module
866e320 #505 Initialize DEPENDS_<PKG>_DIR from <PKG>_ROOT (environment) variable
f127f0f fix: Add NO_NOTFOUND_ERROR option to basis_find_package and use it in basis_find_packages
b34d13a #546 fix: Use BASIS_NAMESPACE_DELIMITER_CMAKE in basis_export_targets

git-subtree-dir: CMake/Basis
git-subtree-split: 176610605fc017d32b4337bd966a0a5bbfde983e

--- ExportTools.cmake
+++ ExportTools.cmake
@@ -280,7 +280,7 @@
     if (BASIS_USE_TARGET_UIDS AND BASIS_USE_FULLY_QUALIFIED_UIDS)
       set (NAMESPACE_OPT)
     elseif (TOPLEVEL_PROJECT_NAMESPACE_CMAKE)
-      set (NAMESPACE_OPT NAMESPACE "${TOPLEVEL_PROJECT_NAMESPACE_CMAKE}.")
+      set (NAMESPACE_OPT NAMESPACE "${TOPLEVEL_PROJECT_NAMESPACE_CMAKE}${BASIS_NAMESPACE_DELIMITER_CMAKE}")
     endif ()
     export (
       TARGETS   ${EXPORT_TARGETS}


Fix message typo and wronlgy inherited ONCRPC var name

--- make/UseRPMTools.cmake
+++ make/UseRPMTools.cmake
@@ -29,10 +29,10 @@
   IF (RPMTools_RPMBUILD_EXECUTABLE)
     MESSAGE(STATUS "Looking for RPMTools... - found rpmuild is ${RPMTools_RPMBUILD_EXECUTABLE}")
     SET(RPMTools_RPMBUILD_FOUND "YES")
-    GET_FILENAME_COMPONENT(ONCRPC_BINARY_DIRS ${RPMTools_RPMBUILD_EXECUTABLE} PATH)
+    GET_FILENAME_COMPONENT(RPMTools_BINARY_DIRS ${RPMTools_RPMBUILD_EXECUTABLE} PATH)
   ELSE (RPMTools_RPMBUILD_EXECUTABLE)
     SET(RPMTools_RPMBUILD_FOUND "NO")
-    MESSAGE(STATUS "Looking for ONCRPC... - rpmbuild NOT FOUND")
+    MESSAGE(STATUS "Looking for RPMTools... - rpmbuild NOT FOUND")
   ENDIF (RPMTools_RPMBUILD_EXECUTABLE)

   # Detect if CPack was included or not


Swap cache and config folder variables as per alphabetic order

--- cmake/ContainTest.cmake
+++ cmake/ContainTest.cmake
@@ -5,7 +5,7 @@
 macro(contain_test test_name executable)
     parse_arguments(ARGS "test_name;executable" "" ${ARGN})
     set(TEST_ENV "")
-    foreach(VARIABLE XDG_CONFIG_HOME XDG_CACHE_HOME XDG_DATA_HOME XDG_RUNTIME_DIR TMPDIR)
+    foreach(VARIABLE XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR TMPDIR)
         set(CONTAINER "${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/${VARIABLE}")
         set(TEST_ENV "${TEST_ENV}${VARIABLE}=${CONTAINER};")
     endforeach()
@@ -19,8 +19,8 @@
                          )
     add_custom_target("contain-${test_name}"
         COMMAND ${CMAKE_COMMAND} -E remove_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders
+        COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_CACHE_HOME
         COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_CONFIG_HOME
-        COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_CACHE_HOME
         COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_DATA_HOME
         COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/XDG_RUNTIME_DIR
         COMMAND ${CMAKE_COMMAND} -E make_directory ${CMAKE_CURRENT_BINARY_DIR}/${test_name}-folders/TMPDIR


Fixed an issue with install paths for Qt

--- cmake/ExternalQt5.cmake
+++ cmake/ExternalQt5.cmake
@@ -88,14 +88,14 @@

 )
 if(WIN32)
-    set(Qt5Gui_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/Qt5Gui.lib)
-    set(Qt5Core_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/Qt5Core.lib)
-    set(Qt5Widgets_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/Qt5Widgets.lib)
-    set(Qt5OpenGL_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/Qt5OpenGL.lib)
+    set(Qt5Gui_LIBRARY Qt5Gui.lib)
+    set(Qt5Core_LIBRARY Qt5Core.lib)
+    set(Qt5Widgets_LIBRARY Qt5Widgets.lib)
+    set(Qt5OpenGL_LIBRARY Qt5OpenGL.lib)
 else()
-    set(Qt5Gui_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Gui${CMAKE_SHARED_LIBRARY_SUFFIX})
-    set(Qt5Core_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Core${CMAKE_SHARED_LIBRARY_SUFFIX})
-    set(Qt5Widgets_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Widgets${CMAKE_SHARED_LIBRARY_SUFFIX})
-    set(Qt5OpenGL_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}Qt5OpenGL${CMAKE_SHARED_LIBRARY_SUFFIX})
+    set(Qt5Gui_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Gui${CMAKE_SHARED_LIBRARY_SUFFIX})
+    set(Qt5Core_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Core${CMAKE_SHARED_LIBRARY_SUFFIX})
+    set(Qt5Widgets_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5Widgets${CMAKE_SHARED_LIBRARY_SUFFIX})
+    set(Qt5OpenGL_LIBRARY ${CMAKE_SHARED_LIBRARY_PREFIX}Qt5OpenGL${CMAKE_SHARED_LIBRARY_SUFFIX})
 endif()
 list(APPEND FAST_EXTERNAL_DEPENDENCIES qt5)


Don't shout about pthread when configuring

--- cmake/FindThreads.cmake
+++ cmake/FindThreads.cmake
@@ -111,8 +111,6 @@
   # Do we have pthreads?
   CHECK_INCLUDE_FILES("pthread.h" CMAKE_HAVE_PTHREAD_H)
   IF(CMAKE_HAVE_PTHREAD_H)
-    message("!!!We have pthread.h!")
-
     #
     # We have pthread.h
     # Let's check for the library now.


Fixed cmake script for yaml-cpp library under Windows.

--- cmake/FindYamlCpp.cmake
+++ cmake/FindYamlCpp.cmake
@@ -9,7 +9,7 @@
     set(CMAKE_FIND_LIBRARY_SUFFIXES .a ${CMAKE_FIND_LIBRARY_SUFFIXES})
   endif (WIN32)
 endif (YamlCpp_STATIC)
-find_library(YamlCpp_LIBRARY NAMES yaml-cppmt yaml-cpp)
+find_library(YamlCpp_LIBRARY NAMES libyaml-cppmt yaml-cpp)
 if(YamlCpp_INCLUDE_PATH AND YamlCpp_LIBRARY)
   set(YamlCpp_FOUND TRUE)
 endif(YamlCpp_INCLUDE_PATH AND YamlCpp_LIBRARY)


Bump version to 1.3.0

Bump version to 1.3.0

Signed-off-by: Gopal, Puunithaaraj <10308ab826b56f8bbce1ec0c10bd609cace363da@intel.com>

--- cmake/ProjectInfo.cmake
+++ cmake/ProjectInfo.cmake
@@ -1,6 +1,6 @@
 set(GstMfx_VERSION_MAJOR   1)
-set(GstMfx_VERSION_MINOR   2)
-set(GstMfx_VERSION_PATCH   2)
+set(GstMfx_VERSION_MINOR   3)
+set(GstMfx_VERSION_PATCH   0)
 set(GstMfx_PACKAGE         "gstmfx")
 set(GstMfx_PACKAGE_NAME    "GStreamer Media SDK")
 set(GstMfx_PACKAGE_TARNAME "gstreamer-msdk")


Update Range v3 version

Update Range v3 version

Missed in d8a56bc.

--- cmake/jegp-config.cmake
+++ cmake/jegp-config.cmake
@@ -1,5 +1,5 @@
 include(CMakeFindDependencyMacro)

-find_dependency(range-v3 0.3.6)
+find_dependency(range-v3 0.4.0)

 include(${CMAKE_CURRENT_LIST_DIR}/jegp-targets.cmake)


Add version information to pkgconfig files.

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

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -303,7 +303,7 @@
         set(PKG_INTERNAL_DEPS "${PKG_INTERNAL_DEPS} -l${_dep}")
     endforeach(_dep)

-    set(_pc_file ${CMAKE_CURRENT_BINARY_DIR}/${_name}.pc)
+    set(_pc_file ${CMAKE_CURRENT_BINARY_DIR}/${_name}-${PCL_MAJOR_VERSION}.${PCL_MINOR_VERSION}.pc)
     configure_file(${PROJECT_SOURCE_DIR}/cmake/pkgconfig.cmake.in ${_pc_file}
         @ONLY)
     install(FILES ${_pc_file} DESTINATION ${PKGCFG_INSTALL_DIR}


avoid warnings about PARENT_SCOPE gtest variable settings

--- cmake/tools/gtest.cmake
+++ cmake/tools/gtest.cmake
@@ -30,9 +30,13 @@
 if(NOT GTEST_FOUND)
   message(WARNING "GTest not found; C++ tests will fail to build.")
 else()
-  set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} PARENT_SCOPE)
-  set(GTEST_LIBRARIES ${GTEST_LIBRARIES} PARENT_SCOPE)
-  set(GTEST_MAIN_LIBRARIES ${GTEST_MAIN_LIBRARIES} PARENT_SCOPE)
-  set(GTEST_BOTH_LIBRARIES ${GTEST_BOTH_LIBRARIES} PARENT_SCOPE)
-  set(GTEST_FOUND ${GTEST_FOUND} PARENT_SCOPE)
+  # Prevent a warning in the special case where we're building catkin on its own,
+  # and when we got here from toplevel.cmake.
+  if(NOT PROJECT_NAME STREQUAL "catkin" AND NOT PROJECT_NAME STREQUAL "Project")
+    set(GTEST_INCLUDE_DIRS ${GTEST_INCLUDE_DIRS} PARENT_SCOPE)
+    set(GTEST_LIBRARIES ${GTEST_LIBRARIES} PARENT_SCOPE)
+    set(GTEST_MAIN_LIBRARIES ${GTEST_MAIN_LIBRARIES} PARENT_SCOPE)
+    set(GTEST_BOTH_LIBRARIES ${GTEST_BOTH_LIBRARIES} PARENT_SCOPE)
+    set(GTEST_FOUND ${GTEST_FOUND} PARENT_SCOPE)
+  endif()
 endif()


include "." in the search paths

include "." in the search paths

git-svn-id: 65dd0ccd495961f396d5302e5521154b071f0302@1281 5b2332b8-efa3-11de-8684-7d64432d61a3

--- CMakeModules/Sagase.cmake
+++ CMakeModules/Sagase.cmake
@@ -43,8 +43,6 @@
     #    file (TO_CMAKE_PATH "${prefix}" p)
     #    set (normal_path_prefixes ${normal_path_prefixes} ${p})
     #endforeach ()
-
-    set (path_names ${path_names} ".")

     # add prefix+name paths
     foreach (prefix ${path_prefixes})
@@ -184,6 +182,9 @@
     if (NOT found_)
         message (STATUS "trying brute-force search ")

+        # take names to be directory names, and include "."
+        set (PKG_NAMES ${PKG_NAMES} ".")
+
         # generate a combination of possible search paths
         sagase_generate_paths (include_paths library_paths NAMES ${PKG_NAMES} PREFIXES ${PKG_PREFIXES})


Changed 'update'-message when pulling & comparing changes to be less confusing (if already up to date, we are not updating but 'checking for updates' which is more general.

--- src/cmake/git-download.cmake
+++ src/cmake/git-download.cmake
@@ -64,7 +64,7 @@
             WORKING_DIRECTORY ${GIT_ROOT}
         )
     else()
-        message("\tUpdating...")
+        message("\tChecking for updates...")
         execute_git(
             COMMAND subtree pull --prefix ${RELATIVE_CLONE_DIR} ${args_URL} ${args_TAG} --squash --message ${MERGE_MESSAGE}
             WORKING_DIRECTORY ${GIT_ROOT}


Windows: Enabled C++ conformance mode, and treat warnings as errors.

--- build/cmake/Windows.cmake
+++ build/cmake/Windows.cmake
@@ -68,7 +68,7 @@
     set(CMAKE_C_FLAGS_MINSIZEREL "${CMAKE_C_FLAGS_MINSIZEREL} /Oi /MT")
     set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} /Oi /MT")
     set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} /MTd")
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR- /wd4065 /wd4244 /wd4456 /wd4800 /W4 /std:c++latest")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /GR- /wd4065 /wd4244 /wd4456 /wd4800 /W4 /WX /permissive- /std:c++latest")
     set(CMAKE_CXX_FLAGS_MINSIZEREL "${CMAKE_CXX_FLAGS_MINSIZEREL} /Oi /MT")
     set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} /Oi /MT")
     string(REGEX REPLACE "/D NDEBUG" "" MSVC_CXX_FLAGS_RELWITHDEBINFO ${CMAKE_CXX_FLAGS_RELWITHDEBINFO})


new xpCpackWixRunApp function to launch app at end of install

--- modules/xpmswwix.cmake
+++ modules/xpmswwix.cmake
@@ -103,6 +103,36 @@
   set(${appendTo} "${${appendTo}}${xml}" PARENT_SCOPE)
 endfunction()

+function(xpCpackWixRunApp appendTo exe text) # optional ARGV3
+  if(${ARGC} EQUAL 4 AND ARGV3)
+    set(base ${ARGV3})
+  else()
+    set(base 2) # ca.wxs
+  endif()
+  set(xml "\n")
+  # http://wixtoolset.org/documentation/manual/v3/howtos/ui_and_localization/run_program_after_install.html
+  # Step 2: Add UI to your installer / Step 4: Trigger the custom action
+  xpStringIndentAppend(xml ${base}+0 "<UI>")
+  xpStringIndentAppend(xml ${base}+1 "<Publish")
+  xpStringIndentAppend(xml ${base}+2 "Dialog='ExitDialog'")
+  xpStringIndentAppend(xml ${base}+2 "Control='Finish'")
+  xpStringIndentAppend(xml ${base}+2 "Event='DoAction'")
+  xpStringIndentAppend(xml ${base}+2 "Value='LaunchApplication'")
+  xpStringIndentAppend(xml ${base}+1 ">WIXUI_EXITDIALOGOPTIONALCHECKBOX = 1 and NOT Installed</Publish>")
+  xpStringIndentAppend(xml ${base}+0 "</UI>")
+  xpStringIndentAppend(xml ${base}+0 "<Property Id='WIXUI_EXITDIALOGOPTIONALCHECKBOX' Value='1' />")
+  xpStringIndentAppend(xml ${base}+0 "<Property Id='WIXUI_EXITDIALOGOPTIONALCHECKBOXTEXT' Value='${text}' />")
+  # Step 3: Include the custom action
+  xpStringIndentAppend(xml ${base}+0 "<Property Id='WixShellExecTarget' Value='&quot\;[#CM_FP_${exe}]&quot\;' />")
+  # http://stackoverflow.com/questions/2325459/executing-a-custom-action-that-requires-elevation-after-install
+  xpStringIndentAppend(xml ${base}+0 "<CustomAction Id='LaunchApplication'")
+  xpStringIndentAppend(xml ${base}+1 "BinaryKey='WixCA'")
+  xpStringIndentAppend(xml ${base}+1 "DllEntry='WixShellExec'")
+  xpStringIndentAppend(xml ${base}+1 "Impersonate='yes'")
+  xpStringIndentAppend(xml ${base}+0 "/>")
+  set(${appendTo} "${${appendTo}}${xml}" PARENT_SCOPE)
+endfunction()
+
 function(xpCpackWixCAFeature appendTo) # optional ARGV1
   if(${ARGC} EQUAL 2 AND ARGV1)
     set(base ${ARGV1})


Obtain dependencies from nexus - handler errors.

--- cmake/MattSource/Dependencies/GetDependency.cmake
+++ cmake/MattSource/Dependencies/GetDependency.cmake
@@ -31,8 +31,18 @@
   if(NOT EXISTS ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_RELEASE})
     message(STATUS "Downloading ${TMP_FILE_RELEASE}.zip from nexus...")
     execute_process(COMMAND curl -L -u ${NEXUS_USERNAME}:${NEXUS_PASSWORD} "${NEXUS_URL}/nexus/service/local/artifact/maven/redirect?r=public&g=${MSOURCE_GROUP}&a=${MSOURCE_DEP}-${NEXUS_OS}-${NEXUS_ADDRESS_MODEL}-${NEXUS_PLATFORM_COMPILER}&v=${MSOURCE_VER}&p=zip&c=release" -o ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_RELEASE}.zip)
+
+    if(NOT EXISTS ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_RELEASE}.zip)
+      message(FATAL_ERROR "Could not download ${TMP_FILE_RELEASE}.zip...")
+    endif()
+
     message(STATUS "Unpacking ${TMP_FILE_RELEASE}.zip...")
     execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_RELEASE}.zip WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/deps)
+
+    if(NOT EXISTS ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_RELEASE})
+      message(FATAL_ERROR "Could not unpack ${TMP_FILE_RELEASE}.zip... See if it exists in nexus.")
+    endif()
+
     execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_RELEASE}.zip)
   else()
     message(STATUS "${TMP_FILE_RELEASE} is in cache.")
@@ -41,8 +51,18 @@
   if(NOT EXISTS ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_DEBUG})
     message(STATUS "Downloading ${TMP_FILE_DEBUG}.zip from nexus...")
     execute_process(COMMAND curl -L -u ${NEXUS_USERNAME}:${NEXUS_PASSWORD} "${NEXUS_URL}/nexus/service/local/artifact/maven/redirect?r=public&g=${MSOURCE_GROUP}&a=${MSOURCE_DEP}-${NEXUS_OS}-${NEXUS_ADDRESS_MODEL}-${NEXUS_PLATFORM_COMPILER}&v=${MSOURCE_VER}&p=zip&c=debug" -o ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_DEBUG}.zip)
+
+    if(NOT EXISTS ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_DEBUG}.zip)
+      message(FATAL_ERROR "Could not download ${TMP_FILE_DEBUG}.zip...")
+    endif()
+
     message(STATUS "Unpacking ${TMP_FILE_DEBUG}.zip...")
     execute_process(COMMAND ${CMAKE_COMMAND} -E tar xf ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_DEBUG}.zip WORKING_DIRECTORY ${CMAKE_BINARY_DIR}/deps)
+
+    if(NOT EXISTS ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_DEBUG})
+      message(FATAL_ERROR "Could not unpack ${TMP_FILE_DEBUG}.zip... See if it exists in nexus.")
+    endif()
+
     execute_process(COMMAND ${CMAKE_COMMAND} -E remove ${CMAKE_BINARY_DIR}/deps/${TMP_FILE_DEBUG}.zip)
   else()
     message(STATUS "${TMP_FILE_DEBUG} is in cache.")


Squashed 'cmake/' changes from e4fe921..dcfedf1

dcfedf1 git_version fix for absent git

git-subtree-dir: cmake
git-subtree-split: dcfedf195ccc2409fac87793b4bff37a2f957a55

--- helpers.cmake
+++ helpers.cmake
@@ -263,6 +263,7 @@
     "#define ${ARGS_DPREFIX}_VERSION_H\n"
     "#define ${ARGS_DPREFIX}_VERSION \"${ARGS_FALLBACK_VERSION}\"\n"
     "#endif")
+  target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/git_version)
   if(NOT ARGS_DIFF_VAR)
     string(TOLOWER ${ARGS_DPREFIX}_git_diff ARGS_DIFF_VAR)
   endif()
@@ -284,8 +285,6 @@
         PROPERTIES GENERATED TRUE
         HEADER_FILE_ONLY TRUE)

-      target_include_directories(${TARGET} PRIVATE ${CMAKE_CURRENT_BINARY_DIR}/git_version)
-
       add_dependencies(${TARGET} ${TARGET}_version)

       if(ARGS_WITH_DIFF)


Fixed project output name in CMake module.

--- FindXShaderCompiler.cmake
+++ FindXShaderCompiler.cmake
@@ -17,8 +17,8 @@

 find_path(XSC_INCLUDE_DIR Xsc/Xsc.h)

-find_library(XSC_LIBRARY NAMES XShaderCompiler)
-find_library(XSC_LIBRARY_DEBUG NAMES XShaderCompiler)
+find_library(XSC_LIBRARY NAMES xsc_core)
+find_library(XSC_LIBRARY_DEBUG NAMES xsc_core)

 # Setup package handle

@@ -34,4 +34,4 @@

 if(XSC_FOUND)
 	_XSC_APPEND_LIBRARIES(XSC_LIBRARIES XSC_LIBRARY)
-endif(HTLIB_FOUND)
+endif(XSC_FOUND)


added test model_locator to ctest/cdash

added test model_locator to ctest/cdash

--- test/cpymadtest/CTestTestfile.cmake
+++ test/cpymadtest/CTestTestfile.cmake
@@ -1,5 +1,5 @@

-foreach(PYTEST clic aperture survey)
+foreach(PYTEST clic aperture urvey)
    add_test(test_${PYTEST} ${PYTHON} test_${PYTEST}.py)
 endforeach()

@@ -12,3 +12,4 @@

 add_test(test_madx ${PYTHON} test_madx.py)
 add_test(test_resource ${PYTHON} test_resource.py)
+add_test(test_model_locator ${PYTHON} test_model_locator.py)


Use correct OpenCV path variables to find search dirs

--- CMake/mitkFunctionGetLibrarySearchPaths.cmake
+++ CMake/mitkFunctionGetLibrarySearchPaths.cmake
@@ -86,19 +86,7 @@
   endif()

   if(OpenCV_DIR)
-    set(_opencv_link_directories
-      "${OpenCV_LIB_DIR_DBG}"
-      "${OpenCV_LIB_DIR_OPT}"
-      "${OpenCV_3RDPARTY_LIB_DIR_DBG}"
-      "${OpenCV_3RDPARTY_LIB_DIR_OPT}")
-    list(REMOVE_DUPLICATES _opencv_link_directories)
-    if(WIN32)
-      foreach(_opencv_link_directory ${_opencv_link_directories})
-        list(APPEND _dir_candidates "${_opencv_link_directory}/../bin")
-      endforeach()
-    else()
-      list(APPEND _dir_candidates ${_opencv_link_directories})
-    endif()
+    list(APPEND _dir_candidates "${OpenCV_LIB_PATH}/../bin")
   endif()

   if(MITK_USE_Python)