Update LLVMLibDeps

Update LLVMLibDeps

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

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


default to up to 32 args

default to up to 32 args

--- cmake/vSMCCLSetKernelArgs.cmake
+++ cmake/vSMCCLSetKernelArgs.cmake
@@ -30,7 +30,7 @@
 # ============================================================================

 IF (NOT DEFINED VSMC_OPENCL_CL_SET_KERNEL_ARGS_MAX)
-    SET (VSMC_OPENCL_CL_SET_KERNEL_ARGS_MAX 16)
+    SET (VSMC_OPENCL_CL_SET_KERNEL_ARGS_MAX 32)
 ENDIF (NOT DEFINED VSMC_OPENCL_CL_SET_KERNEL_ARGS_MAX)

 SET (ARG_MAX 0)


Missed file from prevoius commit. Removing find xerces-c code, and updated message.

--- cmake_modules/FindXercesC.cmake
+++ cmake_modules/FindXercesC.cmake
@@ -29,44 +29,12 @@
 ENDIF (XERCESC_INCLUDE AND XERCESC_LIBRARY)

 IF(XERCESC_FOUND)
-
-  FIND_PATH(XVERHPPPATH NAMES XercesVersion.hpp PATHS
-    ${XERCESC_INCLUDE}/xercesc/util  NO_DEFAULT_PATH)
-
-  IF ( ${XVERHPPPATH} STREQUAL XVERHPPPATH-NOTFOUND )
-    SET(XERCES_VERSION "0")
-  ELSE( ${XVERHPPPATH} STREQUAL XVERHPPPATH-NOTFOUND )
-    FILE(READ ${XVERHPPPATH}/XercesVersion.hpp XVERHPP)
-
-    STRING(REGEX MATCHALL "\n *#define XERCES_VERSION_MAJOR +[0-9]+" XVERMAJ
-      ${XVERHPP})
-    STRING(REGEX MATCH "\n *#define XERCES_VERSION_MINOR +[0-9]+" XVERMIN
-      ${XVERHPP})
-    STRING(REGEX MATCH "\n *#define XERCES_VERSION_REVISION +[0-9]+" XVERREV
-      ${XVERHPP})
-
-    STRING(REGEX REPLACE "\n *#define XERCES_VERSION_MAJOR +" ""
-      XVERMAJ ${XVERMAJ})
-    STRING(REGEX REPLACE "\n *#define XERCES_VERSION_MINOR +" ""
-      XVERMIN ${XVERMIN})
-    STRING(REGEX REPLACE "\n *#define XERCES_VERSION_REVISION +" ""
-      XVERREV ${XVERREV})
-
-    SET(XERCESC_VERSION ${XVERMAJ}.${XVERMIN}.${XVERREV})
-
-  ENDIF ( ${XVERHPPPATH} STREQUAL XVERHPPPATH-NOTFOUND )
-
   IF(NOT XERCESC_FIND_QUIETLY)
     MESSAGE(STATUS "Found Xerces-C: ${XERCESC_LIBRARY}")
     MESSAGE(STATUS "              : ${XERCESC_INCLUDE}")
-    MESSAGE(STATUS "       Version: ${XERCESC_VERSION}")
   ENDIF(NOT XERCESC_FIND_QUIETLY)
 ELSE(XERCESC_FOUND)
-  MESSAGE(FATAL_ERROR "Could not find Xerces-C !
-     Only 2.8.0, 3.0.1 and newer versions are supported
-     or
-     Use -D ZORBA_NO_XMLSCHEMA=ON option for building without XMLSchema
-       support.")
+  MESSAGE(STATUS "Could not find Xerces-C in default locations!")
 ENDIF(XERCESC_FOUND)

 MARK_AS_ADVANCED(XERCESC_INCLUDE XERCESC_LIBRARY)


Updated FOTS snapshot to March 12.

Updated FOTS snapshot to March 12.

--- test/fots/ImportFOTS.cmake
+++ test/fots/ImportFOTS.cmake
@@ -19,7 +19,7 @@

 # Change this to publish updated FOTS archives
-SET (FOTS_ARCHIVE "FOTS_270213.tgz")
+SET (FOTS_ARCHIVE "FOTS_120313.tgz")

 # Change this to modify which elements in FOTS driver results are output
 # as CDATA


[C++] make find_package(websocketpp) REQUIRED

Change-Id: I5948a5f08efa82dbd17943fe256a26b1a088e614

--- cpp/CMake/AddWebSocketPP.cmake
+++ cpp/CMake/AddWebSocketPP.cmake
@@ -1,5 +1,5 @@
 if(USE_PLATFORM_WEBSOCKETPP)
-    find_package(websocketpp)
+    find_package(websocketpp REQUIRED)
 else(USE_PLATFORM_WEBSOCKETPP)
     include(AddExternalProject)
     AddExternalProject(


cmake: we dont need boost::filesystem anymore

--- CMakeOlxCommon.cmake
+++ CMakeOlxCommon.cmake
@@ -301,11 +301,11 @@

 IF(BOOST_LINK_STATIC)
 	# seems this is the way for Debian:
-	SET(LIBS ${LIBS} boost_filesystem.a boost_signals.a)
+	SET(LIBS ${LIBS} boost_signals.a)
 	# and this on newer CMake (>=2.6?)
-	#SET(LIBS ${LIBS} /usr/lib/libboost_filesystem.a /usr/lib/libboost_signals.a /usr/lib/libboost_system.a)
+	#SET(LIBS ${LIBS} /usr/lib/libboost_signals.a /usr/lib/libboost_system.a)
 ELSE(BOOST_LINK_STATIC)
-	SET(LIBS ${LIBS} boost_filesystem-mt boost_signals-mt)
+	SET(LIBS ${LIBS} boost_signals-mt)
 ENDIF(BOOST_LINK_STATIC)

 SET(LIBS ${LIBS} curl alut openal vorbisfile)


Switched to openrave_catkin.

Switched to openrave_catkin.

--- catkin.cmake
+++ catkin.cmake
@@ -20,7 +20,8 @@

 add_definitions(--std=c++0x)

-add_library("${PROJECT_NAME}"
+openrave_plugin("${PROJECT_NAME}_plugin"
+    src/or_interactivemarker_plugin.cpp
     src/or_interactivemarker.cpp
     src/or_conversions.cpp
     src/KinBodyMarker.cpp
@@ -30,19 +31,6 @@
     src/JointMarker.cpp
     src/ManipulatorMarker.cpp
 )
-target_link_libraries("${PROJECT_NAME}"
-    ${OpenRAVE_LIBRARIES}
+target_link_libraries("${PROJECT_NAME}_plugin"
     ${catkin_LIBRARIES}
 )
-
-openrave_plugin("${PROJECT_NAME}_plugin"
-    src/or_interactivemarker_plugin.cpp
-)
-target_link_libraries("${PROJECT_NAME}_plugin"
-    "${PROJECT_NAME}"
-    ${catkin_LIBRARIES}
-)
-
-install(TARGETS "${PROJECT_NAME}"
-    LIBRARY DESTINATION "${CATKIN_PACKAGE_LIB_DESTINATION}"
-)


HHVM-154: Attempt to add linkage to openssl and sasl

--- config.cmake
+++ config.cmake
@@ -75,6 +75,11 @@
  libmongoc/src/mongoc/mongoc-write-command.c
  libmongoc/src/mongoc/mongoc-write-concern.c
 )
+FIND_PACKAGE(OpenSSL)
+HHVM_LINK_LIBRARIES(mongodb ${OPENSSL_LIBRARIES})
+find_library(SASL_LIBRARIES NAMES sasl2)
+HHVM_LINK_LIBRARIES(mongodb ${SASL_LIBRARIES})
+
 HHVM_DEFINE(mongodb "-DBSON_COMPILATION=1")
 HHVM_DEFINE(mongodb "-DMONGOC_COMPILATION=1")
 HHVM_DEFINE(mongodb "-DMONGOC_ENABLE_SSL")


Moving description of module from README.

--- itk-module.cmake
+++ itk-module.cmake
@@ -1,8 +1,8 @@
 # the top-level README is used for describing this module, just
 # re-used it for documentation here
 get_filename_component( MY_CURENT_DIR "${CMAKE_CURRENT_LIST_FILE}" PATH)
-file( READ "${MY_CURENT_DIR}/README" DOCUMENTATION )
-
+set( DOCUMENTATUON "This ITK module provides an implimentation of the Simple Linear
+Iterative Clustering (SLIC) superpixel segmentation algorithm." )

 # ITK version 4.5 changed it from EXCLUDE_FROM_ALL to EXCLUDE_FROM_DEFAULT
 set( _EXCLUDE "EXCLUDE_FROM_ALL" )


Create .app bundles for samples on OS X

Create .app bundles for samples on OS X

--- CMake/Utils/OgreConfigTargets.cmake
+++ CMake/Utils/OgreConfigTargets.cmake
@@ -99,6 +99,11 @@
       INSTALL_RPATH ${CMAKE_INSTALL_PREFIX}/lib)
     set_property(TARGET ${SAMPLENAME} PROPERTY INSTALL_RPATH_USE_LINK_PATH TRUE)
   endif ()
+
+  # On OS X, create .app bundle
+  if (APPLE)
+    set_property(TARGET ${SAMPLENAME} PROPERTY MACOSX_BUNDLE TRUE)
+  endif ()

   if (OGRE_INSTALL_SAMPLES)
     install(TARGETS ${SAMPLENAME}


COMP: Use add_test again with generator expressions.

--- CMake/mitkTestProjectTemplate.cmake
+++ CMake/mitkTestProjectTemplate.cmake
@@ -20,30 +20,25 @@
       -DAwesomeProject_BUILD_ALL_PLUGINS:BOOL=ON
   )

-  add_custom_target(MITK-ProjectTemplateBuildTest
-                    ${CMAKE_COMMAND} --build ${MITK-ProjectTemplate_BINARY_DIR} --config ${CMAKE_CFG_INTDIR})
-
-  add_test(mitkProjectTemplateBuildTest
-           ${CMAKE_COMMAND} --build ${MITK_BINARY_DIR} --target MITK-ProjectTemplateBuildTest)
+  add_test(NAME mitkProjectTemplateBuildTest
+           COMMAND ${CMAKE_COMMAND} --build ${MITK-ProjectTemplate_BINARY_DIR} --config $<CONFIGURATION>)
   set_tests_properties(mitkProjectTemplateBuildTest PROPERTIES
                        LABELS "MITK;BlueBerry")

-
-  add_custom_target(MITK-ProjectTemplatePackageTest
-                    ${CMAKE_COMMAND} --build ${MITK-ProjectTemplate_BINARY_DIR}/AwesomeProject-build --target package --config ${CMAKE_CFG_INTDIR})
-
+  set(package_test_configurations)
   if(WIN32)
     # Only test packaging if build type is "Release" on Windows
-    add_test(NAME mitkProjectTemplatePackageTest CONFIGURATIONS Release
-             COMMAND ${CMAKE_COMMAND} --build ${MITK_BINARY_DIR} --target MITK-ProjectTemplatePackageTest)
-  else()
-    add_test(mitkProjectTemplatePackageTest
-             ${CMAKE_COMMAND} --build ${MITK_BINARY_DIR} --target MITK-ProjectTemplatePackageTest)
+    set(package_test_configurations CONFIGURATIONS Release)
   endif()

-  set_tests_properties(mitkProjectTemplatePackageTest PROPERTIES
-                       DEPENDS mitkProjectTemplateBuildTest
-                       LABELS "MITK;BlueBerry")
-
+  if(NOT MITK_DISABLE_LONG_RUNNING_TESTS)
+    add_test(NAME mitkProjectTemplatePackageTest ${package_test_configurations}
+             COMMAND ${CMAKE_COMMAND} --build ${MITK-ProjectTemplate_BINARY_DIR}/AwesomeProject-build --config $<CONFIGURATION> --target package)
+
+    set_tests_properties(mitkProjectTemplatePackageTest PROPERTIES
+                         DEPENDS mitkProjectTemplateBuildTest
+                         TIMEOUT 1000
+                         LABELS "MITK;BlueBerry")
+  endif()

 endif()


issue 111: properly enable parallel tests

SVN-Revision: 279

--- suite/runsuite.cmake
+++ suite/runsuite.cmake
@@ -31,9 +31,10 @@
 # Unfinished features in i#66 (now under i#121):
 # * have a list of known failures and label w/ " (known: i#XX)"
 # * ssh support for running on remote machines: copy, disable pdbs, run
-# * i#111: use the features in the latest CTest: -W, -j

 cmake_minimum_required (VERSION 2.2)
+set(cmake_ver_string
+  "${CMAKE_MAJOR_VERSION}.${CMAKE_MINOR_VERSION}.${CMAKE_RELEASE_VERSION}")

 # arguments are a ;-separated list (must escape as \; from ctest_run_script())
 set(arg_nightly OFF)  # whether to report the results
@@ -149,9 +150,7 @@
 set(CTEST_PROJECT_NAME "DynamoRIO")
 find_program(MAKE_COMMAND make DOC "make command")
 set(CTEST_BUILD_COMMAND_BASE "${MAKE_COMMAND} -j5")
-# i#111: use -j if available to run tests in parallel.
-# Only CTest 2.8+ supports -j, but 2.6 just ignores unknown params.
-set(CTEST_COMMAND "${CTEST_EXECUTABLE_NAME} -j5")
+set(CTEST_COMMAND "${CTEST_EXECUTABLE_NAME}")

 if (UNIX)
   # For cross-arch execve tests we need to run from an install dir
@@ -278,7 +277,14 @@
   ctest_build(BUILD "${CTEST_BINARY_DIRECTORY}")
   # to run a subset of tests add an INCLUDE regexp to ctest_test.  e.g.:
   #   INCLUDE broadfun
-  ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}")
+  if ("${cmake_ver_string}" STRLESS "2.8.")
+    ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}")
+  else ()
+    # i#111: run tests in parallel, supported on CTest 2.8.0+
+    # Note that adding -j to CMAKE_COMMAND does not work, though invoking
+    # this script with -j does work, but we want parallel by default.
+    ctest_test(BUILD "${CTEST_BINARY_DIRECTORY}" PARALLEL_LEVEL 5)
+  endif ()
   if (DO_SUBMIT)
     # include any notes via set(CTEST_NOTES_FILES )?
     ctest_submit()


extend ctest script for SSSE3 and above

extend ctest script for SSSE3 and above

--- test/testsuite.cmake
+++ test/testsuite.cmake
@@ -209,6 +209,12 @@
     set(CTEST_CMAKE_COMMAND "${CTEST_CMAKE_COMMAND} -DEIGEN_TEST_SSE2=ON")
   elseif(EIGEN_EXPLICIT_VECTORIZATION MATCHES SSE3)
     set(CTEST_CMAKE_COMMAND "${CTEST_CMAKE_COMMAND} -DEIGEN_TEST_SSE2=ON -DEIGEN_TEST_SSE3=ON")
+  elseif(EIGEN_EXPLICIT_VECTORIZATION MATCHES SSSE3)
+    set(CTEST_CMAKE_COMMAND "${CTEST_CMAKE_COMMAND} -DEIGEN_TEST_SSE2=ON -DEIGEN_TEST_SSE3=ON -DEIGEN_TEST_SSSE3=ON")
+  elseif(EIGEN_EXPLICIT_VECTORIZATION MATCHES SSE4_1)
+    set(CTEST_CMAKE_COMMAND "${CTEST_CMAKE_COMMAND} -DEIGEN_TEST_SSE2=ON -DEIGEN_TEST_SSE3=ON -DEIGEN_TEST_SSSE3=ON -DEIGEN_TEST_SSE4_1=ON")
+  elseif(EIGEN_EXPLICIT_VECTORIZATION MATCHES SSE4_2)
+    set(CTEST_CMAKE_COMMAND "${CTEST_CMAKE_COMMAND} -DEIGEN_TEST_SSE2=ON -DEIGEN_TEST_SSE3=ON -DEIGEN_TEST_SSSE3=ON -DEIGEN_TEST_SSE4_1=ON -DEIGEN_TEST_SSE4_2=ON")
   elseif(EIGEN_EXPLICIT_VECTORIZATION MATCHES Altivec)
     set(CTEST_CMAKE_COMMAND "${CTEST_CMAKE_COMMAND} -DEIGEN_TEST_ALTIVEC=ON")
   elseif(EIGEN_EXPLICIT_VECTORIZATION MATCHES novec)


Revert "Harmonize ispc.cmake with OSPRay's version"
Does not work under Windows.

This reverts commit 46a3357c763ee26fe6337fff443ef7c9e206e13d.

--- common/cmake/ispc.cmake
+++ common/cmake/ispc.cmake
@@ -14,13 +14,9 @@
 ## limitations under the License.                                           ##
 ## ======================================================================== ##

-# ##################################################################
-# add macro INCLUDE_DIRECTORIES_ISPC() that allows to specify search
-# paths for ISPC sources
-# ##################################################################
-SET(ISPC_INCLUDE_DIR "")
+SET (ISPC_INCLUDE_DIR "")
 MACRO (INCLUDE_DIRECTORIES_ISPC)
-  SET(ISPC_INCLUDE_DIR ${ISPC_INCLUDE_DIR} ${ARGN})
+  SET (ISPC_INCLUDE_DIR ${ISPC_INCLUDE_DIR} ${ARGN})
 ENDMACRO ()

 IF (ENABLE_ISPC_SUPPORT)
@@ -28,17 +24,7 @@
 SET(ISPC_VERSION_REQUIRED "1.8.2")

 IF (NOT ISPC_EXECUTABLE)
-  # try sibling folder as hint for path of ISPC
-  IF (APPLE)
-    SET(ISPC_DIR_SUFFIX "osx")
-  ELSEIF(WIN32)
-    SET(ISPC_DIR_SUFFIX "windows")
-  ELSE()
-    SET(ISPC_DIR_SUFFIX "linux")
-  ENDIF()
-  SET(ISPC_DIR_HINT ${PROJECT_SOURCE_DIR}/../ispc-v${ISPC_VERSION_REQUIRED}-${ISPC_DIR_SUFFIX})
-
-  FIND_PROGRAM(ISPC_EXECUTABLE ispc PATHS ${ISPC_DIR_HINT} DOC "Path to the ISPC executable.")
+  FIND_PROGRAM(ISPC_EXECUTABLE ispc DOC "Path to the ISPC executable.")
   IF (NOT ISPC_EXECUTABLE)
     MESSAGE(FATAL_ERROR "Intel SPMD Compiler (ISPC) not found. Disable ENABLE_ISPC_SUPPORT or install ISPC.")
   ELSE()
@@ -65,16 +51,14 @@
 SET(EMBREE_ISPC_ADDRESSING 32 CACHE INT "32vs64 bit addressing in ispc")
 MARK_AS_ADVANCED(EMBREE_ISPC_ADDRESSING)

-MACRO (ISPC_COMPILE)
+MACRO (ispc_compile)
   SET(ISPC_ADDITIONAL_ARGS "")

-  IF (NOT __XEON__)
-    SET(ISPC_TARGET_EXT .cpp)
-    SET(ISPC_TARGET_ARGS generic-16)
-    SET(ISPC_ADDITIONAL_ARGS ${ISPC_ADDITIONAL_ARGS} --opt=force-aligned-memory --emit-c++ --c++-include-file=${ISPC_DIR}/examples/intrinsics/knc.h -D__XEON_PHI__)
-  ELSE()
-    SET(ISPC_TARGET_EXT ${CMAKE_CXX_OUTPUT_EXTENSION})
-    STRING(REPLACE ";" "," ISPC_TARGET_ARGS "${ISPC_TARGETS}")
+  IF (__XEON__)
+    SET (ISPC_TARGET_EXT ${CMAKE_CXX_OUTPUT_EXTENSION})
+  ELSE()
+    SET (ISPC_TARGET_EXT .cpp)
+    SET (ISPC_ADDITIONAL_ARGS ${ISPC_ADDITIONAL_ARGS} --opt=force-aligned-memory)
   ENDIF()

   IF (CMAKE_SIZEOF_VOID_P EQUAL 8)
@@ -91,10 +75,11 @@
     SET(ISPC_INCLUDE_DIR_PARMS "-I" ${ISPC_INCLUDE_DIR_PARMS})
   ENDIF()

-  IF (${CMAKE_BUILD_TYPE} STREQUAL "Release")
-    SET(ISPC_OPT_FLAGS -O3)
-  ELSE()
-    SET(ISPC_OPT_FLAGS -O2 -g)
+  IF (__XEON__)
+    STRING(REPLACE ";" "," ISPC_TARGET_ARGS "${ISPC_TARGETS}")
+  ELSE()
+    SET(ISPC_TARGET_ARGS generic-16)
+    SET(ISPC_ADDITIONAL_ARGS ${ISPC_ADDITIONAL_ARGS} --emit-c++ -D__XEON_PHI__ --c++-include-file=${ISPC_DIR}/examples/intrinsics/knc.h)
   ENDIF()

   SET(ISPC_OBJECTS "")
@@ -103,13 +88,12 @@
     GET_FILENAME_COMPONENT(fname ${src} NAME_WE)
     GET_FILENAME_COMPONENT(dir ${src} PATH)

-    IF ("${dir}" MATCHES "^/|([A-Z]:)") # global path name to input
-      STRING(REGEX REPLACE "^/|([A-Z]:)" "${ISPC_TARGET_DIR}/rebased/" outdir "${dir}")
-      SET(input ${src})
-    ELSE() # local path name to input
-      SET(outdir "${ISPC_TARGET_DIR}/local_${dir}")
-      SET(input ${CMAKE_CURRENT_SOURCE_DIR}/${src})
-    ENDIF()
+    IF("${dir}" STREQUAL "")
+      SET(outdir ${ISPC_TARGET_DIR})
+    ELSE("${dir}" STREQUAL "")
+      SET(outdir ${ISPC_TARGET_DIR}/${dir})
+    ENDIF("${dir}" STREQUAL "")
+    SET(outdirh ${ISPC_TARGET_DIR})

     SET(deps "")
     IF (EXISTS ${outdir}/${fname}.dev.idep)
@@ -137,37 +121,39 @@
     ENDIF()

     IF (WIN32)
-      SET(ISPC_ADDITIONAL_ARGS ${ISPC_ADDITIONAL_ARGS} --dllexport)
-    ELSE()
+	  SET(ISPC_ADDITIONAL_ARGS ${ISPC_ADDITIONAL_ARGS} --dllexport)
+	ELSE()
       SET(ISPC_ADDITIONAL_ARGS ${ISPC_ADDITIONAL_ARGS} --pic)
     ENDIF()

     ADD_CUSTOM_COMMAND(
-      OUTPUT ${results} ${ISPC_TARGET_DIR}/${fname}_ispc.h
+      OUTPUT ${results} ${outdirh}/${fname}_ispc.h
       COMMAND ${CMAKE_COMMAND} -E make_directory ${outdir}
       COMMAND ${ISPC_EXECUTABLE}
       -I ${CMAKE_CURRENT_SOURCE_DIR}
       ${ISPC_INCLUDE_DIR_PARMS}
       --arch=${ISPC_ARCHITECTURE}
       --addressing=${EMBREE_ISPC_ADDRESSING}
-      ${ISPC_OPT_FLAGS}
+      -O3
       --target=${ISPC_TARGET_ARGS}
       --woff
       --opt=fast-math
       ${ISPC_ADDITIONAL_ARGS}
-      -h ${ISPC_TARGET_DIR}/${fname}_ispc.h
+      -h ${outdirh}/${fname}_ispc.h
       -MMM  ${outdir}/${fname}.dev.idep
       -o ${outdir}/${fname}.dev${ISPC_TARGET_EXT}
-      ${input}
-      DEPENDS ${input} ${deps}
+      ${CMAKE_CURRENT_SOURCE_DIR}/${src}
+      DEPENDS ${CMAKE_CURRENT_SOURCE_DIR}/${src} ${deps}
       COMMENT "Building ISPC object ${outdir}/${fname}.dev${ISPC_TARGET_EXT}"
     )

     SET(ISPC_OBJECTS ${ISPC_OBJECTS} ${results})
-  ENDFOREACH()
-ENDMACRO()
-
-MACRO (ADD_ISPC_EXECUTABLE name)
+
+  ENDFOREACH()
+
+ENDMACRO()
+
+MACRO (add_ispc_executable name)
    SET(ISPC_SOURCES "")
    SET(OTHER_SOURCES "")
    FOREACH(src ${ARGN})
@@ -188,7 +174,7 @@
   ENDIF()
 ENDMACRO()

-MACRO (ADD_ISPC_LIBRARY name type)
+MACRO (add_ispc_library name type)
    SET(ISPC_SOURCES "")
    SET(OTHER_SOURCES "")
    FOREACH(src ${ARGN})
@@ -211,7 +197,7 @@

 ELSE (ENABLE_ISPC_SUPPORT)

-MACRO (ADD_ISPC_LIBRARY name type)
+MACRO (add_ispc_library name type)
    SET(ISPC_SOURCES "")
    SET(OTHER_SOURCES "")
    FOREACH(src ${ARGN})
@@ -223,6 +209,7 @@
     ENDIF ()
   ENDFOREACH()
   ADD_LIBRARY(${name} ${type} ${OTHER_SOURCES})
+
 ENDMACRO()

 ENDIF (ENABLE_ISPC_SUPPORT)


SWIG: Find package quietly

SWIG: Find package quietly

--- cmake/Modules/LibAddMacros.cmake
+++ cmake/Modules/LibAddMacros.cmake
@@ -128,10 +128,10 @@

 macro (find_swig)
 	if (NOT SWIG_FOUND)
-		find_package (SWIG 3)
+		find_package (SWIG 3 QUIET)
 		if (NOT SWIG_FOUND)
 			message (STATUS "Search for swig2 instead")
-			find_package (SWIG 2)
+			find_package (SWIG 2 QUIET)
 		endif ()
 	endif (NOT SWIG_FOUND)
 endmacro (find_swig)


QtCore depends on Threads

QtCore depends on Threads

--- cmake/Qt5Core_HunterPlugin.cmake
+++ cmake/Qt5Core_HunterPlugin.cmake
@@ -43,6 +43,11 @@
   # Disable for build with xcb from Hunter
   # _qt_cmake_extra_helpers_add_interface(Qt5::Core "icuuc")

+  if(NOT Qt5Core_VERSION VERSION_LESS 5.9)
+    find_package(Threads REQUIRED)
+    _qt_cmake_extra_helpers_add_interface(Qt5::Core "Threads::Threads")
+  endif()
+
   _qt_cmake_extra_helpers_add_interface(Qt5::Core "dl")

   # _pcre16_assign_jit_stack


Fix setup_xxx() macros not to wrongly replace linker flags. This should solve the missing -pie linker flags for Android build.

--- CMake/Modules/Urho3D-CMake-common.cmake
+++ CMake/Modules/Urho3D-CMake-common.cmake
@@ -91,8 +91,8 @@
     # Cannot do this in the toolchain file because CMAKE_LIBRARY_ARCHITECTURE is not yet defined when CMake is processing toolchain file
     set (INDIRECT_DEPS_EXE_LINKER_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} -Wl,-rpath-link,\"${ARM_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}\":\"${ARM_SYSROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}\"")
 endif ()
-set (CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} ${INDIRECT_DEPS_EXE_LINKER_FLAGS}")
-set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${INDIRECT_DEPS_EXE_LINKER_FLAGS}")
+set (CMAKE_REQUIRED_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} ${CMAKE_REQUIRED_FLAGS}")
+set (CMAKE_EXE_LINKER_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")

 # Define all supported build options
 include (CMakeDependentOption)
@@ -525,13 +525,12 @@
         else ()
             set (CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_BIT))
         endif ()
-        set (LINKER_FLAGS "-framework AudioToolbox -framework CoreAudio -framework CoreGraphics -framework CoreMotion -framework Foundation -framework GameController -framework OpenGLES -framework QuartzCore -framework UIKit")  # Need to stringify to keep it as a string instead of as a list
     else ()
         if (XCODE)
             # OSX-specific setup
             if (URHO3D_64BIT)
                 if (DEFINED ENV{XCODE_64BIT_ONLY})
-                    set (CMAKE_OSX_ARCHITECTURES x86_64)        # This is a hack, idem; the idea is to finish within the allocated time and cache the objects for subsequent builds
+                    set (CMAKE_OSX_ARCHITECTURES x86_64)
                 else ()
                     set (CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_64_BIT))
                 endif ()
@@ -539,10 +538,7 @@
                 set (CMAKE_OSX_ARCHITECTURES $(ARCHS_STANDARD_32_BIT))
             endif ()
         endif ()
-        set (LINKER_FLAGS "-framework AudioUnit -framework Carbon -framework Cocoa -framework CoreAudio -framework CoreServices -framework CoreVideo -framework ForceFeedback -framework IOKit -framework OpenGL")
-    endif ()
-    set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LINKER_FLAGS}")
-    set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LINKER_FLAGS}")
+    endif ()
     # Common OSX and iOS bundle setup
     if (IOS OR URHO3D_MACOSX_BUNDLE)
         # Only set the bundle properties to its default when they are not explicitly specified by user
@@ -557,7 +553,6 @@
 if (MSVC)
     # VS-specific setup
     add_definitions (-D_CRT_SECURE_NO_WARNINGS)
-    # Note: All CMAKE_xxx_FLAGS variables are not in list context (although they should be)
     set (CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} ${DEBUG_RUNTIME}")
     set (CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELEASE} ${RELEASE_RUNTIME} /fp:fast /Zi /GS-")
     set (CMAKE_C_FLAGS_RELEASE ${CMAKE_C_FLAGS_RELWITHDEBINFO})
@@ -758,20 +753,18 @@
 # LuaJIT specific - extra linker flags for linking against LuaJIT (adapted from LuaJIT's original Makefile)
 if (URHO3D_LUAJIT)
     if (URHO3D_64BIT AND APPLE AND NOT IOS)
-        # 64-bit Mac OS X: it simply won't work without these flags; if you are reading this comment then you may want to know the follolwing also
+        # 64-bit Mac OS X: it simply won't work without these flags; if you are reading this comment then you may want to know the following also
         # it's recommended to rebase all (self-compiled) shared libraries which are loaded at runtime on OSX/x64 (e.g. C extension modules for Lua), see: man rebase
         set (LUAJIT_EXE_LINKER_FLAGS_APPLE "-pagezero_size 10000 -image_base 100000000")
         set (LUAJIT_SHARED_LINKER_FLAGS_APPLE "-image_base 7fff04c4a000")
         if (NOT XCODE)
-            foreach (TYPE EXE SHARED)
-                set (LUAJIT_${TYPE}_LINKER_FLAGS ${LUAJIT_${TYPE}_LINKER_FLAGS_APPLE})
-                set (CMAKE_${TYPE}_LINKER_FLAGS "${CMAKE_${TYPE}_LINKER_FLAGS} ${LUAJIT_${TYPE}_LINKER_FLAGS_APPLE}")
-            endforeach ()
-        endif ()
-    elseif (NOT WIN32 AND NOT APPLE)    # The original condition also checks: AND NOT SunOS AND NOT PS3
-        # GCC-specific: export all public symbols from main executable when linking with LuaJIT statically (LuaJIT as all other 3rd-party libs in Urho3D are static libs)
-        set (LUAJIT_EXE_LINKER_FLAGS -Wl,-E)
-        set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LUAJIT_EXE_LINKER_FLAGS}")
+            set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${LUAJIT_EXE_LINKER_FLAGS_APPLE}")
+            set (CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} ${LUAJIT_SHARED_LINKER_FLAGS_APPLE}")
+        endif ()
+    elseif (URHO3D_LIB_TYPE STREQUAL STATIC AND NOT WIN32 AND NOT APPLE)    # The original condition also checks: AND NOT SunOS AND NOT PS3
+        # We assume user may want to load C modules compiled for plain Lua with require(), so we have to ensure all the public symbols are exported when linking with Urho3D (and therefore LuaJIT) statically
+        # Note: this implies that loading such modules on Windows platform may only work with SHARED library type
+        set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -Wl,-E")
     endif ()
 endif ()

@@ -1106,9 +1099,7 @@
     check_source_files ()
     add_library (${TARGET_NAME} ${ARG_UNPARSED_ARGUMENTS} ${SOURCE_FILES})
     get_target_property (LIB_TYPE ${TARGET_NAME} TYPE)
-    if (ARG_NODEPS)
-        set (CMAKE_SHARED_LINKER_FLAGS ${LUAJIT_SHARED_LINKER_FLAGS})  # Don't need extra linker flags that are meant for main shared library only, except those from LuaJIT (if enabled)
-    elseif (NOT PROJECT_NAME STREQUAL Urho3D)
+    if (NOT ARG_NODEPS AND NOT PROJECT_NAME STREQUAL Urho3D)
         define_dependency_libs (Urho3D)
     endif ()
     if (XCODE AND LUAJIT_SHARED_LINKER_FLAGS_APPLE AND LIB_TYPE STREQUAL SHARED_LIBRARY)
@@ -1162,9 +1153,7 @@
             set (RUNTIME_DIR ${CMAKE_BINARY_DIR}/bin/tool)
         endif ()
     endif ()
-    if (ARG_NODEPS)
-        set (CMAKE_EXE_LINKER_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} ${LUAJIT_EXE_LINKER_FLAGS}")    # Don't need other extra linker flags that are meant for main executable only
-    else ()
+    if (NOT ARG_NODEPS)
         define_dependency_libs (Urho3D)
     endif ()
     if (XCODE AND LUAJIT_EXE_LINKER_FLAGS_APPLE)
@@ -1569,6 +1558,12 @@
             list (APPEND LIBS winmm)
             if (URHO3D_MINIDUMPS)
                 list (APPEND LIBS dbghelp)
+            endif ()
+        elseif (APPLE)
+            if (IOS OR TVOS)
+                list (APPEND LIBS "-framework AudioToolbox" "-framework CoreAudio" "-framework CoreGraphics" "-framework CoreMotion" "-framework Foundation" "-framework GameController" "-framework OpenGLES" "-framework QuartzCore" "-framework UIKit")
+            else ()
+                list (APPEND LIBS "-framework AudioUnit" "-framework Carbon" "-framework Cocoa" "-framework CoreAudio" "-framework CoreServices" "-framework CoreVideo" "-framework ForceFeedback" "-framework IOKit" "-framework OpenGL")
             endif ()
         endif ()


Also install copy of runtime DLL to the tool directory as necessary. Close #1214.

--- CMake/Modules/Urho3D-CMake-common.cmake
+++ CMake/Modules/Urho3D-CMake-common.cmake
@@ -1119,13 +1119,16 @@
     cmake_parse_arguments (ARG "PRIVATE;TOOL;NODEPS" "" "" ${ARGN})
     check_source_files ()
     add_executable (${TARGET_NAME} ${ARG_UNPARSED_ARGUMENTS} ${SOURCE_FILES})
+    set (RUNTIME_DIR ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
     if (ARG_PRIVATE)
         set_output_directories (. LOCAL RUNTIME PDB)
+        set (RUNTIME_DIR .)
     endif ()
     if (ARG_TOOL)
         list (APPEND TARGET_PROPERTIES XCODE_ATTRIBUTE_ONLY_ACTIVE_ARCH YES)
         if (NOT ARG_PRIVATE AND NOT DEST_RUNTIME_DIR MATCHES tool)
             set_output_directories (${CMAKE_BINARY_DIR}/bin/tool LOCAL RUNTIME PDB)
+            set (RUNTIME_DIR ${CMAKE_BINARY_DIR}/bin/tool)
         endif ()
     endif ()
     if (ARG_NODEPS)
@@ -1142,19 +1145,19 @@
         add_custom_command (TARGET ${TARGET_NAME} POST_BUILD COMMAND scp $<TARGET_FILE:${TARGET_NAME}> ${URHO3D_SCP_TO_TARGET} || exit 0
             COMMENT "Scp-ing ${TARGET_NAME} executable to target system")
     endif ()
-    if (DIRECT3D_DLL AND NOT ARG_NODEPS AND CMAKE_RUNTIME_OUTPUT_DIRECTORY)
-        # Make a copy of the D3D DLL to the runtime directory in the build tree
-        add_custom_command (TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DIRECT3D_DLL} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
-    endif ()
-    if (WIN32 AND NOT ARG_NODEPS AND URHO3D_LIB_TYPE STREQUAL SHARED AND CMAKE_RUNTIME_OUTPUT_DIRECTORY)
+    if (WIN32 AND NOT ARG_NODEPS AND URHO3D_LIB_TYPE STREQUAL SHARED AND RUNTIME_DIR)
         # Make a copy of the Urho3D DLL to the runtime directory in the build tree
         if (TARGET Urho3D)
-            add_custom_command (TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:Urho3D> ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+            add_custom_command (TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different $<TARGET_FILE:Urho3D> ${RUNTIME_DIR})
         else ()
             foreach (DLL ${URHO3D_DLL})
-                add_custom_command (TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DLL} ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})
+                add_custom_command (TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DLL} ${RUNTIME_DIR})
             endforeach ()
         endif ()
+    endif ()
+    if (DIRECT3D_DLL AND NOT ARG_NODEPS AND RUNTIME_DIR)
+        # Make a copy of the D3D DLL to the runtime directory in the build tree
+        add_custom_command (TARGET ${TARGET_NAME} POST_BUILD COMMAND ${CMAKE_COMMAND} -E copy_if_different ${DIRECT3D_DLL} ${RUNTIME_DIR})
     endif ()
     # Need to check if the destination variable is defined first because this macro could be called by downstream project that does not wish to install anything
     if (NOT ARG_PRIVATE)
@@ -1175,18 +1178,7 @@
             install (TARGETS ${TARGET_NAME} RUNTIME DESTINATION ${DEST_RUNTIME_DIR} BUNDLE DESTINATION ${DEST_BUNDLE_DIR})
             if (WIN32 AND NOT ARG_NODEPS AND URHO3D_LIB_TYPE STREQUAL SHARED AND NOT URHO3D_DLL_INSTALLED)
                 if (TARGET Urho3D)
-                    if (CMAKE_VERSION VERSION_LESS 3.0)
-                        get_target_property (LOCATION Urho3D LOCATION)
-                        get_filename_component (LOCATION ${LOCATION} PATH)
-                        if (CMAKE_GENERATOR MATCHES 2008)
-                            string (REPLACE /$(OutDir) "" LOCATION ${LOCATION})
-                        elseif (MSVC)
-                            string (REPLACE /$(Configuration) "" LOCATION ${LOCATION})
-                        endif ()
-                        install (FILES ${LOCATION}/Urho3D.dll ${LOCATION}/Urho3D_d.dll DESTINATION ${DEST_RUNTIME_DIR} OPTIONAL)
-                    else ()
-                        install (FILES $<TARGET_FILE:Urho3D> DESTINATION ${DEST_RUNTIME_DIR})
-                    endif ()
+                    install (FILES $<TARGET_FILE:Urho3D> DESTINATION ${DEST_RUNTIME_DIR})
                 else ()
                     install (FILES ${URHO3D_DLL} DESTINATION ${DEST_RUNTIME_DIR})
                 endif ()


~ py-extension: condition fix; + additional logging to control python version choosen

--- contrib/cmake/PyExtensions.cmake
+++ contrib/cmake/PyExtensions.cmake
@@ -76,13 +76,14 @@
                 OUTPUT_VARIABLE PYTHON_SITE_PACKAGES OUTPUT_STRIP_TRAILING_WHITESPACE )
         endif( NOT PYTHON_SITE_PACKAGES )
         set( PY_MODULES_INSTALL_DIR ${PYTHON_SITE_PACKAGES} )
-    else( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT )
+    else( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR PYTHON_SITE_PACKAGES )
         # Dunno whether it is legal:
         string( REPLACE "." ";" VERSION_LIST ${PYTHONLIBS_VERSION_STRING} )
         list( GET VERSION_LIST 0 PYTHON_VERSION_MAJOR)
         list( GET VERSION_LIST 1 PYTHON_VERSION_MINOR)
         set( PY_VER "${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" )
         set( PY_MODULES_INSTALL_DIR ${CMAKE_INSTALL_PREFIX}/lib/python${PY_VER}/site-packages )
+        message( STATUS "Python of version ${PY_VER} will be used with site packages dir supposed to ${PY_MODULES_INSTALL_DIR}" )
     endif( CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT OR PYTHON_SITE_PACKAGES )
     message( STATUS "Python site-packages dir is set to "
                         "\"${PY_MODULES_INSTALL_DIR}\"." )


update FindDrake.cmake to reflect new library names in drake rev 7771

--- cmake/modules/FindDrake.cmake
+++ cmake/modules/FindDrake.cmake
@@ -5,8 +5,8 @@

 find_path(DRAKE_SOURCE_DIR addpath_drake.m HINTS ${_source_dir_hint} DOC "Drake source directory")
 find_library(DRAKE_RBM_LIBRARY drakeRBM HINTS ${_lib_dir_hint} DOC "Drake RBM library")
-find_library(DRAKE_URDF_RBM_LIBRARY URDFRigidBodyManipulator HINTS ${_lib_dir_hint} DOC "Drake URDFRigidBodyManipulator library")
-find_library(DRAKE_URDF_INTERFACE_LIBRARY urdf_interface HINTS ${_lib_dir_hint} DOC "Drake urdf_interface library")
+find_library(DRAKE_URDF_RBM_LIBRARY drakeRBMurdf HINTS ${_lib_dir_hint} DOC "Drake URDFRigidBodyManipulator library")
+find_library(DRAKE_URDF_INTERFACE_LIBRARY drakeURDFinterface HINTS ${_lib_dir_hint} DOC "Drake urdf_interface library")

 set(DRAKE_LIBRARIES
     ${DRAKE_RBM_LIBRARY}


Try to fix CMake build in win32 with separate jdns

--- cmake/modules/FindQJDns.cmake
+++ cmake/modules/FindQJDns.cmake
@@ -63,7 +63,7 @@

 find_library(
 	QJDns_LIBRARY
-	NAMES qjdns${QJDns_SUFFIX}
+	NAMES qjdns qjdns${QJDns_SUFFIX}
 	HINTS
 	${PC_QJDns_LIBDIR}
 	${PC_QJDns_LIBRARY_DIRS}


Look for Gamma in relative paths

Look for Gamma in relative paths

--- cmake_modules/FindGamma.cmake
+++ cmake_modules/FindGamma.cmake
@@ -47,6 +47,7 @@
     NAMES
 	  Gamma.h
     PATHS
+	../../Gamma/Gamma
       /usr/include/Gamma
       /usr/local/include/Gamma
       /opt/local/include/Gamma
@@ -58,6 +59,7 @@
 	  Gamma
 	  libGamma
     PATHS
+	../../Gamma/build/lib
       /usr/lib
       /usr/local/lib
       /opt/local/lib


added error notification for unordered_set and unordered_map.

--- cmake_modules/LPSCommon.cmake
+++ cmake_modules/LPSCommon.cmake
@@ -150,7 +150,13 @@
     check_include_file_cxx(streambuf HAVE_STREAMBUF)
     check_include_file_cxx(string HAVE_STRING)
     check_include_file_cxx(unordered_map HAVE_UNORDERED_MAP)
+     if(NOT HAVE_UNORDERED_MAP)
+        message(FATAL_ERROR "ERROR: ${CMAKE_CXX_COMPILER} does not appear to support unordered_map. Configure phase aborted")
+    endif()
     check_include_file_cxx(unordered_set HAVE_UNORDERED_SET)
+     if(NOT HAVE_UNORDERED_SET)
+        message(FATAL_ERROR "ERROR: ${CMAKE_CXX_COMPILER} does not appear to support unordered_set. Configure phase aborted")
+    endif()
     check_include_file_cxx(typeinfo HAVE_TYPEINFO)
     check_include_file_cxx(utility HAVE_UTILITY)
     check_include_file_cxx(valarray HAVE_VALARRAY)


Fixing the build for windows

Fixing the build for windows

--- cmake/CMakeModules/OssimCommonVariables.cmake
+++ cmake/CMakeModules/OssimCommonVariables.cmake
@@ -38,7 +38,7 @@
       IF(MSVC)
          message("MSVC_VERSION: ${MSVC_VERSION}")

-         if( (${MSVC_VERSION} EQUAL 1600) OR (${MSVC_VERSION} EQUAL 1700) )
+         if( ${MSVC_VERSION} GREATER 1600 )
             if (DEBUG_BUILD)
                SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBCMTD /NODEFAULTLIB:MSVCRT /FORCE:MULTIPLE /MANIFEST:NO")
                SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /NODEFAULTLIB:LIBCMTD /FORCE:MULTIPLE /MANIFEST:NO")
@@ -52,7 +52,7 @@
             SET(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} /NODEFAULTLIB:LIBCMTD /FORCE:MULTIPLE")
          else( )
             SET(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} /NODEFAULTLIB:LIBCMTD")
-         endif( (${MSVC_VERSION} EQUAL 1600) OR (${MSVC_VERSION} EQUAL 1700) )
+         endif()
       ENDIF(MSVC)
    ENDIF(WIN32)


missing commit for need porttime off

missing commit for need porttime off

--- mingw64/Custom-mingw64.cmake
+++ mingw64/Custom-mingw64.cmake
@@ -7,6 +7,9 @@
 set(BUILD_STATIC_LIBRARY ON)
 set(USE_OPEN_MP OFF)
 set(TCL_VERSION 8.5)
+
+set(NEED_PORTTIME OFF)
+
 #set(PYTHON_INCLUDE_DIRS "/usr/include/python2.7")
 ##set(BUILD_CSOUND_AC OFF)
 ##set(BUILD_CSOUND_AC_PYTHON_INTERFACE OFF)


fix astra tags

fix astra tags

--- version_config.cmake
+++ version_config.cmake
@@ -133,7 +133,7 @@

 ## ASTRA
 set(DEFAULT_astra-toolbox_URL https://github.com/astra-toolbox/astra-toolbox )
-set(DEFAULT_astra-toolbox_TAG 8c2493710f5eac1316945585fe6333ab56f9a2a1)
+set(DEFAULT_astra-toolbox_TAG origin/master)

 ## TomoPhantom
 set(DEFAULT_TomoPhantom_URL https://github.com/dkazanc/TomoPhantom )
@@ -184,7 +184,7 @@
   set(DEFAULT_CCPi-FrameworkPlugins_URL https://github.com/vais-ral/CCPi-FrameworkPlugins.git)
   set(DEFAULT_CCPi-FrameworkPlugins_TAG origin/master)
   set(DEFAULT_CCPi-Astra_URL https://github.com/vais-ral/CCPi-Astra.git)
-  set(DEFAULT_CCPi-Astra_TAG origin/master)
+  set(DEFAULT_CCPi-Astra_TAG 8c2493710f5eac1316945585fe6333ab56f9a2a1)

 else()
   set(DEFAULT_SIRF_TAG v2.1.0)
@@ -214,7 +214,7 @@
   set(DEFAULT_CCPi-FrameworkPlugins_URL https://github.com/vais-ral/CCPi-FrameworkPlugins.git)
   set(DEFAULT_CCPi-FrameworkPlugins_TAG "${CIL_VERSION}")
   set(DEFAULT_CCPi-Astra_URL https://github.com/vais-ral/CCPi-Astra.git)
-  set(DEFAULT_CCPi-Astra_TAG "${CIL_VERSION}")
+  set(DEFAULT_CCPi-Astra_TAG 8c2493710f5eac1316945585fe6333ab56f9a2a1)
 endif()


typechecker-regex-prototype: hide advanced cmake variables

--- cmake/Modules/FindHaskell.cmake
+++ cmake/Modules/FindHaskell.cmake
@@ -132,6 +132,8 @@
 mark_as_advanced (
 	GHC_EXECUTABLE
 	GHC-PKG_EXECUTABLE
+	ALEX_EXECUTABLE
+	HAPPY_EXECUTABLE
 	C2HS_EXECUTABLE
 	CABAL_EXECUTABLE
 	CABAL_DYNLIB_PATH


cmake/MyPackagePrintSetup.cmake: add CMAKE_MAKE_PROGRAM

--- cmake/MyPackagePrintSetup.cmake
+++ cmake/MyPackagePrintSetup.cmake
@@ -12,6 +12,7 @@
   MESSAGE(STATUS "         CMAKE_SYSTEM_PROCESSOR: ${CMAKE_SYSTEM_PROCESSOR}")
   MESSAGE(STATUS "               CMAKE_CFG_INTDIR: ${CMAKE_CFG_INTDIR}")
   MESSAGE(STATUS "               CMAKE_BUILD_TYPE: ${CMAKE_BUILD_TYPE}")
+  MESSAGE(STATUS "             CMAKE_MAKE_PROGRAM: ${CMAKE_MAKE_PROGRAM}")
   MESSAGE(STATUS "               CMAKE_C_COMPILER: ${CMAKE_C_COMPILER}")
   MESSAGE(STATUS "            CMAKE_C_COMPILER_ID: ${CMAKE_C_COMPILER_ID}")
   MESSAGE(STATUS "                  CMAKE_C_FLAGS: ${CMAKE_C_FLAGS}")


Use SEND_ERROR instead of FATAL_ERROR in distortosCheckInteger()

--- cmake/distortos-utilities.cmake
+++ cmake/distortos-utilities.cmake
@@ -40,16 +40,16 @@
 endfunction()

 #
-# Checks whether `integer` value is a proper integer that is in [`min`; `max`] range. If it's not, a fatal error message
-# is displayed with `name` as a prefix.
+# Checks whether `integer` value is a proper integer that is in [`min`; `max`] range. If it's not, an error message is
+# displayed with `name` as a prefix.
 #

 function(distortosCheckInteger name integer min max)
 	if(NOT integer MATCHES "^-?[0-9]+$")
-		message(FATAL_ERROR "\"${name}\": \"${integer}\" is not a valid integer")
+		message(SEND_ERROR "\"${name}\": \"${integer}\" is not a valid integer")
 	endif()
 	if(integer LESS min OR integer GREATER max)
-		message(FATAL_ERROR "\"${name}\": ${integer} is not in [${min}; ${max}] range")
+		message(SEND_ERROR "\"${name}\": ${integer} is not in [${min}; ${max}] range")
 	endif()
 endfunction()


Follow up for Windows build fixes

Follow up for Windows build fixes

--- cmake/modules/FindOpenVDB.cmake
+++ cmake/modules/FindOpenVDB.cmake
@@ -242,6 +242,8 @@
     else()
       set(OpenVDB_${COMPONENT}_FOUND FALSE)
     endif()
+
+    set(OpenVDB_${COMPONENT}_LIBRARY ${OpenVDB_${COMPONENT}_LIBRARY_RELEASE})
   else ()
     string(TOUPPER "${CMAKE_BUILD_TYPE}" _BUILD_TYPE)

@@ -259,6 +261,7 @@
       set(OpenVDB_${COMPONENT}_FOUND FALSE)
     endif()
   endif ()
+
 endforeach()

 if(UNIX AND OPENVDB_USE_STATIC_LIBS)
@@ -522,18 +525,17 @@
       IMPORTED_LINK_DEPENDENT_LIBRARIES "${_OPENVDB_HIDDEN_DEPENDENCIES}" # non visible deps
       INTERFACE_LINK_LIBRARIES "${_OPENVDB_VISIBLE_DEPENDENCIES}" # visible deps (headers)
       INTERFACE_COMPILE_FEATURES cxx_std_11
-   )
-
-  if (_is_multi)
-    set_target_properties(OpenVDB::${COMPONENT} PROPERTIES
+      IMPORTED_LOCATION "${OpenVDB_${COMPONENT}_LIBRARY}"
       IMPORTED_LOCATION_RELEASE "${OpenVDB_${COMPONENT}_LIBRARY_RELEASE}"
       IMPORTED_LOCATION_DEBUG "${OpenVDB_${COMPONENT}_LIBRARY_DEBUG}"
-    )
-  else ()
-    set_target_properties(OpenVDB::${COMPONENT} PROPERTIES
-      IMPORTED_LOCATION "${OpenVDB_${COMPONENT}_LIBRARY}"
-    )
-  endif ()
+   )
+
+  # if (_is_multi)
+  #   set_target_properties(OpenVDB::${COMPONENT} PROPERTIES
+  #     IMPORTED_LOCATION_RELEASE "${OpenVDB_${COMPONENT}_LIBRARY_RELEASE}"
+  #     IMPORTED_LOCATION_DEBUG "${OpenVDB_${COMPONENT}_LIBRARY_DEBUG}"
+  #   )
+  # endif ()

    if (OPENVDB_USE_STATIC_LIBS)
     set_target_properties(OpenVDB::${COMPONENT} PROPERTIES


search also for Pythia8.

search also for Pythia8.

git-svn-id: acec3fd5b7ea1eb9e79d6329d318e8118ee2e14f@44235 27541ba8-7e3a-0410-8455-c3a389f83636

--- cmake/modules/FindPythia8.cmake
+++ cmake/modules/FindPythia8.cmake
@@ -17,7 +17,7 @@
   DOC "Specify the directory containing Pythia.h."
 )

-find_library(PYTHIA8_LIBRARY NAMES libPythia8 PATHS
+find_library(PYTHIA8_LIBRARY NAMES Pythia8 libPythia8 PATHS
   $ENV{PYTHIA8_DIR}/lib
   /opt/pythia8/lib
   /usr/local/lib


ThirdParty: add minimum version support

ThirdParty: add minimum version support

Some external libraries must be at least some version to work from
outside the source tree.

--- CMake/vtkModuleMacros.cmake
+++ CMake/vtkModuleMacros.cmake
@@ -781,6 +781,7 @@
   set(_libs "")
   set(_nolibs 0)
   set(_subdir 1)
+  set(_version "")
   set(_components "")
   set(_optional_components "")
   set(_doing "")
@@ -790,9 +791,16 @@
     elseif("${arg}" STREQUAL "NO_ADD_SUBDIRECTORY")
       set(_doing "")
       set(_subdir 0)
+    elseif("${arg}" STREQUAL "VERSION")
+      set(_doing "version")
     elseif("${arg}" STREQUAL "NO_LIBRARIES")
       set(_doing "")
       set(_nolibs 1)
+    elseif("${_doing}" STREQUAL "version")
+      if (_version)
+        message(AUTHOR_WARNING "Duplicate 'VERSION' keyword")
+      endif ()
+      set(_version "${arg}")
     elseif("${_doing}" STREQUAL "LIBRARIES")
       list(APPEND _libs "${arg}")
     elseif("${_doing}" STREQUAL "INCLUDE_DIRS")
@@ -827,7 +835,7 @@
         list(APPEND __extra_args ${_optional_components})
       endif()
     endif()
-    find_package(${_pkg} REQUIRED ${__extra_args})
+    find_package(${_pkg} ${_version} REQUIRED ${__extra_args})
     if(NOT ${_upper}_FOUND AND NOT ${_pkg}_FOUND)
       message(FATAL_ERROR "VTK_USE_SYSTEM_${_upper} is ON but ${_pkg} is not found!")
     endif()


CDash: mark build as done

CDash: mark build as done

--- Testing/script/mercury_common.cmake
+++ Testing/script/mercury_common.cmake
@@ -511,4 +511,6 @@
 if(COMMAND dashboard_hook_end)
   dashboard_hook_end()
 endif()
-
+if(dashboard_do_submit)
+  ctest_submit(PARTS Done)
+endif()


cmake: include stdint.h when checking postproc (as pointed by courmisch).

--- extras/buildsystem/cmake/include/config.cmake
+++ extras/buildsystem/cmake/include/config.cmake
@@ -307,8 +307,10 @@

 find_package(FFmpeg)
 if(FFmpeg_FOUND)
+  set(CMAKE_EXTRA_INCLUDE_FILES stdint.h)
   vlc_check_include_files (ffmpeg/avcodec.h)
   vlc_check_include_files (postproc/postprocess.h)
+  set(CMAKE_EXTRA_INCLUDE_FILES)
   vlc_enable_modules(ffmpeg)
   vlc_add_module_compile_flag(ffmpeg ${FFmpeg_CFLAGS} )
   vlc_module_add_link_libraries(ffmpeg ${FFmpeg_LIBRARIES})


Fix PATH for bench target

Fix PATH for bench target

--- build/TestBenchRun.cmake
+++ build/TestBenchRun.cmake
@@ -7,6 +7,7 @@
 set(ENV{BUILD_DIR} ${CTEST_MODULE_DIR})
 set(ENV{LUA_PATH} ${PROJECT_SOURCE_DIR}/src/lua/?.lua)
 set(ENV{HAKA_PATH} ${HAKA_PATH})
+set(ENV{PATH} $ENV{PATH}:${HAKA_PATH}/sbin:${HAKA_PATH}/bin)
 set(ENV{LD_LIBRARY_PATH} ${HAKA_PATH}/lib:${HAKA_PATH}/lib/haka/modules/protocol:${HAKA_PATH}/lib/haka/modules/packet)
 set(ENV{TZ} Europe/Paris)
 set(ENV{CONF} ${CONF})


replace xpSetLibs with xpGetExtern

replace xpSetLibs with xpGetExtern

given a PUBLIC and PRIVATE list of packages:
* xpGetExtern returns an include directory list and library list
* the include directory list honors PUBLIC and PRIVATE
* the include directory list is suitable for adding to a target_include_directories call

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -714,17 +714,48 @@
   endforeach()
 endmacro()

-function(xpSetLibs _ret)
-  set(multiValueArgs PKGS)
-  cmake_parse_arguments(SL "" "" "${multiValueArgs}" ${ARGN})
-  xpFindPkg(PKGS ${SL_PKGS})
-  foreach(pkg ${SL_PKGS})
-    string(TOUPPER ${pkg} PKG)
-    if(${PKG}_FOUND)
+# meant for internal consumption (called by xpGetExtern)
+function(xpAppendPkgVars pkg _libList _incDirs)
+  string(TOUPPER ${pkg} PKG)
+  if(${PKG}_FOUND)
+    if(DEFINED ${PKG}_LIBRARIES)
       list(APPEND liblist "${${PKG}_LIBRARIES}")
     endif()
+    if(DEFINED ${PKG}_INCLUDE_DIR)
+      list(APPEND incdirs "${${PKG}_INCLUDE_DIR}")
+    endif()
+  endif()
+  set(${_libList} ${liblist} PARENT_SCOPE)
+  set(${_incDirs} ${incdirs} PARENT_SCOPE)
+endfunction()
+
+# get the external include directories and library list
+# given the PUBLIC and PRIVATE packages passed in
+function(xpGetExtern _incDirs _libList)
+  set(multiValueArgs PUBLIC PRIVATE)
+  cmake_parse_arguments(GE "" "" "${multiValueArgs}" ${ARGN})
+  xpFindPkg(PKGS ${GE_PUBLIC} ${GE_PRIVATE})
+  list(APPEND incdirs SYSTEM)
+  if(DEFINED GE_PUBLIC)
+    list(APPEND incdirs PUBLIC)
+  endif()
+  foreach(pkg ${GE_PUBLIC})
+    xpAppendPkgVars(${pkg} liblist incdirs)
   endforeach()
-  set(${_ret} ${liblist} PARENT_SCOPE)
+  if(DEFINED GE_PRIVATE)
+    list(APPEND incdirs PRIVATE)
+  endif()
+  foreach(pkg ${GE_PRIVATE})
+    xpAppendPkgVars(${pkg} liblist incdirs)
+  endforeach()
+  if(DEFINED liblist)
+    list(REMOVE_DUPLICATES liblist)
+  endif()
+  if(DEFINED incdirs)
+    list(REMOVE_DUPLICATES incdirs)
+  endif()
+  set(${_libList} ${liblist} PARENT_SCOPE)
+  set(${_incDirs} ${incdirs} PARENT_SCOPE)
 endfunction()

 function(xpLibdepTest libName)


disable format build target if Solaris

disable format build target if Solaris

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -868,7 +868,9 @@
     endif()
     ####
     # Windows can't handle passing very many files to clang-format
-    if(NOT MSVC AND fmtFiles AND NOT ${CMAKE_PROJECT_NAME} STREQUAL externpro)
+    # and Solaris/SunOS can't build clang-format
+    if(NOT MSVC AND NOT ${CMAKE_SYSTEM_NAME} STREQUAL SunOS
+       AND fmtFiles AND NOT ${CMAKE_PROJECT_NAME} STREQUAL externpro)
       # make paths relative to CMAKE_SOURCE_DIR
       xpListRemoveFromAll(fmtFiles ${CMAKE_SOURCE_DIR} . ${fmtFiles})
       list(LENGTH fmtFiles lenFmtFiles)


i#1795 revive CDash: update instructions for patching CTest

Adds instructions for patching CTest to work with the security rules on our
CDash server.

Review-URL: https://codereview.appspot.com/268340043

--- suite/nightly.cmake
+++ suite/nightly.cmake
@@ -42,8 +42,13 @@
 #    convention is {Linux,Windows}.OSVersion.Machine/Location.
 #    E.g., Windows.Vista64.CSAIL
 #    The site name should not contain spaces or quotes.
-# 4) Set up a cron job to run:
-#    cd $nightly/run; ctest -V -S ../nightly.cmake > ctest.log 2>&1
+# 4) Build a version of CTest that sets the Content-Type header to
+#    satisfy the security rules on our CDash server.
+#    You will need this patch, which is too new to be in a released CTest version:
+#      https://cmake.org/gitweb?p=cmake.git;a=commitdiff;h=1b700612
+#    For more information, see https://cmake.org/Bug/view.php?id=15774
+# 5) Set up a cron job to run:
+#    cd $nightly/run; /path/to/patched/ctest -V -S ../nightly.cmake > ctest.log 2>&1
 #
 # Each run will clobber the build directories from the last run to save disk
 # space, but the xml file results will be recorded on the CDash server.
@@ -52,4 +57,4 @@
 # We point at src/suite/runsuite.cmake, assuming this file will be executed
 # from two dirs below.
 # Site name should not have spaces or quotes.
-ctest_run_script(${CTEST_SCRIPT_DIRECTORY}/src/suite/runsuite.cmake,nightly\;long\;site=Linux.Fedora10.Glaurung)
+ctest_run_script(${CTEST_SCRIPT_DIRECTORY}/src/suite/runsuite.cmake,nightly\;long\;site=Linux.Fedora22.Ancalagon)


Updated Jenkins cmake script

Updated Jenkins cmake script

--- CTestJenkins.cmake
+++ CTestJenkins.cmake
@@ -20,7 +20,7 @@

 set(CTEST_CONFIGURE_COMMAND "${CMAKE_COMMAND}")
 set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_BUILD_OPTIONS}")
-if(UNIX)
+if(CTEST_COVERAGE_COMMAND)
     set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_COVERAGE_CXX_FLAGS}")
     set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_COVERAGE_EXE_LD_FLAGS}")
     set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_COVERAGE_SHARED_LD_FLAGS}")
@@ -29,8 +29,8 @@
 set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_SOURCE_DIRECTORY}\"")

 ctest_start("Experimental" QUIET)
-ctest_configure(OPTIONS -DCMAKE_BUILD_TYPE=${CTEST_BUILD_CONFIGURATION} QUIET)
-ctest_build(QUIET)
+ctest_configure(OPTIONS -DCMAKE_BUILD_TYPE=${CTEST_BUILD_CONFIGURATION} RETURN_VALUE CONFIGURING_RET_VALUE QUIET)
+ctest_build(RETURN_VALUE BUILDING_RET_VALUE QUIET)
 ctest_test(QUIET)
 ctest_submit(QUIET)
 if(CTEST_COVERAGE_COMMAND)
@@ -40,3 +40,9 @@
     ctest_memcheck(QUIET)
 endif()
 ctest_submit(QUIET)
+
+if(NOT CONFIGURING_RET_VALUE AND NOT BUILDING_RET_VALUE)
+    message(0)
+else()
+    message(255)
+endif()


Re-implemented cmake scripts to find Media SDK library and include
path.

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

--- cmake/FindMediaSDK.cmake
+++ cmake/FindMediaSDK.cmake
@@ -1,20 +1,18 @@
-if (DEFINED ENV{MFX_HOME})
-    MESSAGE( STATUS "MFX_HOME=$ENV{MFX_HOME}")
+function(FindMediaSDK)
+  if(DEFINED ENV{MFX_HOME})
+    message(STATUS "MediaSDK distribution found in $ENV{MFX_HOME}")
     set(MFX_HOME $ENV{MFX_HOME})
-elseif (EXISTS "/opt/intel/mediasdk")
-    MESSAGE( STATUS "MediaSDK distribution found in /opt/intel/mediasdk")
+  elseif (EXISTS "/opt/intel/mediasdk")
+    message(STATUS "MediaSDK distribution found in /opt/intel/mediasdk")
     set(MFX_HOME "/opt/intel/mediasdk")
-else()
-    MESSAGE( FATAL_ERROR "No MediaSDK distribution is found.")
-endif()
-
-set(MFX_INCLUDES "${MFX_HOME}/include")
-set(MFX_LIBRARY  "${MFX_HOME}/lib/lin_x64/libmfx.a")
-MESSAGE( STATUS "MediaSDK include directory: ${MFX_INCLUDES}")
-MESSAGE( STATUS "MediaSDK library directory: ${MFX_LIBRARY}")
-
-#Add MFX library
-add_library(libmfx STATIC IMPORTED)
-set_property(TARGET libmfx PROPERTY IMPORTED_LOCATION ${MFX_LIBRARY})
-add_definitions(-DHAVE_CONFIG_H)
-include_directories( ${MFX_INCLUDES} )
+  else()
+    message(FATAL_ERROR "No MediaSDK distribution is found.")
+  endif()
+  set(MFX_INCLUDES "${MFX_HOME}/include")
+  set(MFX_LIBRARY  "${MFX_HOME}/lib/lin_x64/libmfx.a")
+  message(STATUS "MediaSDK include directory: ${MFX_INCLUDES}")
+  message( STATUS "MediaSDK library directory: ${MFX_LIBRARY}")
+  add_library(libmfx STATIC IMPORTED)
+  set_property(TARGET libmfx PROPERTY IMPORTED_LOCATION ${MFX_LIBRARY})
+  include_directories(${MFX_INCLUDES})
+endfunction(FindMediaSDK)


Fix TmxParser library to force include <TmxParser/Tmx.h> instead of <Tmx.h>

--- external/TmxParser/Options.cmake
+++ external/TmxParser/Options.cmake
@@ -58,7 +58,7 @@

   # Define the include directory to reference for this external module
   set(FIND_INCLUDE_DIR
-    ${TOPLEVEL_DIR}/${EXTERNAL_OPTION_DIR}/TmxParser)
+    ${TOPLEVEL_DIR}/${EXTERNAL_OPTION_DIR})

   # Create the Find.cmake module for this external module
   configure_file(${PROJECT_SOURCE_DIR}/${EXTERNAL_OPTION_DIR}/FindModule.in


Updated OpenSlide for ubuntu linux

Updated OpenSlide for ubuntu linux

--- cmake/ModuleWholeSlideImaging.cmake
+++ cmake/ModuleWholeSlideImaging.cmake
@@ -24,7 +24,7 @@
         )
         fast_download_dependency(openslide
                 3.4.1
-                9964872e71da5c5a4706850c253797e86484b2eb528735d1625dfb3ce6a04dbd
+                6cd181e43057d8f67b31a71239fd3295a3ee43baaaedce827b8570ba95478ea2
                 libopenslide.so
         )
     endif()


[compiler-rt] Fix target architecture matching

Summary:
Use stricter comparisons for architecture. This prevents cmake from failing
for sysroots which can only compile armhf and not arm, since
arm MATCHES armhf is true, while arm STREQUAL armhf is false.

Reviewers: beanz, compnerd

Subscribers: aemerson, llvm-commits

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

git-svn-id: c199f293c43da69278bea8e88f92242bf3aa95f7@276148 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/Modules/CompilerRTUtils.cmake
+++ cmake/Modules/CompilerRTUtils.cmake
@@ -126,7 +126,7 @@
   endif()
   if(${CAN_TARGET_${arch}})
     list(APPEND COMPILER_RT_SUPPORTED_ARCH ${arch})
-  elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" MATCHES "${arch}" AND
+  elseif("${COMPILER_RT_DEFAULT_TARGET_ARCH}" STREQUAL "${arch}" AND
          COMPILER_RT_HAS_EXPLICIT_DEFAULT_TARGET_TRIPLE)
     # Bail out if we cannot target the architecture we plan to test.
     message(FATAL_ERROR "Cannot compile for ${arch}:\n${TARGET_${arch}_OUTPUT}")


Fix clang win build

Fix clang win build

--- cmake/compiler-warnings-clang.cmake
+++ cmake/compiler-warnings-clang.cmake
@@ -34,6 +34,11 @@
   list(APPEND CLANG_DISABLED_WARNING_FLAGS "unreachable-code")
 endif()

+if(NOT (UNIX OR APPLE))
+  # bogus warnings about std functions...
+  list(APPEND CLANG_DISABLED_WARNING_FLAGS "used-but-marked-unused")
+endif()
+
 foreach(warning ${CLANG_WARNING_FLAGS})
   CHECK_CXX_COMPILER_FLAG_AND_ENABLE_IT(-W${warning})
 endforeach()


libxml2: Update PACKAGE_UNRELOCATABLE_TEXT_FILES

--- cmake/projects/libxml2/hunter.cmake
+++ cmake/projects/libxml2/hunter.cmake
@@ -38,6 +38,8 @@
     PACKAGE_UNRELOCATABLE_TEXT_FILES
     "lib/pkgconfig/libxml-2.0.pc"
     "lib/libxml2.la"
+    "bin/xml2-config"
+    "lib/xml2Conf.sh"
 )

 hunter_configuration_types(libxml2 CONFIGURATION_TYPES Release)


PR 774: changed relative paths

PR 774: changed relative paths

 - changed relative paths

--- cmake_includes/config_windows.cmake
+++ cmake_includes/config_windows.cmake
@@ -35,9 +35,5 @@
 set(SHLWAPI Shlwapi)
 set(GTEST_LIBS gtest gtest_main-md)

-
-set(OPENCV_INCLUDE "C:/Users/ochitaya/Desktop/OpenCV/build/include") #TO FIX --oved--
-include_directories(${OPENCV_INCLUDE})
-
-include_directories(${OPENCV_INCLUDE_PATH} ${LIBREALSENSE_INCLUDE_PATH} ${OPENCV_INCLUDE_PATH} ${LOG4CXX_INCLUDE_PATH})
+include_directories(${OPENCV_INCLUDE_PATH} ${OPENCV_DIR} ${LIBREALSENSE_INCLUDE_PATH} ${LOG4CXX_INCLUDE_PATH})
 link_directories(${LIBREALSENSE_LIB_PATH} ${OPENCV_LIB_PATH} ${GTEST_LIB_PATH})


add dondition : clean test dir only if Nightly build

git-svn-id: ed1ce8e5c168003d808aec37bc6fda77b178f7bb@3404 c330d7e9-fc0c-0410-a5b3-fd85c6f5aa8f

--- trunk/test/openVibeTests.cmake
+++ trunk/test/openVibeTests.cmake
@@ -151,7 +151,9 @@

 message(" -- Finished ${MODEL}  - ${CTEST_BUILD_NAME} --")

-message(" -- clean ${MODEL}  - ${CTEST_BUILD_NAME} --")
-ctest_empty_binary_directory(${CTEST_SOURCE_DIRECTORY})
+IF(${CTEST_SCRIPT_ARG} MATCHES Nightly)
+	message(" -- clean ${MODEL}  - ${CTEST_BUILD_NAME} --")
+	ctest_empty_binary_directory(${CTEST_SOURCE_DIRECTORY})
+ENDIF(${CTEST_SCRIPT_ARG} MATCHES Nightly)
 exec_program("rm" ARGS "-rf ${CTEST_SOURCE_DIRECTORY}" OUTPUT_VARIABLE "cleanScript")


VNL 2020-10-07 (a302a89b)

VNL 2020-10-07 (a302a89b)

Run the UpdateFromUpstream.sh script to extract upstream VNL
using the following shell commands.

$ git archive --prefix=upstream-vnl/ a302a89b --
      CMakeLists.txt
      config/cmake
      core/CMakeLists.txt
      core/testlib
      core/vnl
      core/vxl_config.h.in
      core/vxl_copyright.h
      core/vxl_version.h
      v3p/CMakeLists.txt
      v3p/netlib
      vcl
 | tar x
$ git shortlog --perl-regexp --author='^((?!Kitware Robot).*)$' --no-merges --abbrev=8 --format='%h %s' c45970ee..a302a89b

Drew Gilliam (2):
      ad61c96d travis & circleci install tests - spot check expected file existence
      a302a89b bugfix - vxl_utils.cmake library sources in INSTALL_NOBASE_HEADER_FILES

Change-Id: Ib8b9ed5cf19cb07607f99e5740c4903fc8697463

--- config/cmake/config/vxl_utils.cmake
+++ config/cmake/config/vxl_utils.cmake
@@ -127,7 +127,7 @@
     )
   endif()

-  INSTALL_NOBASE_HEADER_FILES(${relative_install_path} ${vxl_add_LIBRARY_NAME})
+  INSTALL_NOBASE_HEADER_FILES(${relative_install_path} ${vxl_add_LIBRARY_SOURCES})

 endfunction()


cmake: check the existance of gperftools/malloc_extension.h as really needed

--- source/cmake_modules/FindGoogleTcmalloc.cmake
+++ source/cmake_modules/FindGoogleTcmalloc.cmake
@@ -3,7 +3,7 @@
     set(GOOGLETCMALLOC_FIND_QUIETLY TRUE)
 endif()

-find_path(GOOGLETCMALLOC_INCLUDE_DIR google/malloc_extension.h PATH "${LIB_PREFIX}")
+find_path(GOOGLETCMALLOC_INCLUDE_DIR gperftools/malloc_extension.h PATH "${LIB_PREFIX}")

 if(GOOGLETCMALLOC_INCLUDE_DIR)
     set(GOOGLETCMALLOC_FOUND TRUE)
@@ -11,8 +11,8 @@

 if(GOOGLETCMALLOC_FOUND)
     if(NOT GOOGLETCMALLOC_FIND_QUIETLY)
-        message(STATUS "Found tcmalloc in ${GOOGLETCMALLOC_INCLUDE_DIR}/google/malloc_extension.h")
+        message(STATUS "Found tcmalloc in ${GOOGLETCMALLOC_INCLUDE_DIR}/gperftools/malloc_extension.h")
     endif()
 else()
-    message(FATAL_ERROR "Could not find google/malloc_extension.h")
+    message(FATAL_ERROR "Could not find gperftools/malloc_extension.h")
 endif()


Support Python built using --exec-prefix

Using the sysconfig variable "INCLDIRSTOMAKE" to get header location(s), as they are not necessarily in get_python_inc if Python was configured with a different exec-prefix (because pyconfig.h lives in a separate arch-specific directory)

--- share/cmake/OCIOMacros.cmake
+++ share/cmake/OCIOMacros.cmake
@@ -11,23 +11,20 @@
         message(STATUS "Setting python bin to: ${PYTHON}")
     endif()

-    execute_process(COMMAND ${PYTHON} -c "from distutils import sysconfig; print sysconfig.get_python_inc()"
-        OUTPUT_VARIABLE PYTHON_INCLUDE
+    execute_process(COMMAND ${PYTHON} -c "from distutils import sysconfig; print ':'.join(set(sysconfig.get_config_var('INCLDIRSTOMAKE').split()))"
+        OUTPUT_VARIABLE PYTHON_INCLUDE_RAW
         RESULT_VARIABLE PYTHON_RETURNVALUE
         OUTPUT_STRIP_TRAILING_WHITESPACE
     )
     set(PYTHON_OK NO)

     if(${PYTHON_RETURNVALUE} EQUAL 0)
+        file(TO_CMAKE_PATH "${PYTHON_INCLUDE_RAW}" PYTHON_INCLUDE)
         execute_process(COMMAND ${PYTHON} -c "from distutils import sysconfig; print sysconfig.get_python_version()"
             OUTPUT_VARIABLE PYTHON_VERSION
             OUTPUT_STRIP_TRAILING_WHITESPACE
         )
-        if(EXISTS "${PYTHON_INCLUDE}/Python.h")
-            set(PYTHON_OK YES)
-        else()
-            set(PYTHON_ERR "${PYTHON_HEADER} not found in ${PYTHON_INCLUDE}.")
-        endif()
+        set(PYTHON_OK YES)
     elseif(${PYTHON_RETURNVALUE} GREATER 0)
         set(PYTHON_ERR "${PYTHON} returned ${PYTHON_RETURNVALUE} trying to determine header location.")
     else()


for cmake option GENERATE_ROS_MODELS to make ROS sdf models

--- platforms/posix/cmake/sitl_target.cmake
+++ platforms/posix/cmake/sitl_target.cmake
@@ -37,6 +37,7 @@
 	CMAKE_ARGS
 		-DCMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
 		-DSEND_ODOMETRY_DATA=ON
+		-DGENERATE_ROS_MODELS=ON
 	BINARY_DIR ${PX4_BINARY_DIR}/build_gazebo
 	INSTALL_COMMAND ""
 	DEPENDS git_gazebo


Apparently the tuple directory is needed to by some of the boost threading headers.  Don't exclude it when installing dependencies.

--- CMake/InstallDependencies.cmake
+++ CMake/InstallDependencies.cmake
@@ -180,7 +180,6 @@
 		PATTERN "system" EXCLUDE
 		PATTERN "test" EXCLUDE
 		PATTERN "tr1" EXCLUDE
-		PATTERN "tuple" EXCLUDE
 		PATTERN "typeof" EXCLUDE
 		PATTERN "units" EXCLUDE
 		PATTERN "unordered" EXCLUDE


Added an option to skip install commands for plugins.

--- CMake/ctkMacroBuildPlugin.cmake
+++ CMake/ctkMacroBuildPlugin.cmake
@@ -51,7 +51,7 @@
 macro(ctkMacroBuildPlugin)
   CtkMacroParseArguments(MY
     "EXPORT_DIRECTIVE;SRCS;MOC_SRCS;MOC_OPTIONS;UI_FORMS;INCLUDE_DIRECTORIES;EXPORTED_INCLUDE_SUFFIXES;TARGET_LIBRARIES;RESOURCES;CACHED_RESOURCEFILES;TRANSLATIONS;OUTPUT_DIR"
-    "TEST_PLUGIN"
+    "TEST_PLUGIN;NO_INSTALL"
     ${ARGN}
     )

@@ -338,7 +338,7 @@
     PREFIX "lib"
     )

-  if(NOT MY_TEST_PLUGIN)
+  if(NOT MY_TEST_PLUGIN AND NOT MY_NO_INSTALL)
     # Install rules
     install(TARGETS ${lib_name} EXPORT CTKExports
       RUNTIME DESTINATION ${CTK_INSTALL_PLUGIN_DIR} COMPONENT RuntimePlugins
@@ -360,7 +360,7 @@
     set(${CMAKE_PROJECT_NAME}_PLUGIN_LIBRARIES ${${CMAKE_PROJECT_NAME}_PLUGIN_LIBRARIES} ${lib_name} CACHE INTERNAL "CTK plugins" FORCE)
   endif()

-  if(NOT MY_TEST_PLUGIN)
+  if(NOT MY_TEST_PLUGIN AND NOT MY_NO_INSTALL)
     # Install headers
     file(GLOB headers "${CMAKE_CURRENT_SOURCE_DIR}/*.h" "${CMAKE_CURRENT_SOURCE_DIR}/*.tpp")
     install(FILES


ctkMacroBuildPlugin - Use MY_LIBRARY_TYPE instead of CTK_BUILD_SHARED_LIBS

--- CMake/ctkMacroBuildPlugin.cmake
+++ CMake/ctkMacroBuildPlugin.cmake
@@ -242,7 +242,7 @@

   # Note: The plugin may be installed in some other location ???
   # Install rules
-# IF(CTK_BUILD_SHARED_LIBS)
+# IF(MY_LIBRARY_TYPE STREQUAL "SHARED")
 # INSTALL(TARGETS ${lib_name}
 # RUNTIME DESTINATION ${CTK_INSTALL_BIN_DIR} COMPONENT Runtime
 # LIBRARY DESTINATION ${CTK_INSTALL_LIB_DIR} COMPONENT Runtime


cram: export TERM=dumb to prevent unfortunate coloring

--- .cmake/Modules/Cram.cmake
+++ .cmake/Modules/Cram.cmake
@@ -32,6 +32,7 @@
 set(ENV{CRITERION_JOBS} "1")
 set(ENV{CRITERION_DISABLE_TIME_MEASUREMENTS} "1")
 set(ENV{MSYS2_ARG_CONV_EXCL} "--filter=")
+set(ENV{TERM} "dumb")

 if (WIN32)
   if (ENV{MINGW} STREQUAL "")


[CMake] Correct Windows script.

[CMake] Correct Windows script.

--- EMULATOR/PLATFORM/Windows.cmake
+++ EMULATOR/PLATFORM/Windows.cmake
@@ -5,10 +5,9 @@
 #Find libs
 find_package(SDL2 REQUIRED)
 find_package(OpenGL REQUIRED)
-find_package(GLEW REQUIRED)
-
 #We want to link GLEW statically
 set(GLEW_USE_STATIC_LIBS ON)
+find_package(GLEW REQUIRED)

 #Setup project include directories
 include_directories(${GLEW_INCLUDE_DIR})


Use PCRE instead of PCRE2

Use PCRE instead of PCRE2

--- CMakeExternals/SWIG.cmake
+++ CMakeExternals/SWIG.cmake
@@ -11,7 +11,7 @@
   if(WIN32)
     set(proj_DEPENDENCIES)
   else()
-    set(proj_DEPENDENCIES PCRE2)
+    set(proj_DEPENDENCIES PCRE)
   endif()
   set(SWIG_DEPENDS ${proj})

@@ -59,7 +59,7 @@
                           LDFLAGS=${CMAKE_LINKER_FLAGS} ${CMAKE_LINKER_FLAGS_RELEASE}
                           CXX=${CMAKE_CXX_COMPILER}${CMAKE_CXX_COMPILER_ARG1}
                             "--prefix=<INSTALL_DIR>"
-                            "--with-pcre-prefix=${PCRE2_DIR}"
+                            "--with-pcre-prefix=${PCRE_DIR}"
                             --without-octave
                             "--with-python=${Python3_EXECUTABLE}"
         DEPENDS ${proj_DEPENDENCIES}


Adding missing close quotes in the last (trivial) commit...

--- external/cmake/openblas.cmake
+++ external/cmake/openblas.cmake
@@ -40,7 +40,7 @@
   endif()
   set(EL_HAVE_OPENBLAS TRUE)
   set(EL_BUILT_OPENBLAS FALSE)
-  message(STATUS "Using OpenBLAS+LAPACK found at ${OpenBLAS})
+  message(STATUS "Using OpenBLAS+LAPACK found at ${OpenBLAS}")
 elseif(FORTRAN_WORKS)
   if(MSVC)
     set(EL_HAVE_OPENBLAS FALSE)


Updated CLBlast to 1.2.0 which includes the latest TRSM/TRSV bugfixes

--- CMakeModules/build_CLBlast.cmake
+++ CMakeModules/build_CLBlast.cmake
@@ -13,7 +13,7 @@
 ExternalProject_Add(
     CLBlast-ext
     GIT_REPOSITORY https://github.com/cnugteren/CLBlast.git
-    GIT_TAG 1.1.0
+    GIT_TAG 1.2.0
     PREFIX "${prefix}"
     INSTALL_DIR "${prefix}"
     UPDATE_COMMAND ""


Remove obsolete SQLite3 CMake module.

Remove obsolete SQLite3 CMake module.

--- CMakeModules/sqlite3Config.cmake
+++ CMakeModules/sqlite3Config.cmake
@@ -1,37 +0,0 @@
-
-# - Find libgmx
-# Find the native libgmx headers and libraries.
-#
-#  SQLITE3_INCLUDE_DIRS - where to find sqlite3.h, etc
-#  SQLITE3_LIBRARIES    - List of libraries when using sqlite3.
-#  SQLITE3_FOUND        - True if sqlite3 found.
-#
-# Copyright 2009-2011 The VOTCA Development Team (http://www.votca.org)
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-#
-
-find_package(PkgConfig)
-
-pkg_check_modules(PC_SQLITE3 sqlite3)
-
-find_path(SQLITE3_INCLUDE_DIR sqlite3.h HINTS ${PC_SQLITE3_INCLUDE_DIRS})
-find_library(SQLITE3_LIBRARY NAMES sqlite3 HINTS ${PC_SQLITE3_LIBRARY_DIRS} )
-
-set(SQLITE3_LIBRARIES "${SQLITE3_LIBRARY}" )
-set(SQLITE3_INCLUDE_DIRS "${SQLITE3_INCLUDE_DIR}" )
-
-include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(SQLITE3 DEFAULT_MSG SQLITE3_LIBRARY SQLITE3_INCLUDE_DIR )
-
-mark_as_advanced(SQLITE3_INCLUDE_DIR SQLITE3_LIBRARY )


We don't change CMAKE_REQUIRED_DEFINITIONS => not necessary to reset it

svn path=/branches/work/kdab-post-4.0/kdepim/; revision=711698

--- kleopatra/ConfigureChecks.cmake
+++ kleopatra/ConfigureChecks.cmake
@@ -89,4 +89,3 @@

 set(CMAKE_REQUIRED_INCLUDES)
 set(CMAKE_REQUIRED_LIBRARIES)
-set(CMAKE_REQUIRED_DEFINITIONS)


ENH: Update elastix to https://github.com/SuperElastix/elastix/commit/5b554d4063888c44c27089d6d5836a89b23988f3 which fixes https://github.com/SuperElastix/elastix/issues/8 (Project should be defined in the top-level CMakeLists.txt) and thereby removed "elastix/src".

--- SuperBuild/ExternalElastix.cmake
+++ SuperBuild/ExternalElastix.cmake
@@ -20,7 +20,7 @@
 set( proj Elastix )

 set( ELASTIX_GIT_REPOSITORY https://github.com/SuperElastix/elastix )
-set( ELASTIX_GIT_TAG 522843d90ff586be051c480514cd14a88db45dbf )
+set( ELASTIX_GIT_TAG 5b554d4063888c44c27089d6d5836a89b23988f3 )

 ExternalProject_Add( ${proj}
   GIT_REPOSITORY ${ELASTIX_GIT_REPOSITORY}
@@ -116,6 +116,6 @@
 )

 ExternalProject_Get_Property( Elastix binary_dir )
-set( ELASTIX_USE_FILE "${binary_dir}/src/UseElastix.cmake" )
+set( ELASTIX_USE_FILE "${binary_dir}/UseElastix.cmake" )

 list( APPEND SUPERELASTIX_DEPENDENCIES ${proj} )


Fix grep command in CommonFunctions

Fix grep command in CommonFunctions

Fix the data being sent to the grep command which looks for the line
number where an XINDEX error occurs.

The argv value wasn't incremented to account for the IGNORE_EXCEPTIONS
addition, thus the path to the file was not being generated correctly.

OSEHRA-Id: http://issues.osehra.org/browse/OAT-165
Change-Id: I7e676c12613d0af469f4990fbd730fed8520810b

--- CMake/CommonFunctions.cmake
+++ CMake/CommonFunctions.cmake
@@ -51,7 +51,7 @@
             string(REGEX MATCH "\\+[0-9]+" position ${line})
             string(STRIP ${tag} tag)
             execute_process(COMMAND ${GREP_EXEC} -n -h ^${tag}
-                            "${ARGV6}/Packages/${PACKAGE_NAME}/Routines/${routine_name}.m"
+                            "${ARGV7}/Packages/${PACKAGE_NAME}/Routines/${routine_name}.m"
                             OUTPUT_VARIABLE linematch)
             if(linematch)


boards: px4/fmu-v5x disable optional external IMU drivers

--- boards/px4/fmu-v5x/default.cmake
+++ boards/px4/fmu-v5x/default.cmake
@@ -31,8 +31,6 @@
 		#heater
 		#imu # all available imu drivers
 		imu/analog_devices/adis16448
-		imu/adis16477
-		imu/adis16497
 		imu/bosch/bmi088
 		imu/invensense/icm20602
 		imu/invensense/icm42688p


COMP: in vtkWrapHierarchy.cmake, only use custom target for devenv

Using a custom target for each hierarchy file appears to work well
for devenv builds, due to the way that devenv handles project-level
dependencies.  The cost is that vtkWrapHierarchy must parse all the
header files whenever devenv runs, in order to to check to see if
anything has changed, but this seems to go very quickly.

--- CMake/vtkWrapHierarchy.cmake
+++ CMake/vtkWrapHierarchy.cmake
@@ -96,6 +96,7 @@

   # search through the libs to find kits we depend on
   SET(OTHER_HIERARCHY_FILES)
+  SET(OTHER_HIERARCHY_TARGETS)
   FOREACH (TMP_LIB ${TMP_KIT_DEPENDS})
     STRING(REGEX REPLACE "vtk(.*)" "\\1" TMP_KIT "${TMP_LIB}")
     IF(NOT "${TMP_KIT}" STREQUAL "${KIT}")
@@ -105,34 +106,36 @@
         IF("${TMP_KIT_UPPER}" STREQUAL "${TMP_KIT_CHECK_UPPER}")
           SET(OTHER_HIERARCHY_FILES ${OTHER_HIERARCHY_FILES}
             "${quote}${VTK_BINARY_DIR}/${TMP_KIT}/vtk${TMP_KIT}Hierarchy.txt${quote}")
+          SET(OTHER_HIERARCHY_TARGETS ${OTHER_HIERARCHY_TARGETS}
+            vtk${TMP_KIT}Hierarchy)
         ENDIF("${TMP_KIT_UPPER}" STREQUAL "${TMP_KIT_CHECK_UPPER}")
       ENDFOREACH (TMP_KIT_CHECK ${VTK_KITS})
     ENDIF(NOT "${TMP_KIT}" STREQUAL "${KIT}")
   ENDFOREACH (TMP_LIB ${TMP_KIT_DEPENDS})

-  # Build the hierarchy file when the kit library is built, this
-  # ensures that the file is built when kits in other libraries
-  # need it (i.e. they depend on this kits library, but if this
-  # kits library is built, then the hierarchy file is also built).
-  ADD_CUSTOM_COMMAND(
-    TARGET vtk${KIT} POST_BUILD
+  IF(NOT CMAKE_GENERATOR MATCHES "Visual Studio.*")
+    # Build the hierarchy file when the kit library is built, this
+    # ensures that the file is built when kits in other libraries
+    # need it (i.e. they depend on this kits library, but if this
+    # kits library is built, then the hierarchy file is also built).
+    ADD_CUSTOM_COMMAND(
+      TARGET vtk${KIT} POST_BUILD

-    COMMAND ${VTK_WRAP_HIERARCHY_EXE}
-    "-o" "${quote}${OUTPUT_DIR}/vtk${KIT}Hierarchy.txt${quote}"
-    "${quote}${OUTPUT_DIR}/${TARGET}.data${quote}"
-    ${OTHER_HIERARCHY_FILES}
+      COMMAND ${VTK_WRAP_HIERARCHY_EXE}
+      "-o" "${quote}${OUTPUT_DIR}/vtk${KIT}Hierarchy.txt${quote}"
+      "${quote}${OUTPUT_DIR}/${TARGET}.data${quote}"
+      ${OTHER_HIERARCHY_FILES}

-    COMMAND ${CMAKE_COMMAND}
-    "-E" "touch" "${quote}${OUTPUT_DIR}/${TARGET}.target${quote}"
+      COMMAND ${CMAKE_COMMAND}
+      "-E" "touch" "${quote}${OUTPUT_DIR}/${TARGET}.target${quote}"

-    COMMENT "Hierarchy Wrapping - generating vtk${KIT}Hierarchy.txt"
-    ${verbatim}
-    )
+      COMMENT "Hierarchy Wrapping - checking vtk${KIT}Hierarchy.txt"
+      ${verbatim}
+      )

-  # Force the above custom command to execute if hierarchy tool changes
-  ADD_DEPENDENCIES(vtk${KIT} vtkWrapHierarchy)
+    # Force the above custom command to execute if hierarchy tool changes
+    ADD_DEPENDENCIES(vtk${KIT} vtkWrapHierarchy)

-  IF(NOT CMAKE_GENERATOR MATCHES "Visual Studio.*")
     # Add a custom-command for when the hierarchy file is needed
     # within its own kit.  A dummy target is needed because the
     # vtkWrapHierarchy tool only changes the timestamp on the
@@ -150,9 +153,28 @@
       "${quote}${OUTPUT_DIR}/${TARGET}.data${quote}"
       ${OTHER_HIERARCHY_FILES}

-      COMMENT "Hierarchy Wrapping - generating vtk${KIT}Hierarchy.txt"
+      COMMENT "Hierarchy Wrapping - checking vtk${KIT}Hierarchy.txt"
       ${verbatim}
       )
+  ELSE(NOT CMAKE_GENERATOR MATCHES "Visual Studio.*")
+    # On Visual Studio builds, the target-timestamp trick does not work,
+    # so re-parse the header files every time and create the hierarchy
+    # file if the VTK hierarchy has changed.
+    ADD_CUSTOM_TARGET(
+      ${TARGET} ALL
+      DEPENDS ${VTK_WRAP_HIERARCHY_EXE} ${OUTPUT_DIR}/${TARGET}.data
+      COMMAND ${VTK_WRAP_HIERARCHY_EXE}
+      "-o" "${quote}${OUTPUT_DIR}/vtk${KIT}Hierarchy.txt${quote}"
+      "${quote}${OUTPUT_DIR}/${TARGET}.data${quote}"
+      ${OTHER_HIERARCHY_FILES}
+
+      COMMENT "Hierarchy Wrapping - checking vtk${KIT}Hierarchy.txt"
+      ${verbatim}
+      SOURCES ${SOURCES}
+      )
+    # Set target-level dependencies to build in the correct order
+    ADD_DEPENDENCIES(${TARGET} vtkWrapHierarchy ${OTHER_HIERARCHY_TARGETS})
+    ADD_DEPENDENCIES(vtk${KIT} ${TARGET})
   ENDIF(NOT CMAKE_GENERATOR MATCHES "Visual Studio.*")

 ENDMACRO(VTK_WRAP_HIERARCHY)


Windows: Disabled permissive building.

Windows: Disabled permissive building.

This flag enables warnings for non-standards conformant code.

https://blogs.msdn.microsoft.com/vcblog/2016/11/16/permissive-switch/

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

--- cmake/CompilationConfigure.cmake
+++ cmake/CompilationConfigure.cmake
@@ -231,7 +231,7 @@

   # COFF/PE and friends are somewhat limited in the number of sections they
   # allow for an object file. We use this to avoid those problems.
-  string(APPEND CMAKE_CXX_FLAGS " /bigobj -DGOOGLE_GLOG_DLL_DECL= /vd2")
+  string(APPEND CMAKE_CXX_FLAGS " /bigobj -DGOOGLE_GLOG_DLL_DECL= /vd2 /permissive-")

   # Build against the multi-threaded version of the C runtime library (CRT).
   if (BUILD_SHARED_LIBS)


by default link librt

by default link librt

--- cmake/vSMCExampleFunctions.cmake
+++ cmake/vSMCExampleFunctions.cmake
@@ -36,6 +36,10 @@
         TARGET_LINK_LIBRARIES (${exe} ${VSMC_LINK_LIBRARIES})
     ENDIF (DEFINED VSMC_LINK_LIBRARIES)

+    IF (LINUX_LIBRT)
+        TARGET_LINK_LIBRARIES (${exe} ${LINUX_LIBRT})
+    ENDIF (LINUX_LIBRT)
+
     GET_TARGET_PROPERTY (compile_flags ${exe} COMPILE_FLAGS)
     IF (NOT compile_flags)
         UNSET (compile_flags)
@@ -62,10 +66,6 @@
         IF (${arg} STREQUAL "MKL" AND MKL_FOUND)
             TARGET_LINK_LIBRARIES (${exe} ${MKL_LINK_LIBRARIES})
         ENDIF (${arg} STREQUAL "MKL" AND MKL_FOUND)
-
-        IF (${arg} STREQUAL "RT" AND LINUX_LIBRT)
-            TARGET_LINK_LIBRARIES (${exe} ${LINUX_LIBRT})
-        ENDIF (${arg} STREQUAL "RT" AND LINUX_LIBRT)

         IF (${arg} STREQUAL "U01" AND TESTU01_FOUND)
             TARGET_LINK_LIBRARIES (${exe} ${TestU01_LINK_LIBRARIES})


Now compiles gengetopt also if the path to the gengetopt binary is empty

--- cmake/FindGengetopt.cmake
+++ cmake/FindGengetopt.cmake
@@ -1,13 +1,14 @@

 # Attempt to find gengetopt. If not found, compile it.
 FIND_PROGRAM(GENGETOPT gengetopt)
-IF (GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")
+IF ((GENGETOPT STREQUAL "GENGETOPT-NOTFOUND") OR (GENGETOPT STREQUAL ""))
+DD(GENGETOPT)
   GET_FILENAME_COMPONENT(CLITK_CMAKE_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
   ADD_SUBDIRECTORY(${CLITK_CMAKE_DIR}/../utilities/gengetopt ${CMAKE_CURRENT_BINARY_DIR}/gengetopt)
-ELSE(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")
+ELSE()
   ADD_EXECUTABLE(gengetopt IMPORTED)
   SET_PROPERTY(TARGET gengetopt PROPERTY IMPORTED_LOCATION ${GENGETOPT})
-ENDIF(GENGETOPT STREQUAL "GENGETOPT-NOTFOUND")
+ENDIF()

 MACRO (WRAP_GGO GGO_SRCS)
   FOREACH(GGO_FILE ${ARGN})


Enable DPI awareness

Enable DPI awareness

--- cmake/HalleyProject.cmake
+++ cmake/HalleyProject.cmake
@@ -519,6 +519,8 @@
 		target_link_libraries(${name}-dll ${name}-game ${LINK_LIBRARIES})
 	endif()

+	set_property(TARGET ${name} PROPERTY VS_DPI_AWARE "PerMonitor")
+
 	if (NOT ${CMAKE_SYSTEM_NAME} MATCHES "WindowsStore")
 		set_target_properties(${name} PROPERTIES DEBUG_POSTFIX ${CMAKE_DEBUG_POSTFIX})
 		if (TARGET ${name}-game)


Cleanup

Cleanup

--- cmake/PlatformMacOS.cmake
+++ cmake/PlatformMacOS.cmake
@@ -19,13 +19,8 @@
     # type (cf. http://www.cmake.org/pipermail/cmake/2006-December/012288.html)
     # Therefore, we re-define the CMAKE_CONFIGURATION_TYPES here according to the value
     # in CMAKE_BUILD_TYPES.
-    if (${CMAKE_BUILD_TYPE} STREQUAL "Release")
-	set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
-	message(STATUS ">> Re-defining as follows: CMAKE_CONFIGURATION_TYPES = ${CMAKE_CONFIGURATION_TYPES}")
-    else ()
-	set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
-	message(STATUS ">> Re-defining as follows: CMAKE_CONFIGURATION_TYPES = ${CMAKE_CONFIGURATION_TYPES}")
-    endif()
+    set(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE})
+    message(STATUS ">> Re-defining as follows: CMAKE_CONFIGURATION_TYPES = ${CMAKE_CONFIGURATION_TYPES}")

 endif()


only enable AVX512 ISA code when explicitly enabled (omitted w/ 'ALL')

--- cmake/ospray_macros.cmake
+++ cmake/ospray_macros.cmake
@@ -30,17 +30,17 @@

 ## Macro check for compiler support of ISA ##
 MACRO(OSPRAY_CHECK_COMPILER_SUPPORT ISA)
-  IF (${ISA} STREQUAL "AVX512" AND (NOT OSPRAY_COMPILER_ICC OR WIN32 OR APPLE))
+  IF (${ISA} STREQUAL "AVX512" AND (WIN32 OR APPLE))
     OSPRAY_WARN_ONCE(MISSING_AVX512
-                     "OSPRay Currently requires ICC on Linux for KNL support. "
+                     "OSPRay only supports KNL on Linux. "
                      "Disabling KNL ISA target.")
     SET(OSPRAY_EMBREE_ENABLE_${ISA} false)
   ELSEIF (OSPRAY_EMBREE_ENABLE_${ISA} AND NOT OSPRAY_COMPILER_SUPPORTS_${ISA})
     OSPRAY_WARN_ONCE(MISSING_${ISA}
                      "Need at least version ${GCC_VERSION_REQUIRED_${ISA}} of "
-                     "gcc for ${ISA}. Disabling ${ISA}.\nTo compile for "
+                     "GCC for ${ISA}. Disabling ${ISA}.\nTo compile for "
                      "${ISA}, please switch to either 'ICC'-compiler, or "
-                     "upgrade your gcc version.")
+                     "upgrade your GCC version.")
     SET(OSPRAY_EMBREE_ENABLE_${ISA} false)
   ENDIF()
 ENDMACRO()
@@ -49,21 +49,25 @@
 MACRO(OSPRAY_CONFIGURE_ISPC_ISA)

   OSPRAY_CONFIGURE_COMPILER()
+
+  # the arch we're targeting for the non-MIC/non-xeon phi part of ospray
+  SET(OSPRAY_BUILD_ISA "ALL" CACHE STRING
+      "Target ISA (SSE, AVX, AVX2, AVX512, or ALL). NOTE: 'All' omits AVX512")
+  STRING(TOUPPER ${OSPRAY_BUILD_ISA} OSPRAY_BUILD_ISA)

   SET(OSPRAY_EMBREE_ENABLE_SSE    true)
   SET(OSPRAY_EMBREE_ENABLE_AVX    true)
   SET(OSPRAY_EMBREE_ENABLE_AVX2   true)
-  SET(OSPRAY_EMBREE_ENABLE_AVX512 true)
+  IF(${OSPRAY_BUILD_ISA} STREQUAL "AVX512")
+    SET(OSPRAY_EMBREE_ENABLE_AVX512 true)
+  ELSE()
+    SET(OSPRAY_EMBREE_ENABLE_AVX512 false)
+  ENDIF()

   OSPRAY_CHECK_COMPILER_SUPPORT(AVX)
   OSPRAY_CHECK_COMPILER_SUPPORT(AVX2)
   OSPRAY_CHECK_COMPILER_SUPPORT(AVX512)

-  # the arch we're targeting for the non-MIC/non-xeon phi part of ospray
-  SET(OSPRAY_BUILD_ISA "ALL" CACHE STRING
-      "Target ISA (SSE, AVX, AVX2, AVX512, or ALL)")
-  STRING(TOUPPER ${OSPRAY_BUILD_ISA} OSPRAY_BUILD_ISA)
-
   UNSET(OSPRAY_SUPPORTED_ISAS)

   IF(OSPRAY_EMBREE_ENABLE_SSE)
@@ -85,6 +89,7 @@
   UNSET(OSPRAY_ISPC_TARGET_LIST)

   IF (OSPRAY_BUILD_ISA STREQUAL "ALL")
+
     IF(OSPRAY_EMBREE_ENABLE_SSE)
       SET(OSPRAY_ISPC_TARGET_LIST ${OSPRAY_ISPC_TARGET_LIST} sse4)
     ENDIF()
@@ -93,9 +98,6 @@
     ENDIF()
     IF(OSPRAY_EMBREE_ENABLE_AVX2)
       SET(OSPRAY_ISPC_TARGET_LIST ${OSPRAY_ISPC_TARGET_LIST} avx2)
-    ENDIF()
-    IF(OSPRAY_EMBREE_ENABLE_AVX512)
-      SET(OSPRAY_ISPC_TARGET_LIST ${OSPRAY_ISPC_TARGET_LIST} avx512knl-i32x16)
     ENDIF()

   ELSEIF (OSPRAY_BUILD_ISA STREQUAL "AVX512")


build: fix Coin 3d documentation discovering

* coin3d 4.0.0 default location is /usr/share/doc/Coin/html/
* misuses of find_files() if several candidates for filename
* export variable COIN3D_DOC_FOUND that is used by cMake/FreeCAD_Helpers/PrintFinalReport.cmake

--- cMake/FindCoin3DDoc.cmake
+++ cMake/FindCoin3DDoc.cmake
@@ -23,18 +23,19 @@
       find_path(COIN3D_DOC_PATH index.html
                 /usr/share/doc/libcoin80-doc/html
                 /usr/share/doc/coin/html
+                /usr/share/doc/Coin/html
       )
       IF( EXISTS ${COIN3D_DOC_PATH})
         message(STATUS "Coin3D doc is installed")
-        find_file(COIN3D_DOC_TAGFILE coin.tag Coin.tag
-            ${COIN3D_DOC_PATH}
+        find_file(COIN3D_DOC_TAGFILE NAMES coin.tag Coin.tag
+            PATHS ${COIN3D_DOC_PATH}
         )
         IF( EXISTS ${COIN3D_DOC_TAGFILE})
           SET( COIN3D_DOC_FOUND "YES"
           )
         ELSE( EXISTS ${COIN3D_DOC_TAGFILE})
-          find_file(COIN3D_DOC_TAGFILE_GZ coin.tag.gz Coin.tag.gz
-              ${COIN3D_DOC_PATH}
+          find_file(COIN3D_DOC_TAGFILE_GZ NAMES coin.tag.gz Coin.tag.gz
+              PATHS ${COIN3D_DOC_PATH}
           )
           IF( EXISTS ${COIN3D_DOC_TAGFILE_GZ})
             message(STATUS "  Found ${COIN3D_DOC_TAGFILE_GZ}")
@@ -85,4 +86,5 @@
   message(STATUS "  Location: ${COIN3D_DOC_PATH}")
 endif(COIN3D_DOC_FOUND)

-
+# export for others
+SET( COIN3D_DOC_FOUND "${COIN3D_DOC_FOUND}" CACHE BOOL "Coin3d documentation available")


cmake: bfd linking fix

cmake: bfd linking fix

--- CMakeOlxCommon.cmake
+++ CMakeOlxCommon.cmake
@@ -302,7 +302,7 @@

 IF(HASBFD)
 	ADD_DEFINITIONS("-DHASBFD")
-	SET(LIBS ${LIBS} bfd)
+	SET(LIBS ${LIBS} bfd opcodes iberty)
 ENDIF(HASBFD)


updated eigen version

updated eigen version

--- cmake/ExternalEigen.cmake
+++ cmake/ExternalEigen.cmake
@@ -7,7 +7,7 @@
         BINARY_DIR ${FAST_EXTERNAL_BUILD_DIR}/eigen
         #GIT_REPOSITORY "https://github.com/RLovelett/eigen.git"
         #GIT_TAG "a46d2e7337c4656f00abe54a8115f6d76153a048"
-        URL "https://bitbucket.org/eigen/eigen/get/f3a22f35b044.tar.gz"
+        URL "https://bitbucket.org/eigen/eigen/get/b4890dc.tar.gz"
         INSTALL_DIR ${FAST_EXTERNAL_INSTALL_DIR}
         CMAKE_CACHE_ARGS
             -DCMAKE_BUILD_TYPE:STRING=Release
@@ -18,4 +18,4 @@
 )

 list(APPEND FAST_INCLUDE_DIRS ${FAST_EXTERNAL_INSTALL_DIR}/include/eigen3/)
-list(APPEND FAST_EXTERNAL_DEPENDENCIES eigen)+list(APPEND FAST_EXTERNAL_DEPENDENCIES eigen)


STYLE: Do not use spaces before brackets in FindOpenSlide.cmake.

--- cmake/FindOpenSlide.cmake
+++ cmake/FindOpenSlide.cmake
@@ -8,20 +8,20 @@
 #   OPENSLIDE_LIBRARIES     - link to these to use OpenSlide

 # Look for the header.
-find_path( OPENSLIDE_INCLUDE_DIR NAMES openslide.h )
-mark_as_advanced( OPENSLIDE_INCLUDE_DIR )
+find_path(OPENSLIDE_INCLUDE_DIR NAMES openslide.h)
+mark_as_advanced(OPENSLIDE_INCLUDE_DIR)

 # Look for the library.
-find_library( OPENSLIDE_LIBRARY NAMES openslide )
-mark_as_advanced( OPENSLIDE_LIBRARY )
+find_library(OPENSLIDE_LIBRARY NAMES openslide)
+mark_as_advanced(OPENSLIDE_LIBRARY)

 # Handle the QUIETLY and REQUIRED arguments and set OPENSLIDE_FOUND true if all
 # the listed variables are TRUE.

-find_package( PackageHandleStandardArgs )
-FIND_PACKAGE_HANDLE_STANDARD_ARGS( OPENSLIDE DEFAULT_MSG OPENSLIDE_LIBRARY OPENSLIDE_INCLUDE_DIR )
+find_package(PackageHandleStandardArgs)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(OPENSLIDE DEFAULT_MSG OPENSLIDE_LIBRARY OPENSLIDE_INCLUDE_DIR)

-if( OPENSLIDE_FOUND )
-  set( OPENSLIDE_LIBRARIES ${OPENSLIDE_LIBRARY} )
-  set( OPENSLIDE_INCLUDE_DIRS ${OPENSLIDE_INCLUDE_DIR} )
+if(OPENSLIDE_FOUND)
+  set(OPENSLIDE_LIBRARIES ${OPENSLIDE_LIBRARY})
+  set(OPENSLIDE_INCLUDE_DIRS ${OPENSLIDE_INCLUDE_DIR})
 endif()


Disable metal renderer until I have time to fix it

--- cmake/HalleyProject.cmake
+++ cmake/HalleyProject.cmake
@@ -152,7 +152,7 @@

 if (APPLE)
 	set(USE_AVFOUNDATION 1)
-	set(USE_METAL 1)
+	set(USE_METAL 0)
 	set(USE_ASIO 1)
 endif ()


[CMake] Remove legacy LIBOMP_LIT_ARGS

[CMake] Remove legacy LIBOMP_LIT_ARGS

The bots have been updated, this option isn't needed anymore.

git-svn-id: f99161ee8ccfe2101cbe1bdda2220bce2ed25485@320153 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/OpenMPTesting.cmake
+++ cmake/OpenMPTesting.cmake
@@ -50,10 +50,6 @@
   set(DEFAULT_LIT_ARGS "-sv --show-unsupported --show-xfail")
   if (MSVC OR XCODE)
     set(DEFAULT_LIT_ARGS "${DEFAULT_LIT_ARGS} --no-progress-bar")
-  endif()
-  # TODO: Remove once bots are updated to use the new option.
-  if (DEFINED LIBOMP_LIT_ARGS)
-    set(DEFAULT_LIT_ARGS ${LIBOMP_LIT_ARGS})
   endif()
   set(OPENMP_LIT_ARGS "${DEFAULT_LIT_ARGS}" CACHE STRING "Options for lit.")
   separate_arguments(OPENMP_LIT_ARGS)


Removed unnecessary use of LD_LIBRARY_PATH

--- cmake/ThirdPartyVTK.cmake
+++ cmake/ThirdPartyVTK.cmake
@@ -35,7 +35,5 @@
     INCLUDE (${VTK_USE_FILE})
     MARK_AS_ADVANCED(VTK_DIR)
     ADD_DEFINITIONS(-DNEKTAR_USING_VTK)
-    INCLUDE_DIRECTORIES(${VTK_INCLUDE_DIRS})
-    LINK_DIRECTORIES(${VTK_LIBRARY_DIRS} $ENV{LD_LIBRARY_PATH})
 ENDIF( NEKTAR_USE_VTK )


Add option to define the C++ standard on the CMake command line

--- cmake/compile_flags.cmake
+++ cmake/compile_flags.cmake
@@ -71,7 +71,25 @@
 #
 # - target_name Name of the configured target.
 function(set_cpp_standard target_name)
-    set_property(TARGET ${target_name} PROPERTY CXX_STANDARD 14)
+    get_property(cpp_standard GLOBAL PROPERTY cpp_standard)
+
+    if(NOT CPP_STANDARD AND NOT cpp_standard)
+        set(cpp_standard 14)
+        message(STATUS "You can set the C++ standard by defining CPP_STANDARD")
+    elseif(NOT cpp_standard)
+        set(cpp_standard ${CPP_STANDARD})
+    endif()
+    set_property(GLOBAL PROPERTY cpp_standard ${cpp_standard})
+
+    get_property(cpp_standard_message_printed
+        GLOBAL
+        PROPERTY cpp_standard_message_printed)
+    if(NOT cpp_standard_message_printed)
+        message(STATUS "Using the C++${cpp_standard} standard")
+        set_property(GLOBAL PROPERTY cpp_standard_message_printed TRUE)
+    endif()
+
+    set_property(TARGET ${target_name} PROPERTY CXX_STANDARD ${cxx_standard})
     set_property(TARGET ${target_name} PROPERTY CXX_STANDARD_REQUIRED on)
 endfunction(set_cpp_standard)


Fix for ROOT-9180 - If R components Rcpp and RInside are missing the 'r' option should be disabled

--- cmake/modules/FindR.cmake
+++ cmake/modules/FindR.cmake
@@ -37,8 +37,12 @@
 foreach(_cpt ${R_FIND_COMPONENTS})
   execute_process(COMMAND echo "cat(find.package('${_cpt}'))"
                   COMMAND ${R_EXECUTABLE} --vanilla --slave
+                  RESULT_VARIABLE _rc
                   OUTPUT_VARIABLE _cpt_path
                   OUTPUT_STRIP_TRAILING_WHITESPACE)
+  if(NOT _rc)
+    set(R_${_cpt}_FOUND 1)
+  endif()

   find_library(R_${_cpt}_LIBRARY
                lib${_cpt}.so lib${_cpt}.dylib
@@ -54,13 +58,10 @@
     list(APPEND R_INCLUDE_DIRS ${R_${_cpt}_INCLUDE_DIR})
   endif()

-  if(R_${_cpt}_INCLUDE_DIR AND R_${_cpt}_LIBRARY)
-    list(REMOVE_ITEM R_FIND_COMPONENTS ${_cpt})
-  endif()
 endforeach()

 # Handle the QUIETLY and REQUIRED arguments and set R_FOUND to TRUE if all listed variables are TRUE
 include(FindPackageHandleStandardArgs)
-find_package_handle_standard_args(R DEFAULT_MSG R_EXECUTABLE R_INCLUDE_DIR R_LIBRARY)
+find_package_handle_standard_args(R HANDLE_COMPONENTS REQUIRED_VARS R_EXECUTABLE R_INCLUDE_DIR R_LIBRARY)
 mark_as_advanced(R_FOUND R_EXECUTABLE R_INCLUDE_DIR R_LIBRARY)


Add documentation for sprokit_output_dir

--- conf/sprokit-macro-targets.cmake
+++ conf/sprokit-macro-targets.cmake
@@ -39,6 +39,9 @@
 #     If set, the target will not be installed under this component (the
 #     default is 'runtime').
 #
+#   sprokit_output_dir
+#     The base directory to output all targets into.
+#
 # Their syntax is:
 #
 #   sprokit_export_targets(file [APPEND])


BUG: Removing boolean option for FFTW_INCLUDE_PATH. The FIND_PATH line
     should take care of finding the include path for fftw.
     Pointed out by Simon Warfield on the developers list:

     http://public.kitware.com/pipermail/insight-users/2006-July/018751.html

--- CMake/FindFFTW.cmake
+++ CMake/FindFFTW.cmake
@@ -10,9 +10,6 @@
 ## OPTION(USE_FFTWF "Use single precision FFTW if found" ON)

 IF(USE_FFTWD OR USE_FFTWF)
-
-  MARK_AS_ADVANCED(FFTW_INCLUDE_PATH)
-  OPTION(FFTW_INCLUDE_PATH "The base path of the directory that includes fftw3.h" )

   SET(FFTW_INC_SEARCHPATH
     /sw/include


Set version and commit that contains the fix for ninja.

--- CMakeExternals.cmake
+++ CMakeExternals.cmake
@@ -11,7 +11,7 @@
       return()
     endif()

-    set(ZMQ_VER "4_3_2")
+    set(ZMQ_VER "4_3_3")
     string(REPLACE "_" "." ZMQ_TAG "v${ZMQ_VER}")
     if(MSVC_IDE)
       set(MSVC_TOOLSET "-${CMAKE_VS_PLATFORM_TOOLSET}")
@@ -33,7 +33,8 @@

     add_external_project(libzmq_ext
       GIT_REPOSITORY https://github.com/zeromq/libzmq.git
-      GIT_TAG ${ZMQ_TAG}
+	  GIT_TAG 56ace6d03f521b9abb5a50176ec7763c1b77afa9 # We need https://github.com/zeromq/libzmq/pull/3636
+      #GIT_TAG ${ZMQ_TAG}
       BUILD_BYPRODUCTS "<INSTALL_DIR>/${ZMQ_IMPORT_DEBUG}" "<INSTALL_DIR>/${ZMQ_IMPORT_RELEASE}"
       CMAKE_ARGS
         -DZMQ_BUILD_TESTS=OFF


Fixing unit test location.

Fixing unit test location.

--- CommonCPPCTest.cmake
+++ CommonCPPCTest.cmake
@@ -17,7 +17,7 @@
 #   ${NAME}_TEST_LABEL specifies an additional label.

 if(NOT WIN32) # tests want to be with DLLs on Windows - no rpath
-  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR})
+  set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
 endif()

 include_directories(${CMAKE_CURRENT_LIST_DIR}/cpp ${PROJECT_SOURCE_DIR})
@@ -86,7 +86,7 @@
 else()
   add_custom_target(run_cpp_tests
     COMMAND ${CMAKE_CTEST_COMMAND} \${ARGS} DEPENDS ${ALL_CPP_TESTS}
-    WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
     COMMENT "Running all cpp unit tests")
   if(COVERAGE)
     add_dependencies(run_cpp_tests lcov-clean)


Reduce install verbosity with cmake 3.1+

--- Common.cmake
+++ Common.cmake
@@ -51,6 +51,7 @@
 set(CMAKE_C_FLAGS_RELWITHDEBINFO "${CMAKE_C_FLAGS_RELWITHDEBINFO} -DNDEBUG")
 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} -DNDEBUG")
 set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
+set(CMAKE_INSTALL_MESSAGE LAZY) # no up-to-date messages on installation

 set(VERSION ${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_PATCH})
 string(TOUPPER ${PROJECT_NAME} UPPER_PROJECT_NAME)


Remove try_compile output (was added just for debugging).

--- CMake/FindWDK.cmake
+++ CMake/FindWDK.cmake
@@ -22,9 +22,9 @@
 		${CMAKE_SOURCE_DIR}/CMake/tryCompileWdk  tryCompileWdk
 		OUTPUT_VARIABLE dbg_tryCompileWdk
 	)
-	message("OUT:${dbg_tryCompileWdk}")
+	#message("OUT:${dbg_tryCompileWdk}")
 endif(NOT DEFINED WDK_CAN_BUILD_DIRECTLY)
-
+
 if(WDK_CAN_BUILD_DIRECTLY)
 	# No include directory is needed.  Set it to . for convenience in other files.
 	set(WDK_INCLUDE_DIR . CACHE PATH "Include directory for the WDK.")


fixed cmake warning during configure when using updated VS2017 (compiler name not found) (#140)

--- CMake/utility.cmake
+++ CMake/utility.cmake
@@ -471,7 +471,7 @@
     set(COMPILER_NAME "vs2013")
   elseif(MSVC_VERSION EQUAL 1900)
     set(COMPILER_NAME "vs2015")
-  elseif(MSVC_VERSION EQUAL 1910 OR MSVC_VERSION EQUAL 1912)
+  elseif((MSVC_VERSION EQUAL 1910 OR MSVC_VERSION GREATER 1910) AND (MSVC_VERSION EQUAL 1919 OR MSVC_VERSION LESS 1919))
     set(COMPILER_NAME "vs2017")
   elseif(CMAKE_COMPILER_IS_GNUCXX)
     set(COMPILER_NAME "gcc")


updates to test.cmake

updates to test.cmake

--- scripts/test.cmake
+++ scripts/test.cmake
@@ -134,6 +134,10 @@
 ctest_configure()
 ctest_build()
 IF (EMBREE_TESTING_INTENSITY GREATER 0)
-  ctest_test()
+  ctest_test(RETURN_VALUE retval)
+  message("test.cmake: ctest_test return value = ${retval}")
+  IF (NOT retval EQUAL 0)
+    message(FATAL_ERROR "test.cmake: some tests failed")
+  ENDIF()
 ENDIF()
 #ctest_submit()


Revert "Made glob-expression for finding removeable folders prettier"

This reverts commit f7db6e5183837db1dec97ae8ab2e8b9df8707ef2.

--- src/cmake/boost-download.cmake
+++ src/cmake/boost-download.cmake
@@ -109,8 +109,12 @@

     file(GLOB NON_SOURCE_DIRS
         ABSOLUTE "${args_BOOST_DIR}/"
-            "${args_BOOST_DIR}/libs/*/{doc,test,example}/"
-            "${args_BOOST_DIR}/tools/*/{doc,test,example}/"
+            "${args_BOOST_DIR}/libs/*/doc/"
+            "${args_BOOST_DIR}/libs/*/example/"
+            "${args_BOOST_DIR}/libs/*/test/"
+            "${args_BOOST_DIR}/tools/*/doc/"
+            "${args_BOOST_DIR}/tools/*/example/"
+            "${args_BOOST_DIR}/tools/*/test/"
     )

     foreach(DIR ${NON_SOURCE_DIRS})