cleaner cmake configuration for adding MATIO as dependency

--- cmake/DetectMATIO.cmake
+++ cmake/DetectMATIO.cmake
@@ -10,42 +10,53 @@
 # ----------------------------------------------------------------------------
 # Force the user to tell us which MATIO they want

-set(MATIO_FOUND FALSE)
+set(MATIO_FOUND TRUE)

-if(DEFINED MATIO_DIR)
+file(TO_CMAKE_PATH ${MATIO_DIR}/lib MATIO_TMP_LIB_DIR)

-    if(IS_DIRECTORY ${MATIO_DIR})
+status("MATIO_DIR:${MATIO_DIR}")
+status("MATIO_TMP_LIB_DIR:${MATIO_TMP_LIB_DIR}")

-        if(IS_DIRECTORY ${MATIO_DIR}/include AND IS_DIRECTORY ${MATIO_DIR}/lib)
+find_library(MATIO_LIBS
+             NAMES libmatio.a matio
+             HINTS ${PC_MATIO_LIBDIR} ${PC_MATIO_LIBRARY_DIRS}
+             PATHS ${MATIO_DIR} ${MATIO_TMP_LIB_DIR}
+             DOC "find MATIO library")

-            file(TO_CMAKE_PATH ${MATIO_DIR}/include MATIO_INCLUDE_DIRS)
-            list(APPEND ${ROOT_PROJECT}_INCLUDE_DIRS ${MATIO_INCLUDE_DIRS})
+if(${MATIO_LIBS} STREQUAL MATIO_LIBS-NOTFOUND)
+    message(SEND_ERROR "Failed to find MATIO library.")
+    set(MATIO_FOUND FALSE)
+endif()

-            set(MATIO_LIBS matio)
-            list(APPEND ${ROOT_PROJECT}_LIBS ${MATIO_LIBS})
+file(TO_CMAKE_PATH ${MATIO_DIR}/include MATIO_TMP_INCLUDE_DIR)

-            file(TO_CMAKE_PATH ${MATIO_DIR}/lib MATIO_LIBRARY_DIR)
-            LINK_DIRECTORIES(${MATIO_LIBRARY_DIR})
+find_path(MATIO_INCLUDE_DIR matio.h
+          HINTS ${MATIO_TMP_INCLUDE_DIR} ${PC_MATIO_INCLUDEDIR} ${PC_MATIO_INCLUDE_DIRS}
+          PATH_SUFFIXES matio)

-            # To link against non-system HDF5 installation
-            if(DEFINED HDF5_DIR)
-                LINK_DIRECTORIES(${HDF5_DIR}/lib)
-                set(HDF5_LIBS hdf5)
-                list(APPEND ${ROOT_PROJECT}_LIBS ${HDF5_LIBS})
-            endif(DEFINED HDF5_DIR)
+if(${MATIO_INCLUDE_DIR} STREQUAL MATIO_INCLUDE_DIR-NOTFOUND)
+    message(SEND_ERROR "Failed to find MATIO headers.")
+    set(MATIO_FOUND FALSE)
+endif()

-            add_definitions(-D__WITH_MATIO)
+if(MATIO_FOUND)
+    set(MATIO_INCLUDE_DIRS ${MATIO_INCLUDE_DIR})
+    list(APPEND ${ROOT_PROJECT}_INCLUDE_DIRS ${MATIO_INCLUDE_DIRS})
+    list(APPEND ${ROOT_PROJECT}_LIBS ${MATIO_LIBS})

-            set(MATIO_FOUND TRUE)
+    #LINK_DIRECTORIES(${MATIO_LIBRARY_DIR})

-        else()
-            message(FATAL_ERROR "\"MATIO_DIR\" missing include/ and/or lib/ subdirectories.")
-        endif()
-    else()
-        message(FATAL_ERROR "\"MATIO_DIR\" set to an invalid path. Please provide path to installation/build directory or pkg-config (.pc) file")
-    endif()
+    # To link against non-system HDF5 installation
+    if(DEFINED HDF5_DIR)
+        LINK_DIRECTORIES(${HDF5_DIR}/lib)
+        set(HDF5_LIBS hdf5)
+        list(APPEND ${ROOT_PROJECT}_LIBS ${HDF5_LIBS})
+    endif(DEFINED HDF5_DIR)

-else(DEFINED MATIO_DIR)
-    set(MATIO_DIR "" CACHE PATH "Root directory for MATIO build directory." )
-    message(FATAL_ERROR "\"MATIO_DIR\" not set. Please provide the path to the root build or installation directory of MATIO.")
-endif(DEFINED MATIO_DIR)
+    add_definitions(-D__WITH_MATIO)
+else(MATIO_FOUND)
+    message(FATAL_ERROR "Failed to find MATIO. Verify that MATIO_DIR points to a valid pkf-config file, build or installation directory.")
+endif(MATIO_FOUND)
+
+
+


Typo fix

Typo fix

svn path=/trunk/kdesupport/strigi/; revision=647034

--- cmake/FindCppUnit.cmake
+++ cmake/FindCppUnit.cmake
@@ -18,9 +18,9 @@

 IF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
   SET(CppUnit_FOUND 1   )
-  if(NOT CPPUNIT_FIND_QUIETLY)
+  if(NOT CppUnit_FIND_QUIETLY)
    message(STATUS "Found cppunit: ${CPPUNIT_LIBRARIES}")
-  endif(NOT CPPUNIT_FIND_QUIETLY)
+  endif(NOT CppUnit_FIND_QUIETLY)
 ELSE(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)
   SET(CppUnit_FOUND 0 CACHE BOOL "Not found cppunit library")
 ENDIF(CPPUNIT_INCLUDE_DIR AND CPPUNIT_LIBRARIES)


Fix names of OpenSim Debug libraries

Fix names of OpenSim Debug libraries

--- cmake/FindOpenSim.cmake
+++ cmake/FindOpenSim.cmake
@@ -227,7 +227,7 @@
         PATHS "${OPENSIM_LIB_DIR}"
         NO_DEFAULT_PATH)
     if(FOUND_LIB)
-        list(APPEND OPENSIM_LIBRARY debug ${FOUND_LIB}_d)
+        list(APPEND OPENSIM_LIBRARY debug ${FOUND_LIB})
     endif()
     unset(FOUND_LIB CACHE)
 endforeach()
@@ -248,7 +248,7 @@
         PATHS "${OPENSIM_LIB_DIR}"
         NO_DEFAULT_PATH)
     if(FOUND_LIB)
-        list(APPEND OPENSIMSIMBODY_LIBRARY debug ${FOUND_LIB}_d)
+        list(APPEND OPENSIMSIMBODY_LIBRARY debug ${FOUND_LIB})
     endif()
     unset(FOUND_LIB CACHE)
 endforeach()


Fix FIND_LIBRARY to check sqlite3

Fix FIND_LIBRARY to check sqlite3

--- cmake/FindSQLite3.cmake
+++ cmake/FindSQLite3.cmake
@@ -19,7 +19,7 @@
 FIND_PATH(SQLITE3_INCLUDE_DIR NAMES sqlite3.h)

 # Look for the library.
-FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite)
+FIND_LIBRARY(SQLITE3_LIBRARY NAMES sqlite3)

 # Handle the QUIETLY and REQUIRED arguments and set SQLITE3_FOUND to TRUE if all listed variables are TRUE.
 INCLUDE(FindPackageHandleStandardArgs)


Run Python executable from CMake package (#211)

Update the CMake test runner to locate the Python executable using the CMake Python package. This replaces the hard-coded 'python' searched in $PATH which would not locate a Python 3 interpreter installed as python3.

Co-authored-by: Greg Hogan <e6fb06210fafc02fd7479ddbed2d042cc3a5155e@greghogan.com>

--- cmake/bde_runtest.cmake
+++ cmake/bde_runtest.cmake
@@ -3,9 +3,11 @@
 endif()
 set(BDE_RUNTEST_INCLUDED true)

+find_package(Python)
+
 function(internal_setup_bde_test_runner)
     get_filename_component(dir ${CMAKE_CURRENT_LIST_DIR} DIRECTORY)
-    set_property(GLOBAL PROPERTY BDE_RUNTEST_COMMAND python ${dir}/bin/bde_runtest.py)
+    set_property(GLOBAL PROPERTY BDE_RUNTEST_COMMAND ${Python_EXECUTABLE} ${dir}/bin/bde_runtest.py)
 endfunction()
 internal_setup_bde_test_runner() # Call immediately for correctness of ${CMAKE_CURRENT_LIST_DIR}


do not modify RUNTIME_OUTPUT_DIRECTORY on Windows

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

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -248,7 +248,9 @@
     set(multiValueArgs FILES ARGUMENTS LINK_WITH)
     cmake_parse_arguments(PCL_ADD_TEST "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN} )
     add_executable(${_exename} ${PCL_ADD_TEST_FILES})
-    set_target_properties(${_exename} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+    if(NOT WIN32)
+      set_target_properties(${_exename} PROPERTIES RUNTIME_OUTPUT_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR})
+    endif(NOT WIN32)
     PCL_ADD_OPENMP_FLAGS(${_exename})
     target_link_libraries(${_exename} ${GTEST_BOTH_LIBRARIES} ${PCL_ADD_TEST_LINK_WITH})
     #


fix unittest can't get cuda error message correctly (#33743)

--- cmake/third_party.cmake
+++ cmake/third_party.cmake
@@ -253,15 +253,17 @@
     set(URL  "https://paddlepaddledeps.bj.bcebos.com/externalErrorMsg.tar.gz" CACHE STRING "" FORCE)
     file_download_and_uncompress(${URL} "externalError" MD5 c0749523ebb536eb7382487d645d9cd4)   # download file externalErrorMsg.tar.gz
     if(WITH_TESTING)
-        # copy externalErrorMsg.pb for unittest 'enforce_test'
+        # copy externalErrorMsg.pb, just for unittest can get error message correctly.
         set(SRC_DIR ${THIRD_PARTY_PATH}/externalError/data)
         if(WIN32 AND (NOT "${CMAKE_GENERATOR}" STREQUAL "Ninja"))
-            set(DST_DIR ${CMAKE_BINARY_DIR}/paddle/fluid/third_party/externalError/data)
+            set(DST_DIR1 ${CMAKE_BINARY_DIR}/paddle/fluid/third_party/externalError/data)
         else()
-            set(DST_DIR ${CMAKE_BINARY_DIR}/paddle/third_party/externalError/data)
+            set(DST_DIR1 ${CMAKE_BINARY_DIR}/paddle/third_party/externalError/data)
         endif()
+        set(DST_DIR2 ${CMAKE_BINARY_DIR}/python/paddle/include/third_party/externalError/data)
         add_custom_command(TARGET download_externalError POST_BUILD
-            COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC_DIR} ${DST_DIR}
+            COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC_DIR} ${DST_DIR1}
+            COMMAND ${CMAKE_COMMAND} -E copy_directory ${SRC_DIR} ${DST_DIR2}
             COMMENT "copy_directory from ${SRC_DIR} to ${DST_DIR}")
     endif()
 endif(WITH_GPU)


Update IMU driver for CM4-POE

Update IMU driver for CM4-POE

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "672d67f85d534f4864bd13e5bc5b81ceb7a63aed")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "8bed558dd19e25bc4b07f716c0c6a494050e0f81")

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


Update FW; do subpixel interpolation for extended mode too

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "13c36e636dd00e83b89a5cc1ee76049567657c4b")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "d616e5354de2d63602fdcbda434628ab071b56a3")

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


changed device side commit id

changed device side commit id

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "369b2bcca21c393b312328a1c3885c17b293dac6")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "eae9ed77681f22d862ade73139e5b51c3e8d87e5")

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


px4fmu-v2: Remove INAV to free required flash space

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


px4fmu-v2_default add sf1xx driver (#8185)

- closes #8177

--- cmake/configs/nuttx_px4fmu-v2_default.cmake
+++ cmake/configs/nuttx_px4fmu-v2_default.cmake
@@ -23,6 +23,7 @@
 	#drivers/mb12xx
 	#drivers/srf02
 	drivers/sf0x
+	drivers/sf1xx
 	drivers/ll40ls
 	drivers/teraranger
 	drivers/gps


Update XRootD version to cope with new compilers (gcc 8.1)

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -853,7 +853,7 @@
   endif()
 endif()
 if(builtin_xrootd)
-  set(XROOTD_VERSION 4.6.1)
+  set(XROOTD_VERSION 4.8.2)
   set(XROOTD_VERSIONNUM 400060001)
   set(XROOTD_SRC_URI http://xrootd.org/download/v${XROOTD_VERSION}/xrootd-${XROOTD_VERSION}.tar.gz)
   set(XROOTD_DESTDIR ${CMAKE_BINARY_DIR})
@@ -869,7 +869,7 @@
   ExternalProject_Add(
     XROOTD
     URL ${XROOTD_SRC_URI}
-    URL_HASH SHA256=0261ce760e8788f85d68918d7702ae30ec677a8f331dae14adc979b4cc7badf5
+    URL_HASH SHA256=8f28ec53e799d4aa55bd0cc4ab278d9762e0e57ac40a4b02af7fc53dcd1bef39
     INSTALL_DIR ${XROOTD_ROOTDIR}
     CMAKE_ARGS -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
                -DCMAKE_C_COMPILER=${CMAKE_C_COMPILER}


Removed string(CONCAT) as it not supported by all cmake versions.

* cmake_minimum_required(VERSION 2.8) is specified
* Ubuntu LTS is shipping with 2.8.12

--- build/cmake/LoadVersion.cmake
+++ build/cmake/LoadVersion.cmake
@@ -1,6 +1,6 @@
 function(LoadVersion FILEPATH PREFIX)
     # E.g., "BSON_VERSION".
-    string(CONCAT VERSION_NAME ${PREFIX} _VERSION)
+    string(REPLACE ";" "" VERSION_NAME ${PREFIX} _VERSION)

     file(STRINGS ${FILEPATH} VERSION_CONTENTS)

@@ -8,18 +8,18 @@
     string(REGEX MATCHALL "[^.-]+" VERSION ${VERSION_CONTENTS})

     list(GET VERSION 0 MAJOR_VERSION)
-    string(CONCAT MAJOR_VERSION_NAME ${PREFIX} _MAJOR_VERSION)
+    string(REPLACE ";" "" MAJOR_VERSION_NAME ${PREFIX} _MAJOR_VERSION)
     set(${MAJOR_VERSION_NAME} ${MAJOR_VERSION} PARENT_SCOPE)

     list(GET VERSION 1 MINOR_VERSION)
-    string(CONCAT MINOR_VERSION_NAME ${PREFIX} _MINOR_VERSION)
+    string(REPLACE ";" "" MINOR_VERSION_NAME ${PREFIX} _MINOR_VERSION)
     set(${MINOR_VERSION_NAME} ${MINOR_VERSION} PARENT_SCOPE)

     list(GET VERSION 2 MICRO_VERSION)
-    string(CONCAT MICRO_VERSION_NAME ${PREFIX} _MICRO_VERSION)
+    string(REPLACE ";" "" MICRO_VERSION_NAME ${PREFIX} _MICRO_VERSION)
     set(${MICRO_VERSION_NAME} ${MICRO_VERSION} PARENT_SCOPE)

-    string(CONCAT PRERELEASE_VERSION_NAME ${PREFIX} _PRERELEASE_VERSION)
+    string(REPLACE ";" "" PRERELEASE_VERSION_NAME ${PREFIX} _PRERELEASE_VERSION)
     list(LENGTH VERSION VERSION_LENGTH)
     if(VERSION_LENGTH GREATER 3)
         list(GET VERSION 3 PRERELEASE_VERSION)


ARROW-9789: [C++] Don't install jemalloc in parallel

On ARROW-6437 (#7928) we saw occasional "File exists" errors on `jemalloc_ep` on macOS. Googling the error message led back to ARROW-739 (#456), which fixed this before by forcing install with `-j1`. ARROW-3492 later made it so jemalloc would build (but not install) in parallel. Then ARROW-3539 (#2779) was addressing a problem with that change and, along with fixing the build parallelization issue, unfortunately reverted the original `make -j1 install` fix.

This patch restores the fix from ARROW-739.

Closes #7995 from nealrichardson/jemalloc-install

Authored-by: Neal Richardson <beb59f0141269d2d04e73d0dcc1967b64ba87e13@gmail.com>
Signed-off-by: Sutou Kouhei <73218711cdd5d5c30ac66da3cc4d9d9204caf34b@clear-code.com>

--- cpp/cmake_modules/ThirdpartyToolchain.cmake
+++ cpp/cmake_modules/ThirdpartyToolchain.cmake
@@ -1454,7 +1454,7 @@
     BUILD_IN_SOURCE 1
     BUILD_COMMAND ${JEMALLOC_BUILD_COMMAND}
     BUILD_BYPRODUCTS "${JEMALLOC_STATIC_LIB}"
-    INSTALL_COMMAND ${MAKE} install)
+    INSTALL_COMMAND ${MAKE} -j1 install)

   # Don't use the include directory directly so that we can point to a path
   # that is unique to our codebase.


ENH (#1356): enhancing macros for better integration of external plugins into the build system

--- Utilities/openCherry/CMake/PluginHelpers.cmake
+++ Utilities/openCherry/CMake/PluginHelpers.cmake
@@ -32,6 +32,22 @@
   #MESSAGE(STATUS "Found plugin src dir: ${${pluginpath}}")

 ENDMACRO(FIND_PLUGIN_SRC_PATH)
+
+# sets pluginpath to the absolut path of the plugins binary output directory
+#
+# pluginname: the unique plugin id (i.e. org.opencherry.osgi)
+#
+MACRO(FIND_PLUGIN_BIN_PATH pluginpath pluginname)
+
+  FOREACH(plugindir ${OPENCHERRY_PLUGIN_BINARY_DIRS})
+    IF(EXISTS ${plugindir}/${ARGV1})
+      SET(${pluginpath} ${plugindir}/${ARGV1})
+    ENDIF(EXISTS ${plugindir}/${ARGV1})
+  ENDFOREACH(plugindir ${OPENCHERRY_PLUGIN_BINARY_DIRS})
+
+  #MESSAGE(STATUS "Found plugin bin dir: ${${pluginpath}}")
+
+ENDMACRO(FIND_PLUGIN_BIN_PATH)

 # Recursively searches for plugins (i.e. directories containing a
@@ -95,6 +111,13 @@

 ENDMACRO(COLLECT_PLUGINS)

+MACRO(PLUGIN_ADD_LINK_DIRECTORIES)
+  FOREACH(plugin_dependency ${PLUGIN_DEPENDS_ON})
+    FIND_PLUGIN_BIN_PATH(plugin_binpath ${plugin_dependency})
+    MESSAGE(STATUS "ADDING LINK DIRECTORY: ${plugin_binpath}/bin")
+    LINK_DIRECTORIES(${plugin_binpath}/bin)
+  ENDFOREACH(plugin_dependency)
+ENDMACRO(PLUGIN_ADD_LINK_DIRECTORIES)

 # Creates the current plugin.
 # This macro should be called from the plugins CMakeLists.txt file. The plugin
@@ -107,6 +130,8 @@
 MACRO(CREATE_PLUGIN)
   SUPPRESS_VC8_DEPRECATED_WARNINGS()
   CREATE_PLUGIN_NAME(PLUGIN_NAME ${PLUGINS_SOURCE_BASE_DIR} ${CMAKE_CURRENT_SOURCE_DIR})
+
+  MESSAGE(STATUS "Creating plugin ${PLUGIN_NAME}")

   STRING(REPLACE . _ PLUGIN_TARGET ${PLUGIN_NAME})

@@ -140,6 +165,11 @@
     MESSAGE(STATUS "ADDING INCLUDE DIR FOR DEPENDENCY ${plugin_dependency}: ${plugin_include_path}")
     INCLUDE_DIRECTORIES(${plugin_include_path})
   ENDFOREACH(plugin_dependency)
+
+  # set link directories
+  # this is needed for external projects where cmake does not know about
+  # the libraries this plugin depends on
+  PLUGIN_ADD_LINK_DIRECTORIES()

   SET(PLUGIN_CPP_LIST ${PLUGIN_CPP})
@@ -168,14 +198,14 @@
 # Macro to set specific Qt options, calls CREATE_PLUGIN at the end
 MACRO(CREATE_QT_PLUGIN)

-  IF(USE_QT AND DESIRED_QT_VERSION EQUAL 4)
+  IF(QT4_FOUND)
     INCLUDE_DIRECTORIES(${QT_INCLUDES})
     ADD_DEFINITIONS(${QT_DEFINITIONS})

     CREATE_PLUGIN()

     TARGET_LINK_LIBRARIES(${PLUGIN_TARGET} ${QT_LIBRARIES})
-  ENDIF(USE_QT AND DESIRED_QT_VERSION EQUAL 4)
+  ENDIF(QT4_FOUND)

 ENDMACRO(CREATE_QT_PLUGIN)


New version: 0.3.13

New version: 0.3.13

--- VERSION.cmake
+++ VERSION.cmake
@@ -1,3 +1,3 @@
 SET(HAWKEY_MAJOR "0")
 SET(HAWKEY_MINOR "3")
-SET(HAWKEY_PATCH "12")
+SET(HAWKEY_PATCH "13")


Bumping version 0.11.0 for development

Bumping version 0.11.0 for development

Change-Id: I5e08d0279b8ac76bff5c116c7e2f5bd4c3575bb1

--- Version.cmake
+++ Version.cmake
@@ -9,7 +9,7 @@
 # Version info

 set(SimpleITK_VERSION_MAJOR 0)
-set(SimpleITK_VERSION_MINOR 10)
+set(SimpleITK_VERSION_MINOR 11)
 set(SimpleITK_VERSION_PATCH 0)
 #set(SimpleITK_VERSION_TWEAK "")


Update to latest cmake-modules

Update to latest cmake-modules

--- cmake/AddSAMPPluginTest.cmake
+++ cmake/AddSAMPPluginTest.cmake
@@ -16,6 +16,9 @@
   set(options TARGET OUTPUT_FILE SCRIPT TIMEOUT CONFIG WORKING_DIRECTORY)
   cmake_parse_arguments(ARG "" "${options}" "" ${ARGN})

+  find_package(SAMPServerCLI REQUIRED)
+  set(command ${SAMPServerCLI_EXECUTABLE})
+
   if(ARG_SCRIPT)
     list(APPEND args --gamemode ${ARG_SCRIPT})
   endif()
@@ -26,12 +29,6 @@

   if(ARG_WORKING_DIRECTORY)
     list(APPEND args --workdir ${ARG_WORKING_DIRECTORY})
-  endif()
-
-  if(WIN32)
-    set(command samp-server-cli.exe)
-  else()
-    set(command samp-server-cli)
   endif()

   add_test(NAME ${name} COMMAND ${command} ${args} --output


Implement ogg, vorbis and bullet directory lookups for full-build deps.

--- cmake/ConfigurePackages.cmake
+++ cmake/ConfigurePackages.cmake
@@ -207,7 +207,8 @@
 		set(SKYX_HOME ${ENV_TUNDRA_DEP_PATH}/SkyX)
 	endif()

-    include_directories(${SKYX_HOME}/include)
+    include_directories(${SKYX_HOME}/include) # For prebuilt VS2008/VS2010 deps.
+    include_directories(${SKYX_HOME}/SkyX/include) # For full-built deps.
     link_directories(${SKYX_HOME}/lib)
 	endif()
 endmacro()
@@ -284,7 +285,8 @@
             message (STATUS "-- Using from env variable BULLET_DIR")
             set(BULLET_DIR ${ENV_BULLET_DIR})
         endif ()
-        include_directories(${BULLET_DIR}/include)
+        include_directories(${BULLET_DIR}/include) # For prebuilt VS2008/VS2010 deps.
+        include_directories(${BULLET_DIR}/src) # For full-built source deps.
         link_directories(${BULLET_DIR}/lib)
     else() # Linux, note: mac will also come here..
         if ("${ENV_BULLET_DIR}" STREQUAL "")
@@ -299,9 +301,20 @@
 endmacro()

 macro(link_package_bullet)
-    target_link_libraries(${TARGET_NAME} optimized LinearMath optimized BulletDynamics optimized BulletCollision)
-    if (WIN32)
-        target_link_libraries(${TARGET_NAME} debug LinearMath_d debug BulletDynamics_d debug BulletCollision_d)
+    if (IS_DIRECTORY ${ENV_BULLET_DIR}/msvc/2008)
+        if (WIN32)
+            target_link_libraries(${TARGET_NAME} debug ${ENV_BULLET_DIR}/msvc/2008/lib/debug/LinearMath.lib)
+            target_link_libraries(${TARGET_NAME} debug ${ENV_BULLET_DIR}/msvc/2008/lib/debug/BulletDynamics.lib)
+            target_link_libraries(${TARGET_NAME} debug ${ENV_BULLET_DIR}/msvc/2008/lib/debug/BulletCollision.lib)
+            target_link_libraries(${TARGET_NAME} optimized ${ENV_BULLET_DIR}/msvc/2008/lib/release/LinearMath.lib)
+            target_link_libraries(${TARGET_NAME} optimized ${ENV_BULLET_DIR}/msvc/2008/lib/release/BulletDynamics.lib)
+            target_link_libraries(${TARGET_NAME} optimized ${ENV_BULLET_DIR}/msvc/2008/lib/release/BulletCollision.lib)
+        endif()
+    else()
+        target_link_libraries(${TARGET_NAME} optimized LinearMath optimized BulletDynamics optimized BulletCollision)
+        if (WIN32)
+            target_link_libraries(${TARGET_NAME} debug LinearMath_d debug BulletDynamics_d debug BulletCollision_d)
+        endif()
     endif()
 endmacro()

@@ -319,10 +332,13 @@

 macro(link_package_ogg)
     if (MSVC)
-#        target_link_libraries(${TARGET_NAME} optimized libogg)
-#        target_link_libraries(${TARGET_NAME} debug liboggd)
-        target_link_libraries(${TARGET_NAME} optimized $ENV{TUNDRA_DEP_PATH}/ogg/win32/VS2008/Win32/Release/libogg_static.lib)
-        target_link_libraries(${TARGET_NAME} debug $ENV{TUNDRA_DEP_PATH}/ogg/win32/VS2008/Win32/Debug/libogg_static.lib)
+        if (IS_DIRECTORY $ENV{TUNDRA_DEP_PATH}/ogg/win32/VS2008/Win32) # Using full-built deps.
+            target_link_libraries(${TARGET_NAME} optimized $ENV{TUNDRA_DEP_PATH}/ogg/win32/VS2008/Win32/Release/libogg_static.lib)
+            target_link_libraries(${TARGET_NAME} debug $ENV{TUNDRA_DEP_PATH}/ogg/win32/VS2008/Win32/Debug/libogg_static.lib)
+        else() # Using pre-built VS2008/VS2010 deps.
+            target_link_libraries(${TARGET_NAME} optimized libogg)
+            target_link_libraries(${TARGET_NAME} debug liboggd)
+        endif()
     else()
         target_link_libraries(${TARGET_NAME} general ogg)
     endif()
@@ -342,13 +358,15 @@

 macro(link_package_vorbis)
     if (MSVC)
-#        target_link_libraries(${TARGET_NAME} optimized libvorbis optimized libvorbisfile)
-#        target_link_libraries(${TARGET_NAME} debug libvorbisd debug libvorbisfiled)
-
-        target_link_libraries(${TARGET_NAME} optimized $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Release/libvorbis_static.lib)
-        target_link_libraries(${TARGET_NAME} optimized $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Release/libvorbisfile_static.lib)
-        target_link_libraries(${TARGET_NAME} debug $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Debug/libvorbis_static.lib)
-        target_link_libraries(${TARGET_NAME} debug $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Debug/libvorbisfile_static.lib)
+        if (IS_DIRECTORY $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32) # Using full-built deps.
+            target_link_libraries(${TARGET_NAME} optimized $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Release/libvorbis_static.lib)
+            target_link_libraries(${TARGET_NAME} optimized $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Release/libvorbisfile_static.lib)
+            target_link_libraries(${TARGET_NAME} debug $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Debug/libvorbis_static.lib)
+            target_link_libraries(${TARGET_NAME} debug $ENV{TUNDRA_DEP_PATH}/vorbis/win32/VS2008/Win32/Debug/libvorbisfile_static.lib)
+        else() # Using pre-built VS2008/VS2010 deps.
+            target_link_libraries(${TARGET_NAME} optimized libvorbis optimized libvorbisfile)
+            target_link_libraries(${TARGET_NAME} debug libvorbisd debug libvorbisfiled)
+        endif()
     else()
         target_link_libraries(${TARGET_NAME} general vorbis general vorbisfile)
     endif()


Add some annotations to different OpenBLAS versions.

--- cmake/external/openblas.cmake
+++ cmake/external/openblas.cmake
@@ -27,9 +27,12 @@
     SET(COMMON_ARGS CC=${CMAKE_C_COMPILER} NO_LAPACK=1 NO_SHARED=1)

     IF(ANDROID)
+        # arm_soft_fp_abi branch of OpenBLAS to support softfp
+        #   https://github.com/xianyi/OpenBLAS/tree/arm_soft_fp_abi
         SET(OPENBLAS_COMMIT "b5c96fcfcdc82945502a2303116a64d89985daf5")
         SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 ARM_SOFTFP_ABI=1 USE_THREAD=0 libs)
     ELSEIF(RPI)
+        # use hardfp
         SET(OPENBLAS_COMMIT "v0.2.19")
         SET(OPTIONAL_ARGS HOSTCC=${HOST_C_COMPILER} TARGET=ARMV7 USE_THREAD=0 libs)
     ELSE()


Fix broken build for qjson 0.7.1 ... again :)

--- cmake/modules/FindQJSON.cmake
+++ cmake/modules/FindQJSON.cmake
@@ -17,7 +17,7 @@
 # This happens only on some distribution, so we check if the lowercase
 # variable is set, before setting the uppercase one.
 if (${QJSON_VERSION} VERSION_LESS "0.7.2")
-    if (qtjson_LIBRARIES)
+    if (qjson_LIBRARIES)
         set (QJSON_LIBRARIES ${qjson_LIBRARIES})
     endif()
     if (qjson_INCLUDE_DIR)


Suffix the "mod" version modifier using a dot.

--- cmake/scripts/buildinfo.cmake
+++ cmake/scripts/buildinfo.cmake
@@ -48,7 +48,7 @@
 endif()

 if (SOL_COMMIT_HASH AND SOL_LOCAL_CHANGES)
-	set(SOL_COMMIT_HASH "${SOL_COMMIT_HASH}-mod")
+	set(SOL_COMMIT_HASH "${SOL_COMMIT_HASH}.mod")
 endif()

 if (NOT SOL_COMMIT_HASH)


osx: change FIPS_OSX_UNIVERSAL from x86+x86_64 to x86_64+arm64

--- cmake-toolchains/osx.cmake
+++ cmake-toolchains/osx.cmake
@@ -15,7 +15,7 @@
 set(CMAKE_CONFIGURATION_TYPES Debug Release)

 if (FIPS_OSX_UNIVERSAL)
-    set(CMAKE_OSX_ARCHITECTURES "i386;x86_64")
+    set(CMAKE_OSX_ARCHITECTURES "x86_64;arm64")
 endif()

 # FIXME: define standard frame works that are always linked


fixed indentation and updated message (#211)

--- cmake/catkin_package.cmake
+++ cmake/catkin_package.cmake
@@ -84,10 +84,10 @@

   # verify that project() has been called before
   if(NOT PROJECT_NAME)
-    message(FATAL_ERROR "catkin_package() PROJECT_NAME is not set. You must call project() before you can call catkin_package().")
-  endif()
-  if(PROJECT_NAME STREQUAL Project)
-message(FATAL_ERROR "catkin_package() PROJECT_NAME is not set. The variable is set to 'Project', which is not an allowed project name. You must call project() before you can call catkin_package().")
+    message(FATAL_ERROR "catkin_package() PROJECT_NAME is not set. You must call project() before calling catkin_package().")
+  endif()
+  if(PROJECT_NAME STREQUAL "Project")
+    message(FATAL_ERROR "catkin_package() PROJECT_NAME is set to 'Project', which is not a valid project name. You must call project() before calling catkin_package().")
   endif()

   # call catkin_package_xml() if it has not been called manually before


Simplify MKLML download command

Simplify MKLML download command

--- cmake/external/mklml.cmake
+++ cmake/external/mklml.cmake
@@ -43,19 +43,18 @@

 INCLUDE_DIRECTORIES(${MKLML_INC_DIR})

-SET(mklml_cmakefile ${MKLML_DOWNLOAD_DIR}/CMakeLists.txt)
-FILE(WRITE ${mklml_cmakefile} "PROJECT(MKLML)\n"
-                              "cmake_minimum_required(VERSION 3.0)\n"
-                              "install(DIRECTORY ${MKLML_VER}\n"
-                              "        DESTINATION ${MKLML_DST_DIR})\n")
+FILE(WRITE ${MKLML_DOWNLOAD_DIR}/CMakeLists.txt
+  "PROJECT(MKLML)\n"
+  "cmake_minimum_required(VERSION 3.0)\n"
+  "install(DIRECTORY ${MKLML_VER}\n"
+  "        DESTINATION ${MKLML_DST_DIR})\n")

 ExternalProject_Add(
     ${MKLML_PROJECT}
     ${EXTERNAL_PROJECT_LOG_ARGS}
     PREFIX                ${MKLML_SOURCE_DIR}
     DOWNLOAD_DIR          ${MKLML_DOWNLOAD_DIR}
-    DOWNLOAD_COMMAND      wget --quiet --no-check-certificate -O ${MKLML_DOWNLOAD_DIR}/${MKLML_VER}.tgz ${MKLML_URL}
-                          && tar -xzf ${MKLML_DOWNLOAD_DIR}/${MKLML_VER}.tgz
+    DOWNLOAD_COMMAND      wget --no-check-certificate -qO- ${MKLML_URL} | tar xz -C ${MKLML_DOWNLOAD_DIR}
     DOWNLOAD_NO_PROGRESS  1
     UPDATE_COMMAND        ""
     CMAKE_ARGS            -DCMAKE_INSTALL_PREFIX=${MKLML_INSTALL_ROOT}


update mklml.cmake to 2019.0.5 (#24179)

update mklml.cmake to 2019.0.5 (#24179)

test=develop

--- cmake/external/mklml.cmake
+++ cmake/external/mklml.cmake
@@ -32,8 +32,8 @@
     SET(MKLML_SHARED_IOMP_LIB     ${MKLML_LIB_DIR}/libiomp5md.dll)
 ELSE()
     #TODO(intel-huying):
-    #  Now enable Erf function in mklml library temporarily, it will be updated as offical version later.
-    SET(MKLML_VER "csrmm2_mklml_lnx_2019.0.2" CACHE STRING "" FORCE)
+    #  Now enable csrmm function in mklml library temporarily, it will be updated as offical version later.
+    SET(MKLML_VER "csrmm_mklml_lnx_2019.0.5" CACHE STRING "" FORCE)
     SET(MKLML_URL "http://paddlepaddledeps.bj.bcebos.com/${MKLML_VER}.tgz" CACHE STRING "" FORCE)
     SET(MKLML_LIB                 ${MKLML_LIB_DIR}/libmklml_intel.so)
     SET(MKLML_IOMP_LIB            ${MKLML_LIB_DIR}/libiomp5.so)


Fixed: The build-type specific flags where not included correctly. (#220)

Added: Additional languages (CUDA, Fortran) can be activated by passing the optional arguments "CUDA" and or "Fortran"

--- cmake/gsJITConfigXml.cmake
+++ cmake/gsJITConfigXml.cmake
@@ -16,23 +16,48 @@

 macro(gsJITConfigXml source_file target_file)

-  # Gather information of programming languages not enabled by defualt
-  # with G+Smo (CUDA and Fortran)
-  include(CheckLanguage)
-  check_language(CUDA)
-# check_language(Fortran)
+  set(extra_macro_args ${ARGN})
+  list(LENGTH extra_macro_args num_extra_macro_args)
+
+  if(${num_extra_macro_args} GREATER 0)
+
+    # Gather information of programming languages not enabled by
+    # default with G+Smo (CUDA and Fortran)
+    include(CheckLanguage)
+
+    foreach(extra_macro_arg ${extra_macro_args})
+      if("${extra_macro_arg}" STREQUAL "CUDA")
+        # Check for CUDA
+        check_language(CUDA)
+        if(CMAKE_CUDA_COMPILER)
+          enable_language(Fortran)
+        endif()
+      elseif("${extra_macro_arg}" STREQUAL "FORTRAN")
+        # Check for Fortran
+        check_language(Fortran)
+        if(CMAKE_Fortran_COMPILER)
+          enable_language(Fortran)
+        endif()
+      else()
+        message(FATAL_ERROR "Unsupport optional argument ${extra_macro_arg}.")
+      endif()
+    endforeach()
+  endif()

   # Set JIT compiler command
   set(JIT_C_COMPILER       ${CMAKE_C_COMPILER})
   set(JIT_CXX_COMPILER     ${CMAKE_CXX_COMPILER})
   set(JIT_CUDA_COMPILER    ${CUDA_NVCC_EXECUTABLE})
   set(JIT_Fortran_COMPILER ${CMAKE_Fortran_COMPILER})
+
+  # Get build-type as upper-case string
+  string(TOUPPER ${CMAKE_BUILD_TYPE} JIT_BUILD_TYPE)

   # Set JIT compiler flags (build-type dependent)
-  set(JIT_C_FLAGS       ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}})
-  set(JIT_CXX_FLAGS     ${CMAKE_CXX_FLAGS_${CMAKE_BUILD_TYPE}})
-  set(JIT_CUDA_FLAGS    ${CUDA_NVCC_FLAGS_${CMAKE_BUILD_TYPE}})
-  set(JIT_Fortran_FLAGS ${CMAKE_Fortran_FLAGS_DEBUG})
+  set(JIT_C_FLAGS       ${CMAKE_C_FLAGS_${JIT_BUILD_TYPE}})
+  set(JIT_CXX_FLAGS     ${CMAKE_CXX_FLAGS_${JIT_BUILD_TYPE}})
+  set(JIT_CUDA_FLAGS    ${CUDA_NVCC_FLAGS_${JIT_BUILD_TYPE}})
+  set(JIT_Fortran_FLAGS ${CMAKE_Fortran_FLAGS_${JIT_BUILD_TYPE}})

   # Add JIT compiler flags (all build types)
   set(JIT_C_FLAGS "${JIT_C_FLAGS} ${CMAKE_C_FLAGS} ${CMAKE_SHARED_LIBRARY_CREATE_C_FLAGS}")


doc: clarify how to build static or shared libraries with cmake

Fix FS#5522

http://www.tux-planet.fr/public/images/photos/informatique/linux/better-rtfm.jpg

--- cmake/qibuild/target.cmake
+++ cmake/qibuild/target.cmake
@@ -144,7 +144,22 @@

 #! Create a library
+#
 # The target name should be unique.
+#
+# If you need your library to be static, use:
+#    qi_create_lib(mylib STATIC SRC ....)
+#
+# If you need your library to be shared, use:
+#    qi_create_lib(mylib STATIC SRC ....)
+#
+# If you want to let the user choose, use
+#    qi_create_lib(mylib SRC ....)
+#
+# The library will be compiled in static by default, unless
+# BUILD_SHARED_LIBS is true.
+#
+# This is the standard CMake behavior, see link:http://www.cmake.org/cmake/help/cmake-2-8-docs.html#command:add_library[cmake documentation] for more details
 #
 # \arg:name the target name
 # \argn: sources files, like the SRC group, argn and SRC will be merged


Fix CMake dependencies and avoid target/command name collisions (#133)

* Fix CMake dependencies and avoid target/command name collisions

* Fix build of VitaShell

Unfortunately the change to avoid circular dependencies led to a breakage for some homebrews (especially VitaShell).
So reverted back to previous way, same as in https://github.com/vitasdk/vita-toolchain/pull/130
It is still recommended to create a separate `build` directory and call `cmake .. && make` from there to build a homebrew.

--- cmake_toolchain/vita.cmake
+++ cmake_toolchain/vita.cmake
@@ -21,24 +21,25 @@

 ##################################################
 ## MACRO: vita_create_self
-##
+##
 ## Generate a SELF from an ARM EABI ELF
 ##   vita_create_self(target source
 ##                    [CONFIG file]
 ##                    [UNCOMPRESSED]
 ##                    [UNSAFE])
-##
+##
 ## @param target
 ##   A CMake custom target of this given name
 ## @param source
 ##   The ARM EABI ELF target (from add_executable for example)
+##   or path to a provided ELF file
 ## @param[opt] UNCOMPRESSED
 ##   Do NOT compress the result SELF (compression is default)
 ## @param[opt] UNSAFE
 ##   The homebrew uses private/system APIs and requires extended permissions
 ## @param[opt] CONFIG file
 ##   Path to a YAML config file defining exports and other optional information
-##
+##
 macro(vita_create_self target source)
   set(VITA_ELF_CREATE_FLAGS "${VITA_ELF_CREATE_FLAGS}" CACHE STRING "vita-elf-create flags")
   set(VITA_MAKE_FSELF_FLAGS "${VITA_MAKE_FSELF_FLAGS}" CACHE STRING "vita-make-fself flags")
@@ -57,31 +58,51 @@
   if(NOT vita_create_self_UNSAFE)
     set(VITA_MAKE_FSELF_FLAGS "${VITA_MAKE_FSELF_FLAGS} -s")
   endif()
+
+  ## check source for being a target, otherwise it is a file path
+  if(TARGET ${source})
+    set(sourcepath ${CMAKE_CURRENT_BINARY_DIR}/${source})
+  else()
+    set(sourcepath ${source})
+  endif()
+  get_filename_component(sourcefile ${sourcepath} NAME)
+
+  ## VELF command
   separate_arguments(VITA_ELF_CREATE_FLAGS)
-  add_custom_command(OUTPUT ${source}.velf
-    COMMAND ${VITA_ELF_CREATE} ${VITA_ELF_CREATE_FLAGS} ${source} ${source}.velf
-    DEPENDS ${source}
-    COMMENT "Converting to Sony ELF ${source}.velf" VERBATIM
-  )
+  add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf
+    COMMAND ${VITA_ELF_CREATE} ${VITA_ELF_CREATE_FLAGS} ${sourcepath} ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf
+    DEPENDS ${sourcepath}
+    COMMENT "Converting to Sony ELF ${sourcefile}.velf" VERBATIM
+  )
+
+  ## SELF command
   separate_arguments(VITA_MAKE_FSELF_FLAGS)
   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}
-    COMMAND ${VITA_MAKE_FSELF} ${VITA_MAKE_FSELF_FLAGS} ${source}.velf ${target}
-    DEPENDS ${source}.velf
+    COMMAND ${VITA_MAKE_FSELF} ${VITA_MAKE_FSELF_FLAGS} ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf ${CMAKE_CURRENT_BINARY_DIR}/${target}
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${sourcefile}.velf
     COMMENT "Creating SELF ${target}"
   )
-  add_custom_target(${target} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${target})
+
+  ## SELF target
+  add_custom_target(${target}
+    ALL
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${target}
+  )
+  if(TARGET ${source})
+    add_dependencies(${target} ${source})
+  endif()
 endmacro(vita_create_self)
 ##################################################

 ##################################################
 ## MACRO: vita_create_stubs
-##
+##
 ## Generate stub libraries from a Sony ELF and config file
 ##   vita_create_stubs(target-dir source config
 ##                     [KERNEL])
-##
+##
 ## @param target-dir
-##   A CMake custom target of this given name (will be a directory containing
+##   A CMake custom target of this given name (will be a directory containing
 ##   the stubs)
 ## @param source
 ##   The ARM EABI ELF target (from add_executable for example)
@@ -89,7 +110,7 @@
 ##   Path to a YAML config file defining exports
 ## @param[opt] KERNEL
 ##   Specifies that this module makes kernel exports
-##
+##
 macro(vita_create_stubs target-dir source config)
   set(VITA_ELF_EXPORT_FLAGS "${VITA_ELF_EXPORT_FLAGS}" CACHE STRING "vita-elf-export flags")
   set(VITA_LIBS_GEN_FLAGS "${VITA_LIBS_GEN_FLAGS}" CACHE STRING "vita-libs-gen flags")
@@ -102,48 +123,65 @@
   else()
     set(kind user)
   endif()
+
+  ## check source for being a target, otherwise it is a file path
+  if(TARGET ${source})
+    set(sourcepath ${CMAKE_CURRENT_BINARY_DIR}/${source})
+  else()
+    set(sourcepath ${source})
+  endif()
+  get_filename_component(sourcefile ${sourcepath} NAME)
+
+  ## ELF EXPORT command
   separate_arguments(VITA_ELF_EXPORT_FLAGS)
   get_filename_component(fconfig ${config} ABSOLUTE)
-  add_custom_command(OUTPUT ${target-dir}.yml
-    COMMAND ${VITA_ELF_EXPORT} ${kind} ${VITA_ELF_EXPORT_FLAGS} ${source} ${fconfig} ${target-dir}.yml
-    DEPENDS ${source} ${fconfig}
-    COMMENT "Generating imports YAML for ${source}"
-  )
+  add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target-dir}.yml
+    COMMAND ${VITA_ELF_EXPORT} ${kind} ${VITA_ELF_EXPORT_FLAGS} ${sourcepath} ${fconfig} ${CMAKE_CURRENT_BINARY_DIR}/${target-dir}.yml
+    DEPENDS ${sourcepath}
+    DEPENDS ${fconfig}
+    COMMENT "Generating imports YAML for ${sourcefile}"
+  )
+
+  ## ELF EXPORT target
   separate_arguments(VITA_LIBS_GEN_FLAGS)
-  add_custom_target(${target-dir} ALL
-    COMMAND ${VITA_LIBS_GEN} ${VITA_LIBS_GEN_FLAGS} ${target-dir}.yml ${target-dir}
-    COMMAND make -C ${target-dir}
-    DEPENDS ${target-dir}.yml
+  add_custom_target(${target-dir}
+    ALL
+    COMMAND ${VITA_LIBS_GEN} ${VITA_LIBS_GEN_FLAGS} ${CMAKE_CURRENT_BINARY_DIR}/${target-dir}.yml ${CMAKE_CURRENT_BINARY_DIR}/${target-dir}
+    COMMAND make -C ${CMAKE_CURRENT_BINARY_DIR}/${target-dir}
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${target-dir}.yml
     COMMENT "Building stubs ${target-dir}"
   )
-  add_dependencies(${target-dir} ${source})
+  if(TARGET ${source})
+    add_dependencies(${target-dir} ${source})
+  endif()
 endmacro(vita_create_stubs)
 ##################################################

 ##################################################
 ## MACRO: vita_create_vpk
-##
+##
 ## Creates a homebrew VPK from a SELF
 ##   vita_create_vpk(target titleid eboot
 ##                   [VERSION version]
 ##                   [NAME name]
 ##                   [FILE path dest])
-##
+##
 ## @param target
 ##   A CMake custom target of this given name
 ## @param titleid
-##   A nine character identifier for this homebrew. The recommended format is
+##   A nine character identifier for this homebrew. The recommended format is
 ##   XXXXYYYYY where XXXX is an author unique identifier and YYYYY is a number.
 ## @param eboot
-##   The main SELF to package (from vita_create_self for example).
+##   The SELF target (from vita_create_self for example)
+##   or path to a provided SELF file
 ## @param[opt] VERSION
 ##   A version string
 ## @param[opt] NAME
 ##   The display name under the bubble in LiveArea
 ## @param[opt] FILE
-##   Add an additional file at path to dest in the vpk (there can be multiple
+##   Add an additional file at path to dest in the vpk (there can be multiple
 ##   of this parameter).
-##
+##
 macro(vita_create_vpk target titleid eboot)
   set(VITA_MKSFOEX_FLAGS "${VITA_MKSFOEX_FLAGS}" CACHE STRING "vita-mksfoex flags")
   set(VITA_PACK_VPK_FLAGS "${VITA_PACK_VPK_FLAGS}" CACHE STRING "vita-pack-vpk flags")
@@ -173,17 +211,40 @@
   if(NOT vita_create_vpk_NAME)
     set(vita_create_vpk_NAME "${PROJECT_NAME}")
   endif()
+
+  ## check eboot for being a target, otherwise it is a file path
+  if(TARGET ${eboot})
+    set(sourcepath ${CMAKE_CURRENT_BINARY_DIR}/${eboot})
+  else()
+    set(sourcepath ${eboot})
+  endif()
+  get_filename_component(sourcefile ${sourcepath} NAME)
+
+  ## PARAM.SFO command
   separate_arguments(VITA_MKSFOEX_FLAGS)
-  add_custom_command(OUTPUT ${target}_param.sfo
-    COMMAND ${VITA_MKSFOEX} ${VITA_MKSFOEX_FLAGS} ${vita_create_vpk_NAME} ${target}_param.sfo
+  add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}_param.sfo
+    COMMAND ${VITA_MKSFOEX} ${VITA_MKSFOEX_FLAGS} ${vita_create_vpk_NAME} ${CMAKE_CURRENT_BINARY_DIR}/${target}_param.sfo
+    DEPENDS ${sourcepath}
     COMMENT "Generating param.sfo for ${target}"
   )
+
+  ## VPK command
   separate_arguments(VITA_PACK_VPK_FLAGS)
   add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${target}
-    COMMAND ${VITA_PACK_VPK} ${VITA_PACK_VPK_FLAGS} -s ${target}_param.sfo -b ${eboot} ${target}
-    DEPENDS ${target}_param.sfo ${eboot} ${resources}
+    COMMAND ${VITA_PACK_VPK} ${VITA_PACK_VPK_FLAGS} -s ${CMAKE_CURRENT_BINARY_DIR}/${target}_param.sfo -b ${sourcepath} ${CMAKE_CURRENT_BINARY_DIR}/${target}
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${target}_param.sfo
+    DEPENDS ${sourcepath}
+    DEPENDS ${resources}
     COMMENT "Building vpk ${target}"
   )
-  add_custom_target(${target} ALL DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${target})
+
+  ## VPK target
+  add_custom_target(${target}
+    ALL
+    DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/${target}
+  )
+  if(TARGET ${eboot})
+    add_dependencies(${target} ${eboot})
+  endif()
 endmacro(vita_create_vpk)
 ##################################################


Disabling ScaLAPACK tests

Disabling ScaLAPACK tests

--- cmake/external_projects/ElMath/ScaLAPACK.cmake
+++ cmake/external_projects/ElMath/ScaLAPACK.cmake
@@ -283,6 +283,7 @@
       ${LAPACK_COMMAND}
       -D SCALAPACK_HYBRID=${EL_HYBRID}
       -D DISABLE_MKL=${EL_DISABLE_MKL}
+      -D TEST_SCALAPACK=OFF
       -D CMAKE_INSTALL_PREFIX=${CMAKE_INSTALL_PREFIX}
       -D BUILD_SHARED_LIBS=${BUILD_SHARED_LIBS}
       -D CMAKE_MACOSX_RPATH=${CMAKE_MACOSX_RPATH}


Split off 7.10.36

Split off 7.10.36

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

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


[jancy] release 1.8.4

[jancy] release 1.8.4

--- version.cmake
+++ version.cmake
@@ -11,7 +11,7 @@

 set (JANCY_VERSION_MAJOR     1)
 set (JANCY_VERSION_MINOR     8)
-set (JANCY_VERSION_REVISION  3)
+set (JANCY_VERSION_REVISION  4)
 set (JANCY_VERSION_TAG)

 set (JANCY_VERSION_FULL "${JANCY_VERSION_MAJOR}.${JANCY_VERSION_MINOR}.${JANCY_VERSION_REVISION}")


Split off 8.4.32

Split off 8.4.32

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

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


We don't care about gcc, clang is fine

We don't care about gcc, clang is fine

--- build/shared/SharedConfig_Mac.cmake
+++ build/shared/SharedConfig_Mac.cmake
@@ -62,10 +62,10 @@
 set(COMMON_DYLIBEXTENSION	"dylib")

-find_program(GCCTOOL gcc HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin")
-if (${GCCTOOL} STREQUAL "GCCTOOL-NOTFOUND")
-	message(SEND_ERROR "Can't find gcc in ${OSX_DEVELOPER_ROOT}/usr/bin")
-endif()
+#find_program(GCCTOOL gcc HINTS "/usr/bin" "${OSX_DEVELOPER_ROOT}/usr/bin")
+#if (${GCCTOOL} STREQUAL "GCCTOOL-NOTFOUND")
+#	message(SEND_ERROR "Can't find gcc in ${OSX_DEVELOPER_ROOT}/usr/bin")
+#endif()

 SetupCompilerFlags()
 SetupGeneralDirectories()


Split off 7.8.70

Split off 7.8.70

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

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


CMake: Clean up ref names in git branch string (fixes #2421)

--- version.cmake
+++ version.cmake
@@ -15,6 +15,8 @@
 	execute_process(COMMAND ${GIT} symbolic-ref --short HEAD WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" OUTPUT_VARIABLE GIT_BRANCH ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
 	execute_process(COMMAND ${GIT} rev-list HEAD --count WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" OUTPUT_VARIABLE GIT_REV ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
 	execute_process(COMMAND ${GIT} describe --tag --exact-match WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}" OUTPUT_VARIABLE GIT_TAG ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
+
+	string(REGEX REPLACE "^(refs/)?(heads|tags)/" "" GIT_BRANCH "${GIT_BRANCH}")
 endif()

 if(NOT GIT_REV)


Split off 7.12.98

Split off 7.12.98

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

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


Split off 8.2.20

Split off 8.2.20

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

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


fix qtwebkit

fix qtwebkit

--- qtwebkit/config.xml.cmake
+++ qtwebkit/config.xml.cmake
@@ -6,6 +6,7 @@
     <includeDirs>
         <dir>@QT_HEADERS_DIR@</dir>
         <dir>@QT_QTCORE_INCLUDE_DIR@</dir>
+        <dir>@QT_QTGUI_INCLUDE_DIR@</dir>
         <dir>@QT_QTWEBKIT_INCLUDE_DIR@</dir>
     </includeDirs>
 </config>


enable all CertTest cases

enable all CertTest cases

--- reg_tests/CTestList.cmake
+++ reg_tests/CTestList.cmake
@@ -18,10 +18,10 @@
 # Regression tests
 #===============================================================================

-#add_test_r(Test01)
-#add_test_r(Test02)
-#add_test_r(Test03)
-#add_test_r(Test04)
+add_test_r(Test01)
+add_test_r(Test02)
+add_test_r(Test03)
+add_test_r(Test04)
 add_test_r(Test05)
 add_test_r(Test06)
 add_test_r(Test07)


Update caffe cmake file for finding boost library on newer ubuntu versions

--- caffe/cmake/Dependencies.cmake
+++ caffe/cmake/Dependencies.cmake
@@ -2,7 +2,7 @@
 set(Caffe_LINKER_LIBS "")

 # ---[ Boost
-find_package(Boost 1.46 REQUIRED COMPONENTS system thread)
+find_package(Boost 1.46 REQUIRED COMPONENTS system thread filesystem)
 include_directories(SYSTEM ${Boost_INCLUDE_DIR})
 list(APPEND Caffe_LINKER_LIBS ${Boost_LIBRARIES})

@@ -34,6 +34,9 @@
   include_directories(SYSTEM ${LMDB_INCLUDE_DIR})
   list(APPEND Caffe_LINKER_LIBS ${LMDB_LIBRARIES})
   add_definitions(-DUSE_LMDB)
+  if(ALLOW_LMDB_NOLOCK)
+    add_definitions(-DALLOW_LMDB_NOLOCK)
+  endif()
 endif()

 # ---[ LevelDB
@@ -55,9 +58,9 @@
 include(cmake/Cuda.cmake)
 if(NOT HAVE_CUDA)
   if(CPU_ONLY)
-    message("-- CUDA is disabled. Building without it...")
+    message(STATUS "-- CUDA is disabled. Building without it...")
   else()
-    message("-- CUDA is not detected by cmake. Building without it...")
+    message(WARNING "-- CUDA is not detected by cmake. Building without it...")
   endif()

   # TODO: remove this not cross platform define in future. Use caffe_config.h instead.
@@ -111,14 +114,14 @@
     # Find the matching boost python implementation
     set(version ${PYTHONLIBS_VERSION_STRING})

-    STRING( REPLACE "." "" boost_py_version ${version} )
+    STRING( REGEX REPLACE "[^0-9]" "" boost_py_version ${version} )
     find_package(Boost 1.46 COMPONENTS "python-py${boost_py_version}")
     set(Boost_PYTHON_FOUND ${Boost_PYTHON-PY${boost_py_version}_FOUND})

     while(NOT "${version}" STREQUAL "" AND NOT Boost_PYTHON_FOUND)
       STRING( REGEX REPLACE "([0-9.]+).[0-9]+" "\\1" version ${version} )

-      STRING( REPLACE "." "" boost_py_version ${version} )
+      STRING( REGEX REPLACE "[^0-9]" "" boost_py_version ${version} )
       find_package(Boost 1.46 COMPONENTS "python-py${boost_py_version}")
       set(Boost_PYTHON_FOUND ${Boost_PYTHON-PY${boost_py_version}_FOUND})


Fix a typo in last commit.

Fix a typo in last commit.

--- indra/cmake/UI.cmake
+++ indra/cmake/UI.cmake
@@ -59,7 +59,7 @@
                    NO_DEFAULT_PATH
                    )
       set(UI_LIBRARIES ${UI_LIBRARIES} ${UI_LIB_${libname}})
-    endforeach(uilibname)
+    endforeach(libname)
     set(UI_LIBRARIES ${UI_LIBRARIES} Xinerama)
   endif (LINUX)


Adjust FindPython/Support.cmake for backport

--- cmake/FindPython/Support.cmake
+++ cmake/FindPython/Support.cmake
@@ -5,7 +5,11 @@
 # This file is a "template" file used by various FindPython modules.
 #

-cmake_policy (GET CMP0094 _${_PYTHON_PREFIX}_LOOKUP_POLICY)
+if(POLICY CMP0094)
+  cmake_policy (GET CMP0094 _${_PYTHON_PREFIX}_LOOKUP_POLICY)
+else()
+  set (_${_PYTHON_PREFIX}_FIND_STRATEGY "LOCATION")
+endif()

 cmake_policy (VERSION 3.7)


CMake: Updated library dependency info used for MSVC++.

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

--- cmake/modules/LLVMConfig.cmake
+++ cmake/modules/LLVMConfig.cmake
@@ -132,10 +132,11 @@

 set(MSVC_LIB_DEPS_LLVMARMAsmPrinter LLVMARMCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMARMCodeGen LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMAlpha LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMAlphaAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMAlphaCodeGen LLVMAlphaAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCBackend LLVMAnalysis LLVMCodeGen LLVMCore LLVMScalarOpts LLVMSupport LLVMTarget LLVMTransformUtils LLVMipa)
-set(MSVC_LIB_DEPS_LLVMCBase LLVMSupport)
-set(MSVC_LIB_DEPS_LLVMCellSPU LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMCellSPUAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMCellSPUCodeGen LLVMCellSPUAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMCppBackend LLVMCore LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMExecutionEngine LLVMCodeGen LLVMCore LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMJIT LLVMCodeGen LLVMCore LLVMSupport LLVMSystem LLVMTarget)
@@ -146,9 +147,11 @@
 set(MSVC_LIB_DEPS_LLVMPIC16 LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPowerPCAsmPrinter LLVMPowerPCCodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMPowerPCCodeGen LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMSystem LLVMTarget)
-set(MSVC_LIB_DEPS_LLVMSparc LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSparcAsmPrinter LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMSparcCodeGen LLVMSparcAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMX86AsmPrinter LLVMX86CodeGen LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMX86CodeGen LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
+set(MSVC_LIB_DEPS_LLVMXCore LLVMAsmPrinter LLVMCodeGen LLVMCore LLVMSelectionDAG LLVMSupport LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMAnalysis LLVMCore LLVMSupport LLVMSystem LLVMTarget)
 set(MSVC_LIB_DEPS_LLVMArchive LLVMBitReader LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMAsmParser LLVMCore LLVMSupport)
@@ -158,6 +161,7 @@
 set(MSVC_LIB_DEPS_LLVMCodeGen LLVMAnalysis LLVMCore LLVMScalarOpts LLVMSupport LLVMSystem LLVMTarget LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMDebugger LLVMAnalysis LLVMBitReader LLVMCore LLVMSupport LLVMSystem)
+set(MSVC_LIB_DEPS_LLVMHello LLVMCore LLVMSupport)
 set(MSVC_LIB_DEPS_LLVMInstrumentation LLVMCore LLVMScalarOpts LLVMSupport LLVMTransformUtils)
 set(MSVC_LIB_DEPS_LLVMLinker LLVMArchive LLVMBitReader LLVMCore LLVMSupport LLVMSystem)
 set(MSVC_LIB_DEPS_LLVMScalarOpts LLVMAnalysis LLVMCore LLVMSupport LLVMTarget LLVMTransformUtils)


[cmake] Add an optional message parameter to precondition to allow for more specific precondition messages.

--- cmake/modules/SwiftUtils.cmake
+++ cmake/modules/SwiftUtils.cmake
@@ -4,17 +4,25 @@
   cmake_parse_arguments(
     PRECONDITION # prefix
     "NEGATE" # options
-    "" # single-value args
+    "MESSAGE" # single-value args
     "" # multi-value args
     ${ARGN})

   if (PRECONDITION_NEGATE)
     if (${var})
-      message(FATAL_ERROR "Error! Variable ${var} is true.")
+      if (PRECONDITION_MESSAGE)
+        message(FATAL_ERROR "Error! ${PRECONDITION_MESSAGE}")
+      else()
+        message(FATAL_ERROR "Error! Variable ${var} is true.")
+      endif()
     endif()
   else()
     if (NOT ${var})
-      message(FATAL_ERROR "Error! Variable ${var} is false or not set.")
+      if (PRECONDITION_MESSAGE)
+        message(FATAL_ERROR "Error! ${PRECONDITION_MESSAGE}")
+      else()
+        message(FATAL_ERROR "Error! Variable ${var} is false or not set.")
+      endif()
     endif()
   endif()
 endfunction()


DEV-18513 - Don't fail if we have no debug FMOD libraries Reviewed by Poppy.

--- indra/cmake/FMOD.cmake
+++ indra/cmake/FMOD.cmake
@@ -1,4 +1,6 @@
 # -*- cmake -*-
+
+include(Linking)

 if(INSTALL_PROPRIETARY)
   include(Prebuilt)
@@ -9,22 +11,21 @@
              NAMES fmod fmodvc fmod-3.75
              PATHS
              ${ARCH_PREBUILT_DIRS_RELEASE}
-             ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/release
-             ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release
-             ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_release_client
              )

 find_library(FMOD_LIBRARY_DEBUG
              NAMES fmod fmodvc fmod-3.75
              PATHS
              ${ARCH_PREBUILT_DIRS_DEBUG}
-             ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib/debug
-             ${LIBS_PREBUILT_DIR}/${LL_ARCH_DIR}/lib_debug
              )

-if(FMOD_LIBRARY_RELEASE AND FMOD_LIBRARY_DEBUG)
-  set(FMOD_LIBRARY debug ${FMOD_LIBRARY_DEBUG} optimized ${FMOD_LIBRARY_RELEASE})
-endif(FMOD_LIBRARY_RELEASE AND FMOD_LIBRARY_DEBUG)
+if (FMOD_LIBRARY_RELEASE AND FMOD_LIBRARY_DEBUG)
+  set(FMOD_LIBRARY
+      debug ${FMOD_LIBRARY_DEBUG}
+      optimized ${FMOD_LIBRARY_RELEASE})
+elseif (FMOD_LIBRARY_RELEASE)
+  set(FMOD_LIBRARY ${FMOD_LIBRARY_RELEASE})
+endif (FMOD_LIBRARY_RELEASE AND FMOD_LIBRARY_DEBUG)

 if (NOT FMOD_LIBRARY)
   set(FMOD_SDK_DIR CACHE PATH "Path to the FMOD SDK.")


Update InstallArangoDBJSClient.cmake

Update InstallArangoDBJSClient.cmake

--- cmake/InstallArangoDBJSClient.cmake
+++ cmake/InstallArangoDBJSClient.cmake
@@ -39,6 +39,7 @@
   REGEX "^.*/.npmignore"                                   EXCLUDE
   REGEX "^.*/.bin"                                         EXCLUDE
   REGEX "^.*/.*-no-eslint"                                 EXCLUDE
+  REGEX "^.*js/node/package.*.json"                        EXCLUDE
 )

 install(


Change generate_root_dictionaries to take include_dirs as parameter

--- cmake/JPetFramework-Utilities.cmake
+++ cmake/JPetFramework-Utilities.cmake
@@ -14,7 +14,7 @@
 # EXCLUDE or limiting to these given after INCLUDE.
 #
 function(generate_root_dictionaries OUT_VAR)
-  cmake_parse_arguments(ARG "" "" "SOURCES;EXCLUDE;INCLUDE" ${ARGN})
+  cmake_parse_arguments(ARG "" "" "SOURCES;EXCLUDE;INCLUDE;INCLUDE_DIRS" ${ARGN})
   # generate ROOT dictionaries for all other source files
   foreach(source ${ARG_SOURCES})
     get_filename_component(name ${source} NAME)
@@ -44,8 +44,7 @@
       file(MAKE_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Dictionaries)
       set(dictionary
         ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/Dictionaries/${name}Dictionary)
-      get_directory_property(incdirs INCLUDE_DIRECTORIES)
-      set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${incdirs};/")
+      set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${ARG_INCLUDE_DIRS};/")
       string(REGEX REPLACE ^/ "" header "${header}")
       if(EXISTS ${linkdef})
         string(REGEX REPLACE ^/ "" linkdef "${linkdef}")
@@ -58,7 +57,7 @@
           OPTIONS -p
           )
       endif()
-      set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${incdirs}")
+      set_directory_properties(PROPERTIES INCLUDE_DIRECTORIES "${ARG_INCLUDE_DIRS}")
       list(APPEND dictionaries ${dictionary}.cxx)
     endif()
   endforeach()


Fix for cmake debugger

Fix for cmake debugger

--- cmake_modules/CMakeRunTargets.cmake
+++ cmake_modules/CMakeRunTargets.cmake
@@ -168,20 +168,21 @@
   COMMENT "Running: ${APP_NAME}")
   option(RUN_IN_DEBUGGER 0) # For next run
 else()
-  if(${ALLOSYSTEM_DEBUGGER} EQUALS "lldb")
-  add_custom_target("${APP_NAME}_run"
-	COMMAND "${ALLOSYSTEM_DEBUGGER}" "-ex" "${EXECUTABLE_OUTPUT_PATH}/${APP_NAME}"
-	DEPENDS "${APP_NAME}"
-	WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
-	SOURCES ${ALLOSYSTEM_APP_SRC}
-	COMMENT "Running: ${APP_NAME}")
-else()
-  add_custom_target("${APP_NAME}_run"
-	COMMAND "${ALLOSYSTEM_DEBUGGER}" "-ex" "run" "${EXECUTABLE_OUTPUT_PATH}/${APP_NAME}"
-	DEPENDS "${APP_NAME}"
-	WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
-	SOURCES ${ALLOSYSTEM_APP_SRC}
-	COMMENT "Running: ${APP_NAME}")
+  if(${ALLOSYSTEM_DEBUGGER} STREQUAL "lldb")
+	add_custom_target("${APP_NAME}_run"
+		COMMAND "${ALLOSYSTEM_DEBUGGER}" "-ex" "${EXECUTABLE_OUTPUT_PATH}/${APP_NAME}"
+		DEPENDS "${APP_NAME}"
+		WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+		SOURCES ${ALLOSYSTEM_APP_SRC}
+		COMMENT "Running: ${APP_NAME}")
+  else()
+		add_custom_target("${APP_NAME}_run"
+		COMMAND "${ALLOSYSTEM_DEBUGGER}" "-ex" "run" "${EXECUTABLE_OUTPUT_PATH}/${APP_NAME}"
+		DEPENDS "${APP_NAME}"
+		WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
+		SOURCES ${ALLOSYSTEM_APP_SRC}
+		COMMENT "Running: ${APP_NAME}")
+  endif()
 endif()

 endif(NOT RUN_IN_DEBUGGER)


Split off 7.8.52

Split off 7.8.52

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

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


Community Edition 3.8.0 Release Candidate 3

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

--- version.cmake
+++ version.cmake
@@ -6,5 +6,5 @@
 set ( HPCC_MINOR 8 )
 set ( HPCC_POINT 0 )
 set ( HPCC_MATURITY "rc" )
-set ( HPCC_SEQUENCE 2 )
+set ( HPCC_SEQUENCE 3 )
 ###


Nagios Monitoring 7.0.0-rc3 Release Candidate 3

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

--- version.cmake
+++ version.cmake
@@ -5,6 +5,6 @@
 set ( HPCC_MAJOR 7 )
 set ( HPCC_MINOR 0 )
 set ( HPCC_POINT 0 )
-set ( HPCC_MATURITY "trunk" )
-set ( HPCC_SEQUENCE 0 )
+set ( HPCC_MATURITY "rc" )
+set ( HPCC_SEQUENCE 3 )
 ###


Split off 7.12.52

Split off 7.12.52

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

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


Split off 8.6.44

Split off 8.6.44

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

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


[doxyrest] change version to 0.9

[doxyrest] change version to 0.9

--- version.cmake
+++ version.cmake
@@ -9,8 +9,8 @@
 #
 #...............................................................................

-set (DOXYREST_VERSION_MAJOR     1)
-set (DOXYREST_VERSION_MINOR     0)
+set (DOXYREST_VERSION_MAJOR     0)
+set (DOXYREST_VERSION_MINOR     9)
 set (DOXYREST_VERSION_REVISION  0)
 set (DOXYREST_VERSION_TAG)


Correct version number after upmerge

Correct version number after upmerge

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

--- version.cmake
+++ version.cmake
@@ -5,6 +5,6 @@
 set ( HPCC_MAJOR 6 )
 set ( HPCC_MINOR 0 )
 set ( HPCC_POINT 0 )
-set ( HPCC_MATURITY "closedown" )
+set ( HPCC_MATURITY "trunk" )
 set ( HPCC_SEQUENCE 0 )
 ###


Split off 8.4.4

Split off 8.4.4

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

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


Split off 7.10.16

Split off 7.10.16

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

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


Quote the environment property

Quote the environment property

--- conf/sprokit-macro-tests.cmake
+++ conf/sprokit-macro-tests.cmake
@@ -92,7 +92,7 @@
   if (sprokit_test_environment)
     set_tests_properties(test-${name}-${instance}
       PROPERTIES
-        ENVIRONMENT ${sprokit_test_environment})
+        ENVIRONMENT "${sprokit_test_environment}")
   endif ()
   if (SPROKIT_TEST_ADD_TARGETS)
     add_custom_target(test-${name}-${instance})


Update

Update

--- modules/cpp-optparse.cmake
+++ modules/cpp-optparse.cmake
@@ -5,7 +5,8 @@
   add_library(cpp-optparse ${SOURCE_FILES})
   if(MSVC)
     # C4244: 'conversion' conversion from 'type1' to 'type2', possible loss of data
-    set_target_properties(cpp-optparse PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS} /wd4244")
+    # C4996: <header> is removed in C++20
+    set_target_properties(cpp-optparse PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS} /wd4244 /wd4996")
   else()
     set_target_properties(cpp-optparse PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS}")
   endif()


comment out winpcap NSIS install step

comment out winpcap NSIS install step

--- Projects/win32/velodyneviewer.bundle.cmake
+++ Projects/win32/velodyneviewer.bundle.cmake
@@ -10,6 +10,7 @@
         DESTINATION "bin"
         COMPONENT "VelodyneViewer")

+if(0)
 SET(CPACK_NSIS_EXTRA_INSTALL_COMMANDS
   "MessageBox MB_YESNO \\\"Setup will now download/install WinPCAP. Do you want to install WinPCAP? It is needed for VeloView to work.\\\" /SD IDYES IDNO endActiveSync
 NSISdl::download http://www.winpcap.org/install/bin/WinPcap_4_1_2.exe $INSTDIR\\\\WinPcap_4_1_2.exe
@@ -18,6 +19,7 @@
 Goto endActiveSync
 endActiveSync:
 ")
+endif()

 # install python since (since python dlls are not in the install location)
 if (python_ENABLED AND NOT USE_SYSTEM_python)


Simplified directory list for resolving prerequisites

--- CMake/mitkMacroInstall.cmake
+++ CMake/mitkMacroInstall.cmake
@@ -98,13 +98,16 @@
     ENDIF()

     IF(\"${_install_GLOB_PLUGINS}\" STREQUAL \"TRUE\")
-      file(GLOB_RECURSE PLUGINS
+      file(GLOB_RECURSE GLOBBED_BLUEBERRY_PLUGINS
       # glob for all blueberry bundles of this application
       \"\${CMAKE_INSTALL_PREFIX}/${_bundle_dest_dir}/liborg*${CMAKE_SHARED_LIBRARY_SUFFIX}\"
+	  )
+      file(GLOB_RECURSE GLOBBED_QT_PLUGINS
       # glob for Qt plugins
-      \"\${CMAKE_INSTALL_PREFIX}/${${_target_location}_qt_plugins_install_dir}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
+      \"\${CMAKE_INSTALL_PREFIX}/${${_target_location}_qt_plugins_install_dir}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\"
+	  )
     ELSE()
-    file(GLOB_RECURSE PLUGINS
+    file(GLOB_RECURSE GLOBBED_QT_PLUGINS
       # glob for Qt plugins
       \"\${CMAKE_INSTALL_PREFIX}/${${_target_location}_qt_plugins_install_dir}/plugins/*${CMAKE_SHARED_LIBRARY_SUFFIX}\")
     ENDIF()
@@ -112,9 +115,11 @@
     # use custom version of BundleUtilities
     message(\"globbed plugins: \${PLUGINS}\")
     SET(PLUGIN_DIRS ${DIRS})
-    LIST(APPEND PLUGINS ${_install_PLUGINS})
-    list(REMOVE_DUPLICATES PLUGINS)
-    foreach(_plugin \${PLUGINS})
+    SET(PLUGINS ${_install_PLUGINS})
+    if (PLUGINS)
+	  list(REMOVE_DUPLICATES PLUGINS)
+	endif (PLUGINS)
+    foreach(_plugin \${GLOBBED_BLUEBERRY_PLUGINS})
       get_filename_component(_pluginpath \${_plugin} PATH)
       list(APPEND PLUGIN_DIRS \${_pluginpath})
       list(REMOVE_DUPLICATES PLUGIN_DIRS)


If atom type is not explicit, assume its a link.

Its kind of a hack, but I don't know what else to do.  I want to break
out of the long-name convention, its very verbose..

--- lib/OpenCogAtomTypes.cmake
+++ lib/OpenCogAtomTypes.cmake
@@ -119,6 +119,13 @@
             FILE(APPEND "${SCM_FILE}" "\t(apply cog-new-link (append (list '${TYPE_NAME}) x)))\n")
         ENDIF (ISLINK STREQUAL "LINK")

+        # If not named as a node or a link, assume its a link
+        # This is kind of hacky, but I don't know what else to do ...
+        IF (NOT ISNODE STREQUAL "NODE" AND NOT ISLINK STREQUAL "LINK")
+            FILE(APPEND "${SCM_FILE}" "(define (${TYPE_NAME} . x)\n")
+            FILE(APPEND "${SCM_FILE}" "\t(apply cog-new-link (append (list '${TYPE_NAME}) x)))\n")
+        ENDIF (NOT ISNODE STREQUAL "NODE" AND NOT ISLINK STREQUAL "LINK")
+
         IF (PARENT_TYPES)
             STRING(REGEX REPLACE "[ 	]*,[ 	]*" ";" PARENT_TYPES "${PARENT_TYPES}")
             FOREACH (PARENT_TYPE ${PARENT_TYPES})


Build: enable parallel compilation when using visual studio (#3571)

Cmake-generated visual studio project files were using just one CPU core for all the compilation, which is not terribly fast. Add the `/MP` option so that it compiles separate .cpp files in parallel. On my (16 core, 32 thread) machine this makes a Release build of OpenImageIO.lib go from 136 sec down to 30 sec.

--- src/cmake/compiler.cmake
+++ src/cmake/compiler.cmake
@@ -188,6 +188,7 @@
 if (MSVC)
     # Microsoft specific options
     add_compile_options (/W1)
+    add_compile_options (/MP)
     add_definitions (-D_CRT_SECURE_NO_DEPRECATE)
     add_definitions (-D_CRT_SECURE_NO_WARNINGS)
     add_definitions (-D_CRT_NONSTDC_NO_WARNINGS)


Split off 8.0.22

Split off 8.0.22

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

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


Split off 7.12.84

Split off 7.12.84

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

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


Graph Control 4.0.2-rc2 Release Candidate 2

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

--- version.cmake
+++ version.cmake
@@ -6,7 +6,7 @@
 set ( HPCC_MINOR 0 )
 set ( HPCC_POINT 2 )
 set ( HPCC_MATURITY "rc" )
-set ( HPCC_SEQUENCE 1 )
+set ( HPCC_SEQUENCE 2 )
 ###
 IF ( ${HPCC_POINT} GREATER 65 )
   error ( "HPCC_POINT must be less than 66." )


Split off 7.4.0

Split off 7.4.0

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

--- version.cmake
+++ version.cmake
@@ -3,8 +3,8 @@
 ###
 set ( HPCC_PROJECT "community" )
 set ( HPCC_MAJOR 7 )
-set ( HPCC_MINOR 0 )
+set ( HPCC_MINOR 4 )
 set ( HPCC_POINT 0 )
-set ( HPCC_MATURITY "release" )
-set ( HPCC_SEQUENCE 1 )
+set ( HPCC_MATURITY "rc" )
+set ( HPCC_SEQUENCE 2 )
 ###


Split off 7.6.16

Split off 7.6.16

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

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


Remove libs from clang-format

Remove libs from clang-format

--- src/cmake/clang-cxx-dev-tools.cmake
+++ src/cmake/clang-cxx-dev-tools.cmake
@@ -1,9 +1,14 @@
 # Additional targets to perform clang-format/clang-tidy
 # Get all project files
+
+set(SRC_DIRS "apps;core")
+set(ALL_CXX_SOURCE_FILES "")
+foreach("dir" ${SRC_DIRS})
 file(GLOB_RECURSE
     ALL_CXX_SOURCE_FILES
-    *.[chi]pp *.[chi]xx *.cc *.hh *.ii *.[CHI] *.[chi]
-    )
+    ${ALL_CXX_SOURCE_FILES} ${dir}/*.[chi]pp ${dir}/*.[chi]xx ${dir}/*.cc ${dir}/*.hh ${dir}/*.ii ${dir}/*.[CHI] ${dir}/*.[chi]
+)
+endforeach()

 # Adding clang-format target if executable is found
 find_program(CLANG_FORMAT "clang-format")
@@ -18,6 +23,7 @@
 endif()

 # Adding clang-tidy target if executable is found
+# todo(hugbed): does not really work (include errors)
 find_program(CLANG_TIDY "clang-tidy")
 if(CLANG_TIDY)
     add_custom_target(
@@ -27,6 +33,6 @@
         -config=''
         --
         -std=c++11
-        ${INCLUDE_DIRECTORIES}
+        -I${INCLUDE_DIRECTORIES}
     )
 endif()


Adios is built as static library

Adios is built as static library

--- CMakeExternals.cmake
+++ CMakeExternals.cmake
@@ -106,18 +106,18 @@
     endif()

     if(WIN32)
-      set(ADIOS2_IMPORT_LIB "lib/adios2.lib")
-      set(ADIOS2_LIB "bin/adios2.dll")
-    else()
-      include(GNUInstallDirs)
-      set(ADIOS2_LIB "${CMAKE_INSTALL_LIBDIR}/libadios2.so")
-    endif()
-
-    add_external_project(adios2 SHARED
+      set(ADIOS2_LIB "lib/adios2.lib")
+    else()
+      include(GNUInstallDirs)
+      set(ADIOS2_LIB "${CMAKE_INSTALL_LIBDIR}/libadios2.a")
+    endif()
+
+    add_external_project(adios2 STATIC
       GIT_REPOSITORY https://github.com/ornladios/ADIOS2.git
       GIT_TAG "v2.4.0"
-      BUILD_BYPRODUCTS "<INSTALL_DIR>/${ADIOS2_LIB}" "<INSTALL_DIR>/${ADIOS2_IMPORT_LIB}"
+      BUILD_BYPRODUCTS "<INSTALL_DIR>/${ADIOS2_LIB}"
       CMAKE_ARGS
+        -DBUILD_SHARED_LIBS=OFF
         -DBUILD_TESTING=OFF
         -DADIOS2_USE_BZip2=OFF
         -DADIOS2_USE_Fortran=OFF
@@ -132,7 +132,6 @@
         -DMPI_GUESS_LIBRARY_NAME=${MPI_GUESS_LIBRARY_NAME})

     add_external_library(adios2
-      IMPORT_LIBRARY ${ADIOS2_IMPORT_LIB}
       LIBRARY ${ADIOS2_LIB})

   # bhtsne


Changed from PACKAGE_DEPENDS to CPACK_DEBIAN_PACKAGE_DEPENDS

--- linux/cmake/DpkgDeb.cmake
+++ linux/cmake/DpkgDeb.cmake
@@ -19,7 +19,7 @@
 #
 # -- OPTIONAL Variables
 # Architecture: ${DEBIAN_ARCHITECTURE}, by default i386 for intel on debian like
-# Depends: ${PACKAGE_DEPENDS}
+# Depends: ${CPACK_DEBIAN_PACKAGE_DEPENDS}
 # Section: ${PACKAGE_SECTION}
 # Priority: ${PACKAGE_PRIORITY}
 # Essential: ${PACKAGE_ESSENTIAL}
@@ -88,12 +88,12 @@
         ARGS      -E echo "Architecture: ${DEBIAN_ARCHITECTURE}" >> ${CONTROL_FILE}
       )

-      IF ( DEFINED PACKAGE_DEPENDS )
-        ADD_CUSTOM_COMMAND( OUTPUT ${CONTROL_FILE}
-          COMMAND   ${CMAKE_COMMAND} -E echo
-           "Depends: ${PACKAGE_DEPENDS}" >> ${CONTROL_FILE}
+      IF ( DEFINED CPACK_DEBIAN_PACKAGE_DEPENDS )
+        ADD_CUSTOM_COMMAND( OUTPUT ${CONTROL_FILE}
+          COMMAND   ${CMAKE_COMMAND} -E echo
+           "Depends: ${CPACK_DEBIAN_PACKAGE_DEPENDS}" >> ${CONTROL_FILE}
           APPEND )
-      ENDIF ( DEFINED PACKAGE_DEPENDS )
+      ENDIF ( DEFINED CPACK_DEBIAN_PACKAGE_DEPENDS )

       IF ( DEFINED PACKAGE_SECTION )
         ADD_CUSTOM_COMMAND( OUTPUT ${CONTROL_FILE}


COMP (#1802): remove work in progress class InternalTrackingTool from files.cmake

--- Core/IGT/files.cmake
+++ Core/IGT/files.cmake
@@ -14,7 +14,7 @@

   IGTTrackingDevices/mitkClaronTool.cpp
   IGTTrackingDevices/mitkClaronTrackingDevice.cpp
-  IGTTrackingDevices/mitkInternalTrackingTool.cpp
+  # IGTTrackingDevices/mitkInternalTrackingTool.cpp  ## work in progress
   IGTTrackingDevices/mitkTrackingDevice.cpp
   IGTTrackingDevices/mitkTrackingTool.cpp
   IGTTrackingDevices/mitkTrackingVolume.cpp


Update aurora.cmake

Update aurora.cmake

--- libnd4j/cmake/aurora.cmake
+++ libnd4j/cmake/aurora.cmake
@@ -1,5 +1,5 @@
 # takes NMPI_ROOT and NLC_ROOT from environment
-SET(CMAKE_SYSTEM_NAME Generic)
+SET(CMAKE_SYSTEM_NAME Aurora-VE)

 SET(CMAKE_Fortran_COMPILER /opt/nec/ve/bin/nfort CACHE FILEPATH "Aurora Fortran compiler")
 SET(CMAKE_CXX_COMPILER /opt/nec/ve/bin/nc++ CACHE FILEPATH "Aurora C++ compiler")


set up targets correctly when py++ is not installed

--HG--
extra : convert_revision : 9e0cace9138619dfcd23aa236d0760826d2837e1

--- trunk/CMakeModules/PythonBindingsUtils.cmake
+++ trunk/CMakeModules/PythonBindingsUtils.cmake
@@ -15,6 +15,18 @@

 if(PYTHON_FOUND AND Boost_PYTHON_LIBRARY)
 	include_directories(${PYTHON_INCLUDE_DIRS})
+	# make sure target is defined only once
+	get_target_property(_target py_ompl EXCLUDE_FROM_ALL)
+	if(NOT _target)
+		# top-level target for compiling python modules
+		add_custom_target(py_ompl)
+	endif()
+	set(PY_OMPL_COMPILE ON CACHE BOOL
+		"Whether the OMPL Python modules can be built")
+	mark_as_advanced(PY_OMPL_COMPILE)
+endif()
+if(PYTHON_FOUND AND Boost_PYTHON_LIBRARY AND PY_PYPLUSPLUS
+	AND PY_PYGCCXML AND GCCXML)
 	# make sure targets are defined only once
 	get_target_property(_target generate_headers EXCLUDE_FROM_ALL)
 	if(NOT _target)
@@ -22,18 +34,6 @@
 		add_custom_target(generate_headers)
 		# top-level target for regenerating code for all python modules
 		add_custom_target(update_bindings)
-	endif()
-	set(PY_OMPL_COMPILE ON CACHE BOOL
-		"Whether the OMPL Python modules can be built")
-	mark_as_advanced(PY_OMPL_COMPILE)
-endif()
-if(PYTHON_FOUND AND Boost_PYTHON_LIBRARY AND PY_PYPLUSPLUS
-	AND PY_PYGCCXML AND GCCXML)
-	# make sure target is defined only once
-	get_target_property(_target py_ompl EXCLUDE_FROM_ALL)
-	if(NOT _target)
-		# top-level target for compiling python modules
-		add_custom_target(py_ompl)
 	endif()
 	set(PY_OMPL_GENERATE ON CACHE BOOL
 		"Whether the C++ code for the OMPL Python module can be generated")


:bug: when EXTERNAL_ROOT is not an absolute path

CMake does not expand "~/" unless requested.
This lead to issues when installing python packages via easy_install.

--- scripts/PythonPackageLookup.cmake
+++ scripts/PythonPackageLookup.cmake
@@ -59,6 +59,8 @@
         return()
     endif()

+    get_filename_component(lpp_PATH "${lpp_PATH}" ABSOLUTE)
+    get_filename_component(EXTERNAL_ROOT "${EXTERNAL_ROOT}" ABSOLUTE)
     if(NOT EXISTS "${lpp_PATH}")
         file(MAKE_DIRECTORY "${lpp_PATH}")
     endif()


we don't use OpenMP. List libqd0 alternative as package-dependecy also

--- src/package_details.cmake
+++ src/package_details.cmake
@@ -11,18 +11,16 @@

 # the debian source-package builder wants dependencies as an array
 set(DEBSRC_BUILD_DEPENDS debhelper python git cmake libboost-dev "libqd0 | libqd2c2a" libqd-dev libboost-python-dev libgomp1 CACHE STRINGS "name")
-set(DEBSRC_PACKAGE_DEPENDS python git cmake libboost-python libqd0 libgomp1 CACHE STRING "name")
+set(DEBSRC_PACKAGE_DEPENDS python git cmake libboost-python "libqd0 | libqd2c2a" CACHE STRING "name")

 # however CPack wants dependencies as a single comma separated string!
 set(CPACK_DEBIAN_PACKAGE_DEPENDS)
 foreach(DEP ${DEBSRC_PACKAGE_DEPENDS})
-    #MESSAGE(STATUS "   package-depency: " ${DEP})
     set(CPACK_DEBIAN_PACKAGE_DEPEND "${CPACK_DEBIAN_PACKAGE_DEPENDS}, ${DEP}")
 endforeach(DEP ${DEBSRC_PACKAGE_DEPENDS})

 set(CPACK_DEBIAN_BUILD_DEPENDS)
 foreach(DEP ${DEBSRC_BUILD_DEPENDS})
-    #MESSAGE(STATUS "   package-depency: " ${DEP})
     set(CPACK_DEBIAN_BUILD_DEPENDS "${CPACK_DEBIAN_BUILD_DEPENDS}, ${DEP}")
 endforeach(DEP ${DEBSRC_BUILD_DEPENDS})


Fix tests to work with Coverage 4.0

Fix tests to work with Coverage 4.0

Per the change:
https://github.com/nedbat/coveragepy/commit/a2a2c1f3f41b0fc4afef0fe221499aedca343de8
Coverage can't append to data files in parallel mode.

This change removes the "--append" flag when running Coverage.

--- tests/PythonTests.cmake
+++ tests/PythonTests.cmake
@@ -95,7 +95,7 @@
     add_test(
       NAME ${name}
       WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
-      COMMAND "${PYTHON_COVERAGE_EXECUTABLE}" run -p --append "--rcfile=${py_coverage_rc}"
+      COMMAND "${PYTHON_COVERAGE_EXECUTABLE}" run --parallel-mode "--rcfile=${py_coverage_rc}"
               "--source=girder,${PROJECT_SOURCE_DIR}/clients/python/girder_client${other_covg}"
               -m unittest -v ${module}
     )


Disabled UbSan checking.

Disabled UbSan checking.

--- run_ctest.cmake
+++ run_ctest.cmake
@@ -354,11 +354,12 @@
 # Dynamic analysis (UBSan)
 # UBan was introduced in GCC 4.9 / Clang 3.3
 # UBSan respects log_path starting Clang 3.7
+# Disabled because it does not produce output if not encountering any errors
 if(CC_NAME STREQUAL "clang")
     if(CC_VERSION VERSION_GREATER 3.7 OR CC_VERSION VERSION_EQUAL 3.7)
         if(CC_UBSAN GREATER 0)
-            set(CTEST_MEMORYCHECK_TYPE "UndefinedBehaviorSanitizer")
-            set(CC_UBSAN_FLAGS "-fsanitize=undefined,integer -fno-sanitize=vptr,return")
+            #set(CTEST_MEMORYCHECK_TYPE "UndefinedBehaviorSanitizer")
+            #set(CC_UBSAN_FLAGS "-fsanitize=undefined,integer -fno-sanitize=vptr,return")
         endif()
     endif()
 endif()


COMP: Added vnl/vnl_vector_fixed.h to wrap includes for bug 9136

--- Wrapping/WrapITK/Modules/VXLNumerics/wrap_vnl_matrix_fixed.cmake
+++ Wrapping/WrapITK/Modules/VXLNumerics/wrap_vnl_matrix_fixed.cmake
@@ -1,6 +1,7 @@
 # auto include feature must be disable because the class is not in the file
 # with the same name
 SET(WRAPPER_AUTO_INCLUDE_HEADERS OFF)
+WRAP_INCLUDE("vnl/vnl_vector_fixed.h")
 WRAP_INCLUDE("vnl/vnl_matrix_fixed.h")

 WRAP_CLASS("vnl_matrix_fixed")


Fix cmake for windows.

Fix cmake for windows.

--- setup.cmake
+++ setup.cmake
@@ -19,7 +19,7 @@
 ENDIF(${CMAKE_SYSTEM_NAME} MATCHES "Linux")
 IF(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 #WINDOWS VISUAL STUDIO
-add_compile_options(/W4 /sdl /WX /MP)
+add_compile_options(/W4 /sdl /WX /MP /std:c++latest)
 set (CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR})
 ELSE(${CMAKE_SYSTEM_NAME} MATCHES "Windows")
 #LINUX OR OSX


XP_CMAKE_REPO_INSYNC: GLOB_RECURSE

XP_CMAKE_REPO_INSYNC: GLOB_RECURSE

* so additional files in subdirectories of .devcontainer are known to cmake

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -1052,7 +1052,7 @@
         list(APPEND masterSrcList ${crFiles})
       endif()
       if(EXISTS ${_dir}/.devcontainer)
-        file(GLOB dcFiles "${_dir}/.devcontainer/*")
+        file(GLOB_RECURSE dcFiles "${_dir}/.devcontainer/*")
         source_group(".devcontainer" FILES ${dcFiles})
         list(APPEND masterSrcList ${dcFiles})
       endif()


option to not append project to README

option to not append project to README

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -581,7 +581,7 @@
 endfunction()

 function(ipMarkdownPro)
-  set(options GRAPH)
+  set(options GRAPH NO_README)
   set(oneValueArgs NAME DESC VER GIT_REF GIT_TAG SUPERPRO DIFF PATCH GRAPH_NODE GRAPH_SHAPE GRAPH_LABEL)
   set(multiValueArgs WEB LICENSE REPO BUILD_DEPS)
   cmake_parse_arguments(P "${options}" "${oneValueArgs}" "${multiValueArgs}" ${ARGN})
@@ -632,7 +632,7 @@
         )
     endif()
     file(APPEND ${g_READMEsub} "|${P_SUPERPRO}|${web}|${desc}|${ver}|${repo}|${diff}|\n")
-  else()
+  elseif(NOT P_NO_README)
     file(APPEND ${g_README} "|${web}|${lic}|${desc}|${ver}|${repo}|${diff}|\n")
   endif()
   if(P_GRAPH)


added REQUIRED and QUIET tests removed FATAL_ERRORs if Java not REQUIRED

--- FindJAVA.cmake
+++ FindJAVA.cmake
@@ -30,7 +30,9 @@
     NOT DEFINED JAVA_HOME AND
     NOT DEFINED JDK_HOME )

-    MESSAGE( STATUS "Autodetecting Java..." )
+    IF( NOT JAVA_FIND_QUIETLY )
+        MESSAGE( STATUS "Autodetecting Java..." )
+    ENDIF()

     # use the CMake FindJava.cmake module
     FIND_PACKAGE( Java )
@@ -48,29 +50,45 @@
             MARK_AS_ADVANCED( FILE_BIN )

             IF( FILE_BIN )
-                # initialize flow-control variable
+
+                # initialize some variables
+                SET( java_bin "${JAVA_RUNTIME}" )
                 SET( java_link_found TRUE )
-                MARK_AS_ADVANCED( java_link_found )
+                SET( java_link_error FALSE )
+                MARK_AS_ADVANCED( java_bin java_link_found java_link_error )

                 # dereference links
-                WHILE( java_link_found )
+                WHILE( java_link_found AND NOT java_link_error )
                     # check if the java binary is a symbolic link
-                    EXEC_PROGRAM( ${FILE_BIN} ARGS "${JAVA_RUNTIME}"
+                    EXEC_PROGRAM( ${FILE_BIN} ARGS "${java_bin}"
                         OUTPUT_VARIABLE out_tmp
                         RETURN_VALUE out_ret )
                     IF( out_ret )
-                        MESSAGE( STATUS "Error dereferencing links to Java Home!!" )
-                        MESSAGE( FATAL_ERROR "${out_tmp}" )
+                        IF( NOT JAVA_FIND_QUIETLY )
+                            MESSAGE( STATUS "Error dereferencing links to Java Home!!" )
+                            MESSAGE( STATUS "${out_tmp}" )
+                        ENDIF()
+                        SET( java_link_error TRUE )
                     ENDIF()
-                    # set variable if link is found
-                    STRING( REGEX MATCH " symbolic link to " java_link_found "${out_tmp}" )
-                    IF( java_link_found )
-                        # get the file to where the link points to
-                        STRING( REGEX REPLACE ".* symbolic link to (.*)" "\\1" out_regex "${out_tmp}" )
-                        MESSAGE( STATUS "Java binary ${JAVA_RUNTIME} is a symbolic link to ${out_regex}" )
-                        SET( JAVA_RUNTIME "${out_regex}" )
+                    IF( NOT java_link_error )
+                        # set variable if link is found
+                        STRING( REGEX MATCH " symbolic link to " java_link_found "${out_tmp}" )
+                        IF( java_link_found )
+                            # get the file to where the link points to
+                            STRING( REGEX REPLACE ".* symbolic link to (.*)" "\\1" out_regex "${out_tmp}" )
+                            IF( NOT JAVA_FIND_QUIETLY )
+                                MESSAGE( STATUS "Java binary ${java_bin} is a symbolic link to ${out_regex}" )
+                            ENDIF()
+                            SET( java_bin "${out_regex}" )
+                        ENDIF()
                     ENDIF()
                 ENDWHILE()
+
+                # check if something went wrong
+                IF( NOT java_link_error )
+                    # if not set JAVA_RUNTIME to the dereferenced link
+                    SET( JAVA_RUNTIME "${java_bin}" )
+                ENDIF()
             ENDIF()
         ENDIF()

@@ -79,7 +97,9 @@
         # extract java bin path out of full path to java runtime
         STRING( REGEX REPLACE "(.*)\\/java$" "\\1" JAVA_BIN_PATH ${JAVA_RUNTIME} )
     ELSE()
-        MESSAGE( STATUS "Failed to autodetect Java!!" )
+        IF( NOT JAVA_FIND_QUIETLY )
+            MESSAGE( STATUS "Failed to autodetect Java!!" )
+        ENDIF()
     ENDIF()
 ELSE()
     # definition of JAVA_HOME or JDK_HOME in cmake has priority over env vars
@@ -87,12 +107,13 @@
         # ensure that both variables are set correctly (JDK_HOME as well as JAVA_HOME)
         IF( DEFINED JDK_HOME AND DEFINED JAVA_HOME )
             IF( NOT "${JDK_HOME}" STREQUAL "${JAVA_HOME}" )
-                MESSAGE( STATUS
-                    "JDK_HOME and JAVA_HOME are set to different paths!!" )
-                MESSAGE( STATUS "JDK_HOME: ${JDK_HOME}" )
-                MESSAGE( STATUS "JAVA_HOME: ${JAVA_HOME}" )
-                MESSAGE( FATAL_ERROR
-                    "Please unset one of them or set both correctly!!" )
+                IF( NOT JAVA_FIND_QUIETLY )
+                    MESSAGE( STATUS
+                        "WARNING: JDK_HOME and JAVA_HOME are set to different paths!!" )
+                    MESSAGE( STATUS "JDK_HOME: ${JDK_HOME}" )
+                    MESSAGE( STATUS "JAVA_HOME: ${JAVA_HOME}" )
+                    MESSAGE( STATUS "${JAVA_HOME} will be used in this installation!!" )
+                ENDIF()
             ENDIF()
         ELSE()
             IF( NOT DEFINED JAVA_HOME )
@@ -104,19 +125,21 @@
         # are set correctly (JDK_HOME as well as JAVA_HOME)
         IF( DEFINED ENV{JDK_HOME} AND DEFINED ENV{JAVA_HOME} )
             IF( NOT "$ENV{JDK_HOME}" STREQUAL "$ENV{JAVA_HOME}" )
-                MESSAGE( STATUS
-                    "JDK_HOME and JAVA_HOME are set to different paths!!" )
-                MESSAGE( STATUS "JDK_HOME: $ENV{JDK_HOME}" )
-                MESSAGE( STATUS "JAVA_HOME: $ENV{JAVA_HOME}" )
-                MESSAGE( FATAL_ERROR
-                    "Please unset one of them or set both correctly!!" )
-            ENDIF()
+                IF( NOT JAVA_FIND_QUIETLY )
+                    MESSAGE( STATUS
+                        "WARNING: JDK_HOME and JAVA_HOME are set to different paths!!" )
+                    MESSAGE( STATUS "JDK_HOME: $ENV{JDK_HOME}" )
+                    MESSAGE( STATUS "JAVA_HOME: $ENV{JAVA_HOME}" )
+                    MESSAGE( STATUS "$ENV{JAVA_HOME} will be used in this installation!!" )
+                ENDIF()
+            ENDIF()
+            SET( JAVA_HOME "$ENV{JAVA_HOME}" )
         ELSE()
+            IF( DEFINED ENV{JAVA_HOME} )
+                SET( JAVA_HOME "$ENV{JAVA_HOME}" )
+            ENDIF()
             IF( DEFINED ENV{JDK_HOME} )
                 SET( JAVA_HOME "$ENV{JDK_HOME}" )
-            ENDIF()
-            IF( DEFINED ENV{JAVA_HOME} )
-                SET( JAVA_HOME "$ENV{JAVA_HOME}" )
             ENDIF()
         ENDIF()
     ENDIF()
@@ -155,16 +178,16 @@
             NO_DEFAULT_PATH )

         # abort if not found
-        IF( NOT JAVA_RUNTIME )
+        IF( NOT JAVA_RUNTIME AND NOT JAVA_FIND_QUIETLY )
             MESSAGE( STATUS "Could not find java!!" )
         ENDIF()
-        IF( NOT JAVA_COMPILE )
+        IF( NOT JAVA_COMPILE AND NOT JAVA_FIND_QUIETLY )
             MESSAGE( STATUS "Could not find javac!!" )
         ENDIF()
-        IF( NOT JAVA_ARCHIVE )
+        IF( NOT JAVA_ARCHIVE AND NOT JAVA_FIND_QUIETLY )
             MESSAGE( STATUS "Could not find jar!!" )
         ENDIF()
-        IF( NOT JAVA_DOC )
+        IF( NOT JAVA_DOC AND NOT JAVA_FIND_QUIETLY )
             MESSAGE( STATUS "Could not find javadoc!!" )
         ENDIF()
     ENDIF()
@@ -180,7 +203,9 @@
             RETURN_VALUE out_ret )

     IF( out_ret )
-        MESSAGE( STATUS "Error executing java -version!!" )
+        IF( NOT JAVA_FIND_QUIETLY )
+            MESSAGE( STATUS "Error executing java -version!! Java version variables will not be set!!" )
+        ENDIF()
     ELSE()
         # extract major/minor version and patch level from "java -version" output
         STRING( REGEX REPLACE ".* version \"([0-9]+)\\.[0-9]+\\.[0-9]+.*"
@@ -195,5 +220,12 @@
         # display info
         MESSAGE( STATUS "Java version ${JAVA_VERSION} configured successfully!" )
     ENDIF()
+ELSE()
+    IF( JAVA_FIND_REQUIRED )
+        MESSAGE( FATAL_ERROR "Failed configuring Java!!" )
+    ENDIF()
+    IF( NOT JAVA_FIND_QUIETLY )
+        MESSAGE( STATUS "Failed configuring Java!!" )
+    ENDIF()
 ENDIF()


Alphabetizing filter list for documentation purposes.

--- ImageProcessingFilters/SourceList.cmake
+++ ImageProcessingFilters/SourceList.cmake
@@ -15,10 +15,14 @@
 set(_PublicFilters
   #AlignSectionsPhaseCorrelation
   AutoThreshold
+  BinaryWatershedLabeled
   ConvertArrayTo8BitImage
   ConvertArrayTo8BitImageAttributeMatrix
+  DetermineStitchingCoordinatesGeneric
   DiscreteGaussianBlur
+  FindMaxima
   GaussianBlur
+  GrayToRGB
   HoughCircles
   ImageCalculator
   ImageMath
@@ -28,17 +32,13 @@
   MeanKernel
   MedianKernel
   MultiOtsuThreshold
+  #RegionGrowing
+  RGBToGray
+  ReadImage
   SobelEdge
+  StitchImages
   Watershed
   WriteImage
-  ReadImage
-  #RegionGrowing
-  RGBToGray
-  GrayToRGB
-  FindMaxima
-  BinaryWatershedLabeled
-  DetermineStitchingCoordinatesGeneric
-  StitchImages
 )


Deactivate mitkToFImageRecorderTest

Deactivate mitkToFImageRecorderTest

--- Modules/ToFHardware/Testing/files.cmake
+++ Modules/ToFHardware/Testing/files.cmake
@@ -19,7 +19,7 @@
   mitkToFCameraPMDPlayerDeviceTest.cpp
   mitkToFImageCsvWriterTest.cpp
   mitkToFImageGrabberTest.cpp
-  mitkToFImageRecorderTest.cpp
+  #mitkToFImageRecorderTest.cpp
   mitkToFImageRecorderFilterTest.cpp
   mitkToFImageWriterTest.cpp
   mitkToFNrrdImageWriterTest.cpp


COMP: Update SimpleITKFilters for dependency issues

Add GoogleTest module dependency. Move usage of data from the
ITK_DATA_ROOT, to hash files in this repository.

Change-Id: I33fe7b59ac3d462d600a795135b0d0c3244f6b72

--- Modules/Remote/SimpleITKFilters.remote.cmake
+++ Modules/Remote/SimpleITKFilters.remote.cmake
@@ -5,5 +5,5 @@
   implementations designed for SimpleITK's requirements. Currently it
   contains a discrete hessian, and a composite filter to compute objectness."
   GIT_REPOSITORY ${git_protocol}://github.com/SimpleITK/ITKSimpleITKFilters.git
-  GIT_TAG a1698352ab83cffd0a06a6d97116b48650a3edbd
+  GIT_TAG 5f33d89915528b32f0b67f3c05497a91bfe54a9c
   )


Tweak coverage settings

Tweak coverage settings

--- Coverage.cmake
+++ Coverage.cmake
@@ -88,7 +88,7 @@
   if(NOT TARGET ${PROJECT_NAME}-lcov-remove)
     get_property(GENERATED_FILES GLOBAL PROPERTY COMMON_GENERATED_FILES)
     add_custom_target(${PROJECT_NAME}-lcov-remove
-      COMMAND ${LCOV} -q --remove lcov.info 'tests/*' '*.l' 'CMake/test/*'
+      COMMAND ${LCOV} -q --remove lcov.info '*.l' 'CMake/test/*'
         '*/install/*' 'moc_*' 'qrc_*' ${GENERATED_FILES} ${LCOV_EXCLUDE}
         --output-file lcov2.info
       COMMENT "Cleaning up code coverage counters"


Changed dashboard default directory to dashboard_tests

--- rtk_common.cmake
+++ rtk_common.cmake
@@ -19,14 +19,14 @@
 #   ctest -S ~/Dashboards/Scripts/my_dashboard.cmake -V
 #
 # By default the source and build trees will be placed in the path
-# "../My Tests/" relative to your script location.
+# "../dashboard_tests/" relative to your script location.
 #
 # The following variables may be set before including this script
 # to configure it:
 #
 #   dashboard_model           = Nightly | Experimental | Continuous
 #   dashboard_loop            = Repeat until N seconds have elapsed
-#   dashboard_root_name       = Change name of "My Tests" directory
+#   dashboard_root_name       = Change name of "dashboard_tests" directory
 #   dashboard_source_name     = Name of source directory (RTK)
 #   dashboard_binary_name     = Name of binary directory (RTK-build)
 #   dashboard_data_name       = Name of ExternalData store (ExternalData)
@@ -76,7 +76,7 @@

 # Select the top dashboard directory.
 if(NOT DEFINED dashboard_root_name)
-  set(dashboard_root_name "My Tests")
+  set(dashboard_root_name "dashboard_tests")
 endif()
 if(NOT DEFINED CTEST_DASHBOARD_ROOT)
   get_filename_component(CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}/../${dashboard_root_name}" ABSOLUTE)