Avoid creating nmake inference rule problems

--- cmake/test/tests.cmake
+++ cmake/test/tests.cmake
@@ -43,17 +43,17 @@
   if(NOT TARGET run_tests_${PROJECT_NAME})
     add_custom_target(run_tests_${PROJECT_NAME})
     # create hidden meta target which depends on hidden test targets which depend on clean_test_results
-    add_custom_target(.run_tests_${PROJECT_NAME})
+    add_custom_target(_run_tests_${PROJECT_NAME})
     # run_tests depends on this hidden target hierarchy to clear test results before running all tests
-    add_dependencies(run_tests .run_tests_${PROJECT_NAME})
+    add_dependencies(run_tests _run_tests_${PROJECT_NAME})
   endif()
   # create meta target to trigger all tests of a specific type of a project
   if(NOT TARGET run_tests_${PROJECT_NAME}_${type})
     add_custom_target(run_tests_${PROJECT_NAME}_${type})
     add_dependencies(run_tests_${PROJECT_NAME} run_tests_${PROJECT_NAME}_${type})
     # hidden meta target which depends on hidden test targets which depend on clean_test_results
-    add_custom_target(.run_tests_${PROJECT_NAME}_${type})
-    add_dependencies(.run_tests_${PROJECT_NAME} .run_tests_${PROJECT_NAME}_${type})
+    add_custom_target(_run_tests_${PROJECT_NAME}_${type})
+    add_dependencies(_run_tests_${PROJECT_NAME} _run_tests_${PROJECT_NAME}_${type})
   endif()
   # create target for test execution
   set(results ${CATKIN_TEST_RESULTS_DIR}/${PROJECT_NAME}/${xunit_filename})
@@ -70,8 +70,8 @@
     add_dependencies(run_tests_${PROJECT_NAME}_${type}_${name} ${_testing_DEPENDENCIES})
   endif()
   # hidden test target which depends on building all tests and cleaning test results
-  add_custom_target(.run_tests_${PROJECT_NAME}_${type}_${name}
+  add_custom_target(_run_tests_${PROJECT_NAME}_${type}_${name}
     COMMAND ${cmd})
-  add_dependencies(.run_tests_${PROJECT_NAME}_${type} .run_tests_${PROJECT_NAME}_${type}_${name})
-  add_dependencies(.run_tests_${PROJECT_NAME}_${type}_${name} clean_test_results tests ${_testing_DEPENDENCIES})
+  add_dependencies(_run_tests_${PROJECT_NAME}_${type} _run_tests_${PROJECT_NAME}_${type}_${name})
+  add_dependencies(_run_tests_${PROJECT_NAME}_${type}_${name} clean_test_results tests ${_testing_DEPENDENCIES})
 endfunction()


Add RenderToDisk to cmake

Add RenderToDisk to cmake

--- allocore/modules/gl_module.cmake
+++ allocore/modules/gl_module.cmake
@@ -18,6 +18,7 @@
     allocore/graphics/al_Texture.hpp
     allocore/io/al_App.hpp
     allocore/io/al_ControlNav.hpp
+    allocore/io/al_RenderToDisk.hpp
     allocore/io/al_Window.hpp
 )

@@ -37,6 +38,7 @@
   src/graphics/al_Stereographic.cpp
   src/graphics/al_Texture.cpp
   src/io/al_App.cpp
+  src/io/al_RenderToDisk.cpp
   src/io/al_Window.cpp)

 # TODO empty  allocore/graphics/al_Slab.hpp, remove?


[t:4871] don't run drd_test_4015 under memcheck

git-svn-id: b5c078ec0b4d3a50497e9dd3081db18a5b4f16e5@43491 c7de825b-a66e-492c-adef-691d508d4ae1

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -43,6 +43,7 @@
   try-leak-lost
   try-leak-reachable
   try-leak-uninit
+  drd_test_4015.tdb
   )

 ## tests that are supposed to crash will generate memcheck failures


[numerics] increase timeout for some specific tests

--- numerics/numerics_tests.cmake
+++ numerics/numerics_tests.cmake
@@ -221,6 +221,7 @@
   # Oliverie
   IF(NOT DEV_MODE)
    SET(NCP_NEWTON_FBLSA-NCP_ZI1_PROPERTIES WILL_FAIL TRUE)
+   set_tests_properties(NCP_NEWTON_FBLSA-NCP_ZI1 TIMEOUT 60)
   ENDIF(NOT DEV_MODE)

   END_TEST() # NCP


DOC: CreateTestDriver srcs should have the .cxx extension.

CMake can have a hard time finding the relative path without them.
The extensions are used for the ITK tests drivers.

Change-Id: I1cd1cb95fdb484d732540a77755f61cc7ca88bfc

--- Modules/Core/TestKernel/CreateTestDriver.cmake
+++ Modules/Core/TestKernel/CreateTestDriver.cmake
@@ -1,7 +1,7 @@
 # Create source code, compile and link a test driver
 # Two variables must be defined before including this file.
 #   KIT should define a unique name for the test driver.
-#   KitTests should contain a list of test file names without a .cxx suffix.
+#   KitTests should contain a list of test file names.
 # Arguments - Input
 #   KIT - the name of the test directory
 #   KIT_LIBS - a list of libraries needed to link the test driver


COMP: fix test dependencies of Simulation

--- Modules/Radiometry/Simulation/otb-module.cmake
+++ Modules/Radiometry/Simulation/otb-module.cmake
@@ -20,8 +20,9 @@
   TEST_DEPENDS
     OTBTestKernel
     OTBConversion
+    OTBSVMLearning
+    OTBSupervised
     OTBLearningBase
-
   DESCRIPTION
     "${DOCUMENTATION}"
   )


Set valgrind to 0 when no QUICK

Set valgrind to 0 when no QUICK

--- build/Valgrind.cmake
+++ build/Valgrind.cmake
@@ -23,6 +23,7 @@

 macro(VALGRIND name)
 	RUN_VALGRIND(${name} no ${ARGN})
+	set(DO_VALGRIND_FULL 0)
 endmacro(VALGRIND)

 macro(VALGRIND_FULL name)


Generate shell script to upload test_server on unix, and windows batch script if on windows.

--- cmake/CMakeAvr.cmake
+++ cmake/CMakeAvr.cmake
@@ -91,10 +91,20 @@
                ${CMAKE_SOURCE_DIR}/arduino/utility/twi.c
                ${CMAKE_BINARY_DIR}/generated/arduino_serial.cpp)

-FILE(WRITE ${CMAKE_BINARY_DIR}/upload_test_server.bat "SET PORT=%1\n")
-FILE(APPEND ${CMAKE_BINARY_DIR}/upload_test_server.bat "if x%1 == x ( SET PORT=COM8 )\n")
-FILE(APPEND ${CMAKE_BINARY_DIR}/upload_test_server.bat "avrdude -v -cstk500v1 -pm328p -b57600 -P\\\\.\\%PORT% -D -Uflash:w:test_server.hex:i\n")
-
-FILE(WRITE ${CMAKE_BINARY_DIR}/upload_arduino_test.bat "SET PORT=%1\n")
-FILE(APPEND ${CMAKE_BINARY_DIR}/upload_arduino_test.bat "if x%1 == x ( SET PORT=COM8 )\n")
-FILE(APPEND ${CMAKE_BINARY_DIR}/upload_arduino_test.bat "avrdude -v -cstk500v1 -pm328p -b57600 -P\\\\.\\%PORT% -D -Uflash:w:arduino_test.hex:i\n")
+IF(WIN32)
+  FILE(WRITE ${CMAKE_BINARY_DIR}/upload_test_server.bat "SET PORT=%1\n")
+  FILE(APPEND ${CMAKE_BINARY_DIR}/upload_test_server.bat "if x%1 == x ( SET PORT=COM8 )\n")
+  FILE(APPEND ${CMAKE_BINARY_DIR}/upload_test_server.bat "avrdude -v -cstk500v1 -pm328p -b57600 -P\\\\.\\%PORT% -D -Uflash:w:test_server.hex:i\n")
+
+  FILE(WRITE ${CMAKE_BINARY_DIR}/upload_arduino_test.bat "SET PORT=%1\n")
+  FILE(APPEND ${CMAKE_BINARY_DIR}/upload_arduino_test.bat "if x%1 == x ( SET PORT=COM8 )\n")
+  FILE(APPEND ${CMAKE_BINARY_DIR}/upload_arduino_test.bat "avrdude -v -cstk500v1 -pm328p -b57600 -P\\\\.\\%PORT% -D -Uflash:w:arduino_test.hex:i\n")
+ELSE(WIN32)
+  FILE(WRITE ${CMAKE_BINARY_DIR}/generated/upload_test_server.sh "PORT=$1\n")
+  FILE(APPEND ${CMAKE_BINARY_DIR}/generated/upload_test_server.sh "if [ x$1 == x ]; then PORT=/dev/ttyUSB0; fi\n")
+  FILE(APPEND ${CMAKE_BINARY_DIR}/generated/upload_test_server.sh "avrdude -v -cstk500v1 -pm328p -b57600 -P$PORT -D -Uflash:w:test_server.hex:i\n")
+  FILE(COPY ${CMAKE_BINARY_DIR}/generated/upload_test_server.sh
+            DESTINATION ${CMAKE_BINARY_DIR}
+            FILE_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE)
+  FILE(REMOVE ${CMAKE_BINARY_DIR}/generated/upload_test_server.sh)
+ENDIF(WIN32)


Update to latest FindSDl2.cmake

Update to latest FindSDl2.cmake

From: https://raw.githubusercontent.com/tcbrindle/sdl2-cmake-scripts/master/FindSDL2.cmake

--- cmake/FindSDL2.cmake
+++ cmake/FindSDL2.cmake
@@ -1,4 +1,4 @@
-# Locate SDL2 library
+
 # This module defines
 # SDL2_LIBRARY, the name of the library to link against
 # SDL2_FOUND, if false, do not try to link to SDL2
@@ -65,6 +65,8 @@
 # (To distribute this file outside of CMake, substitute the full
 #  License text for the above reference.)

+message("<FindSDL2.cmake>")
+
 SET(SDL2_SEARCH_PATHS
 	~/Library/Frameworks
 	/Library/Frameworks
@@ -74,6 +76,7 @@
 	/opt/local # DarwinPorts
 	/opt/csw # Blastwave
 	/opt
+	${SDL2_PATH}
 )

 FIND_PATH(SDL2_INCLUDE_DIR SDL.h
@@ -83,11 +86,17 @@
 	PATHS ${SDL2_SEARCH_PATHS}
 )

+if(CMAKE_SIZEOF_VOID_P EQUAL 8)
+	set(PATH_SUFFIXES lib64 lib/x64 lib)
+else()
+	set(PATH_SUFFIXES lib/x86 lib)
+endif()
+
 FIND_LIBRARY(SDL2_LIBRARY_TEMP
 	NAMES SDL2
 	HINTS
 	$ENV{SDL2DIR}
-	PATH_SUFFIXES lib64 lib
+	PATH_SUFFIXES ${PATH_SUFFIXES}
 	PATHS ${SDL2_SEARCH_PATHS}
 )

@@ -101,7 +110,7 @@
 			NAMES SDL2main
 			HINTS
 			$ENV{SDL2DIR}
-			PATH_SUFFIXES lib64 lib
+			PATH_SUFFIXES ${PATH_SUFFIXES}
 			PATHS ${SDL2_SEARCH_PATHS}
 		)
 	ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
@@ -115,11 +124,10 @@
 	FIND_PACKAGE(Threads)
 ENDIF(NOT APPLE)

-# MinGW needs an additional library, mwindows
-# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -lmwindows
-# (Actually on second look, I think it only needs one of the m* libraries.)
+# MinGW needs an additional link flag, -mwindows
+# It's total link flags should look like -lmingw32 -lSDL2main -lSDL2 -mwindows
 IF(MINGW)
-	SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
+	SET(MINGW32_LIBRARY mingw32 "-mwindows" CACHE STRING "mwindows for MinGW")
 ENDIF(MINGW)

 IF(SDL2_LIBRARY_TEMP)
@@ -158,6 +166,8 @@
 	SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
 ENDIF(SDL2_LIBRARY_TEMP)

+message("</FindSDL2.cmake>")
+
 INCLUDE(FindPackageHandleStandardArgs)

 FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)


Update comments too

Update comments too

--- CMake/AbseilHelpers.cmake
+++ CMake/AbseilHelpers.cmake
@@ -99,8 +99,8 @@
 #     absl_internal_awesome_lib # not "awesome_lib"!
 # )
 #
-# If PUBLIC is set, absl_cc_library will also create an alias absl::${NAME}
-# for public use in addition to absl_internal_${NAME}.
+# If PUBLIC is set, absl_cc_library will instead create a target named
+# absl_${NAME} and an alias absl::${NAME}.
 #
 # absl_cc_library(
 #   NAME
@@ -109,7 +109,7 @@
 #   PUBLIC
 # )
 #
-# User can then use the library as absl::main_lib (although absl_internal_main_lib is defined too).
+# User can then use the library as absl::main_lib (although absl_main_lib is defined too).
 #
 # TODO: Implement "ALWAYSLINK"


Fix typo: we should be checking HAVE_LAPACK not LAPACK_FOUND.

LAPACK_FOUND is only set if MKL/ACML/etc. isn't found, but HAVE_LAPACK is set in
both situations.

--- CMake/FindArmadillo.cmake
+++ CMake/FindArmadillo.cmake
@@ -192,17 +192,17 @@
       endif ()
     endif (NOT "${ARMA_USE_LAPACK}" STREQUAL "" AND NOT HAVE_LAPACK)

-    if (NOT "${ARMA_USE_LAPACK}" STREQUAL "" AND NOT LAPACK_FOUND)
+    if (NOT "${ARMA_USE_LAPACK}" STREQUAL "" AND NOT HAVE_LAPACK)
       message(FATAL_ERROR "Cannot find LAPACK library, but ARMA_USE_LAPACK is "
           "set. Try specifying LAPACK libraries manually by setting the "
           "LAPACK_LIBRARY variable.")
-    endif (NOT "${ARMA_USE_LAPACK}" STREQUAL "" AND NOT LAPACK_FOUND)
-
-    if (NOT "${ARMA_USE_BLAS}" STREQUAL "" AND NOT BLAS_FOUND)
+    endif (NOT "${ARMA_USE_LAPACK}" STREQUAL "" AND NOT HAVE_LAPACK)
+
+    if (NOT "${ARMA_USE_BLAS}" STREQUAL "" AND NOT HAVE_BLAS)
       message(FATAL_ERROR "Cannot find BLAS library, but ARMA_USE_BLAS is set. "
           "Try specifying BLAS libraries manually by setting the BLAS_LIBRARY "
           "variable.")
-    endif (NOT "${ARMA_USE_BLAS}" STREQUAL "" AND NOT BLAS_FOUND)
+    endif (NOT "${ARMA_USE_BLAS}" STREQUAL "" AND NOT HAVE_BLAS)

     # Search for ARPACK (or replacement).
     if (NOT "${ARMA_USE_ARPACK}" STREQUAL "")


Fixed: CMake FindOpenGLES2 module for Android

--- CMake/FindOpenGLES2.cmake
+++ CMake/FindOpenGLES2.cmake
@@ -7,8 +7,11 @@
 #

 if (IOS)
-  find_library(OPENGLES2_LIBRARIES OpenGLES DOC "OpenGLES 2 library for iOS")
-  find_path(OPENGLES2_INCLUDE_DIR ES2/gl.h DOC "Include for OpenGLES 2")
+    find_library(OPENGLES2_LIBRARIES OpenGLES DOC "OpenGLES 2 library for iOS")
+    find_path(OPENGLES2_INCLUDE_DIR ES2/gl.h DOC "Include for OpenGLES 2")
+elseif (ANDROID)
+    find_path(OPENGLES2_INCLUDE_DIR GLES2/gl2.h)
+    find_library(OPENGLES2_LIBRARIES NAMES GLESv2)
 endif ()

 INCLUDE(FindPackageHandleStandardArgs)


type-o in variable name

type-o in variable name

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

--- CMakeModules/Sagase.cmake
+++ CMakeModules/Sagase.cmake
@@ -51,7 +51,7 @@
     foreach (prefix ${path_prefixes})
         foreach (pkgname ${path_names})

-            foreach (inclname ${path_names})
+            foreach (inclname ${include_names})
                 set (includes ${includes}
                     ${prefix}/${pkgname}/${inclname}
                     ${prefix}/${inclname}/${pkgname})
@@ -183,10 +183,10 @@
         message (STATUS "trying brute-force search ")

         # take names to be directory names, and include "."
-        set (${PREFIX}_PATH_NAMES ${PKG_NAMES} ".")
+        set (PKG_NAMES ${PKG_NAMES} ".")

         # generate a combination of possible search paths
-        sagase_generate_paths (include_paths library_paths NAMES ${${PREFIX}_PATH_NAMES} PREFIXES ${PKG_PREFIXES})
+        sagase_generate_paths (include_paths library_paths NAMES ${PKG_NAMES} PREFIXES ${PKG_PREFIXES})

         # all C and C++ headers
         set (HEADER_POSTFIXES ".h" ".hpp" ".hh" ".hxx")
@@ -206,9 +206,9 @@
         foreach (component_ ${PKG_COMPONENTS})

             # get header path
-            foreach (pathname_ ${${PREFIX}_PATH_NAMES})
+            foreach (pkgname_ ${PKG_NAMES})
                 foreach (header_extension_ ${HEADER_POSTFIXES})
-                    find_path (${PREFIX}_${component_}_INCLUDE_DIR ${pathname_}/${component_}${header_extension_} ${include_paths})
+                    find_path (${PREFIX}_${component_}_INCLUDE_DIR ${pkgname_}/${component_}${header_extension_} ${include_paths})

                     if (${PREFIX}_${component_}_INCLUDE_DIR)
                         set (${PREFIX}_INCLUDE_DIRS ${${PREFIX}_INCLUDE_DIRS} ${${PREFIX}_${component_}_INCLUDE_DIR})


config-gpgme++.h: add include guards

config-gpgme++.h: add include guards

svn path=/trunk/KDE/kdepimlibs/; revision=1204239

--- config-gpgme++.h.cmake
+++ config-gpgme++.h.cmake
@@ -1,3 +1,6 @@
+#ifndef __GPGMEPP_CONFIG_GPGMEPP_H__
+#define __GPGMEPP_CONFIG_GPGMEPP_H__
+
 /* Define to 1 if your gpgme has the gpgme_data_{set,get}_file_name functions */
 #cmakedefine HAVE_GPGME_DATA_SET_FILE_NAME 1

@@ -118,3 +121,5 @@
 #define GPGMEPP_ERR_SOURCE_DEFAULT 22
 #define   GPGME_ERR_SOURCE_DEFAULT ((gpgme_err_source_t)22)
 #define     GPG_ERR_SOURCE_DEFAULT ((gpg_err_source_t)22)
+
+#endif /* __GPGMEPP_CONFIG_GPGMEPP_H__ */


Added FFTW include directories to cmake.

--- cmake/BALLConfigFFTW.cmake
+++ cmake/BALLConfigFFTW.cmake
@@ -1,5 +1,7 @@
 SET (BALL_HAS_FFTW TRUE)
 SET (BALL_HAS_FFTW_H TRUE)
+
+INCLUDE_DIRECTORIES(${FFTW_INCLUDE})

 IF (FFTWD_FOUND)
 	SET(BALL_HAS_FFTW_DOUBLE TRUE)


added poco dependencies to cmake

added poco dependencies to cmake

--- cmake/CompileOptions.cmake
+++ cmake/CompileOptions.cmake
@@ -32,6 +32,7 @@
  find_package(Qt5LinguistTools REQUIRED)
  find_package(Qt5Xml REQUIRED)
  find_package( OpenCV REQUIRED )
+ find_package(Poco COMPONENTS Foundation Util Data DataMySQL REQUIRED)
  find_package( annotatorlib )

 #
@@ -46,7 +47,7 @@
 # Libraries
 #

-set(DEFAULT_LIBRARIES  annotatorlib::annotatorlib  ${Boost_LIBRARIES} Qt5::Core Qt5::Widgets Qt5::Network Qt5::Xml ${OpenCV_LIBS})
+set(DEFAULT_LIBRARIES  annotatorlib::annotatorlib  ${Boost_LIBRARIES} ${OpenCV_LIBS}  ${Poco_LIBRARIES} Qt5::Core Qt5::Widgets Qt5::Network Qt5::Xml)

 #


More packaging tweaks for CPack

More packaging tweaks for CPack

Change-Id: I7f984ca64d6bf14448f38a9a62e9f6fb4d754f34

--- cmake/MoleQueueCPack.cmake
+++ cmake/MoleQueueCPack.cmake
@@ -4,11 +4,17 @@
 set(CPACK_PACKAGE_VERSION_PATCH ${MoleQueue_VERSION_PATCH})
 set(CPACK_PACKAGE_VERSION ${MoleQueue_VERSION})
 set(CPACK_PACKAGE_INSTALL_DIRECTORY "MoleQueue")
+set(CPACK_PACKAGE_VENDOR "http://openchemistry.org/")
+set(CPACK_PACKAGE_DESCRIPTION
+  "Desktop integration of high performance computing resources.")

 if(APPLE)
   configure_file("${MoleQueue_SOURCE_DIR}/COPYING"
     "${MoleQueue_BINARY_DIR}/COPYING.txt" @ONLY)
   set(CPACK_RESOURCE_FILE_LICENSE "${MoleQueue_BINARY_DIR}/COPYING.txt")
+  set(CPACK_PACKAGE_ICON
+    "${MoleQueue_SOURCE_DIR}/molequeue/icons/molequeue.icns")
+  set(CPACK_BUNDLE_ICON "${CPACK_PACKAGE_ICON}")
 else()
   set(CPACK_RESOURCE_FILE_LICENSE "${MoleQueue_SOURCE_DIR}/COPYING")
 endif()


Add check for boost version to set appropriate c++ standard.

--- cmake/SetCXXStandard.cmake
+++ cmake/SetCXXStandard.cmake
@@ -1,6 +1,11 @@

+find_package(Boost 1.56.0 REQUIRED)
+if(Boost_VERSION VERSION_LESS "1.72.0")
+	set(CMAKE_CXX_STANDARD 11 CACHE INTERNAL "specifies the C++ standard whose features are requested to build this target")
+else()
+	set(CMAKE_CXX_STANDARD 14 CACHE INTERNAL "specifies the C++ standard whose features are requested to build this target")
+endif()

-set(CMAKE_CXX_STANDARD 11 CACHE INTERNAL "specifies the C++ standard whose features are requested to build this target")
 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 if (NOT "${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
   ### Even though CMAKE_CXX_STANDARD_REQUIRED is supported since CMake 3.1, it doesn't work for Emscripten em++ together with


fix manifest.xml installation

fix manifest.xml installation

--- cmake/catkin_project.cmake
+++ cmake/catkin_project.cmake
@@ -109,24 +109,11 @@
     DESTINATION lib/pkgconfig
     )

+  string(TOLOWER ${PROJECT_NAME} project_lower)
+
   if (EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/manifest.xml)
     install(FILES manifest.xml
       DESTINATION share/${project_lower}
-      )
-  else()
-    message(STATUS "${project_lower} has no manifest.xml.  Not sure if this is an error or not.")
-  endif()
-
-  if (FALSE)
-    # old code for how to install an autogenerated manifest.xml that thunks out to
-    # pkg-config.  Delete me?
-    em_expand(${catkin_EXTRAS_DIR}/templates/pkg-config.pc.context.in
-      ${CMAKE_CURRENT_BINARY_DIR}/pkg-config.pc.context.py
-      ${catkin_EXTRAS_DIR}/em/manifest.xml.em
-      ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/manifest.xml)
-
-    install(FILES ${CMAKE_CURRENT_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/manifest.xml
-      DESTINATION share/${PACKAGE_NAME}
       )
   endif()

@@ -142,7 +129,6 @@
       )
   endforeach()

-  string(TOLOWER ${PROJECT_NAME} project_lower)
   if(EXISTS ${${PROJECT_NAME}_EXTRAS_DIR}/${project_lower}-config.cmake.in)
     configure_file(${${PROJECT_NAME}_EXTRAS_DIR}/${project_lower}-config.cmake.in
       ${CMAKE_CURRENT_BINARY_DIR}/cmake_install/${project_lower}-config.cmake


Cmake: XCode (version 11 and later?, tested on version 12.5) will fail on build when the Webbrowser module is enabled because of the added CEF framework

--- cmake/compileoptions.cmake
+++ cmake/compileoptions.cmake
@@ -33,6 +33,13 @@

 option(IVW_CFG_TREAT_WARNINGS_AS_ERRORS "Treat compiler warnings as errors" OFF)
 option(IVW_CFG_FORCE_ASSERTIONS "Force use of assertions when not in debug mode" OFF)
+if(CMAKE_GENERATOR STREQUAL "Xcode")
+    # Prevent Xcode 11 from doing automatic codesigning because it will fail the build.
+    # Causes build to fail if Webbrowser module is enabled due to the added CEF framework
+    # This fix is also performed in the CEF example projects:
+    # https://bitbucket.org/chromiumembedded/cef/src/2de07250dc6c25ccb5484f25002450afb164782b/cmake/cef_variables.cmake.in#lines-339
+    set(CMAKE_XCODE_ATTRIBUTE_CODE_SIGN_IDENTITY "")
+endif()

 function(ivw_define_standard_properties)
     foreach(target ${ARGN})


jit fix

jit fix

git-svn-id: 6b1c4fe79111c0bc0cce83313250759594f8984b@9036 e128ff1e-fa79-4151-a8cb-522299a2c450

--- cmake/gsJITConfigXml.cmake
+++ cmake/gsJITConfigXml.cmake
@@ -27,12 +27,6 @@
   set(JIT_CXX_COMPILER     ${CMAKE_CXX_COMPILER})
   set(JIT_CUDA_COMPILER    ${CUDA_NVCC_EXECUTABLE})
   set(JIT_Fortran_COMPILER ${CMAKE_Fortran_COMPILER})
-
-
-
-  #CMAKE_C_COMPILE_OPTIONS_PIC
-#  get_target_property(HELLO gismo )
-#  message(${HELLO})

   # Set JIT compiler flags (build-type dependent)
   set(JIT_C_FLAGS       ${CMAKE_C_FLAGS_${CMAKE_BUILD_TYPE}})
@@ -65,22 +59,14 @@
     set(JIT_Fortran_FLAGS "${JIT_Fortran_FLAGS} ${CMAKE_Fortran_FLAGS} ${CMAKE_SHARED_LIBRARY_CREATE_Fortran_FLAGS}")
   endif()

-  # Add C++ standard
-  if(CMAKE_CXX_STANDARD EQUAL "98")
-    set(JIT_CXX_FLAGS "${JIT_CXX_FLAGS} ${CMAKE_CXX98_STANDARD_COMPILE_OPTION}")
-    set(JIT_CUDA_FLAGS "${JIT_CXX_FLAGS} ${CUDA_CXX98_STANDARD_COMPILE_OPTION}")
-  elseif(CMAKE_CXX_STANDARD EQUAL "11")
-    set(JIT_CXX_FLAGS "${JIT_CXX_FLAGS} ${CMAKE_CXX11_STANDARD_COMPILE_OPTION}")
-    set(JIT_CUDA_FLAGS "${JIT_CXX_FLAGS} ${CUDA_CXX11_STANDARD_COMPILE_OPTION}")
-  elseif(CMAKE_CXX_STANDARD EQUAL "14")
-    set(JIT_CXX_FLAGS "${JIT_CXX_FLAGS} ${CMAKE_CXX14_STANDARD_COMPILE_OPTION}")
-    set(JIT_CUDA_FLAGS "${JIT_CXX_FLAGS} ${CUDA_CXX14_STANDARD_COMPILE_OPTION}")
-  endif()
+  # Add C++ standard and pic
+  set(JIT_CXX_FLAGS "${JIT_CXX_FLAGS} ${CMAKE_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION} ${CMAKE_CXX_COMPILE_OPTIONS_PIC}")
+  set(JIT_CUDA_FLAGS "${JIT_CXX_FLAGS} ${CUDA_CXX${CMAKE_CXX_STANDARD}_STANDARD_COMPILE_OPTION}")

   # PIC for 64bit machines
-  if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SIZEOF_VOID_P EQUAL 8)
-      set(JIT_CXX_FLAGS "${JIT_CXX_FLAGS} -fPIC")
-  endif()
+  #if (CMAKE_COMPILER_IS_GNUCXX AND CMAKE_SIZEOF_VOID_P EQUAL 8)
+  #    set(JIT_CXX_FLAGS "${JIT_CXX_FLAGS} ${CMAKE_CXX_COMPILE_OPTIONS_PIC}")
+  #endif()

   string(REPLACE "-fvisibility=hidden"         "" JIT_CXX_FLAGS ${JIT_CXX_FLAGS})
   string(REPLACE "-fvisibility-inlines-hidden" "" JIT_CXX_FLAGS ${JIT_CXX_FLAGS})


Implement experimental STATIC_RUNTIME option to allow users of
Microsoft C and C++ compilers to specify a static runtime.  MinGW is
specifically excluded because that set of compilers apparently does
not support a static runtime according to
http://lists-archives.com/mingw-users/00126-mingw-msvc-md-mt-ml.html.

svn path=/trunk/; revision=12295

--- cmake/modules/plplot.cmake
+++ cmake/modules/plplot.cmake
@@ -474,6 +474,39 @@
 include(d)

 # =======================================================================
+# Option to change to static run-time support for Microsoft C and
+# C++ compilers.  This method should only work after those
+# compilers are enabled (C is already enabled for the whole project
+# and C++ should be enabled above).
+# =======================================================================
+if(WIN32 AND NOT MINGW)
+  # MinGW excluded because it does not enable a static runtime according
+  # to http://lists-archives.com/mingw-users/00126-mingw-msvc-md-mt-ml.html .
+  option(STATIC_RUNTIME "Set Windows non-MinGW compiler static runtime linkage if requested" OFF)
+  if(STATIC_RUNTIME)
+    set(flag_vars
+      CMAKE_C_FLAGS
+      CMAKE_C_FLAGS_DEBUG
+      CMAKE_C_FLAGS_RELEASE
+      CMAKE_C_FLAGS_MINSIZEREL
+      CMAKE_C_FLAGS_RELWITHDEBINFO
+      CMAKE_CXX_FLAGS
+      CMAKE_CXX_FLAGS_DEBUG
+      CMAKE_CXX_FLAGS_RELEASE
+      CMAKE_CXX_FLAGS_MINSIZEREL
+      CMAKE_CXX_FLAGS_RELWITHDEBINFO
+      )
+
+    foreach(flag_var ${flag_vars})
+      if(${flag_var} MATCHES "/MD")
+	string(REGEX REPLACE "/MD" "/MT" ${flag_var} "${${flag_var}}")
+	set(${flag_var} "${${flag_var}}" CACHE STRING "Flags used by the compiler" FORCE)
+      endif(${flag_var} MATCHES "/MD")
+    endforeach(flag_var ${flag_vars})
+  endif(STATIC_RUNTIME)
+endif(WIN32 AND NOT MINGW)
+
+# =======================================================================
 # additional library support
 # =======================================================================
 include(freetype)


Bump version

Bump version

--- cmake/ospray_options.cmake
+++ cmake/ospray_options.cmake
@@ -19,8 +19,8 @@
 ##############################################################

 SET(OSPRAY_VERSION_MAJOR 1)
-SET(OSPRAY_VERSION_MINOR 4)
-SET(OSPRAY_VERSION_PATCH 2)
+SET(OSPRAY_VERSION_MINOR 5)
+SET(OSPRAY_VERSION_PATCH 0)
 SET(OSPRAY_VERSION_GITHASH 0)
 IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/.git)
   FIND_PACKAGE(Git)


Updated .tx file

Updated .tx file

--- cmake/qtxdgTranslate.cmake
+++ cmake/qtxdgTranslate.cmake
@@ -24,12 +24,19 @@
 endif()

 if(NOT TARGET UpdateTxFile)
+  file(WRITE ${CMAKE_BINARY_DIR}/tx/_updateTxFile.sh
+        "echo '[main]'\n"
+        "echo 'host = https://www.transifex.com'\n"
+        "echo 'minimum_perc = 5'\n"
+        "echo ''\n"
+        "for f in `ls ${CMAKE_BINARY_DIR}/tx/*.tx.sh`; do\n"
+        " sh $f;\n"
+        "done\n"
+      )
+
   add_custom_target(UpdateTxFile
-    COMMAND echo "[main]"                            > ${CMAKE_SOURCE_DIR}/.tx/config2
-    COMMAND echo "host = https://www.transifex.net" >> ${CMAKE_SOURCE_DIR}/.tx/config2
-    COMMAND echo ""                                 >> ${CMAKE_SOURCE_DIR}/.tx/config2
-    COMMAND cat ${CMAKE_BINARY_DIR}/tx/*.tx_config  >> ${CMAKE_SOURCE_DIR}/.tx/config2
-  )
+        COMMAND sh ${CMAKE_BINARY_DIR}/tx/_updateTxFile.sh > ${CMAKE_SOURCE_DIR}/.tx/config
+    )
 endif()

@@ -104,17 +111,18 @@
     add_dependencies(UpdateTsFiles Update_${_tsSrcFileName})

     # TX file ***********************************************
-    set(_txFile "${CMAKE_BINARY_DIR}/tx/${_tsSrcFileName}.tx_config")
+    set(_txFile "${CMAKE_BINARY_DIR}/tx/${_tsSrcFileName}.tx.sh")
     string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_translationDir ${_translationDir})
     string(REPLACE "${CMAKE_SOURCE_DIR}/" "" _tx_tsSrcFile ${_tsSrcFile})

     file(WRITE ${_txFile}
-        "[razor-qt.${_tsSrcFileNameWE}]\n"
-        "type = QT\n"
-        "source_lang = en\n"
-        "source_file = ${_tx_tsSrcFile}\n"
-        "file_filter = ${_tx_translationDir}/${_tsSrcFileNameWE}_<lang>.ts\n"
-        "\n"
+        "[ -f ${_tsSrcFile} ] || exit 0\n"
+        "echo '[razor-qt.${_tsSrcFileNameWE}]'\n"
+        "echo 'type = QT'\n"
+        "echo 'source_lang = en'\n"
+        "echo 'source_file = ${_tx_tsSrcFile}'\n"
+        "echo 'file_filter = ${_tx_translationDir}/${_tsSrcFileNameWE}_<lang>.ts'\n"
+        "echo ''\n"
     )

     # translate.h file *************************************


FindMPI now determines if the regular compilers just work.

This is necessary for XE6, where the regular old cc, CC, and ftn are MPI compilers.
FindMPI now attempts to just compile an MPI program with the regular compilers if it can't find an MPI compiler or
a suitable MPI library.

--- cmakemodules/FindMPI.cmake
+++ cmakemodules/FindMPI.cmake
@@ -1,6 +1,4 @@
-# - Message Passing Interface (MPI) module.
-#
-#=============================================================================
+# - Find a Message Passing Interface (MPI) implementation
 # The Message Passing Interface (MPI) is a library used to write
 # high-performance distributed-memory parallel applications, and
 # is typically deployed on a cluster. MPI is a standard interface
@@ -9,43 +7,38 @@
 # libraries to link against, etc., and this module tries to smooth
 # out those differences.
 #
-#=== Variables ===============================================================
+# === Variables ===
+#
 # This module will set the following variables per language in your project,
 # where <lang> is one of C, CXX, or Fortran:
-#
 #   MPI_<lang>_FOUND           TRUE if FindMPI found MPI flags for <lang>
 #   MPI_<lang>_COMPILER        MPI Compiler wrapper for <lang>
 #   MPI_<lang>_COMPILE_FLAGS   Compilation flags for MPI programs
 #   MPI_<lang>_INCLUDE_PATH    Include path(s) for MPI header
 #   MPI_<lang>_LINK_FLAGS      Linking flags for MPI programs
 #   MPI_<lang>_LIBRARIES       All libraries to link MPI programs against
-#
 # Additionally, FindMPI sets the following variables for running MPI
 # programs from the command line:
-#
 #   MPIEXEC                    Executable for running MPI programs
-#   MPIEXEC_NUMPROC_FLAG       Flag to pass to MPIEXEC before giving it the
-#                              number of processors to run on
-#   MPIEXEC_PREFLAGS           Flags to pass to MPIEXEC directly before the
-#                              executable to run.
-#   MPIEXEC_POSTFLAGS          Flags to pass to MPIEXEC after other flags.
-#
-#=== Usage ===================================================================
+#   MPIEXEC_NUMPROC_FLAG       Flag to pass to MPIEXEC before giving
+#                              it the number of processors to run on
+#   MPIEXEC_PREFLAGS           Flags to pass to MPIEXEC directly
+#                              before the executable to run.
+#   MPIEXEC_POSTFLAGS          Flags to pass to MPIEXEC after other flags
+# === Usage ===
+#
 # To use this module, simply call FindMPI from a CMakeLists.txt file, or
 # run find_package(MPI), then run CMake.  If you are happy with the auto-
 # detected configuration for your language, then you're done.  If not, you
 # have two options:
-#
 #   1. Set MPI_<lang>_COMPILER to the MPI wrapper (mpicc, etc.) of your
 #      choice and reconfigure.  FindMPI will attempt to determine all the
 #      necessary variables using THAT compiler's compile and link flags.
-#
 #   2. If this fails, or if your MPI implementation does not come with
 #      a compiler wrapper, then set both MPI_<lang>_LIBRARIES and
-#      MPI_<lang>_INCLUDE_PATH.  You may also set any other variables listed
-#      above, but these two are required.  This will circumvent
+#      MPI_<lang>_INCLUDE_PATH.  You may also set any other variables
+#      listed above, but these two are required.  This will circumvent
 #      autodetection entirely.
-#
 # When configuration is successful, MPI_<lang>_COMPILER will be set to the
 # compiler wrapper for <lang>, if it was found.  MPI_<lang>_FOUND and other
 # variables above will be set if any MPI implementation was found for <lang>,
@@ -53,22 +46,21 @@
 #
 # When using MPIEXEC to execute MPI applications, you should typically use
 # all of the MPIEXEC flags as follows:
-#   ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS ${MPIEXEC_PREFLAGS} EXECUTABLE
-#     ${MPIEXEC_POSTFLAGS} ARGS
+#   ${MPIEXEC} ${MPIEXEC_NUMPROC_FLAG} PROCS
+#     ${MPIEXEC_PREFLAGS} EXECUTABLE ${MPIEXEC_POSTFLAGS} ARGS
 # where PROCS is the number of processors on which to execute the program,
 # EXECUTABLE is the MPI program, and ARGS are the arguments to pass to the
 # MPI program.
 #
-#=== Backward Compatibility ==================================================
+# === Backward Compatibility ===
+#
 # For backward compatibility with older versions of FindMPI, these
 # variables are set, but deprecated:
-#
 #   MPI_FOUND           MPI_COMPILER        MPI_LIBRARY
 #   MPI_COMPILE_FLAGS   MPI_INCLUDE_PATH    MPI_EXTRA_LIBRARY
 #   MPI_LINK_FLAGS      MPI_LIBRARIES
-#
 # In new projects, please use the MPI_<lang>_XXX equivalents.
-#
+
 #=============================================================================
 # Copyright 2001-2011 Kitware, Inc.
 # Copyright 2010-2011 Todd Gamblin tgamblin@llnl.gov
@@ -193,7 +185,7 @@
 #
 function (interrogate_mpi_compiler lang try_libs)
   # if it's already in the cache, don't bother with any of this stuff
-  if ((NOT MPI_INCLUDE_PATH) OR (NOT MPI_${lang}_LIBRARIES))
+  if ((NOT MPI_${lang}_NO_INTERROGATE) AND (NOT (MPI_${lang}_INCLUDE_PATH) AND MPI_${lang}_LIBRARIES))
     if (MPI_${lang}_COMPILER)
       # Check whether the -showme:compile option works. This indicates that we have either OpenMPI
       # or a newer version of LAM-MPI, and implies that -showme:link will also work.
@@ -444,6 +436,43 @@
 endfunction()

+function(try_regular_compiler lang success)
+  # last ditch attempt: just try to compile something with the regular compiler
+  if (${lang} STREQUAL Fortran)
+    set(test_file ${CMAKE_CURRENT_BINARY_DIR}/cmake_mpi_test.f90)
+    file(WRITE ${test_file}
+      "program hello\n"
+      "include 'mpif.h'\n"
+      "integer ierror\n"
+      "call MPI_INIT(ierror)\n"
+      "call MPI_FINALIZE(ierror)\n"
+      "end\n")
+  else()
+    if (${lang} STREQUAL CXX)
+      set(test_file ${CMAKE_CURRENT_BINARY_DIR}/cmake_mpi_test.cpp)
+    else()
+      set(test_file ${CMAKE_CURRENT_BINARY_DIR}/cmake_mpi_test.c)
+    endif()
+    file(WRITE ${test_file}
+      "#include <mpi.h>\n"
+      "int main(int argc, char **argv) {\n"
+      "  MPI_Init(&argc, &argv);\n"
+      "  MPI_Finalize();\n"
+      "}\n")
+  endif()
+  try_compile(worked ${CMAKE_CURRENT_BINARY_DIR} ${test_file})
+  if (worked)
+    set(MPI_${lang}_NO_INTERROGATE TRUE                      CACHE STRING "Whether to interrogate MPI ${lang} compiler" FORCE)
+    set(MPI_${lang}_COMPILER       ${CMAKE_${lang}_COMPILER} CACHE STRING "MPI ${lang} compiler"                        FORCE)
+    set(MPI_${lang}_COMPILE_FLAGS  ""                        CACHE STRING "MPI ${lang} compilation flags"               FORCE)
+    set(MPI_${lang}_INCLUDE_PATH   ""                        CACHE STRING "MPI ${lang} include path"                    FORCE)
+    set(MPI_${lang}_LINK_FLAGS     ""                        CACHE STRING "MPI ${lang} linking flags"                   FORCE)
+    set(MPI_${lang}_LIBRARIES      ""                        CACHE STRING "MPI ${lang} libraries to link against"       FORCE)
+  endif()
+  set(${success} ${worked} PARENT_SCOPE)
+  file(REMOVE ${test_file})
+endfunction()
+
 # End definitions, commence real work here.

 # Most mpi distros have some form of mpiexec which gives us something we can reliably look for.
@@ -463,6 +492,34 @@
 set(MPIEXEC_POSTFLAGS    ""    CACHE STRING "These flags will come after all flags given to MPIEXEC.")
 set(MPIEXEC_MAX_NUMPROCS "2"   CACHE STRING "Maximum number of processors available to run MPI applications.")
 mark_as_advanced(MPIEXEC MPIEXEC_NUMPROC_FLAG MPIEXEC_PREFLAGS MPIEXEC_POSTFLAGS MPIEXEC_MAX_NUMPROCS)
+
+
+#=============================================================================
+# Backward compatibility input hacks.  Propagate the FindMPI hints to C and
+# CXX if the respective new versions are not defined.  Translate the old
+# MPI_LIBRARY and MPI_EXTRA_LIBRARY to respective MPI_${lang}_LIBRARIES.
+#
+# Once we find the new variables, we translate them back into their old
+# equivalents below.
+foreach (lang C CXX)
+  # Old input variables.
+  set(_MPI_OLD_INPUT_VARS COMPILER COMPILE_FLAGS INCLUDE_PATH LINK_FLAGS)
+
+  # Set new vars based on their old equivalents, if the new versions are not already set.
+  foreach (var ${_MPI_OLD_INPUT_VARS})
+    if (NOT MPI_${lang}_${var} AND MPI_${var})
+      set(MPI_${lang}_${var} "${MPI_${var}}")
+    endif()
+  endforeach()
+
+  # Special handling for MPI_LIBRARY and MPI_EXTRA_LIBRARY, which we nixed in the
+  # new FindMPI.  These need to be merged into MPI_<lang>_LIBRARIES
+  if (NOT MPI_${lang}_LIBRARIES AND (MPI_LIBRARY OR MPI_EXTRA_LIBRARY))
+    set(MPI_${lang}_LIBRARIES ${MPI_LIBRARY} ${MPI_EXTRA_LIBRARY})
+  endif()
+endforeach()
+#=============================================================================
+

 # This loop finds the compilers and sends them off for interrogation.
 foreach (lang C CXX Fortran)
@@ -487,14 +544,24 @@
     interrogate_mpi_compiler(${lang} ${try_libs})
     mark_as_advanced(MPI_${lang}_COMPILER)

-    # Treat each language separately as far as outputting whether we found support for it and setting MPI_<lang>_FOUND.
-    find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${lang}_LIBRARIES MPI_${lang}_INCLUDE_PATH)
+    # last ditch try -- if nothing works so far, just try running the regular compiler and
+    # see if we can create an MPI executable.
+    set(regular_compiler_worked 0)
+    if (NOT MPI_${lang}_LIBRARIES OR NOT MPI_${lang}_INCLUDE_PATH)
+      try_regular_compiler(${lang} regular_compiler_worked)
+    endif()
+
+    if (regular_compiler_worked)
+      find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${lang}_COMPILER)
+    else()
+      find_package_handle_standard_args(MPI_${lang} DEFAULT_MSG MPI_${LANG}_LIBRARIES MPI_${lang}_INCLUDE_PATH)
+    endif()
   endif()
 endforeach()

 #=============================================================================
-# Backward compatibility stuff
+# More backward compatibility stuff
 #
 # Bare MPI sans ${lang} vars are set to CXX then C, depending on what was found.
 # This mimics the behavior of the old language-oblivious FindMPI.
@@ -528,8 +595,6 @@
 else()
   set(MPI_EXTRA_LIBRARY "MPI_EXTRA_LIBRARY-NOTFOUND" CACHE STRING "Extra MPI libraries to link against" FORCE)
 endif()
-
-# End backward compatibility contortions.
 #=============================================================================

 # unset these vars to cleanup namespace


setting proper default directory permissions for RPMs

--- common/cmake/package.cmake
+++ common/cmake/package.cmake
@@ -234,6 +234,7 @@
     #SET(CPACK_RPM_CHANGELOG_FILE "") # ChangeLog of the RPM; also CHANGELOG.md is not in the required format
     SET(CPACK_RPM_PACKAGE_ARCHITECTURE x86_64)
     SET(CPACK_RPM_PACKAGE_URL http://embree.github.io/)
+    SET(CPACK_RPM_DEFAULT_DIR_PERMISSIONS OWNER_READ OWNER_WRITE OWNER_EXECUTE GROUP_READ GROUP_EXECUTE WORLD_READ WORLD_EXECUTE)

     # post install and uninstall scripts
     SET(CPACK_RPM_lib_POST_INSTALL_SCRIPT_FILE ${PROJECT_SOURCE_DIR}/common/cmake/rpm_ldconfig.sh)


Fixed imagemagick compilation

Fixed imagemagick compilation

--- ThirdPartyLibraries.cmake
+++ ThirdPartyLibraries.cmake
@@ -1788,11 +1788,15 @@
   message(WARNING "crt_externs.h is missing from ${CMAKE_OSX_SYSROOT}/usr/include, please copy it from somewhere to compile ImageMagick")
 endif ()
 set(IMAGEMAGICK_CONFIGURE_COMMAND "\
-    <SOURCE_DIR>/configure --prefix=${IMAGEMAGICK_PREFIX} ${HOST} ${SYSROOT}\
+    cd <SOURCE_DIR> &&\
+    autoreconf &&\
+    cd <BINARY_DIR> &&\
+    <SOURCE_DIR>/configure --prefix=${IMAGEMAGICK_PREFIX} ${HOST}\
         CC=${CMAKE_C_COMPILER}\
-        CXX=${CMAKE_CXX_COMPILER} CFLAGS=\"${CMAKE_C_FLAGS_WITH_ARCHS} -I${LIBPNG_PREFIX}/include\"\
-        CXXFLAGS=\"${CMAKE_CXX_FLAGS_WITH_ARCHS} -I${LIBPNG_PREFIX}/include \"\
+        CXX=${CMAKE_CXX_COMPILER} CFLAGS=\"${CMAKE_C_FLAGS_WITH_ARCHS}\"\
+        CXXFLAGS=\"${CMAKE_CXX_FLAGS_WITH_ARCHS}\"\
         LDFLAGS=\"${CMAKE_SHARED_LINKER_FLAGS} -L${LIBPNG_PREFIX}/lib -L${FREETYPE_PREFIX}/lib\"\
+        CPPFLAGS=\"-I${LIBPNG_PREFIX}/include\"\
         ${CONFIGURE_LIB_TYPE_STR}\
         --without-x")
 if (BUILD_SHARED_LIBS)
@@ -1804,11 +1808,7 @@
 else ()
   set(IMAGEMAGICK_CONFIGURE_COMMAND
       "${IMAGEMAGICK_CONFIGURE_COMMAND}\
-        PKG_CONFIG_PATH=\"${FREETYPE_PREFIX}/lib/pkgconfig:${LIBPNG_PREFIX}/lib/pkgconfig:\"")
-endif ()
-if (NOT "${CMAKE_OSX_SYSROOT}" STREQUAL "")
-  set(IMAGEMAGICK_CONFIGURE_COMMAND "${IMAGEMAGICK_CONFIGURE_COMMAND}\
-      --with-sysroot=${CMAKE_OSX_SYSROOT}")
+        PKG_CONFIG_PATH=\"${FREETYPE_PREFIX}/lib/pkgconfig\"")
 endif ()
 add_external_project(
   ${IMAGEMAGICK_TARGET}
@@ -1831,6 +1831,7 @@
       done" | sh)
 add_dependencies(${IMAGEMAGICK_TARGET} ${FREETYPE_TARGET})
 add_dependencies(${IMAGEMAGICK_TARGET} ${LIBPNG_TARGET})
+add_dependencies(${IMAGEMAGICK_TARGET} ${LIBXML_TARGET})
 if (BUILD_SHARED_LIBS)
 add_dependencies(${IMAGEMAGICK_TARGET} ${LIBRSVG_TARGET})
 add_dependencies(${IMAGEMAGICK_TARGET} ${PANGO_TARGET})


Fixed the order of Modules

Fixed the order of Modules

--- Tools/CMake/Modules.cmake
+++ Tools/CMake/Modules.cmake
@@ -20,32 +20,31 @@

 set(JASP_COMMON_MODULES
     "jaspDescriptives"
+    "jaspTTests"
     "jaspAnova"
-    "jaspFactor"
+    "jaspMixedModels"
+    "jaspRegression"
     "jaspFrequencies"
-    "jaspRegression"
-    "jaspTTests"
-    "jaspMixedModels")
+    "jaspFactor")

 set(JASP_EXTRA_MODULES
-    "jaspProphet"
-    "jaspCircular"
     "jaspAudit"
     "jaspBain"
-    "jaspNetwork"
-    "jaspSem"
-    "jaspMachineLearning"
-    "jaspSummaryStatistics"
-    "jaspMetaAnalysis"
+    "jaspCircular"
     "jaspCochrane"
     "jaspDistributions"
     "jaspEquivalenceTTests"
     "jaspJags"
+    "jaspLearnBayes"
+    "jaspMachineLearning"
+    "jaspMetaAnalysis"
+    "jaspNetwork"
+    # "jaspProcessControl"
     "jaspReliability"
+    "jaspSem"
+    "jaspSummaryStatistics"
     "jaspVisualModeling"
-    "jaspLearnBayes"
-    # "jaspProcessControl"
-)
+    "jaspProphet")

 list(
   JOIN


CastXML 0.3.5

CastXML 0.3.5

--- src/Version.cmake
+++ src/Version.cmake
@@ -1,7 +1,7 @@
 # CastXML version number components.
 set(CastXML_VERSION_MAJOR 0)
 set(CastXML_VERSION_MINOR 3)
-set(CastXML_VERSION_PATCH 4)
+set(CastXML_VERSION_PATCH 5)
 set(CastXML_VERSION_RC 0)
 set(CastXML_VERSION_IS_DIRTY 0)


[CI] fix Docker/cmake default components list

--- CI/cmake/Docker.cmake
+++ CI/cmake/Docker.cmake
@@ -45,6 +45,11 @@
     message(FATAL_ERROR "Docker : DOCKER_REPOSITORY unset")
   endif()

+  # Default behavior: use all components
+  if(NOT SICONOS_COMPONENTS)
+	include(Tools)
+	set_components(externals;numerics;kernel;control;mechanics;io)
+  endif()
   # ================== Create Dockerfile ==================
   #
   # Set Dockerfile name


Revert "ENH: Add Remote module group description to Doxygen."

This reverts commit 7862a3d77d9f272ddced57eb33eb530ffabd00e7.

--- CMake/ITKGroups.cmake
+++ CMake/ITKGroups.cmake
@@ -1,18 +1,5 @@
 # Set a list of group names
-set(group_list
-  Core
-  IO
-  Filtering
-  Registration
-  Segmentation
-  Numerics
-  Video
-  ThirdParty
-  Bridge
-  Nonunit
-  Compatibility
-  Remote
-  )
+set(group_list Core IO Filtering Registration Segmentation Numerics Video ThirdParty Bridge Nonunit Compatibility)

 set(Core_documentation "This group of modules contain the toolkit framework used
 by other modules.  There are common base classes for data objects and process
@@ -56,16 +43,6 @@

 set(Nonunit_documentation "This group of modules are intended to make use of an
 extensive set of the toolkit modules.")
-
-set(Remote_documentation "This group of modules is for ITK based code that have
-additional third-party dependencies not bundled with the toolkit,
-new algorithms or implementations seeking greater exposure and adoption,
-algorithms that hope to eventually be integrated into the toolkit,
-niche algorithms with limited application, and Modules in progress that do not
-yet have the test coverage and cross-platform standards required by the main toolkit.
-+The modules are OFF by default in ITK's CMake configuration.
-Note that these modules do get the same level of support and backwards
-compatibility as other modules in the toolkit.")

 # Set a module name list for each group
 foreach( group ${group_list} )


ENH: Add top level groups for Video modules

--- CMake/ITKGroups.cmake
+++ CMake/ITKGroups.cmake
@@ -1,5 +1,5 @@
 # Set a list of group names
-set(group_list Core IO Filtering Registration Segmentation Numerics Utilities Bridge Nonunit)
+set(group_list Core IO Filtering Registration Segmentation Numerics Utilities Bridge Nonunit VideoCommon VideoOpenCV VideoVXL)

 #------------------------------------------------
 # Set a module name list for each group
@@ -126,6 +126,23 @@
 ITK-IntegratedTest
 ITK-Review
 )
+
+set(VideoCommon_module_list
+Video-Core-Common
+Video-IO-Base
+Video-IO-FileList
+Video-Filters-Common
+)
+
+set(VideoOpenCV_module_list
+Video-Core-OpenCV
+Video-IO-OpenCV
+Video-Filters-OpenCV
+)
+
+set(VideoVXL_module_list
+Video-IO-VXL
+)
 #------------------------------------------------
 # Turn on the ITK_BUILD option for each group
 if("$ENV{DASHBOARD_TEST_FROM_CTEST}" STREQUAL "")


FIX: incorrect evaluation of systemd support logic

--- CMakeLists.unix.cmake
+++ CMakeLists.unix.cmake
@@ -92,7 +92,7 @@
 # configuration and a <service_name.service.in, which is a systemd-compliant service
 # file.
 macro(AddService SERVICE_CONFIG_SOURCE SERVICE_NAME)
-	if (NOT SYSTEMD_SUPPORT)
+	if (NOT ${SYSTEMD_SUPPORT})
 		configure_file(${SERVICE_CONFIG_SOURCE}/${SERVICE_NAME}.legacy.sh.in
 			${CMAKE_BINARY_DIR}/etc/init.d/${SERVICE_NAME}/${SERVICE_NAME}
 			@ONLY
@@ -114,7 +114,7 @@
 			DESTINATION ${CMAKE_INSTALL_SYSCONFIG_PATH}
 		)

-	else (NOT SYSTEMD_SUPPORT)
+	else (NOT ${SYSTEMD_SUPPORT})
 		configure_file(${SERVICE_CONFIG_SOURCE}/${SERVICE_NAME}.service.in
 			${CMAKE_BUILD_SYSTEMD_UNIT_PATH}/${SERVICE_NAME}.service
 			@ONLY
@@ -134,5 +134,5 @@
 			${CMAKE_BUILD_SYSCONFIG_PATH}/${SERVICE_NAME}
 			DESTINATION ${CMAKE_INSTALL_SYSCONFIG_PATH}
 		)
-	endif (NOT SYSTEMD_SUPPORT)
+	endif (NOT ${SYSTEMD_SUPPORT})
 endmacro(AddService)


updated megamol-shader-factory

updated megamol-shader-factory


fbcode_builder: support installing thrift generated header files

Summary:
Update add_thrift_cpp2_library() to add a PUBLIC_HEADER property to the
generated library target, so that the generated headers can be installed using
an `install()` call.  Also add a `HEADER_INSTALL_DIR` property which indicates
the directory they should be installed into.  A `INCLUDE_DIR` argument was
added to customize the include installation path, should anyone care to do so.

This also removes code that was previously incorrectly installing the
generated headers into the source tree.

Reviewed By: wez

Differential Revision: D16853404

fbshipit-source-id: 6f640b2bd347c99804e074fca0209dda37c8a9cf

--- build/fbcode_builder/CMake/ThriftCppLibrary.cmake
+++ build/fbcode_builder/CMake/ThriftCppLibrary.cmake
@@ -4,10 +4,26 @@

 include(FBCMakeParseArgs)

+# Generate a C++ library from a thrift file
+#
+# Parameters:
+# - SERVICES <svc1> [<svc2> ...]
+#   The names of the services defined in the thrift file.
+# - DEPENDS <dep1> [<dep2> ...]
+#   A list of other thrift C++ libraries that this library depends on.
+# - OPTIONS <opt1> [<opt2> ...]
+#   A list of options to pass to the thrift compiler.
+# - INCLUDE_DIR <path>
+#   The sub-directory where generated headers will be installed.
+#   Defaults to "include" if not specified.  The caller must still call
+#   install() to install the thrift library if desired.
 function(add_thrift_cpp2_library LIB_NAME THRIFT_FILE)
   # Parse the arguments
+  set(one_value_args INCLUDE_DIR)
   set(multi_value_args SERVICES DEPENDS OPTIONS)
-  fb_cmake_parse_args(ARG "" "" "${multi_value_args}" "${ARGN}")
+  fb_cmake_parse_args(
+    ARG "" "${one_value_args}" "${multi_value_args}" "${ARGN}"
+  )

   get_filename_component(base ${THRIFT_FILE} NAME_WE)
   get_filename_component(
@@ -23,6 +39,9 @@
     "${CMAKE_CURRENT_SOURCE_DIR}/${THRIFT_FILE}"
   )
   get_filename_component(include_prefix ${include_prefix} DIRECTORY)
+  if(NOT DEFINED ARG_INCLUDE_DIR)
+    set(ARG_INCLUDE_DIR "include")
+  endif()

   if (NOT "${include_prefix}" STREQUAL "")
     list(APPEND ARG_OPTIONS "include_prefix=${include_prefix}")
@@ -110,19 +129,11 @@
     ${generated_sources}
   )

-  install(
-    FILES ${generated_headers}
-    DESTINATION $<BUILD_INTERFACE:${CMAKE_CURRENT_SOURCE_DIR}>/gen-cpp2
-  )
-
   target_include_directories(
     "${LIB_NAME}"
-    PRIVATE
-      ${CMAKE_SOURCE_DIR}
-      ${CMAKE_BINARY_DIR}
     PUBLIC
-      ${FOLLY_INCLUDE_DIR}
-      ${FBTHRIFT_INCLUDE_DIR}
+      "$<BUILD_INTERFACE:${CMAKE_BINARY_DIR}>"
+      "$<INSTALL_INTERFACE:${ARG_INCLUDE_DIR}>"
   )
   target_link_libraries(
     "${LIB_NAME}"
@@ -132,14 +143,27 @@
       Folly::folly
   )

+  # Add ${generated_headers} to the PUBLIC_HEADER property for ${LIB_NAME}
+  #
+  # This allows callers to install it using
+  # "install(TARGETS ${LIB_NAME} PUBLIC_HEADER)"
+  # However, note that CMake's PUBLIC_HEADER behavior is rather inflexible,
+  # and does have any way to preserve header directory structure.  Callers
+  # must be careful to use the correct PUBLIC_HEADER DESTINATION parameter
+  # when doing this, to put the files the correct directory themselves.
+  # We define a HEADER_INSTALL_DIR property with the include directory prefix,
+  # so typically callers should specify the PUBLIC_HEADER DESTINATION as
+  # "$<TARGET_PROPERTY:${LIB_NAME},HEADER_INSTALL_DIR>"
+  set_property(
+    TARGET "${LIB_NAME}"
+    PROPERTY PUBLIC_HEADER ${generated_headers}
+  )
+
   set_target_properties(
     "${LIB_NAME}"
     PROPERTIES
       EXPORT_PROPERTIES "THRIFT_INCLUDE_DIRECTORY"
       THRIFT_INCLUDE_DIRECTORY "${CMAKE_SOURCE_DIR}"
+      HEADER_INSTALL_DIR "${ARG_INCLUDE_DIR}/${include_prefix}/gen-cpp2"
   )
-
-  get_property(thrift_include_directory
-    TARGET "${LIB_NAME}"
-    PROPERTY THRIFT_INCLUDE_DIRECTORY)
 endfunction()


fbcode_builder: minor style cleanup in ThriftCppLibrary.cmake

Summary:
Add explicit double quotes around arguments that are intended to be exactly a
single parameter.  Also line wrap to 80 characters.

Reviewed By: wez

Differential Revision: D16738443

fbshipit-source-id: b8c9b6d50da72b44e23eaf5effbc384b6cbbc1c0

--- build/fbcode_builder/CMake/ThriftCppLibrary.cmake
+++ build/fbcode_builder/CMake/ThriftCppLibrary.cmake
@@ -17,7 +17,11 @@
   )

   # Generate relative paths in #includes
-  file(RELATIVE_PATH include_prefix ${CMAKE_SOURCE_DIR} ${CMAKE_CURRENT_SOURCE_DIR}/${THRIFT_FILE})
+  file(
+    RELATIVE_PATH include_prefix
+    "${CMAKE_SOURCE_DIR}"
+    "${CMAKE_CURRENT_SOURCE_DIR}/${THRIFT_FILE}"
+  )
   get_filename_component(include_prefix ${include_prefix} DIRECTORY)

   if (NOT "${include_prefix}" STREQUAL "")
@@ -29,33 +33,33 @@

   # Compute the list of generated files
   list(APPEND generated_headers
-    ${output_dir}/gen-cpp2/${base}_constants.h
-    ${output_dir}/gen-cpp2/${base}_constants.cpp
-    ${output_dir}/gen-cpp2/${base}_types.h
-    ${output_dir}/gen-cpp2/${base}_types.tcc
-    ${output_dir}/gen-cpp2/${base}_types_custom_protocol.h
+    "${output_dir}/gen-cpp2/${base}_constants.h"
+    "${output_dir}/gen-cpp2/${base}_constants.cpp"
+    "${output_dir}/gen-cpp2/${base}_types.h"
+    "${output_dir}/gen-cpp2/${base}_types.tcc"
+    "${output_dir}/gen-cpp2/${base}_types_custom_protocol.h"
   )
   list(APPEND generated_sources
-    ${output_dir}/gen-cpp2/${base}_data.h
-    ${output_dir}/gen-cpp2/${base}_data.cpp
-    ${output_dir}/gen-cpp2/${base}_types.cpp
+    "${output_dir}/gen-cpp2/${base}_data.h"
+    "${output_dir}/gen-cpp2/${base}_data.cpp"
+    "${output_dir}/gen-cpp2/${base}_types.cpp"
   )
   foreach(service IN LISTS ARG_SERVICES)
     list(APPEND generated_headers
-      ${output_dir}/gen-cpp2/${service}.h
-      ${output_dir}/gen-cpp2/${service}.tcc
-      ${output_dir}/gen-cpp2/${service}AsyncClient.h
-      ${output_dir}/gen-cpp2/${service}_custom_protocol.h
+      "${output_dir}/gen-cpp2/${service}.h"
+      "${output_dir}/gen-cpp2/${service}.tcc"
+      "${output_dir}/gen-cpp2/${service}AsyncClient.h"
+      "${output_dir}/gen-cpp2/${service}_custom_protocol.h"
     )
     list(APPEND generated_sources
-      ${output_dir}/gen-cpp2/${service}.cpp
-      ${output_dir}/gen-cpp2/${service}AsyncClient.cpp
-      ${output_dir}/gen-cpp2/${service}_processmap_binary.cpp
-      ${output_dir}/gen-cpp2/${service}_processmap_compact.cpp
+      "${output_dir}/gen-cpp2/${service}.cpp"
+      "${output_dir}/gen-cpp2/${service}AsyncClient.cpp"
+      "${output_dir}/gen-cpp2/${service}_processmap_binary.cpp"
+      "${output_dir}/gen-cpp2/${service}_processmap_compact.cpp"
     )
   endforeach()

-  list(APPEND thrift_include_options -I ${CMAKE_SOURCE_DIR})
+  list(APPEND thrift_include_options -I "${CMAKE_SOURCE_DIR}")
   foreach(depends IN LISTS ARG_DEPENDS)
     get_property(thrift_include_directory
       TARGET ${depends}
@@ -64,14 +68,17 @@
     if (thrift_include_directory STREQUAL "")
       message(STATUS "No thrift dependency found for ${depends}")
     else()
-      list(APPEND thrift_include_options -I
-        ${thrift_include_directory})
+      list(
+        APPEND thrift_include_options
+        -I "${thrift_include_directory}"
+      )
     endif()
   endforeach()

   file(
     GLOB_RECURSE THRIFT_TEMPLATE_FILES
-    FOLLOW_SYMLINKS ${FBTHRIFT_TEMPLATES_DIR}/*.mustache)
+    FOLLOW_SYMLINKS "${FBTHRIFT_TEMPLATES_DIR}/*.mustache"
+  )

   # Emit the rule to run the thrift compiler
   add_custom_command(
@@ -79,25 +86,26 @@
       ${generated_headers}
       ${generated_sources}
     COMMAND
-      ${CMAKE_COMMAND} -E make_directory ${output_dir}
+      "${CMAKE_COMMAND}" -E make_directory "${output_dir}"
     COMMAND
-      ${FBTHRIFT_COMPILER}
+      "${FBTHRIFT_COMPILER}"
       --strict
-      --templates ${FBTHRIFT_TEMPLATES_DIR}
+      --templates "${FBTHRIFT_TEMPLATES_DIR}"
       --gen "mstch_cpp2:${GEN_ARG_STR}"
       ${thrift_include_options}
-      -o ${output_dir}
-      ${CMAKE_CURRENT_SOURCE_DIR}/${THRIFT_FILE}
+      -o "${output_dir}"
+      "${CMAKE_CURRENT_SOURCE_DIR}/${THRIFT_FILE}"
     WORKING_DIRECTORY
-      ${CMAKE_BINARY_DIR}
+      "${CMAKE_BINARY_DIR}"
     MAIN_DEPENDENCY
-      ${THRIFT_FILE}
+      "${THRIFT_FILE}"
     DEPENDS
       ${ARG_DEPENDS}
   )

   # Now emit the library rule to compile the sources
-  add_library(${LIB_NAME} STATIC
+  add_library(
+    "${LIB_NAME}" STATIC
     ${generated_sources}
   )

@@ -107,7 +115,7 @@
   )

   target_include_directories(
-    ${LIB_NAME}
+    "${LIB_NAME}"
     PRIVATE
       ${CMAKE_SOURCE_DIR}
       ${CMAKE_BINARY_DIR}
@@ -116,7 +124,7 @@
       ${FBTHRIFT_INCLUDE_DIR}
   )
   target_link_libraries(
-    ${LIB_NAME}
+    "${LIB_NAME}"
     PUBLIC
       ${ARG_DEPENDS}
       FBThrift::thriftcpp2
@@ -124,13 +132,13 @@
   )

   set_target_properties(
-    ${LIB_NAME}
+    "${LIB_NAME}"
     PROPERTIES
       EXPORT_PROPERTIES "THRIFT_INCLUDE_DIRECTORY"
-      THRIFT_INCLUDE_DIRECTORY ${CMAKE_SOURCE_DIR}
+      THRIFT_INCLUDE_DIRECTORY "${CMAKE_SOURCE_DIR}"
   )

   get_property(thrift_include_directory
-    TARGET ${LIB_NAME}
+    TARGET "${LIB_NAME}"
     PROPERTY THRIFT_INCLUDE_DIRECTORY)
 endfunction()


Fix typo in FindBreakpad.cmake.

Fix typo in FindBreakpad.cmake.

--- build/modules/FindBreakpad.cmake
+++ build/modules/FindBreakpad.cmake
@@ -91,7 +91,7 @@
         ${BREAKPAD_LIBRARY_DIRS}
         NO_DEFAULT_PATH)

-      FIND_LIBRARY(BREAKPAD_COMMON_LIBRARY_DBUG
+      FIND_LIBRARY(BREAKPAD_COMMON_LIBRARY_DEBUG
         NAMES common_d
         PATHS
         ${BREAKPAD_LIBRARY_DIRS}


BUG: Use HTTP instead of SSH for initial clone.

Most clients will not have ssh read access.

--- EXAMPLE_Linux.cmake
+++ EXAMPLE_Linux.cmake
@@ -32,7 +32,7 @@
 set( SITE_CTEST_MODE "Experimental" ) # Experimental, Continuous, or Nightly
 set( SITE_CMAKE_GENERATOR "Unix Makefiles" )

-set( TUBETK_GIT_REPOSITORY "git@tubetk.org:TubeTK.git" )
+set( TUBETK_GIT_REPOSITORY "http://tubetk.org/TubeTK.git" )
 set( TUBETK_SOURCE_DIR "/home/aylward/src/TubeTK" )
 set( TUBETK_BINARY_DIR "/home/aylward/src/TubeTK-${SITE_BUILD_TYPE}" )


Bump TubeTK to bring new Radius Estimator

--- CMake/Superbuild/External_TubeTK.cmake
+++ CMake/Superbuild/External_TubeTK.cmake
@@ -45,7 +45,7 @@
     SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj}
     BINARY_DIR ${${proj}_DIR}
     GIT_REPOSITORY "https://github.com/KitwareMedical/TubeTK.git"
-    GIT_TAG "4175204e4ed47d76c44b2de8dcb5c37776dcda6a"
+    GIT_TAG "6fc02d86917e6a0dcf549d99efe3ebd8e30c1e7b"
     CMAKE_CACHE_ARGS
       -DBUILD_SHARED_LIBS:BOOL=${BUILD_SHARED_LIBS}
       -DCMAKE_CXX_FLAGS:STRING=${ep_common_cxx_flags}


Updated boost.compute to latest develop commit

--- CMakeModules/build_boost_compute.cmake
+++ CMakeModules/build_boost_compute.cmake
@@ -1,9 +1,9 @@
 # If using a commit, remove the v prefix to VER in URL.
 # If using a tag, don't use v in VER
 # This is because of how github handles it's release tar balls
-SET(VER 0.5)
-SET(URL https://github.com/boostorg/compute/archive/v${VER}.tar.gz)
-SET(MD5 69a52598ac539d3b7f6005a3dd2b6f58)
+SET(VER 523d8e974559977fab006190e9d40eb2e4f87bd0)
+SET(URL https://github.com/boostorg/compute/archive/${VER}.tar.gz)
+SET(MD5 bbce9e2730e449db5c8f88eae160ea12)

 SET(thirdPartyDir "${CMAKE_BINARY_DIR}/third_party")
 SET(srcDir "${thirdPartyDir}/compute-${VER}")


Fixing overly strict requirement on finding BLAS/LAPACK with MATH_LIBS_AT_CONFIG + ScaLAPACK

--- cmake/external_projects/ElMath/ScaLAPACK.cmake
+++ cmake/external_projects/ElMath/ScaLAPACK.cmake
@@ -125,7 +125,7 @@
           set(HAVE_BLAS FALSE)
         endif()
       endif()
-      if(NOT HAVE_BLAS)
+      if(MATH_LIBS_AT_CONFIG AND NOT HAVE_BLAS)
         message(FATAL_ERROR
           "Cannot link BLAS with found ScaLAPACK and MATH_LIBS")
       endif()
@@ -145,7 +145,7 @@
           set(HAVE_LAPACK FALSE)
         endif()
       endif()
-      if(NOT HAVE_LAPACK)
+      if(MATH_LIBS_AT_CONFIG AND NOT HAVE_LAPACK)
         message(FATAL_ERROR
           "Cannot link LAPACK with found ScaLAPACK and MATH_LIBS")
       endif()


SVN_SILENT made messages (.desktop file)

--- gstreamer/gstreamer.desktop.cmake
+++ gstreamer/gstreamer.desktop.cmake
@@ -22,6 +22,7 @@
 Name[es]=GStreamer
 Name[et]=GStreamer
 Name[eu]=GStreamer
+Name[fa]=GStreamer
 Name[fi]=GStreamer
 Name[fr]=GStreamer
 Name[ga]=GStreamer
@@ -78,6 +79,7 @@
 Comment[es]=Motor GStreamer para Phonon
 Comment[et]=Phononi GStreameri taustaprogramm
 Comment[eu]=Phonon-en GStreamer bizkarraldekoa
+Comment[fa]=پسانه‌ی جی‌استریمر برای فنون (Phonon GStreamer backend)
 Comment[fi]=Phonon GStreamer -taustajärjestelmä
 Comment[fr]=Moteur GStreamer pour Phonon
 Comment[ga]=Inneall GStreamer le haghaidh Phonon


Add missing variable initialization

Add missing variable initialization

This should fix the following CMake error:
Error required internal CMake variable not set, cmake may be not be built correctly.

--- cmake/modules/SetUpWindows.cmake
+++ cmake/modules/SetUpWindows.cmake
@@ -16,9 +16,13 @@
 set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-O2 -Z7")
 set(CMAKE_CXX_FLAGS_RELEASE        "-O2")
 set(CMAKE_CXX_FLAGS_DEBUG          "-Od -Z7")
+set(CMAKE_CXX_FLAGS_DEBUGFULL      "-Od -Z7")
+set(CMAKE_CXX_FLAGS_PROFILE        "-Od -Z7 -profile")
 set(CMAKE_C_FLAGS_RELWITHDEBINFO   "-O2 -Z7")
 set(CMAKE_C_FLAGS_RELEASE          "-O2")
 set(CMAKE_C_FLAGS_DEBUG            "-Od -Z7")
+set(CMAKE_C_FLAGS_DEBUGFULL        "-Od -Z7")
+set(CMAKE_C_FLAGS_PROFILE          "-Od -Z7 -profile")

 if(winrtdebug)
   set(BLDCXXFLAGS "-MDd -GR")
@@ -46,6 +50,10 @@
 #set(CMAKE_EXE_LINKER_FLAGS ${CMAKE_EXE_LINKER_FLAGS})
 set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -ignore:4049,4206,4217,4221 -incremental:no")
 set(CMAKE_MODULE_LINKER_FLAGS "${CMAKE_MODULE_LINKER_FLAGS} -ignore:4049,4206,4217,4221 -incremental:no")
+set(CMAKE_EXE_LINKER_FLAGS_DEBUGFULL ${CMAKE_EXE_LINKER_FLAGS})
+set(CMAKE_EXE_LINKER_FLAGS_PROFILE ${CMAKE_EXE_LINKER_FLAGS} -opt:ref -opt:noicf -incremental:no -fixed:no)
+set(CMAKE_SHARED_LINKER_FLAGS_DEBUGFULL ${CMAKE_SHARED_LINKER_FLAGS})
+set(CMAKE_SHARED_LINKER_FLAGS_PROFILE ${CMAKE_SHARED_LINKER_FLAGS} -opt:ref -opt:noicf -incremental:no -fixed:no)

 #---Remove the "config type" subdirectories-----------------------------------------------
 foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )


Don't link against opencv_ts, it crashes when also using gtest (???)

--- cmakemodules/script_opencv.cmake
+++ cmakemodules/script_opencv.cmake
@@ -106,6 +106,10 @@
 # OpenCV (all compilers):
 SET(CMAKE_MRPT_HAS_OPENCV_NONFREE 0)
 IF(CMAKE_MRPT_HAS_OPENCV)
+	# Important: we can't link against opencv_ts, apparently it leads to crashes
+	# when also linking to gtest (???)
+	list(REMOVE_ITEM OpenCV_LIBRARIES opencv_ts)
+
 	INCLUDE_DIRECTORIES(${OpenCV_INCLUDE_DIR})
 	APPEND_MRPT_LIBS(${OpenCV_LIBRARIES})


CMake: Start refactoring of REGISTER_FEATURE

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

--- deal.II/cmake/macros/macro_register_feature.cmake
+++ deal.II/cmake/macros/macro_register_feature.cmake
@@ -15,26 +15,24 @@
 ## ---------------------------------------------------------------------

 #
-# This macro is used for the feature configuration in deal.II
+# This macro is used for the feature configuration in deal.II. It adds
+# individual FEATURE_* configuration variables to the corresponding
+# DEAL_II_* variables
 #
 # Usage:
 #     REGISTER_FEATURE(feature)
 #
-# This macro will
+# This macro will add
 #
-#   - add ${feature}_INCLUDE_DIRS and ${feature}_INCLUDE_PATH
-#     to the list of (internal) include directories
-#   - and if ${feature}_ADD_TO_USER_INCLUDE_DIRS is defined also to
-#     DEAL_II_USER_INCLUDE_DIRS
+#   <FEATURE>_LIBRARIES
+#   <FEATURE>_INCLUDE_DIRS(|_DEBUG|_RELEASE)
+#   <FEATURE>_USER_INCLUDE_DIRS(|_DEBUG|_RELEASE)
+#   <FEATURE>_DEFINITIONS(|_DEBUG|_RELEASE)
+#   <FEATURE>_USER_DEFINITIONS(|_DEBUG|_RELEASE)
+#   <FEATURE>_CXX_FLAGS(|_DEBUG|_RELEASE)
+#   <FEATURE>_LINKER_FLAGS(|_DEBUG|_RELEASE)
 #
-#   - add ${feature}_LINKER_FLAGS and ${feature}_LINK_FLAGS to
-#     DEAL_II_LINKER_FLAGS
-#
-#   - add ${feature}_CXX_FLAGS and ${feature}_COMPILE_FLAGS to
-#     DEAL_II_CXX_FLAGS
-#
-#   - add ${feature}_LIBRARIES to the list of deal.II libraries depending
-#     on general, optimized or debug keyword
+# to the corresponding DEAL_II_* variables
 #


Revert "Propagates link flags in static libraries"

Former-commit-id: 27c96990e740f4121b0b9574477df0ade2f5f1e0

--- HalideGenerator.cmake
+++ HalideGenerator.cmake
@@ -150,9 +150,9 @@
         # 4088: "/FORCE used, image may not work"
         # (Note that MSVC apparently considers 4088 too important to allow us to ignore it;
         # I'm nevertheless leaving this here to document that we don't care about it.)
-        target_link_libraries("${TARGET}" INTERFACE "-STACK:8388608,1048576" "-FORCE:multiple" "-ignore:4006" "-ignore:4088")
+        set_target_properties("${TARGET}" PROPERTIES LINK_FLAGS "/STACK:8388608,1048576 /FORCE:multiple /ignore:4006 /ignore:4088")
       else()
-        target_link_libraries("${TARGET}" INTERFACE "-Wl,--allow-multiple-definition")
+        set_target_properties("${TARGET}" PROPERTIES LINK_FLAGS "-Wl,--allow-multiple-definition")
       endif()
     else()
       target_link_libraries("${TARGET}" PRIVATE dl pthread z)


A little more refactoring

A little more refactoring

--- HalideGenerator.cmake
+++ HalideGenerator.cmake
@@ -5,6 +5,21 @@
   file(MAKE_DIRECTORY "${GENFILES_DIR}")
   set(${OUTVAR} "${GENFILES_DIR}" PARENT_SCOPE)
 endfunction()
+
+function(halide_generator_get_exec_path TARGET OUTVAR)
+  if(MSVC)
+    # In MSVC, the generator executable will be placed in a configuration specific
+    # directory specified by ${CMAKE_CFG_INTDIR}.
+    set(${OUTVAR} "${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${TARGET}${CMAKE_EXECUTABLE_SUFFIX}" PARENT_SCOPE)
+  elseif(XCODE)
+    # In Xcode, the generator executable will be placed in a configuration specific
+    # directory, so the Xcode variable $(CONFIGURATION) is passed in the custom build script.
+    set(${OUTVAR} "${CMAKE_BINARY_DIR}/bin/$(CONFIGURATION)/${TARGET}${CMAKE_EXECUTABLE_SUFFIX}" PARENT_SCOPE)
+  else()
+    set(${OUTVAR} "${CMAKE_BINARY_DIR}/bin/${TARGET}${CMAKE_EXECUTABLE_SUFFIX}" PARENT_SCOPE)
+  endif()
+endfunction()
+

 # This function adds custom build steps to invoke a Halide generator exectuable
 # and produce a static library containing the generated code.
@@ -51,37 +66,27 @@
   set(FILTER_LIB "${AOT_LIBRARY_TARGET}${CMAKE_STATIC_LIBRARY_SUFFIX}")
   set(FILTER_HDR "${AOT_LIBRARY_TARGET}.h")

-  set(generator_exec_args "-o" "${GENFILES_DIR}")
+  set(GENERATOR_EXEC_ARGS "-o" "${GENFILES_DIR}")
   if (NOT ${args_GENERATED_FUNCTION} STREQUAL "")
-    list(APPEND generator_exec_args "-f" "${args_GENERATED_FUNCTION}" )
+    list(APPEND GENERATOR_EXEC_ARGS "-f" "${args_GENERATED_FUNCTION}" )
   endif()
   if (NOT ${args_GENERATOR_NAME} STREQUAL "")
-    list(APPEND generator_exec_args "-g" "${args_GENERATOR_NAME}")
+    list(APPEND GENERATOR_EXEC_ARGS "-g" "${args_GENERATOR_NAME}")
   endif()
   if (NOT ${args_GENERATOR_OUTPUTS} STREQUAL "")
-    list(APPEND generator_exec_args "-e" ${args_GENERATOR_OUTPUTS})
+    list(APPEND GENERATOR_EXEC_ARGS "-e" ${args_GENERATOR_OUTPUTS})
   endif()
   # GENERATOR_ARGS always come last
-  list(APPEND generator_exec_args ${args_GENERATOR_ARGS})
+  list(APPEND GENERATOR_EXEC_ARGS ${args_GENERATOR_ARGS})

-  if(MSVC)
-    # In MSVC, the generator executable will be placed in a configuration specific
-    # directory specified by ${CMAKE_CFG_INTDIR}.
-    set(generator_exec "${CMAKE_BINARY_DIR}/bin/${CMAKE_CFG_INTDIR}/${args_GENERATOR_TARGET}${CMAKE_EXECUTABLE_SUFFIX}")
-  elseif(XCODE)
-    # In Xcode, the generator executable will be placed in a configuration specific
-    # directory, so the Xcode variable $(CONFIGURATION) is passed in the custom build script.
-    set(generator_exec "${CMAKE_BINARY_DIR}/bin/$(CONFIGURATION)/${args_GENERATOR_TARGET}${CMAKE_EXECUTABLE_SUFFIX}")
-  else()
-    set(generator_exec "${CMAKE_BINARY_DIR}/bin/${args_GENERATOR_TARGET}${CMAKE_EXECUTABLE_SUFFIX}")
-  endif()
+  halide_generator_get_exec_path(${args_GENERATOR_TARGET} GENERATOR_EXEC_PATH)

   # Add a custom target to invoke the GENERATOR_TARGET and output the Halide
   # generated library.
   add_custom_command(
     OUTPUT "${GENFILES_DIR}/${FILTER_LIB}" "${GENFILES_DIR}/${FILTER_HDR}"
     DEPENDS "${args_GENERATOR_TARGET}"
-    COMMAND "${generator_exec}" ${generator_exec_args}
+    COMMAND "${GENERATOR_EXEC_PATH}" ${GENERATOR_EXEC_ARGS}
     WORKING_DIRECTORY "${GENFILES_DIR}"
   )


VeraPPUtilities: Set CMP0053 to NEW

VeraPPUtilities: Set CMP0053 to NEW

We are using @SOURCE@ as a template string for later use with
tooling-cmake-util

--- VeraPPUtilities.cmake
+++ VeraPPUtilities.cmake
@@ -23,6 +23,12 @@
     set (${CONTINUE} ${VERAPP_FOUND})

 endmacro ()
+
+if (POLICY CMP0053)
+
+    cmake_policy (SET CMP0053 NEW)
+
+endif ()

 # verapp_list_files_in_external_directory
 #


Use SHOW_CONFIG_LINE_SYSTEM for SuiteSparse

--- cmakemodules/script_show_final_summary.cmake
+++ cmakemodules/script_show_final_summary.cmake
@@ -126,7 +126,7 @@
 SHOW_CONFIG_LINE_SYSTEM("GLUT                                " CMAKE_MRPT_HAS_GLUT)
 SHOW_CONFIG_LINE_SYSTEM("PCAP (Wireshark logs for Velodyne)  " CMAKE_MRPT_HAS_LIBPCAP)
 SHOW_CONFIG_LINE_SYSTEM("PCL (Pointscloud library)           " CMAKE_MRPT_HAS_PCL  "[Version: ${PCL_VERSION}]")
-SHOW_CONFIG_LINE       ("SuiteSparse                         " CMAKE_MRPT_HAS_SUITESPARSE)
+SHOW_CONFIG_LINE_SYSTEM("SuiteSparse                         " CMAKE_MRPT_HAS_SUITESPARSE)
 SHOW_CONFIG_LINE       ("VTK                                 " CMAKE_MRPT_HAS_VTK)
 SHOW_CONFIG_LINE_SYSTEM("yamlcpp (YAML file format)          " CMAKE_MRPT_HAS_YAMLCPP "[Version: ${LIBYAMLCPP_VERSION}]")
 MESSAGE(STATUS  "")


update to basho leveldb 2.0.29

update to basho leveldb 2.0.29

--- basholeveldb.cmake
+++ basholeveldb.cmake
@@ -11,9 +11,9 @@
 include (BuildSupport)

 external_source (basholeveldb
-    2.0.20
-    basholeveldb-2.0.20.tar.gz
-    159af0ac581dc7dfa2cf53882096ac01)
+    2.0.29
+    basholeveldb-2.0.29.tar.gz
+    34423184f05f79b069ccbe19ef6e5c10)

 message ("Installing ${basholeveldb_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")
 if (${APPLE})


build: fix formatting (hard tabs -> spaces)

Signed-off-by: Daniel A. Steffen <bc823475b60dbcbd7be1bbdfe095b5f1939d5bd2@apple.com>

--- cmake/modules/DispatchCompilerWarnings.cmake
+++ cmake/modules/DispatchCompilerWarnings.cmake
@@ -5,86 +5,86 @@
   endmacro()
 else()
   macro(dispatch_common_warnings)
-	add_compile_options(-Werror)
-	add_compile_options(-Wall)
-	add_compile_options(-Wextra)
-	add_compile_options(-Wno-unknown-warning-option)
-	add_compile_options(-Wno-trigraphs)
-	add_compile_options(-Wmissing-field-initializers)
-	add_compile_options(-Wmissing-prototypes)
-	add_compile_options(-Wdocumentation)
-	add_compile_options(-Wunreachable-code)
-	add_compile_options(-Wmissing-braces)
-	add_compile_options(-Wparentheses)
-	add_compile_options(-Wswitch)
-	add_compile_options(-Wunused-function)
-	add_compile_options(-Wunused-label)
-	add_compile_options(-Wunused-parameter)
-	add_compile_options(-Wunused-variable)
-	add_compile_options(-Wunused-value)
-	add_compile_options(-Wempty-body)
-	add_compile_options(-Wuninitialized)
-	add_compile_options(-Wunknown-pragmas)
-	add_compile_options(-Wshadow)
-	add_compile_options(-Wno-four-char-constants)
-	add_compile_options(-Wconversion)
-	add_compile_options(-Wconstant-conversion)
-	add_compile_options(-Wint-conversion)
-	add_compile_options(-Wbool-conversion)
-	add_compile_options(-Wenum-conversion)
-	add_compile_options(-Wassign-enum)
-	add_compile_options(-Wsign-compare)
-	add_compile_options(-Wshorten-64-to-32)
-	add_compile_options(-Wpointer-sign)
-	add_compile_options(-Wnewline-eof)
-	add_compile_options(-Wdeprecated-declarations)
-	add_compile_options(-Wsign-conversion)
-	add_compile_options(-Winfinite-recursion)
-	add_compile_options(-Warray-bounds-pointer-arithmetic)
-	add_compile_options(-Watomic-properties)
-	add_compile_options(-Wcomma)
-	add_compile_options(-Wconditional-uninitialized)
-	add_compile_options(-Wcovered-switch-default)
-	add_compile_options(-Wdate-time)
-	add_compile_options(-Wdeprecated)
-	add_compile_options(-Wdouble-promotion)
-	add_compile_options(-Wduplicate-enum)
-	add_compile_options(-Wexpansion-to-defined)
-	add_compile_options(-Wfloat-equal)
-	add_compile_options(-Widiomatic-parentheses)
-	add_compile_options(-Wignored-qualifiers)
-	add_compile_options(-Wimplicit-fallthrough)
-	add_compile_options(-Wnullable-to-nonnull-conversion)
-	add_compile_options(-Wobjc-interface-ivars)
-	add_compile_options(-Wover-aligned)
-	add_compile_options(-Wpacked)
-	add_compile_options(-Wpointer-arith)
-	add_compile_options(-Wselector)
-	add_compile_options(-Wstatic-in-inline)
-	add_compile_options(-Wsuper-class-method-mismatch)
-	add_compile_options(-Wswitch-enum)
-	add_compile_options(-Wtautological-compare)
-	add_compile_options(-Wunguarded-availability)
-	add_compile_options(-Wunused)
-	add_compile_options(-Wno-disabled-macro-expansion)
-	add_compile_options(-Wno-pedantic)
-	add_compile_options(-Wno-bad-function-cast)
-	add_compile_options(-Wno-c++-compat)
-	add_compile_options(-Wno-c++98-compat)
-	add_compile_options(-Wno-c++98-compat-pedantic)
-	add_compile_options(-Wno-cast-align)
-	add_compile_options(-Wno-cast-qual)
-	add_compile_options(-Wno-documentation-unknown-command)
-	add_compile_options(-Wno-format-nonliteral)
-	add_compile_options(-Wno-missing-variable-declarations)
-	add_compile_options(-Wno-old-style-cast)
-	add_compile_options(-Wno-padded)
-	add_compile_options(-Wno-reserved-id-macro)
-	add_compile_options(-Wno-shift-sign-overflow)
-	add_compile_options(-Wno-undef)
-	add_compile_options(-Wno-unreachable-code-aggressive)
-	add_compile_options(-Wno-unused-macros)
-	add_compile_options(-Wno-used-but-marked-unused)
-	add_compile_options(-Wno-vla)
+    add_compile_options(-Werror)
+    add_compile_options(-Wall)
+    add_compile_options(-Wextra)
+    add_compile_options(-Wno-unknown-warning-option)
+    add_compile_options(-Wno-trigraphs)
+    add_compile_options(-Wmissing-field-initializers)
+    add_compile_options(-Wmissing-prototypes)
+    add_compile_options(-Wdocumentation)
+    add_compile_options(-Wunreachable-code)
+    add_compile_options(-Wmissing-braces)
+    add_compile_options(-Wparentheses)
+    add_compile_options(-Wswitch)
+    add_compile_options(-Wunused-function)
+    add_compile_options(-Wunused-label)
+    add_compile_options(-Wunused-parameter)
+    add_compile_options(-Wunused-variable)
+    add_compile_options(-Wunused-value)
+    add_compile_options(-Wempty-body)
+    add_compile_options(-Wuninitialized)
+    add_compile_options(-Wunknown-pragmas)
+    add_compile_options(-Wshadow)
+    add_compile_options(-Wno-four-char-constants)
+    add_compile_options(-Wconversion)
+    add_compile_options(-Wconstant-conversion)
+    add_compile_options(-Wint-conversion)
+    add_compile_options(-Wbool-conversion)
+    add_compile_options(-Wenum-conversion)
+    add_compile_options(-Wassign-enum)
+    add_compile_options(-Wsign-compare)
+    add_compile_options(-Wshorten-64-to-32)
+    add_compile_options(-Wpointer-sign)
+    add_compile_options(-Wnewline-eof)
+    add_compile_options(-Wdeprecated-declarations)
+    add_compile_options(-Wsign-conversion)
+    add_compile_options(-Winfinite-recursion)
+    add_compile_options(-Warray-bounds-pointer-arithmetic)
+    add_compile_options(-Watomic-properties)
+    add_compile_options(-Wcomma)
+    add_compile_options(-Wconditional-uninitialized)
+    add_compile_options(-Wcovered-switch-default)
+    add_compile_options(-Wdate-time)
+    add_compile_options(-Wdeprecated)
+    add_compile_options(-Wdouble-promotion)
+    add_compile_options(-Wduplicate-enum)
+    add_compile_options(-Wexpansion-to-defined)
+    add_compile_options(-Wfloat-equal)
+    add_compile_options(-Widiomatic-parentheses)
+    add_compile_options(-Wignored-qualifiers)
+    add_compile_options(-Wimplicit-fallthrough)
+    add_compile_options(-Wnullable-to-nonnull-conversion)
+    add_compile_options(-Wobjc-interface-ivars)
+    add_compile_options(-Wover-aligned)
+    add_compile_options(-Wpacked)
+    add_compile_options(-Wpointer-arith)
+    add_compile_options(-Wselector)
+    add_compile_options(-Wstatic-in-inline)
+    add_compile_options(-Wsuper-class-method-mismatch)
+    add_compile_options(-Wswitch-enum)
+    add_compile_options(-Wtautological-compare)
+    add_compile_options(-Wunguarded-availability)
+    add_compile_options(-Wunused)
+    add_compile_options(-Wno-disabled-macro-expansion)
+    add_compile_options(-Wno-pedantic)
+    add_compile_options(-Wno-bad-function-cast)
+    add_compile_options(-Wno-c++-compat)
+    add_compile_options(-Wno-c++98-compat)
+    add_compile_options(-Wno-c++98-compat-pedantic)
+    add_compile_options(-Wno-cast-align)
+    add_compile_options(-Wno-cast-qual)
+    add_compile_options(-Wno-documentation-unknown-command)
+    add_compile_options(-Wno-format-nonliteral)
+    add_compile_options(-Wno-missing-variable-declarations)
+    add_compile_options(-Wno-old-style-cast)
+    add_compile_options(-Wno-padded)
+    add_compile_options(-Wno-reserved-id-macro)
+    add_compile_options(-Wno-shift-sign-overflow)
+    add_compile_options(-Wno-undef)
+    add_compile_options(-Wno-unreachable-code-aggressive)
+    add_compile_options(-Wno-unused-macros)
+    add_compile_options(-Wno-used-but-marked-unused)
+    add_compile_options(-Wno-vla)
   endmacro()
 endif()


COMP: update libkml link

COMP: update libkml link

--- SuperBuild/CMake/External_libkml.cmake
+++ SuperBuild/CMake/External_libkml.cmake
@@ -34,8 +34,8 @@

 ExternalProject_Add(LIBKML
   PREFIX LIBKML
-  URL "http://ftp.de.debian.org/debian/pool/main/libk/libkml/libkml_1.3.0~r863.orig.tar.gz"
-  URL_MD5 211ed5fdf2dd45aeb9c0abc8e1fe42be
+  URL "http://ftp.de.debian.org/debian/pool/main/libk/libkml/libkml_1.3.0~r864+dfsg.orig.tar.gz"
+  URL_MD5 487e3c8dd1ad03551e361ab6a1b4e083
   BINARY_DIR ${LIBKML_SB_BUILD_DIR}
   INSTALL_DIR ${SB_INSTALL_PREFIX}
   DOWNLOAD_DIR ${DOWNLOAD_LOCATION}


add funroll-all-loops if using gcc

add funroll-all-loops if using gcc

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

--- deal.II/cmake/setup_compiler_flags_gnu.cmake
+++ deal.II/cmake/setup_compiler_flags_gnu.cmake
@@ -120,6 +120,7 @@
   ADD_FLAGS(DEAL_II_CXX_FLAGS_RELEASE "-O2")

   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-funroll-loops")
+  ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-funroll-all-loops")
   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-fstrict-aliasing")
   ENABLE_IF_SUPPORTED(DEAL_II_CXX_FLAGS_RELEASE "-felide-constructors")


Update the SimpleITK_DIR version to the current SimpleITK version

--- SuperBuild/External_SimpleITKExamples.cmake
+++ SuperBuild/External_SimpleITKExamples.cmake
@@ -20,7 +20,7 @@
       ${ep_common_args}
       -DITK_DIR:PATH=${ITK_DIR}
       -DElastix_DIR:PATH=${Elastix_DIR}
-      -DSimpleITK_DIR:PATH=${CMAKE_INSTALL_PREFIX}/lib/cmake/SimpleITK-1.0/
+      -DSimpleITK_DIR:PATH=${CMAKE_INSTALL_PREFIX}/lib/cmake/SimpleITK-1.1/
       -DCMAKE_SKIP_RPATH:BOOL=ON
       -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
     BUILD_COMMAND ${BUILD_COMMAND_STRING}


Find and install obabel and all needed files

Change-Id: Ia521c66c0b62d82e91222e958f5e679270b9be5b

--- cmake/AvogadroCPack.cmake
+++ cmake/AvogadroCPack.cmake
@@ -35,6 +35,32 @@
   find_package(AvogadroLibs REQUIRED NO_MODULE)
   install(DIRECTORY "${AvogadroLibs_LIBRARY_DIR}/avogadro2"
     DESTINATION ${INSTALL_LIBRARY_DIR})
+
+  find_program(OBABEL_EXE obabel)
+  if(OBABEL_EXE)
+    install(FILES ${OBABEL_EXE} DESTINATION ${INSTALL_RUNTIME_DIR}
+      PERMISSIONS
+        OWNER_READ OWNER_EXECUTE
+        GROUP_READ GROUP_EXECUTE
+        WORLD_READ WORLD_EXECUTE)
+    get_filename_component(BABEL_DIR "${OBABEL_EXE}" PATH)
+    if(WIN32)
+      file(GLOB BABEL_PLUGINS ${BABEL_DIR}/*.obf)
+      install(
+        FILES
+          ${BABEL_PLUGINS}
+          ${BABEL_DIR}/inchi.dll
+          ${BABEL_DIR}/libxml2.dll
+        DESTINATION ${INSTALL_RUNTIME_DIR})
+      install(DIRECTORY "${BABEL_DIR}/data"
+        DESTINATION ${INSTALL_RUNTIME_DIR})
+    elseif(APPLE)
+      install(DIRECTORY "${BABEL_DIR}/../lib/openbabel"
+        DESTINATION ${INSTALL_LIBRARY_DIR})
+      install(DIRECTORY "${BABEL_DIR}/../share/openbabel"
+        DESTINATION ${INSTALL_DATA_DIR})
+    endif()
+  endif()
 endif()

 include(CPack)


Added a CMake option for the clangformat target support.

--- cmake/ConfigOptions.cmake
+++ cmake/ConfigOptions.cmake
@@ -135,6 +135,7 @@

 option(WITH_DEBUG_SYMBOLS "Pack debug symbols to installer" OFF)
 option(WITH_CCACHE "Use ccache support if available" ON)
+option(WITH_CLANG_FORMAT "Detect clang-format. run 'cmake --build . --target clangformat' to format." ON)
 option(WITH_ICU "Use ICU for unicode conversion" OFF)
 option(WITH_GSSAPI "Compile support for kerberos authentication. (EXPERIMENTAL)" OFF)


fix MySQL library lookup on newer Linux distributions

starting with libmysqlclient20, there won't be a '_r' link anymore

--- cmake/FindMySQLCAPI.cmake
+++ cmake/FindMySQLCAPI.cmake
@@ -64,6 +64,7 @@
 		MYSQLCAPI_LIBRARY
 		NAME
 		mysqlclient_r
+		mysqlclient
 		HINTS
 		${MYSQLCAPI_ROOT_DIR}
 		PATH_SUFFIXES


Fixed handling if Verilator is not found from error to status

--- cmake/FindVerilator.cmake
+++ cmake/FindVerilator.cmake
@@ -174,118 +174,119 @@
         PATH_SUFFIXES bin
         DOC "Path to the Verilator executable"
     )
+
    	if(VERILATOR_EXECUTABLE STREQUAL VERILATOR_EXECUTABLE-NOTFOUND)
-    	message( FATAL_ERROR "verilator not found." )
+   		set(VERILATOR_FOUND FALSE PARENT_SCOPE)
+	else()
+	    find_program(VERILATOR_COVERAGE_EXECUTABLE verilator_coverage
+	        HINTS $ENV{VERILATOR_ROOT} /usr/local/bin
+	        PATH_SUFFIXES bin
+	        DOC "Path to the Verilator coverage executable"
+	    )
+
+	    get_filename_component(VERILATOR_EXECUTABLE_DIR ${VERILATOR_EXECUTABLE}
+	        DIRECTORY)
+
+	    find_path(VERILATOR_INCLUDE_DIR verilated.h
+	        HINTS $ENV{VERILATOR_ROOT} ${VERILATOR_EXECUTABLE_DIR}/.. /usr/local
+	        PATH_SUFFIXES include share/verilator/include
+	        DOC "Path to the Verilator headers"
+	    )
+	   	if(VERILATOR_INCLUDE_DIR STREQUAL VERILATOR_INCLUDE_DIR-NOTFOUND)
+	    	message( FATAL_ERROR "verilator include files not found." )
+		endif()
+
+	    mark_as_advanced(VERILATOR_EXECUTABLE)
+	    mark_as_advanced(VERILATOR_COVERAGE_EXECUTABLE)
+	    mark_as_advanced(VERILATOR_INCLUDE_DIR)
+
+	    find_package_handle_standard_args(Verilator REQUIRED_VARS
+	        VERILATOR_EXECUTABLE VERILATOR_COVERAGE_EXECUTABLE VERILATOR_INCLUDE_DIR)
+
+	    if (WIN32)
+	        set(library_policy STATIC)
+	    else()
+	        set(library_policy SHARED)
+	    endif()
+
+	    add_library(verilated ${library_policy}
+	        ${VERILATOR_INCLUDE_DIR}/verilated.cpp
+	        ${VERILATOR_INCLUDE_DIR}/verilated_cov.cpp
+	        ${VERILATOR_INCLUDE_DIR}/verilated_dpi.cpp
+	        ${VERILATOR_INCLUDE_DIR}/verilated_vcd_c.cpp
+	        ${VERILATOR_INCLUDE_DIR}/verilated_vcd_sc.cpp
+	        ${CMAKE_CURRENT_LIST_DIR}/../src/verilator_callbacks.cpp
+	    )
+
+	    set_target_properties(verilated PROPERTIES
+	        ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+	        LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+	        RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
+	    )
+
+	    set_source_files_properties(
+	        ${VERILATOR_INCLUDE_DIR}/verilated.cpp
+	        PROPERTIES
+	            COMPILE_DEFINITIONS "VL_USER_STOP;VL_USER_FINISH"
+	    )
+
+	    set_source_files_properties(
+	        ${VERILATOR_INCLUDE_DIR}/verilated_cov.cpp
+	        PROPERTIES
+	            COMPILE_DEFINITIONS "VM_COVERAGE=1"
+	    )
+
+	    target_link_libraries(verilated PRIVATE systemc)
+
+	    set_target_properties(verilated PROPERTIES
+	        ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	        LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
+	    )
+
+	    target_include_directories(verilated SYSTEM PRIVATE
+	        ${VERILATOR_INCLUDE_DIR}
+	        ${VERILATOR_INCLUDE_DIR}/vltstd
+	        ${SYSTEMC_INCLUDE_DIRS}
+	    )
+
+	    if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
+	        verilator_target_compile_options(verilated PRIVATE
+	            -Wno-attributes
+	            -Wno-cast-qual
+	            -Wno-float-equal
+	            -Wno-suggest-override
+	            -Wno-conversion
+	            -Wno-unused-parameter
+	            -Wno-effc++
+	            -Wno-format
+	            -Wno-format-nonliteral
+	            -Wno-missing-declarations
+	            -Wno-old-style-cast
+	            -Wno-shadow
+	            -Wno-sign-conversion
+	            -Wno-strict-overflow
+	            -Wno-suggest-attribute=noreturn
+	            -Wno-suggest-final-methods
+	            -Wno-suggest-final-types
+	            -Wno-switch-default
+	            -Wno-switch-enum
+	            -Wno-undef
+	            -Wno-inline
+	            -Wno-variadic-macros
+	            -Wno-suggest-attribute=format
+	            -Wno-zero-as-null-pointer-constant
+	        )
+	    elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
+	        verilator_target_compile_options(verilated PRIVATE -Wno-everything)
+	    endif()
+
+	    set(VERILATOR_FOUND ${VERILATOR_FOUND} PARENT_SCOPE)
+	    set(VERILATOR_EXECUTABLE "${VERILATOR_EXECUTABLE}" PARENT_SCOPE)
+	    set(VERILATOR_INCLUDE_DIR "${VERILATOR_INCLUDE_DIR}" PARENT_SCOPE)
+	    set(VERILATOR_COVERAGE_EXECUTABLE "${VERILATOR_COVERAGE_EXECUTABLE}" PARENT_SCOPE)
+
 	endif()
-
-
-    find_program(VERILATOR_COVERAGE_EXECUTABLE verilator_coverage
-        HINTS $ENV{VERILATOR_ROOT} /usr/local/bin
-        PATH_SUFFIXES bin
-        DOC "Path to the Verilator coverage executable"
-    )
-
-    get_filename_component(VERILATOR_EXECUTABLE_DIR ${VERILATOR_EXECUTABLE}
-        DIRECTORY)
-
-    find_path(VERILATOR_INCLUDE_DIR verilated.h
-        HINTS $ENV{VERILATOR_ROOT} ${VERILATOR_EXECUTABLE_DIR}/.. /usr/local
-        PATH_SUFFIXES include share/verilator/include
-        DOC "Path to the Verilator headers"
-    )
-   	if(VERILATOR_INCLUDE_DIR STREQUAL VERILATOR_INCLUDE_DIR-NOTFOUND)
-    	message( FATAL_ERROR "verilator include files not found." )
-	endif()
-
-    mark_as_advanced(VERILATOR_EXECUTABLE)
-    mark_as_advanced(VERILATOR_COVERAGE_EXECUTABLE)
-    mark_as_advanced(VERILATOR_INCLUDE_DIR)
-
-    find_package_handle_standard_args(Verilator REQUIRED_VARS
-        VERILATOR_EXECUTABLE VERILATOR_COVERAGE_EXECUTABLE VERILATOR_INCLUDE_DIR)
-
-    if (WIN32)
-        set(library_policy STATIC)
-    else()
-        set(library_policy SHARED)
-    endif()
-
-    add_library(verilated ${library_policy}
-        ${VERILATOR_INCLUDE_DIR}/verilated.cpp
-        ${VERILATOR_INCLUDE_DIR}/verilated_cov.cpp
-        ${VERILATOR_INCLUDE_DIR}/verilated_dpi.cpp
-        ${VERILATOR_INCLUDE_DIR}/verilated_vcd_c.cpp
-        ${VERILATOR_INCLUDE_DIR}/verilated_vcd_sc.cpp
-        ${CMAKE_CURRENT_LIST_DIR}/../src/verilator_callbacks.cpp
-    )
-
-    set_target_properties(verilated PROPERTIES
-        ARCHIVE_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
-        LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
-        RUNTIME_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR}/lib"
-    )
-
-    set_source_files_properties(
-        ${VERILATOR_INCLUDE_DIR}/verilated.cpp
-        PROPERTIES
-            COMPILE_DEFINITIONS "VL_USER_STOP;VL_USER_FINISH"
-    )
-
-    set_source_files_properties(
-        ${VERILATOR_INCLUDE_DIR}/verilated_cov.cpp
-        PROPERTIES
-            COMPILE_DEFINITIONS "VM_COVERAGE=1"
-    )
-
-    target_link_libraries(verilated PRIVATE systemc)
-
-    set_target_properties(verilated PROPERTIES
-        ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
-        LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib
-    )
-
-    target_include_directories(verilated SYSTEM PRIVATE
-        ${VERILATOR_INCLUDE_DIR}
-        ${VERILATOR_INCLUDE_DIR}/vltstd
-        ${SYSTEMC_INCLUDE_DIRS}
-    )
-
-    if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
-        verilator_target_compile_options(verilated PRIVATE
-            -Wno-attributes
-            -Wno-cast-qual
-            -Wno-float-equal
-            -Wno-suggest-override
-            -Wno-conversion
-            -Wno-unused-parameter
-            -Wno-effc++
-            -Wno-format
-            -Wno-format-nonliteral
-            -Wno-missing-declarations
-            -Wno-old-style-cast
-            -Wno-shadow
-            -Wno-sign-conversion
-            -Wno-strict-overflow
-            -Wno-suggest-attribute=noreturn
-            -Wno-suggest-final-methods
-            -Wno-suggest-final-types
-            -Wno-switch-default
-            -Wno-switch-enum
-            -Wno-undef
-            -Wno-inline
-            -Wno-variadic-macros
-            -Wno-suggest-attribute=format
-            -Wno-zero-as-null-pointer-constant
-        )
-    elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
-        verilator_target_compile_options(verilated PRIVATE -Wno-everything)
-    endif()
-
-    set(VERILATOR_FOUND ${VERILATOR_FOUND} PARENT_SCOPE)
-    set(VERILATOR_EXECUTABLE "${VERILATOR_EXECUTABLE}" PARENT_SCOPE)
-    set(VERILATOR_INCLUDE_DIR "${VERILATOR_INCLUDE_DIR}" PARENT_SCOPE)
-    set(VERILATOR_COVERAGE_EXECUTABLE "${VERILATOR_COVERAGE_EXECUTABLE}"
-        PARENT_SCOPE)
+
 endfunction()

 _find_verilator()


Do not use CMake CONCAT

Do not use CMake CONCAT

CONCAT was added quite late in the CMake release cycles so lets use `set()`
instead which has been around _forever_...

--- cmake/GetGitVersion.cmake
+++ cmake/GetGitVersion.cmake
@@ -38,7 +38,7 @@
       ERROR_QUIET)
   string(COMPARE NOTEQUAL "${GIT_DIFF_INDEX}" "" GIT_DIRTY)
   if (${GIT_DIRTY})
-      string(CONCAT GIT_VERSION ${GIT_VERSION} "-dirty")
+      set(GIT_VERSION "${GIT_VERSION}-dirty")
   endif()
   message("-- git Version: ${GIT_VERSION}")
   set(${var} ${GIT_VERSION} PARENT_SCOPE)


updated xlink config cmake

updated xlink config cmake

--- cmake/Hunter/config.cmake
+++ cmake/Hunter/config.cmake
@@ -15,7 +15,7 @@
     XLink
     VERSION "luxonis-2020.2test2"
     URL  "https://github.com/luxonis/XLink/archive/test_usb_info.zip"
-    SHA1 "2270a39c5898ab09c154ad4fa806d886e45cfe93"
+    SHA1 "a18464c81ac97352c2dddd1f2a025d8f91a6333f"
     CMAKE_ARGS
         CMAKE_POSITION_INDEPENDENT_CODE=ON
 )


Improve documentation in FindSwigFileDependencies.

--- cmake/OpenSimMacros.cmake
+++ cmake/OpenSimMacros.cmake
@@ -512,6 +512,12 @@
         OUTPUT_VARIABLE _dependencies_makefile
         RESULT_VARIABLE _successfully_got_dependencies
             )
+    # On Windows, _dependencies_makefile now contains something like this:
+    # C:\opensim-core\Bindings\Python\swig\python_simbody_wrap.cxx: \
+    #   C:\opensim-core\Bindings\Python\swig\python_simbody.i \
+    #   C:\opensim-core\Bindings\Python\swig\numpy.i \
+    #   ...<more header files and SWIG interface files>
+    # Note: SWIG does not depend on cpp files.
     # Clean up the output, since it's in the form of a makefile
     # (and we just want a list of file paths).
     if(${_successfully_got_dependencies} EQUAL 0) # return code 0 is success.


Fix for problem with the CMake XCode generator ignoring the CMAKE_BUILD_TYPE value.

--- cmake/PlatformMacOS.cmake
+++ cmake/PlatformMacOS.cmake
@@ -13,6 +13,19 @@
 else ()

     message(STATUS "Configuring for platform MacOS with XCode Version 5+.")
+
+    # The XCode generator seems to ignore the value in the CMAKE_BUILD_TYPE variable.
+    # Instead, it uses the first value of the CMAKE_CONFIGURATION_TYPES list as build
+    # 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()

 endif()


Added LD_LIBRARY_PATH for library search.

--- cmake/ThirdPartyVTK.cmake
+++ cmake/ThirdPartyVTK.cmake
@@ -36,6 +36,6 @@
     MARK_AS_ADVANCED(VTK_DIR)
     ADD_DEFINITIONS(-DNEKTAR_USING_VTK)
     INCLUDE_DIRECTORIES(${VTK_INCLUDE_DIRS})
-    LINK_DIRECTORIES(${VTK_LIBRARY_DIRS})
+    LINK_DIRECTORIES(${VTK_LIBRARY_DIRS} $ENV{LD_LIBRARY_PATH})
 ENDIF( NEKTAR_USE_VTK )


Reviewed UseDOFeatures.cmake for improved maintainability

--- cmake/UseDOFeatures.cmake
+++ cmake/UseDOFeatures.cmake
@@ -36,27 +36,6 @@
     do_set_features_source_dir()
     do_list_features_source_files()
     do_create_variables_for_features_library()
-
-    # Static library
-    do_append_library(
-      Features STATIC
-      "${DO_SOURCE_DIR}"
-      "${DO_Features_HEADER_FILES}"
-      "${DO_Features_SOURCE_FILES}"
-      "${DO_Features_LINK_LIBRARIES}"
-    )
-    do_set_specific_target_properties(DO_Features DO_STATIC)
-
-    # Shared library
-    if (DO_BUILD_SHARED_LIBS)
-      do_append_library(
-        Features_SHARED SHARED
-        "${DO_SOURCE_DIR}"
-        "${DO_Features_HEADER_FILES}"
-        "${DO_Features_SOURCE_FILES}"
-        "${DO_Features_LINK_LIBRARIES}"
-      )
-      do_set_specific_target_properties(DO_Features DO_EXPORTS)
-    endif ()
+    do_generate_library("Features")
   endif ()
 endif ()


Make external/glog use local gflags.

Make external/glog use local gflags.

--- cmake/external/glog.cmake
+++ cmake/external/glog.cmake
@@ -36,6 +36,7 @@
     CMAKE_ARGS      -DCMAKE_INSTALL_PREFIX=${GLOG_INSTALL_DIR}
     CMAKE_ARGS      -DCMAKE_POSITION_INDEPENDENT_CODE=ON
     CMAKE_ARGS      -DWITH_GFLAGS=ON
+    CMAKE_ARGS      -Dgflags_DIR=${GFLAGS_INSTALL_DIR}/lib/cmake/gflags
     CMAKE_ARGS      -DBUILD_TESTING=OFF
 )


add allocator.h copy

add allocator.h copy

The allocator.h header file is required for C-API inference applications

test=develop

--- cmake/inference_lib.cmake
+++ cmake/inference_lib.cmake
@@ -166,8 +166,8 @@

 set(module "memory")
 copy(memory_lib
-        SRCS ${src_dir}/${module}/*.h ${src_dir}/${module}/detail/*.h
-        DSTS ${dst_dir}/${module} ${dst_dir}/${module}/detail
+        SRCS ${src_dir}/${module}/*.h ${src_dir}/${module}/detail/*.h ${src_dir}/${module}/allocation/*.h
+        DSTS ${dst_dir}/${module} ${dst_dir}/${module}/detail ${dst_dir}/${module}/allocation
         )

 set(inference_deps paddle_fluid_shared paddle_fluid)


Fixes for Darwin to find program R instead of R app with the console

--- cmake/modules/FindR.cmake
+++ cmake/modules/FindR.cmake
@@ -9,9 +9,17 @@

 message(STATUS "Looking for R")

+if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
+  set(CMAKE_FIND_FRAMEWORK  "LAST")
+  set(CMAKE_FIND_APPBUNDLE "LAST")
+endif()
+
 find_program ( R_EXECUTABLE
                NAMES R R.exe
               )
+
+MESSAGE(STATUS "R_EXECUTABLE=${R_EXECUTABLE}")
+
 #searching flags unsing R executable
 if ( R_EXECUTABLE )
   execute_process ( COMMAND echo "cat(Sys.getenv(\"R_HOME\"))"
@@ -36,9 +44,10 @@
                   )
 endif()

-# MESSAGE(STATUS "R_HOME=${R_HOME}")
-# MESSAGE(STATUS "R_INCLUDE_DIR=${R_INCLUDE_DIR}")
-# MESSAGE(STATUS "R_LIBRARY=${R_LIBRARY}")
+
+MESSAGE(STATUS "R_HOME=${R_HOME}")
+MESSAGE(STATUS "R_INCLUDE_DIR=${R_INCLUDE_DIR}")
+MESSAGE(STATUS "R_LIBRARY=${R_LIBRARY}")

 else()
 set(R_PKGCONF_INCLUDE_DIRS


Use the proper library in FindR.cmake to link.

--- cmake/modules/FindR.cmake
+++ cmake/modules/FindR.cmake
@@ -41,8 +41,8 @@
                   OUTPUT_STRIP_TRAILING_WHITESPACE)

   find_library(R_${_cpt}_LIBRARY
-               ${_cpt}.so ${_cpt}.dylib
-               HINTS ${_cpt_path}/libs)
+               lib${_cpt}.so lib${_cpt}.dylib
+               HINTS ${_cpt_path}/lib)
   if(R_${_cpt}_LIBRARY)
     mark_as_advanced(R_${_cpt}_LIBRARY)
     list(APPEND R_LIBRARIES ${R_${_cpt}_LIBRARY})


Adapt cmake find script

Adapt cmake find script

--- glbinding-config.cmake
+++ glbinding-config.cmake
@@ -1,47 +1,32 @@

-# GLOW_FOUND
+# GLBINDING_FOUND

-# GLOW_LIBRARIES
-# GLOW_INCLUDES
+# GLBINDING_LIBRARIES
+# GLBINDING_INCLUDES

-# GLOW_BASE_LIBRARY
-# GLOW_BASE_LIBRARY_RELEASE
-# GLOW_BASE_LIBRARY_DEBUG
-# GLOW_BASE_INCLUDE_DIR
-
-# GLOW_LIBRARY
-# GLOW_LIBRARY_RELEASE
-# GLOW_LIBRARY_DEBUG
-# GLOW_INCLUDE_DIR
-
-# GLOW_UTILS_LIBRARY
-# GLOW_UTILS_LIBRARY_RELEASE
-# GLOW_UTILS_LIBRARY_DEBUG
-# GLOW_UTILS_INCLUDE_DIR
-
-# GLOW_WINDOW_LIBRARY
-# GLOW_WINDOW_LIBRARY_RELEASE
-# GLOW_WINDOW_LIBRARY_DEBUG
-# GLOW_WINDOW_INCLUDE_DIR
+# GLBINDING_LIBRARY
+# GLBINDING_LIBRARY_RELEASE
+# GLBINDING_LIBRARY_DEBUG
+# GLBINDING_INCLUDE_DIR

 include(FindPackageHandleStandardArgs)

 if(CMAKE_CURRENT_LIST_FILE)
-    get_filename_component(GLOW_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
+    get_filename_component(GLBINDING_DIR ${CMAKE_CURRENT_LIST_FILE} PATH)
 endif()

 file(TO_CMAKE_PATH "$ENV{PROGRAMFILES}" ENVPROGRAMFILES)
-file(TO_CMAKE_PATH "$ENV{GLOW_DIR}" ENVGLOW_DIR)
+file(TO_CMAKE_PATH "$ENV{GLBINDING_DIR}" ENVGLBINDING_DIR)

 set(LIB_PATHS
-    ${GLOW_DIR}/build
-    ${GLOW_DIR}/build/Release
-    ${GLOW_DIR}/build/Debug
-    ${GLOW_DIR}/build-release
-    ${GLOW_DIR}/build-debug
-    ${ENVGLOW_DIR}/lib
-    ${GLOW_DIR}/lib
-    ${ENVPROGRAMFILES}/glow/lib
+    ${GLBINDING_DIR}/build
+    ${GLBINDING_DIR}/build/Release
+    ${GLBINDING_DIR}/build/Debug
+    ${GLBINDING_DIR}/build-release
+    ${GLBINDING_DIR}/build-debug
+    ${ENVGLBINDING_DIR}/lib
+    ${GLBINDING_DIR}/lib
+    ${ENVPROGRAMFILES}/glbinding/lib
     /usr/lib
     /usr/local/lib
     /sw/lib
@@ -55,20 +40,20 @@
 macro (find LIB_NAME HEADER)
     set(HINT_PATHS ${ARGN})

-    if (${LIB_NAME} STREQUAL "glow")
-        set(LIB_NAME_UPPER GLOW)
-        set(LIBNAME glow)
+    if (${LIB_NAME} STREQUAL "glbinding")
+        set(LIB_NAME_UPPER GLBINDING)
+        set(LIBNAME glbinding)
     else()
-        string(TOUPPER GLOW_${LIB_NAME} LIB_NAME_UPPER)
-        set(LIBNAME glow${LIB_NAME})
+        string(TOUPPER GLBINDING_${LIB_NAME} LIB_NAME_UPPER)
+        set(LIBNAME glbinding${LIB_NAME})
     endif()

     find_path(${LIB_NAME_UPPER}_INCLUDE_DIR ${HEADER}
-        ${ENVGLOW_DIR}/include
-        ${ENVTEMPLATE_DIR}/source/${LIBNAME}/include
-        ${GLOW_DIR}/include
-        ${GLOW_DIR}/source/${LIBNAME}/include
-        ${ENVPROGRAMFILES}/glow/include
+        ${ENVGLBINDING_DIR}/include
+        ${ENVGLBINDING_DIR}/source/${LIBNAME}/include
+        ${GLBINDING_DIR}/include
+        ${GLBINDING_DIR}/source/${LIBNAME}/include
+        ${ENVPROGRAMFILES}/glbinding/include
         /usr/include
         /usr/local/include
         /sw/include
@@ -92,8 +77,8 @@
         set(${LIB_NAME_UPPER}_LIBRARY ${${LIB_NAME_UPPER}_LIBRARY_DEBUG})
     endif()

-    set(GLOW_INCLUDES  ${GLOW_INCLUDES}  ${${LIB_NAME_UPPER}_INCLUDE_DIR})
-    set(GLOW_LIBRARIES ${GLOW_LIBRARIES} ${${LIB_NAME_UPPER}_LIBRARY})
+    set(GLBINDING_INCLUDES  ${GLBINDING_INCLUDES}  ${${LIB_NAME_UPPER}_INCLUDE_DIR})
+    set(GLBINDING_LIBRARIES ${GLBINDING_LIBRARIES} ${${LIB_NAME_UPPER}_LIBRARY})

     # DEBUG
     #message("${LIB_NAME_UPPER}_INCLUDE_DIR     = ${${LIB_NAME_UPPER}_INCLUDE_DIR}")
@@ -103,14 +88,11 @@

 endmacro()

-find(base glowbase/glowbase_api.h ${LIB_PATHS})
-find(glow   glow/glow_api.h             ${LIB_PATHS})
-find(utils  glowutils/glowutils_api.h   ${LIB_PATHS})
-find(window glowwindow/glowwindow_api.h ${LIB_PATHS})
+find(glbinding glbinding/glbinding_api.h ${LIB_PATHS})

 # DEBUG
-#message("GLOW_INCLUDES  = ${GLOW_INCLUDES}")
-#message("GLOW_LIBRARIES = ${GLOW_LIBRARIES}")
+#message("GLBINDING_INCLUDES  = ${GLBINDING_INCLUDES}")
+#message("GLBINDING_LIBRARIES = ${GLBINDING_LIBRARIES}")

-find_package_handle_standard_args(GLOW DEFAULT_MSG GLOW_LIBRARIES GLOW_INCLUDES)
-mark_as_advanced(GLOW_FOUND)
+find_package_handle_standard_args(GLBINDING DEFAULT_MSG GLBINDING_LIBRARIES GLBINDING_INCLUDES)
+mark_as_advanced(GLBINDING_FOUND)


Delete example_extension.cmake

Delete example_extension.cmake

--- scripts/cmake/config/example_extension.cmake
+++ scripts/cmake/config/example_extension.cmake
@@ -1,64 +0,0 @@
-#
-# Copyright (C) 2019 Assured Information Security, Inc.
-#
-# Permission is hereby granted, free of charge, to any person obtaining a copy
-# of this software and associated documentation files (the "Software"), to deal
-# in the Software without restriction, including without limitation the rights
-# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-# copies of the Software, and to permit persons to whom the Software is
-# furnished to do so, subject to the following conditions:
-#
-# The above copyright notice and this permission notice shall be included in all
-# copies or substantial portions of the Software.
-#
-# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
-# SOFTWARE.
-
-# ------------------------------------------------------------------------------
-# README
-# ------------------------------------------------------------------------------
-
-# For a complete example of how to use a VMM extension, please see the
-# following example:
-# https://github.com/Bareflank/hypervisor_example_cpuidcount
-
-# ------------------------------------------------------------------------------
-# Extension
-# ------------------------------------------------------------------------------
-
-# Add Subproject
-#
-# To add an extension, use the add_subproject macro. This macro tells the build
-# system to include an external project. This is the same macro used by the
-# main build system. Like the main build system, the extension must contain
-# it's own sub project.
-#
-#add_subproject(
-#    <name> vmm
-#    DEPENDS bfvmm bfintrinsics <dependencies>
-#    SOURCE_DIR <path>
-#)
-
-# Subproject Layout
-#
-# Like all subprojects, your project must start with cmake's project macro.
-# In addition, the init_project macro must be used which ensures the projects
-# variables are properly setup based on the prefix you intend to use (which
-# will likely be the "vmm"). Finally, you can use the add_xxx_library
-# functions or you can use the add_vmm_executable function as shown in
-# this example.
-#
-#cmake_minimum_required(VERSION 3.6)
-#project(example_vmm C CXX)
-#
-#include(${SOURCE_CMAKE_DIR}/project.cmake)
-#init_project()
-#
-#add_vmm_executable(example_vmm
-#    SOURCES <filename>.cpp
-#)