Updating platform.h.cmake Close #853

Updating platform.h.cmake Close #853

--- include/geos/platform.h.cmake
+++ include/geos/platform.h.cmake
@@ -5,13 +5,14 @@
  * GEOS - Geometry Engine Open Source
  * http://geos.osgeo.org
  *
+ * Copyright (C) 2018 Vicky Vergara
  * Copyright (C) 2009 Mateusz Loskot
  * Copyright (C) 2005-2009 Refractions Research Inc.
  * Copyright (C) 2001-2009 Vivid Solutions Inc.
  *
  * This is free software; you can redistribute and/or modify it under
  * the terms of the GNU Lesser General Public Licence as published
- * by the Free Software Foundation.
+ * by the Free Software Foundation.
  * See the COPYING file for more information.
  *
  *********************************************************************/
@@ -28,138 +29,58 @@
 /* Disable inclusion of platform.h not generated by CMake */
 #define GEOS_PLATFORM_H 1

-/* Set to 1 if you have stdint.h */
-#cmakedefine HAVE_STDINT_H 1
-
-/* Set to 1 if you have inttypes.h */
-#cmakedefine HAVE_INTTYPES_H 1
-
 /* Set to 1 if you have ieeefp.h */
 #cmakedefine HAVE_IEEEFP_H 1

-/* Set to 1 if you have `int64_t' type */
-#cmakedefine HAVE_INT64_T_64 1
-
-/* Set to 1 if `long int' is 64 bits */
-#cmakedefine HAVE_LONG_INT_64 1
-
-/* Set to 1 if `long long int' is 64 bits */
-#cmakedefine HAVE_LONG_LONG_INT_64 1
-
-/* Set to 1 if C++/C99 std::isnan is defined */
-#cmakedefine HAVE_STD_ISNAN 1
-
-/* Set to 1 if C99 isnan is defined */
-#cmakedefine HAVE_ISNAN 1
-
-/* Set to 1 if XCode __isnand is defined */
-#cmakedefine HAVE_ISNAND_XCODE 1
-
-/* Set to 1 if XCode __inline_isnand is defined */
-#cmakedefine HAVE_INLINE_ISNAND_XCODE 1
-
-/* Set to 1 if C++/C99 std::isfinite is defined */
-#cmakedefine HAVE_STD_ISFINITE 1
-
-/* Set to 1 if C99 isfinite is defined */
-#cmakedefine HAVE_ISFINITE 1
-
-/* Set to 1 if Visual C++ finite is defined */
-#cmakedefine HAVE_FINITE 1
+#ifdef _MSC_VER
+#  define _USE_MATH_DEFINES
+#endif
+#include <cmath>
+#include <limits>
+#include <cinttypes>

-#ifdef HAVE_IEEEFP_H
-extern "C"
-{
-#include <ieeefp.h>
-}
-#endif
-
-#ifdef HAVE_INTTYPES_H
-extern "C"
-{
-#include <inttypes.h>
-}
-# ifndef HAVE_INT64_T_64
-#  error Warning: inttypes.h included but HAVE_INT64_T_64 not defined
-# endif
-#endif
-
-/* We need M_PI, but on MSVC you need to define _USE_MATH_DEFINES before
- * including math.h to get it.  If we are too late (math.h already included)
- * we will define it manually.
- */
-#ifdef _MSC_VER
-#define _USE_MATH_DEFINES
-#include <cmath>
-#include <float.h>
-#else
-#include <cmath>
-#endif
-#include <limits>

 #ifndef M_PI
 #define M_PI 3.14159265358979323846
 #endif

-/* For MingW the appropriate definitions are included in math.h
- * and float.h but the definitions in math.h are only included
- * if __STRICT_ANSI__ is not defined. Since GEOS is compiled
- * with -ansi that means those definitions are not available.
- */
-#if defined(__GNUC__) && defined(_WIN32)
-#include <float.h>
+typedef int64_t int64;
+
+
+#if defined(_MSC_VER) && _MSC_VER >= 1200 // VC++ 6.0 and above
+#  include <float.h>
+#  ifndef FINITE
+#    define FINITE(x) _finite(x)
+#  endif
+#  ifndef ISNAN
+#    define ISNAN(x) _isnan(x)
+#  endif
+#elif !defined(HAVE_IEEEFP_H)
+#  include <cmath>
+#  ifndef FINITE
+#    define FINITE(x) std::isfinite(x)
+#  endif
+#  ifndef ISNAN
+#    define ISNAN(x) std::isnan(x)
+#  endif
+#else
+#  include <ieeefp.h>
+#  ifndef FINITE
+#    define FINITE(x) finite(x)
+#  endif
+#  ifndef ISNAN
+#    define ISNAN(x) isnan(x)
+#  endif
 #endif

-#ifdef HAVE_INT64_T_64
-# ifdef _MSC_VER
-   typedef __int64 int64;
-# else
-   typedef int64_t int64;
-# endif
-#else
-# ifdef HAVE_LONG_LONG_INT_64
-   typedef long long int int64;
-# else
-   typedef long int int64;
-#  ifndef HAVE_LONG_INT_64
-#   define INT64_IS_REALLY32 1
-#   warning "Could not find 64bit integer definition!"
-#  endif
-# endif
-#endif

-#if defined(HAVE_STD_ISNAN)
-# define ISNAN(x) (std::isnan)(x)
-#elif defined(HAVE_INLINE_ISNAND_XCODE)
-# define ISNAN(x) __inline_isnand(static_cast<double>(x))
-#elif defined(HAVE_ISNAND_XCODE)
-# define ISNAN(x) __isnand(static_cast<double>(x))
-#elif defined(HAVE_ISNAN)
-# if defined(_MSC_VER)
-#  define ISNAN(x) _isnan(static_cast<double>(x))
-# else
-#  define ISNAN(x) isnan(x)
-# endif
-#else
-# error "Could not find isnan function or macro!"
-#endif
+// Some handy constants
+constexpr double DoubleNotANumber = std::numeric_limits<double>::quiet_NaN();
+constexpr double DoubleMax = (std::numeric_limits<double>::max)();
+constexpr double DoubleInfinity = (std::numeric_limits<double>::infinity)();
+constexpr double DoubleNegInfinity = (-(std::numeric_limits<double>::infinity)());

-#if defined(HAVE_STD_ISFINITE)
-# define FINITE(x) (std::isfinite)(x)
-#elif defined(HAVE_ISFINITE)
-# define FINITE(x) isfinite(x)
-#elif defined(HAVE_FINITE)
-# define FINITE(x) _finite(static_cast<double>(x))
-#else
-# error "Could not find finite or isfinite function or macro!"
-#endif

-#define DoubleNegInfinity (-(std::numeric_limits<double>::infinity)())
-#define DoubleMax (std::numeric_limits<double>::max)()
-// Defines NaN for Intel platforms
-#define DoubleNotANumber std::numeric_limits<double>::quiet_NaN()
-// Don't forget to define infinities
-#define DoubleInfinity (std::numeric_limits<double>::infinity)()

 #endif // GEOS_PLATFORM_H_INCLUDED


Make the local include local

Make the local include local

--- CMake/Utilities.cmake
+++ CMake/Utilities.cmake
@@ -53,7 +53,8 @@
   )

   target_compile_definitions(${${PREFIX}_NAME}_static PRIVATE ${${PREFIX}_DEFINITIONS})
-  target_include_directories(${${PREFIX}_NAME}_static PRIVATE ${${PREFIX}_INCLUDE} ${PROJECT_SOURCE_DIR})
+  target_include_directories(${${PREFIX}_NAME}_static PRIVATE ${${PREFIX}_INCLUDE})
+  target_include_directories(${${PREFIX}_NAME}_static BEFORE PRIVATE ${PROJECT_SOURCE_DIR})

   set_target_properties (${${PREFIX}_NAME}_static PROPERTIES
     FOLDER C++/static
@@ -73,7 +74,8 @@
   )

   target_compile_definitions(${${PREFIX}_NAME} PRIVATE ${${PREFIX}_DEFINITIONS} -DBUILD_${PREFIX} -DATK_SHARED)
-  target_include_directories(${${PREFIX}_NAME} PRIVATE ${${PREFIX}_INCLUDE} ${PROJECT_SOURCE_DIR})
+  target_include_directories(${${PREFIX}_NAME} PRIVATE ${${PREFIX}_INCLUDE})
+  target_include_directories(${${PREFIX}_NAME} BEFORE PRIVATE ${PROJECT_SOURCE_DIR})

   set_target_properties (${${PREFIX}_NAME} PROPERTIES
     FOLDER C++/shared


Clean step now removes entire build directory.

This is the only way to ensure that we cleaned the previous test
run's build completely. On certain generators
the ADDITIONAL_MAKE_CLEAN_FILES property has no effect.

The working directory for the driver script was also changed to be
The source directory of the test subproject.

--- CMakeUnitRunner.cmake
+++ CMakeUnitRunner.cmake
@@ -80,9 +80,9 @@
     set (TEST_DIRECTORY_NAME ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME})
     set (TEST_WORKING_DIRECTORY_NAME ${TEST_DIRECTORY_NAME}/build)
     set (TEST_DRIVER_SCRIPT
-         ${TEST_WORKING_DIRECTORY_NAME}/${TEST_NAME}Driver.cmake)
+         ${TEST_DIRECTORY_NAME}/${TEST_NAME}Driver.cmake)
     set (TEST_INITIAL_CACHE_FILE
-         ${TEST_WORKING_DIRECTORY_NAME}/initial_cache.cmake)
+         ${TEST_DIRECTORY_NAME}/initial_cache.cmake)

 endmacro (_define_variables_for_test)

@@ -97,6 +97,8 @@
          "                             ALLOW_FAIL)\n"
          "    message (\"Running \" \${\${COMMAND_VAR}})\n"
          "    execute_process (COMMAND \${\${COMMAND_VAR}}\n"
+         "                     WORKING_DIRECTORY\n"
+         "                     ${TEST_WORKING_DIRECTORY_NAME}\n"
          "                     RESULT_VARIABLE RESULT\n"
          "                     OUTPUT_VARIABLE OUTPUT\n"
          "                     ERROR_VARIABLE ERROR)\n"
@@ -153,8 +155,8 @@
     file (APPEND ${DRIVER_SCRIPT}
           "set (${STEP} ${ADD_DRIVER_STEP_COMMAND})\n"
           "add_driver_command (${STEP}\n"
-          "                    \${CMAKE_CURRENT_BINARY_DIR}/${STEP}.output\n"
-          "                    \${CMAKE_CURRENT_BINARY_DIR}/${STEP}.error\n"
+          "                    ${TEST_WORKING_DIRECTORY_NAME}/${STEP}.output\n"
+          "                    ${TEST_WORKING_DIRECTORY_NAME}/${STEP}.error\n"
           "                    ${ALLOW_FAIL})\n")

 endfunction (_add_driver_step DRIVER_SCRIPT STEP COMMAND_VAR)
@@ -164,9 +166,18 @@
     add_test (NAME ${TEST_NAME}
               COMMAND
               ${CMAKE_COMMAND} -P ${DRIVER_SCRIPT}
-              WORKING_DIRECTORY ${TEST_WORKING_DIRECTORY_NAME})
+              WORKING_DIRECTORY ${TEST_DIRECTORY_NAME})

 endfunction (_define_test_for_driver)
+
+function (_append_clean_step DRIVER_SCRIPT
+                             TEST_WORKING_DIRECTORY_NAME)
+
+    file (APPEND ${DRIVER_SCRIPT}
+          "file (REMOVE_RECURSE ${TEST_WORKING_DIRECTORY_NAME})\n"
+          "file (MAKE_DIRECTORY ${TEST_WORKING_DIRECTORY_NAME})\n")
+
+endfunction (_append_clean_step)

 function (_append_configure_step TEST_NAME
                                  DRIVER_SCRIPT
@@ -231,7 +242,7 @@
                              TEST_WORKING_DIRECTORY_NAME
                              TARGET)

-    set (BUILD_STEP_OPTION_ARGS ALLOW_FAIL NO_CLEAN)
+    set (BUILD_STEP_OPTION_ARGS ALLOW_FAIL)

     cmake_parse_arguments (BUILD_STEP
                            "${BUILD_STEP_OPTION_ARGS}"
@@ -244,17 +255,10 @@
         set (ALLOW_FAIL_OPTION ALLOW_FAIL)

     endif (BUILD_STEP_ALLOW_FAIL)
-
-    if (NOT BUILD_STEP_NO_CLEAN)
-
-        set (CLEAN_FIRST_OPTION --clean-first)
-
-    endif (NOT BUILD_STEP_NO_CLEAN)

     set (BUILD_COMMAND ${CMAKE_COMMAND}
                        --build
                        ${TEST_WORKING_DIRECTORY_NAME}
-                       ${CLEAN_FIRST_OPTION}
                        --target
                        ${TARGET})
     _add_driver_step (${DRIVER_SCRIPT} BUILD
@@ -298,6 +302,8 @@
     _bootstrap_test_driver_script(${TEST_NAME}
                                   ${TEST_DRIVER_SCRIPT}
                                   ${TEST_INITIAL_CACHE_FILE})
+    _append_clean_step (${TEST_DRIVER_SCRIPT}
+                        ${TEST_WORKING_DIRECTORY_NAME})
     _append_configure_step (${TEST_NAME}
                             ${TEST_DRIVER_SCRIPT}
                             ${TEST_INITIAL_CACHE_FILE}
@@ -348,16 +354,18 @@

     endif (ADD_CMAKE_BUILD_TEST_ALLOW_CONFIGURE_FAIL)

-    if (ADD_CMAKE_BUILD_TEST_NO_CLEAN)
-
-        set (NO_CLEAN_OPTION NO_CLEAN)
-
-    endif (ADD_CMAKE_BUILD_TEST_NO_CLEAN)
-
     _define_variables_for_test (${TEST_NAME})
     _bootstrap_test_driver_script(${TEST_NAME}
                                   ${TEST_DRIVER_SCRIPT}
                                   ${TEST_INITIAL_CACHE_FILE})
+
+    if (NOT ADD_CMAKE_BUILD_TEST_NO_CLEAN)
+
+      _append_clean_step (${TEST_DRIVER_SCRIPT}
+                          ${TEST_WORKING_DIRECTORY_NAME})
+
+    endif (NOT ADD_CMAKE_BUILD_TEST_NO_CLEAN)
+
     _append_configure_step (${TEST_NAME}
                             ${TEST_DRIVER_SCRIPT}
                             ${TEST_INITIAL_CACHE_FILE}


StyleGuideLint: Populate caches before running spellcheck on each file

This avoids a build race where caches were created on checking
the first file and might not have been complete before other
build jobs read them.

--- StyleGuideLint.cmake
+++ StyleGuideLint.cmake
@@ -8,6 +8,12 @@
 include ("cmake/tooling-cmake-util/PolysquareToolingUtil")

 set (_STYLE_GUIDE_LINT_LIST_DIR "${CMAKE_CURRENT_LIST_DIR}")
+set (_STYLE_GUIDE_LINT_SPELLCHECK_TECH_TERMS
+     "${CMAKE_BINARY_DIR}/style_guide_linter/technical_terms")
+set (_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_DIR
+     "${CMAKE_BINARY_DIR}/style_guide_linter/cache")
+set (_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_STAMP
+     "${_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_DIR}/generated.stamp")

 macro (style_guide_lint_validate CONTINUE)

@@ -41,10 +47,9 @@

 function (_style_guide_lint_get_commandline COMMANDLINE_RETURN)

-    set (CURRENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
     set (STYLE_GUIDE_LINT_COMMON_OPTIONS
-         "--spellcheck-cache=${CURRENT_BINARY_DIR}/style_guide_linter_cache"
-         "--log-technical-terms-to=${CURRENT_BINARY_DIR}/technical_terms")
+         "--spellcheck-cache=${_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_DIR}"
+         "--log-technical-terms-to=${_STYLE_GUIDE_LINT_SPELLCHECK_TECH_TERMS}")

     set (COMMANDLINE_OPTION_ARGS WARN_ONLY)
     set (COMMANDLINE_MULTIVAR_ARGS SOURCES
@@ -92,10 +97,9 @@

 function (_style_guide_lint_get_spelling_commandline COMMANDLINE_RETURN)

-    set (CURRENT_BINARY_DIR "${CMAKE_CURRENT_BINARY_DIR}")
     set (SPELLING_COMMON_OPTIONS
-         "--spellcheck-cache=${CURRENT_BINARY_DIR}/style_guide_linter_cache"
-         "--technical-terms=${CURRENT_BINARY_DIR}/technical_terms")
+         "--spellcheck-cache=${_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_DIR}"
+         "--technical-terms=${_STYLE_GUIDE_LINT_SPELLCHECK_TECH_TERMS}")

     set (COMMANDLINE_OPTION_ARGS WARN_ONLY)
     set (COMMANDLINE_MULTIVAR_ARGS SOURCES)
@@ -162,6 +166,28 @@
          -P
          "${_STYLE_GUIDE_LINT_LIST_DIR}/RunStyleGuideLint.cmake"
          PARENT_SCOPE)
+
+endfunction ()
+
+function (_style_guide_lint_enable_caches_on_checks)
+
+    if (NOT TARGET "spellcheck-cache")
+
+        set (STAMPFILE "${_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_STAMP}")
+        add_custom_command (OUTPUT "${STAMPFILE}"
+                            COMMAND "${STYLE_GUIDE_LINT_POP_CACHE_EXECUTABLE}"
+                                    "${_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_DIR}"
+                                    --technical-terms
+                                    "${_STYLE_GUIDE_LINT_SPELLCHECK_TECH_TERMS}"
+                            COMMAND "${CMAKE_COMMAND}" -E touch "${STAMPFILE}"
+                            DEPENDS "${_STYLE_GUIDE_LINT_SPELLCHECK_TECH_TERMS}"
+                            WORKING_DIRECTORY
+                            "${CMAKE_SOURCE_DIR}"
+                            COMMENT "Populating spellcheck cache")
+        add_custom_target ("spellcheck-cache"
+                           SOURCES "${STAMPFILE}")
+
+    endif ()

 endfunction ()

@@ -225,9 +251,13 @@
                              FORWARD_OPTIONS
                              OPTION_ARGS WARN_ONLY)

+    # Enable caching and add the cache-generating target to DEPENDS
+    _style_guide_lint_enable_caches_on_checks ()
+
     # Now run the tool on the source, passing everything after DEPENDS
     list (APPEND ADD_CHECKS_DEPENDS  # NOLINT:unused/var_in_func
-          "${CMAKE_CURRENT_BINARY_DIR}/technical_terms")
+          "${_STYLE_GUIDE_LINT_SPELLCHECK_TECH_TERMS}"
+          "${_STYLE_GUIDE_LINT_SPELLCHECK_CACHE_STAMP}")
     cmake_forward_arguments (ADD_CHECKS
                              RUN_TOOL_ON_SOURCE_FORWARD
                              MULTIVAR_ARGS DEPENDS)
@@ -315,7 +345,7 @@

     set (STAMPFILE "${CMAKE_CURRENT_BINARY_DIR}/code-spelling.stamp")
     add_custom_command (OUTPUT "${STAMPFILE}"
-                               "${CMAKE_CURRENT_BINARY_DIR}/technical_terms"
+                               "${_STYLE_GUIDE_LINT_SPELLCHECK_TECH_TERMS}"
                         COMMAND ${STYLE_GUIDE_LINT_COMMAND}
                         COMMAND "${CMAKE_COMMAND}" -E touch "${STAMPFILE}"
                         DEPENDS


Move back to using a common install prefix for version 3 and version 4
of itcl and friends since there is no practical benefit to a separate
version 3 install prefix (you still have to use versioned package
names) and that separate version 3 install prefix also has the
drawback that you have to set auto_path appropriately to find it.

svn path=/trunk/; revision=12665

--- cmake/build_projects/itcl3/bp.cmake
+++ cmake/build_projects/itcl3/bp.cmake
@@ -83,7 +83,11 @@
   set(ITCL3_ENABLE_64_BIT --enable-64bit)
 endif(BP_HAVE_64_BIT_OS)

-set(INCRTCL3_PREFIX ${BP_CMAKE_INSTALL_PREFIX}/lib/incrtcl3)
+# This variable provides the opportunity to set an alternative install
+# prefix to distinguish what files are installed by version 3 of itcl
+# and friends from what is installed by version 4 of itcl and friends.
+# But currently just use the ordinary install location.
+set(INCRTCL3_PREFIX ${BP_CMAKE_INSTALL_PREFIX})

 ExternalProject_Add(
   build_${BP_PACKAGE}


Fix #693 (CMAKE_MAKE_PROGRAM backslashes)

--- cmake/modules/hunter_finalize.cmake
+++ cmake/modules/hunter_finalize.cmake
@@ -144,4 +144,11 @@

   # Android GDBSERVER moved to
   # https://github.com/hunter-packages/android-apk/commit/32531adeb287d3e3b20498ff1a0f76336cbe0551
+
+  # Fix backslashed provided by user:
+  # * https://github.com/ruslo/hunter/issues/693
+  # Note: we can't use 'get_filename_component(... ABSOLUTE)' because sometimes
+  # original path expected. E.g. NMake build:
+  # * https://ci.appveyor.com/project/ingenue/hunter/build/1.0.1412/job/o8a21ue85ivt5d0p
+  string(REPLACE "\\" "\\\\" CMAKE_MAKE_PROGRAM "${CMAKE_MAKE_PROGRAM}")
 endmacro()


Allow absolute paths for run script

Allow absolute paths for run script

--- cmake_modules/CMakeRunTargets.cmake
+++ cmake_modules/CMakeRunTargets.cmake
@@ -21,7 +21,11 @@
   get_filename_component(APP_NAME "${APP_NAME}" NAME)
   STRING(REGEX REPLACE "\\.[^.]*\$" "" APP_NAME "${APP_NAME}")
   string(REPLACE "." "_" APP_NAME "${APP_NAME}")
-  set(ALLOSYSTEM_APP_SRC "${CMAKE_SOURCE_DIR}/${BUILD_APP_FILE}")
+  if (IS_ABSOLUTE "${BUILD_APP_FILE}")
+    set(ALLOSYSTEM_APP_SRC "${BUILD_APP_FILE}")
+  else()
+    set(ALLOSYSTEM_APP_SRC "${CMAKE_SOURCE_DIR}/${BUILD_APP_FILE}")
+  endif()
 #  get_filename_component(APP_NAME ${APP_NAME} NAME_WE) # Get name w/o extension (extension is anything after first dot!)
   get_filename_component(SOURCE_DIR "${BUILD_APP_FILE}" PATH)
 endif(BUILD_DIR)


Propagates link flags in static libraries

halide_add_aot_library_dependency applied to a static library didn't propagate the flags

Former-commit-id: a79717705ec2a385551eed52ace6b34b3c1f3751

--- 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.)
-        set_target_properties("${TARGET}" PROPERTIES LINK_FLAGS "/STACK:8388608,1048576 /FORCE:multiple /ignore:4006 /ignore:4088")
+        target_link_libraries("${TARGET}" INTERFACE "-STACK:8388608,1048576" "-FORCE:multiple" "-ignore:4006" "-ignore:4088")
       else()
-        set_target_properties("${TARGET}" PROPERTIES LINK_FLAGS "-Wl,--allow-multiple-definition")
+        target_link_libraries("${TARGET}" INTERFACE "-Wl,--allow-multiple-definition")
       endif()
     else()
       target_link_libraries("${TARGET}" PRIVATE dl pthread z)


Add EOL

Add EOL

--- scripts/create-toolchain-info.cmake
+++ scripts/create-toolchain-info.cmake
@@ -34,7 +34,7 @@
 file(
     WRITE
     "${TOOLCHAIN_INFO_FILE}"
-    "Cache version: 2"
+    "Cache version: 2\n"
     "Polly toolchains:\n"
     "    IPHONEOS_ARCHS: ${IPHONEOS_ARCHS}\n"
     "    IPHONESIMULATOR_ARCHS: ${IPHONESIMULATOR_ARCHS}\n"


Split off 7.8.16

Split off 7.8.16

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

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


Split off 7.12.38

Split off 7.12.38

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

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


Change version to 1.0.0

Change version to 1.0.0

--- version.cmake
+++ version.cmake
@@ -13,7 +13,7 @@
 # See the License for the specific language governing permissions and
 # limitations under the License.

-set(TCAM_VERSION_MAJOR 0)
-set(TCAM_VERSION_MINOR 15)
+set(TCAM_VERSION_MAJOR 1)
+set(TCAM_VERSION_MINOR 0)
 set(TCAM_VERSION_PATCH 0)
 set(TCAM_VERSION_MODIFIER "")


Split off 8.8.6

Split off 8.8.6

Signed-off-by: Gavin Halliday <2edfa8aca9fb78974188e5b35be8b52d4e4967ae@lexisnexis.com>

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


Avoid CMake errors if a non-option non-target value is passed.

--- BlueBerry/CMake/FunctionCreateProvisioningFile.cmake
+++ BlueBerry/CMake/FunctionCreateProvisioningFile.cmake
@@ -112,7 +112,7 @@
     if(TARGET ${plugin})
       # The entry already is a valid target (either imported or declared in the current project)
       set(_plugin_target ${plugin})
-    else()
+    elseif(${plugin} MATCHES "^[- :/A-Za-z0-9._]+:(ON|OFF)$")
       # Check if the entry if of the form "Some/Dir/org.my.plugin:OPTION"
       ctkFunctionExtractOptionNameAndValue(${plugin} plugin_name_with_dirs plugin_value)
       string(REPLACE "/" ";" _tokens ${plugin_name_with_dirs})


dependencies repaired

dependencies repaired

--- util/cmake/common.cmake
+++ util/cmake/common.cmake
@@ -77,14 +77,16 @@

 		# link external libraries
 		target_link_libraries(${outname} ${LIBRARIES_DEF})
-#		target_link_libraries(${outname} "${CMAKE_CURRENT_BINARY_DIR}/pascinference")

 		# set the name of output file
 		set_target_properties(${outname} PROPERTIES
 			OUTPUT_NAME ${outname}
 		)
-
-		add_dependencies(${outname} ${COMPILE_FIRST})
+
+		# if there are dependencies, then add it
+		if(${COMPILE_FIRST})
+			add_dependencies(${outname} ${COMPILE_FIRST})
+		endif()
 	endif()

 	if(${FILE_EXT} MATCHES ".cpp")
@@ -112,8 +114,11 @@
 			OUTPUT_NAME ${outname}
 #			DEBUG ${CMAKE_CXX_FLAGS_DEBUG}
 		)
-
-		add_dependencies(${outname} ${COMPILE_FIRST})
+
+		# if there are dependencies, then add it
+		if(${COMPILE_FIRST})
+			add_dependencies(${outname} ${COMPILE_FIRST})
+		endif()
 	endif()


SuperBuild: unknown option demos

SuperBuild: unknown option demos

--- SuperBuild/CMake/External_qt5.cmake
+++ SuperBuild/CMake/External_qt5.cmake
@@ -54,7 +54,7 @@
 set(QT5_SB_CONFIG
   "-prefix ${QT5_INSTALL_PREFIX_NATIVE} -L ${QT5_LIB_PREFIX_NATIVE} \
   -I ${QT5_INCLUDE_PREFIX_NATIVE} -I ${QT5_INCLUDE_FREETYPE_NATIVE} \
-  -opensource -confirm-license -release -shared -nomake demos \
+  -opensource -confirm-license -release -shared \
   -nomake examples -nomake tools -no-openssl \
   -skip qtgamepad  \
   -skip qt3d  \


Updated FindCorrade.cmake from Corrade repository.

--- modules/FindCorrade.cmake
+++ modules/FindCorrade.cmake
@@ -23,6 +23,8 @@
 #   mode for GCC 4.7
 #  CORRADE_GCC46_COMPATIBILITY  - Defined if compiled with compatibility
 #   mode for GCC 4.6
+#  CORRADE_BUILD_DEPRECATED     - Defined if compiled with deprecated APIs
+#   included
 #  CORRADE_BUILD_STATIC         - Defined if compiled as static libraries
 #  CORRADE_TARGET_NACL          - Defined if compiled for Google Chrome
 #   Native Client
@@ -158,6 +160,10 @@
 if(NOT _GCC47_COMPATIBILITY EQUAL -1)
     set(CORRADE_GCC47_COMPATIBILITY 1)
 endif()
+string(FIND "${_corradeConfigure}" "#define CORRADE_BUILD_DEPRECATED" _BUILD_DEPRECATED)
+if(NOT _BUILD_DEPRECATED EQUAL -1)
+    set(CORRADE_BUILD_DEPRECATED 1)
+endif()
 string(FIND "${_corradeConfigure}" "#define CORRADE_BUILD_STATIC" _BUILD_STATIC)
 if(NOT _BUILD_STATIC EQUAL -1)
     set(CORRADE_BUILD_STATIC 1)


Bumped version number

Bumped version number

--- version.cmake
+++ version.cmake
@@ -1 +1 @@
-set(autowiring_VERSION 0.4.2)
+set(autowiring_VERSION 0.4.3)


Split off 8.2.0

Split off 8.2.0

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

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


Split off 3.8.x branch

Split off 3.8.x branch

Master branch is now tracking a future 3.10 release...

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

--- version.cmake
+++ version.cmake
@@ -3,7 +3,7 @@
 ###
 set ( HPCC_PROJECT "community" )
 set ( HPCC_MAJOR 3 )
-set ( HPCC_MINOR 7 )
+set ( HPCC_MINOR 9 )
 set ( HPCC_POINT 0 )
 set ( HPCC_MATURITY "trunk" )
 set ( HPCC_SEQUENCE 1 )


Split off 7.12.4

Split off 7.12.4

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

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


Split off 3.10.6

Split off 3.10.6

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

--- version.cmake
+++ version.cmake
@@ -4,7 +4,7 @@
 set ( HPCC_PROJECT "community" )
 set ( HPCC_MAJOR 3 )
 set ( HPCC_MINOR 10 )
-set ( HPCC_POINT 5 )
+set ( HPCC_POINT 7 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 1 )
 ###


Split off 5.0.0

Split off 5.0.0

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

--- version.cmake
+++ version.cmake
@@ -1,9 +1,9 @@
 ###
 ## Version Information
 ###
-set ( HPCC_NM_MAJOR 4 )
-set ( HPCC_NM_MINOR 3 )
+set ( HPCC_NM_MAJOR 5 )
+set ( HPCC_NM_MINOR 1 )
 set ( HPCC_NM_POINT 0 )
 set ( HPCC_NM_MATURITY "trunk" )
-set ( HPCC_NM_SEQUENCE 1 )
+set ( HPCC_NM_SEQUENCE 0 )
 ###


Use latest packages

Use latest packages

--- CMake/External.cmake
+++ CMake/External.cmake
@@ -11,12 +11,14 @@

   include(${CMAKE_BINARY_DIR}/conan.cmake)

-  conan_add_remote(NAME bincrafters URL https://bincrafters.jfrog.io/artifactory/api/conan/public-conan)
-  set(CONAN_DEPENDENCIES catch2/2.11.0 tl-expected/20190710)
+  conan_add_remote(
+    NAME bincrafters URL https://bincrafters.jfrog.io/artifactory/api/conan/public-conan
+  )
+  set(CONAN_DEPENDENCIES catch2/2.13.8 tl-expected/20190710)
   set(CONAN_OPTIONS "")

   if(NOT TI_IS_CLANG_CL)
-    list(APPEND CONAN_DEPENDENCIES wxwidgets/3.1.4@bincrafters/stable fmt/7.0.3)
+    list(APPEND CONAN_DEPENDENCIES wxwidgets/3.1.5@bincrafters/stable fmt/8.1.1)
     list(
       APPEND
       CONAN_OPTIONS


more fixes to CMake OSX support

more fixes to CMake OSX support

--- CMakeOlxCommon.cmake
+++ CMakeOlxCommon.cmake
@@ -107,6 +107,11 @@

 SET(ALL_SRCS ${CLIENT_SRCS} ${CLIENT_SRCS_GUI_OLD} ${CLIENT_SRCS_GUI_NEW} ${COMMON_SRCS} ${SERVER_SRCS})

+IF(APPLE)
+	SET(ALL_SRCS ${OLXROOTDIR}/src/MacMain.m ${ALL_SRCS})
+ENDIF(APPLE)
+
+
 IF (GCOREDUMPER)
 	INCLUDE_DIRECTORIES(${OLXROOTDIR}/libs/coredumper/src)
 	ADD_DEFINITIONS(-DGCOREDUMPER)
@@ -194,6 +199,8 @@
 	INCLUDE_DIRECTORIES(/Library/Frameworks/SDL.framework/Headers)
 	INCLUDE_DIRECTORIES(/Library/Frameworks/SDL_image.framework/Headers)
 	INCLUDE_DIRECTORIES(/Library/Frameworks/SDL_mixer.framework/Headers)
+	INCLUDE_DIRECTORIES(/Library/Frameworks/UnixImageIO.framework/Headers)
+	INCLUDE_DIRECTORIES(/Library/Frameworks/GD.framework/Headers)
 else()
 	EXEC_PROGRAM(sdl-config ARGS --cflags OUTPUT_VARIABLE SDLCFLAGS)
 	string(REGEX REPLACE "[\r\n]" " " SDLCFLAGS "${SDLCFLAGS}")
@@ -221,8 +228,15 @@
 	EXEC_PROGRAM(python2.5-config ARGS --libs OUTPUT_VARIABLE PYTHONLIBS)
 ENDIF(PYTHON_DED_EMBEDDED)

-
-SET(LIBS SDL SDL_image ${PYTHONLIBS})
+SET(LIBS ${PYTHONLIBS})
+if(APPLE)
+	FIND_PACKAGE(SDL REQUIRED)
+	FIND_PACKAGE(SDL_image REQUIRED)
+	SET(LIBS ${LIBS} ${SDL_LIBRARY} ${SDLIMAGE_LIBRARY})
+	SET(LIBS ${LIBS} "-framework Cocoa" "-framework Carbon")
+else(APPLE)
+	SET(LIBS ${LIBS} SDL SDL_image)
+endif(APPLE)

 if(WIN32)
 	SET(LIBS ${LIBS} SDL_mixer wsock32 wininet dbghelp
@@ -233,7 +247,6 @@
 				"${OLXROOTDIR}/build/msvc/libs/zlib.lib"
 				"${OLXROOTDIR}/build/msvc/libs/bgd.lib")
 elseif(APPLE)
-	link_directories(/Library/Frameworks/SDL.framework)
 	link_directories(/Library/Frameworks/SDL_mixer.framework)
 	link_directories(/Library/Frameworks/SDL_image.framework)
 	link_directories(/Library/Frameworks/UnixImageIO.framework)
@@ -242,7 +255,7 @@
 	STRING(REGEX REPLACE "[\r\n]" " " SDLLIBS "${SDLLIBS}")
 endif()

-if(unix)
+if(UNIX)
 	IF (NOT HAWKNL_BUILTIN)
 		SET(LIBS ${LIBS} NL)
 	ENDIF (NOT HAWKNL_BUILTIN)
@@ -260,12 +273,14 @@
 	ENDIF (G15)

 	SET(LIBS ${LIBS} ${SDLLIBS} pthread xml2 z)
-endif(unix)
-
-if(apple)
-	SET(LIBS ${LIBS} SDL_mixer UnixImageIO)
-elif(unix)
-	IF (NOT DEDICATED_ONLY)
+endif(UNIX)
+
+IF (NOT DEDICATED_ONLY)
+	if(APPLE)
+		FIND_PACKAGE(SDL_mixer REQUIRED)
+		SET(LIBS ${LIBS} ${SDLMIXER_LIBRARY})
+		SET(LIBS ${LIBS} "-framework UnixImageIO" "-framework GD")
+	elseif(UNIX)
 		SET(LIBS ${LIBS} SDL_mixer gd)
-	ENDIF (NOT DEDICATED_ONLY)
-endif()
+	endif()
+ENDIF (NOT DEDICATED_ONLY)


set(FPHSA_NAME_MISMATCHED TRUE) earlier in protobuf

* needed before include of protobuf-config
* issue https://github.com/smanders/externpro/issues/279

--- projects/use/usexp-protobuf-config.cmake
+++ projects/use/usexp-protobuf-config.cmake
@@ -11,6 +11,7 @@
 string(TOUPPER ${prj} PRJ)
 set(${PRJ}_VER "@VER@ [@PROJECT_NAME@]")
 set(nsPrefix xpro::) # TRICKY: nsPrefix also used in protobuf-module.cmake
+set(FPHSA_NAME_MISMATCHED TRUE) # find_package_handle_standard_args NAME_MISMATCHED (prefix usexp-)
 # protobuf installs a config file which includes -targets.cmake and -module.cmake
 include(${XP_ROOTDIR}/lib/cmake/protobuf_@VER@/${prj}-config.cmake)
 set(${PRJ}_LIBRARIES ${nsPrefix}libprotobuf)
@@ -18,6 +19,5 @@
 get_target_property(PROTOBUF_INCLUDE_DIR ${nsPrefix}libprotobuf INTERFACE_INCLUDE_DIRECTORIES)
 set(reqVars ${PRJ}_VER ${PRJ}_INCLUDE_DIR ${PRJ}_LIBRARIES ${PRJ}_PROTOC_EXECUTABLE)
 include(FindPackageHandleStandardArgs)
-set(FPHSA_NAME_MISMATCHED TRUE) # find_package_handle_standard_args NAME_MISMATCHED (prefix usexp-)
 find_package_handle_standard_args(${prj} REQUIRED_VARS ${reqVars})
 mark_as_advanced(${reqVars})


Build: Fix qt download location

Build: Fix qt download location

--- Superbuild/versions.cmake
+++ Superbuild/versions.cmake
@@ -19,7 +19,7 @@
 endif()

 add_revision(qt
-  URL "http://releases.qt-project.org/qt4/source/qt-everywhere-opensource-src-4.8.2.tar.gz"
+  URL "http://download.qt-project.org/archive/qt/4.8/4.8.2/qt-everywhere-opensource-src-4.8.2.tar.gz"
   URL_MD5 3c1146ddf56247e16782f96910a8423b)

 add_revision(pythonqt


Remove libkml from option as it is not available yet

--- CI/main_superbuild.cmake
+++ CI/main_superbuild.cmake
@@ -111,7 +111,11 @@
 include ( "${CMAKE_CURRENT_LIST_DIR}/configure_option.cmake" )
 # SuperBuild case : one more configure option
 set ( CONFIGURE_OPTIONS
-  "${CONFIGURE_OPTIONS};-DCMAKE_PREFIX_PATH=${XDK_PATH}" )
+  "${CONFIGURE_OPTIONS}-DCMAKE_PREFIX_PATH=${XDK_PATH};")
+
+# Hack because there is no more superbuild available (LIBKML)
+set ( CONFIGURE_OPTIONS
+  "${CONFIGURE_OPTIONS}-DOTB_USE_LIBKML:BOOL=OFF;" )

 # FIX ME this part might platform dependent
 set( GDAL_DATA "${XDK_PATH}/share/gdal" )


[iOS] Search OGRE_DEPENDENCIES_DIR variable for libraries on iOS too.

--- CMake/Dependencies.cmake
+++ CMake/Dependencies.cmake
@@ -18,6 +18,8 @@
 getenv_path(OGRE_DEPENDENCIES_DIR)
 if(OGRE_BUILD_PLATFORM_APPLE_IOS)
   set(OGRE_DEP_SEARCH_PATH
+    ${OGRE_DEPENDENCIES_DIR}
+    ${ENV_OGRE_DEPENDENCIES_DIR}
     "${OGRE_BINARY_DIR}/iOSDependencies"
     "${OGRE_SOURCE_DIR}/iOSDependencies"
     "${OGRE_BINARY_DIR}/../iOSDependencies"


Update the boost versions to look for.

Update the boost versions to look for.


They released a new version of Boost. Add it to the list.

--HG--
branch : v1-8


ExternalData: Allow local stores without any URL templates

Allow ExternalData_URL_TEMPLATES to be empty if a value for
ExternalData_OBJECT_STORES is provided.  Assume in this use case that
the object stores will already contain all needed objects.  Extend the
Module.ExternalData test to cover this case (all objects in stores).
Extend the RunCMake.ExternalData test to cover the non-failure message
case when stores are provided without URL templates.

Change-Id: I7db401d51f4a4a68b07c181efde5cfe534a13ec8

--- CMake/ExternalData.cmake
+++ CMake/ExternalData.cmake
@@ -177,8 +177,9 @@
 endfunction()

 function(ExternalData_add_target target)
-  if(NOT ExternalData_URL_TEMPLATES)
-    message(FATAL_ERROR "ExternalData_URL_TEMPLATES is not set!")
+  if(NOT ExternalData_URL_TEMPLATES AND NOT ExternalData_OBJECT_STORES)
+    message(FATAL_ERROR
+      "Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set!")
   endif()
   if(NOT ExternalData_OBJECT_STORES)
     set(ExternalData_OBJECT_STORES ${CMAKE_BINARY_DIR}/ExternalData/Objects)
@@ -617,8 +618,9 @@
 if(ExternalData_CONFIG)
   include(${ExternalData_CONFIG})
 endif()
-if(NOT ExternalData_URL_TEMPLATES)
-  message(FATAL_ERROR "No ExternalData_URL_TEMPLATES set!")
+if(NOT ExternalData_URL_TEMPLATES AND NOT ExternalData_OBJECT_STORES)
+  message(FATAL_ERROR
+    "Neither ExternalData_URL_TEMPLATES nor ExternalData_OBJECT_STORES is set!")
 endif()

 function(_ExternalData_link_or_copy src dst)
@@ -746,6 +748,9 @@
     set(obj "${staged}")
     message(STATUS "Staged object: \"${obj}\"")
   else()
+    if(NOT tried)
+      set(tried "\n  (No ExternalData_URL_TEMPLATES given)")
+    endif()
     message(FATAL_ERROR "Object ${algo}=${hash} not found at:${tried}")
   endif()


ENH: use CMAKE_PREFIX_PATH simplifies dependencies handling

--- CMake/External_OTB.cmake
+++ CMake/External_OTB.cmake
@@ -37,24 +37,14 @@
 endif()

 if(USE_SYSTEM_GDAL)
-  set(OTB_SB_GDAL_CONFIG)
+  # TODO : handle specific prefix
 else()
-  set(OTB_SB_GDAL_CONFIG
-    -DGDAL_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
-    -DGDAL_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libgdal${CMAKE_SHARED_LIBRARY_SUFFIX}
-    -DGDAL_CONFIG:PATH=${CMAKE_INSTALL_PREFIX}/bin/gdal-config
-    )
   list(APPEND ${proj}_DEPENDENCIES GDAL)
 endif()

 if(USE_SYSTEM_OSSIM)
-  set(OTB_SB_OSSIM_CONFIG)
+  # TODO : handle specific prefix
 else()
-  #try OTB can find automatically from CMAKE_PREFIX_PATH
-  set(OTB_SB_OSSIM_CONFIG)
-    #-DOSSIM_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
-    #-DOSSIM_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libossim${CMAKE_SHARED_LIBRARY_SUFFIX}
-    #)
   list(APPEND ${proj}_DEPENDENCIES OSSIM)
 endif()

@@ -68,41 +58,26 @@
 endif()

 if(USE_SYSTEM_MUPARSER)
-  set(OTB_SB_MUPARSER_CONFIG)
+  # TODO : handle specific prefix
 else()
-  set(OTB_SB_MUPARSER_CONFIG
-    -DMUPARSER_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
-    -DMUPARSER_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libmuparser${CMAKE_SHARED_LIBRARY_SUFFIX}
-    )
   list(APPEND ${proj}_DEPENDENCIES MUPARSER)
 endif()

 if(USE_SYSTEM_MUPARSERX)
-  set(OTB_SB_MUPARSERX_CONFIG)
+  # TODO : handle specific prefix
 else()
-  set(OTB_SB_MUPARSERX_CONFIG
-    -DMUPARSERX_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
-    -DMUPARSERX_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libmuparserx${CMAKE_SHARED_LIBRARY_SUFFIX}
-    )
   list(APPEND ${proj}_DEPENDENCIES MUPARSERX)
 endif()

 if(USE_SYSTEM_TINYXML)
-  set(OTB_SB_TINYXML_CONFIG)
+  # TODO : handle specific prefix
 else()
-  set(OTB_SB_TINYXML_CONFIG
-    -DTINYXML_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
-    -DTINYXML_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libtinyXML${CMAKE_SHARED_LIBRARY_SUFFIX}
-    )
   list(APPEND ${proj}_DEPENDENCIES TINYXML)
 endif()

 if(USE_SYSTEM_BOOST)
-  set(OTB_SB_BOOST_CONFIG)
+  # TODO : handle specific prefix
 else()
-  set(OTB_SB_BOOST_CONFIG
-    -DBOOST_ROOT:PATH=${CMAKE_INSTALL_PREFIX}
-    )
   list(APPEND ${proj}_DEPENDENCIES BOOST)
 endif()

@@ -110,16 +85,17 @@
   set(OTB_SB_LIBKML_CONFIG)
 else()
   # TODO : split LIBKML build into 7 libraries
-  set(OTB_SB_LIBKML_CONFIG
-    -DLIBKML_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
-    -DLIBKML_BASE_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlbase${CMAKE_SHARED_LIBRARY_SUFFIX}
-    -DLIBKML_CONVENIENCE_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlconvenience${CMAKE_SHARED_LIBRARY_SUFFIX}
-    -DLIBKML_DOM_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmldom${CMAKE_SHARED_LIBRARY_SUFFIX}
-    -DLIBKML_ENGINE_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlengine${CMAKE_SHARED_LIBRARY_SUFFIX}
-    -DLIBKML_REGIONATOR_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlregionator${CMAKE_SHARED_LIBRARY_SUFFIX}
-    -DLIBKML_XSD_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlxsd${CMAKE_SHARED_LIBRARY_SUFFIX}
-    -DLIBKML_MINIZIP_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libminizip${CMAKE_SHARED_LIBRARY_SUFFIX}
-    )
+  # test if OTB can find automatically from CMAKE_PREFIX_PATH
+  set(OTB_SB_LIBKML_CONFIG)
+  #  -DLIBKML_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
+  #  -DLIBKML_BASE_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlbase${CMAKE_SHARED_LIBRARY_SUFFIX}
+  #  -DLIBKML_CONVENIENCE_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlconvenience${CMAKE_SHARED_LIBRARY_SUFFIX}
+  #  -DLIBKML_DOM_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmldom${CMAKE_SHARED_LIBRARY_SUFFIX}
+  #  -DLIBKML_ENGINE_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlengine${CMAKE_SHARED_LIBRARY_SUFFIX}
+  #  -DLIBKML_REGIONATOR_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlregionator${CMAKE_SHARED_LIBRARY_SUFFIX}
+  #  -DLIBKML_XSD_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libkmlxsd${CMAKE_SHARED_LIBRARY_SUFFIX}
+  #  -DLIBKML_MINIZIP_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libminizip${CMAKE_SHARED_LIBRARY_SUFFIX}
+  #  )

   if(MSVC)
     # expat is a dependency for kmlbase
@@ -147,27 +123,19 @@
 endif()

 if(USE_SYSTEM_CURL)
-  set(OTB_SB_CURL_CONFIG)
+  # TODO : handle specific prefix
 else()
-  set(OTB_SB_CURL_CONFIG
-    -DCURL_INCLUDE_DIR:PATH=${CMAKE_INSTALL_PREFIX}/include
-    -DCURL_LIBRARY:PATH=${CMAKE_INSTALL_PREFIX}/lib/libcurl${CMAKE_SHARED_LIBRARY_SUFFIX}
-    )
   list(APPEND ${proj}_DEPENDENCIES CURL)
 endif()

+set(OTB_SB_JPEG_CONFIG)
 if(MSVC)
   set(BUILD_EXAMPLES OFF)
-  set(OTB_SB_GDAL_CONFIG)
-  set(OTB_SB_OSSIM_CONFIG)
-  set(OTB_SB_MUPARSER_CONFIG)
-  set(OTB_SB_MUPARSERX_CONFIG)
-  set(OTB_SB_TINYXML_CONFIG)
   set(OTB_SB_OPENCV_CONFIG)
   #doesn't matter to use cmake variable with JPEG prefix. all are empty for windows
   #GDAL is built with internal JPEG due to static link conflict.
   #replace superbuild version of libjpeg.lib with the GDAL internal one
-  set(OTB_SB_CURL_CONFIG -DJPEG_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libjpeg.lib)
+  set(OTB_SB_JPEG_CONFIG -DJPEG_LIBRARY:STRING=${CMAKE_INSTALL_PREFIX}/lib/libjpeg.lib)
 endif()

 ExternalProject_Add(${proj}
@@ -198,15 +166,9 @@
       -DOTB_USE_JPEG2000:BOOL=OFF
       ${OTB_SB_WRAP_QT_CONFIG}
       ${OTB_SB_ITK_CONFIG}
-      ${OTB_SB_OSSIM_CONFIG}
-      ${OTB_SB_GDAL_CONFIG}
-      ${OTB_SB_MUPARSER_CONFIG}
-      ${OTB_SB_MUPARSERX_CONFIG}
-      ${OTB_SB_TINYXML_CONFIG}
-      ${OTB_SB_BOOST_CONFIG}
       ${OTB_SB_LIBKML_CONFIG}
       ${OTB_SB_OPENCV_CONFIG}
-      ${OTB_SB_CURL_CONFIG}
+      ${OTB_SB_JPEG_CONFIG}
       ${OTB_SB_LARGEINPUT_CONFIG}
     CMAKE_COMMAND ${SB_CMAKE_COMMAND}
     )


BUG: Disable gtest using pthreads on mingw

Mingw is using for compiling on MS Windows for R. Compiler errors are
produced when using googletest on the platform:
In file included from

C:/b/GTest-prefix/src/GTest/googletest/include/gtest/internal/gtest-internal.h:40:0,
                 from
                 C:/b/GTest-prefix/src/GTest/googletest/include/gtest/gtest.h:58,
                 from
                 C:\b\GTest-prefix\src\GTest\googletest\src\gtest-all.cc:39:
C:/b/GTest-prefix/src/GTest/googletest/include/gtest/internal/gtest-port.h:1782:3:
error: 'AutoHandle' does not name a type
   AutoHandle thread_;
   ^
In file included from
C:\b\GTest-prefix\src\GTest\googletest\src\gtest-all.cc:43:0:
C:/b/GTest-prefix/src/GTest/googletest/src/gtest-death-test.cc:637:3:
error: 'AutoHandle' does not name a type
   AutoHandle write_handle_;
   ^
Suggested-by: Richard Beare <9650b83a647fecb7525c7eeddaf815961eb53f55@gmail.com>

--- CMake/sitkUseGTest.cmake
+++ CMake/sitkUseGTest.cmake
@@ -34,6 +34,11 @@
   set(BUILD_GTEST                 ON )
   set(BUILD_GMOCK                 OFF)

+
+  # google test does not properly use pthreads on mingw
+  if (MINGW)
+    set(gtest_disable_pthreads  ON)
+  endif()

   # Must build GTest as static since EXCLUDE_FROM_ALL, would exclude
   # needed GTest shared libraries from being installed.


Add a new macro to compute depdendent include dirs

This adds a new piece to the API to compute all of the include
directories for the dependencies of a module. This is used by wrapping
largely, but may be useful in other places.

Change-Id: If0271f80c33bd436fe7dd50bd37e1c3aa9ab03f2

--- CMake/vtkModuleAPI.cmake
+++ CMake/vtkModuleAPI.cmake
@@ -37,6 +37,17 @@
     if(NOT ${mod}_LOADED)
       message(FATAL_ERROR "No such module: \"${mod}\"")
     endif()
+  endif()
+endmacro()
+
+# vtk_module_dep_includes(<module>)
+#
+# Loads the <module>_DEPENDS_INCLUDE_DIRS variable.
+macro(vtk_module_dep_includes mod)
+  vtk_module_load("${mod}")
+  vtk_module_config(_dep ${VTK_MODULE_${mod}_DEPENDS})
+  if(_dep_INCLUDE_DIRS)
+    set(${mod}_DEPENDS_INCLUDE_DIRS ${_dep_INCLUDE_DIRS})
   endif()
 endmacro()


Updated CTK containing pre-load library fixes.

--- CMakeExternals/CTK.cmake
+++ CMakeExternals/CTK.cmake
@@ -15,7 +15,7 @@

   if(NOT DEFINED CTK_DIR)

-    set(revision_tag fd3ecf96)
+    set(revision_tag 9331130f)
     #IF(${proj}_REVISION_TAG)
     #  SET(revision_tag ${${proj}_REVISION_TAG})
     #ENDIF()
@@ -64,7 +64,7 @@
       BINARY_DIR ${proj}-build
       PREFIX ${proj}-cmake
       URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/CTK_${revision_tag}.tar.gz
-      URL_MD5 a33be5c622fee05179c55e67a7d1b9cf
+      URL_MD5 c6f66556103c8d0dcae4e7db5eb0f77e
       UPDATE_COMMAND ""
       INSTALL_COMMAND ""
       CMAKE_GENERATOR ${gen}


Deactivate all Qt-related stuff in VTK for Qt 5.x

--- CMakeExternals/VTK.cmake
+++ CMakeExternals/VTK.cmake
@@ -55,6 +55,10 @@
           -DVTK_USE_QVTK_QTOPENGL:BOOL=OFF
           -DVTK_USE_QT:BOOL=ON
           -DQT_QMAKE_EXECUTABLE:FILEPATH=${QT_QMAKE_EXECUTABLE}
+          -DModule_vtkGUISupportQt:BOOL=ON
+          -DModule_vtkGUISupportQtWebkit:BOOL=ON
+          -DModule_vtkGUISupportQtSQL:BOOL=ON
+          -DModule_vtkRenderingQt:BOOL=ON
           -DVTK_Group_Qt:BOOL=ON
        )
      endif()
@@ -81,10 +85,6 @@
         -DVTK_USE_SYSTEM_FREETYPE:BOOL=${VTK_USE_SYSTEM_FREETYPE}
         -DVTK_LEGACY_REMOVE:BOOL=ON
         -DModule_vtkTestingRendering:BOOL=ON
-        -DModule_vtkGUISupportQt:BOOL=ON
-        -DModule_vtkGUISupportQtWebkit:BOOL=ON
-        -DModule_vtkGUISupportQtSQL:BOOL=ON
-        -DModule_vtkRenderingQt:BOOL=ON
         -DVTK_MAKE_INSTANTIATORS:BOOL=ON
         ${additional_cmake_args}
      DEPENDS ${proj_DEPENDENCIES}


Fix coverage report generation after 5dd04a3 if LCOV_EXCLUDE is empty

--- CommonCoverage.cmake
+++ CommonCoverage.cmake
@@ -120,7 +120,7 @@
     # 'tests/*' excluded otherwise unit test source file coverage is produced
     add_custom_target(${PROJECT_NAME}-lcov-remove
       COMMAND ${LCOV} -q --remove lcov.info '*.l*' '*.y*' 'tests/*' 'CMake/test/*'
-        '*/install/*' 'moc_*' 'qrc_*' ${GENERATED_FILES} '${LCOV_EXCLUDE}'
+        '*/install/*' 'moc_*' 'qrc_*' ${GENERATED_FILES} ${LCOV_EXCLUDE}
         --output-file lcov2.info
       COMMENT "Cleaning up code coverage counters"
       WORKING_DIRECTORY ${PROJECT_BINARY_DIR}


arch: arm: aarch64: Force LP64 ABI

arch: arm: aarch64: Force LP64 ABI

This commit adds the GCC `-mabi=lp64` flag to force the LP64 (64-bit
long and pointer) ABI, which is mandatory for running the Zephyr
AArch64 architecture port.

Note that this flag is, strictly speaking, not necessary in most cases
because the AArch64 GCC defaults to using the LP64 ABI. This flag is
required, however, if compiling Zephyr with a GCC that is configured
with `--with-abi=ilp32`, which makes ILP32 the default ABI.

Signed-off-by: Stephanos Ioannidis <dc76e9f0c0006e8f919e0c515c66dbba3982f785@stephanos.io>

--- cmake/compiler/gcc/target_arm.cmake
+++ cmake/compiler/gcc/target_arm.cmake
@@ -1,11 +1,10 @@
 # SPDX-License-Identifier: Apache-2.0
 if(CONFIG_ARM64)
-  list(APPEND TOOLCHAIN_C_FLAGS
-    -mcpu=${GCC_M_CPU}
-    )
-  list(APPEND TOOLCHAIN_LD_FLAGS
-    -mcpu=${GCC_M_CPU}
-    )
+  list(APPEND TOOLCHAIN_C_FLAGS   -mcpu=${GCC_M_CPU})
+  list(APPEND TOOLCHAIN_LD_FLAGS  -mcpu=${GCC_M_CPU})
+
+  list(APPEND TOOLCHAIN_C_FLAGS   -mabi=lp64)
+  list(APPEND TOOLCHAIN_LD_FLAGS  -mabi=lp64)
 else()
   list(APPEND TOOLCHAIN_C_FLAGS   -mcpu=${GCC_M_CPU})
   list(APPEND TOOLCHAIN_LD_FLAGS  -mcpu=${GCC_M_CPU})


QtGStreamerConfig.cmake: Remove extra PATHS keywords that were added accidentally.

--- cmake/modules/FindQtGStreamer.cmake
+++ cmake/modules/FindQtGStreamer.cmake
@@ -71,8 +71,8 @@
         set(QTGSTREAMER_UTILS_LIBRARY QtGStreamerUtils)
         find_path(QTGSTREAMER_INCLUDE_DIR QGst/Global
                   PATHS "${_QTGSTREAMER_CONFIG_DIR}/../../include/QtGStreamer"
-                  PATHS "${_QTGSTREAMER_CONFIG_DIR}/../../../include/QtGStreamer"
-                  PATHS "${_QTGSTREAMER_CONFIG_DIR}/../../../../include/QtGStreamer"
+                        "${_QTGSTREAMER_CONFIG_DIR}/../../../include/QtGStreamer"
+                        "${_QTGSTREAMER_CONFIG_DIR}/../../../../include/QtGStreamer"
                   NO_DEFAULT_PATH)
     endif()
 endif()


new(cmake/modules): provide and parse FALCO_VERSION_PRERELEASE too

Co-authored-by: Lorenzo Fontana <638e8f0171575864326f06d2a5f8e72287427b15@linux.com>
Signed-off-by: Leonardo Di Donato <2012e0ca99d70aa6c893822ff73002216e5dba72@gmail.com>

--- cmake/modules/GetFalcoVersion.cmake
+++ cmake/modules/GetFalcoVersion.cmake
@@ -1,6 +1,5 @@
 # Retrieve git ref and commit hash
 include(GetGitRevisionDescription)
-get_git_head_revision(FALCO_REF FALCO_HASH)

 # Create the falco version variable according to git index
 if(NOT FALCO_VERSION)
@@ -9,25 +8,13 @@
   git_get_exact_tag(FALCO_TAG)
   if(NOT FALCO_TAG)
     # Obtain the closest tag
-    git_describe(FALCO_VERSION "--abbrev=0" "--tags") # suppress the long format
+    git_describe(FALCO_VERSION "--always" "--tags")
     # Fallback version
     if(FALCO_VERSION MATCHES "NOTFOUND$")
       set(FALCO_VERSION "0.0.0")
     endif()
-    # TODO(leodido) > Construct the prerelease part (semver 2) Construct the Build metadata part (semver 2)
-    if(NOT FALCO_HASH MATCHES "NOTFOUND$")
-      string(SUBSTRING "${FALCO_HASH}" 0 7 FALCO_VERSION_BUILD)
-      # Check whether there are uncommitted changes or not
-      git_local_changes(FALCO_CHANGES)
-      if(FALCO_CHANGES STREQUAL "DIRTY")
-        string(TOLOWER "${FALCO_CHANGES}" FALCO_CHANGES)
-        set(FALCO_VERSION_BUILD "${FALCO_VERSION_BUILD}.${FALCO_CHANGES}")
-      endif()
-    endif()
-    # Append the build metadata part (semver 2)
-    if(FALCO_VERSION_BUILD)
-      set(FALCO_VERSION "${FALCO_VERSION}+${FALCO_VERSION_BUILD}")
-    endif()
+    # Format FALCO_VERSION to be semver with prerelease and build part
+    string(REPLACE "-g" "+" FALCO_VERSION "${FALCO_VERSION}")
   else()
     # A tag has been found: use it as the Falco version
     set(FALCO_VERSION "${FALCO_TAG}")
@@ -42,8 +29,8 @@
   string(
     REGEX
     REPLACE
-      "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)\\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)*).*"
-      "\\4"
+      "^(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)\\.(0|[1-9][0-9]*)-((0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*)(\\.(0|[1-9][0-9]*|[0-9]*[a-zA-Z-][0-9a-zA-Z-]*))*).*"
+      "\\5"
       FALCO_VERSION_PRERELEASE
       "${FALCO_VERSION}")
   if(FALCO_VERSION_PRERELEASE STREQUAL "${FALCO_VERSION}")


Add -Wno-delete-non-virtual-dtor to default cxxflags

That warning generates some false negatives that are hard to work
around.

Change-Id: Ib451eca3af7bf2a6bfd24aa966f89496257b9f0d

--- framework/delibs/cmake/CFlags.cmake
+++ framework/delibs/cmake/CFlags.cmake
@@ -47,7 +47,7 @@
 	set(WARNING_FLAGS			"-Wall -Wextra -Wno-long-long -Wshadow -Wundef -Wconversion -Wno-sign-conversion")

 	set(CMAKE_C_FLAGS			"${CMAKE_C_FLAGS} ${TARGET_FLAGS} ${WARNING_FLAGS} -ansi -pedantic ")
-	set(CMAKE_CXX_FLAGS			"${CMAKE_CXX_FLAGS} ${TARGET_FLAGS} ${WARNING_FLAGS}")
+	set(CMAKE_CXX_FLAGS			"${CMAKE_CXX_FLAGS} ${TARGET_FLAGS} ${WARNING_FLAGS} -Wno-delete-non-virtual-dtor")

 	# Force compiler to generate code where integers have well defined overflow
 	# Turn on -Wstrict-overflow=5 and check all warnings before removing


Add framework for platform engine.

Add framework for platform engine.

--- cmake/FileList.cmake
+++ cmake/FileList.cmake
@@ -202,6 +202,14 @@
 src/mugen/parser/air.cpp
 )

+set(PLATFORMER_SRC
+src/platformer/animation.cpp
+src/platformer/background.cpp
+src/platformer/camera.cpp
+src/platformer/tile.cpp
+src/platformer/world.cpp
+)
+
 set(TRIGGER_SRC
 src/trigger/trigger.cpp
 )


matching cyclus findhdf

matching cyclus findhdf

--- cmake/FindHDF5.cmake
+++ cmake/FindHDF5.cmake
@@ -20,8 +20,9 @@
 # HDF5_USE_STATIC_LIBRARIES variable is set before the call to find_package.
 #
 # To provide the module with a hint about where to find your HDF5 installation,
-# you can set the environment variable HDF5_ROOT.  The Find module will then
-# look in this path when searching for HDF5 executables, paths, and libraries.
+# you can set the CMAKE variable -OR- environment variable HDF5_ROOT.  The Find
+# module will then look in this path when searching for HDF5 executables, paths,
+# and libraries.
 #
 # In addition to finding the includes and libraries required to compile an HDF5
 # client application, this module also makes an effort to find tools that come
@@ -68,21 +69,21 @@
 # try to find the HDF5 wrapper compilers
 find_program( HDF5_C_COMPILER_EXECUTABLE
     NAMES h5cc h5pcc
-    HINTS ENV HDF5_ROOT
+    HINTS "${HDF5_ROOT}" ENV HDF5_ROOT
     PATH_SUFFIXES bin Bin
     DOC "HDF5 Wrapper compiler.  Used only to detect HDF5 compile flags." )
 mark_as_advanced( HDF5_C_COMPILER_EXECUTABLE )

 find_program( HDF5_CXX_COMPILER_EXECUTABLE
     NAMES h5c++ h5pc++
-    HINTS ENV HDF5_ROOT
+    HINTS "${HDF5_ROOT}" ENV HDF5_ROOT
     PATH_SUFFIXES bin Bin
     DOC "HDF5 C++ Wrapper compiler.  Used only to detect HDF5 compile flags." )
 mark_as_advanced( HDF5_CXX_COMPILER_EXECUTABLE )

 find_program( HDF5_DIFF_EXECUTABLE
     NAMES h5diff
-    HINTS ENV HDF5_ROOT
+    HINTS "${HDF5_ROOT}" ENV HDF5_ROOT
     PATH_SUFFIXES bin Bin
     DOC "HDF5 file differencing tool." )
 mark_as_advanced( HDF5_DIFF_EXECUTABLE )
@@ -200,6 +201,7 @@
         # find the HDF5 include directories
         find_path( HDF5_${LANGUAGE}_INCLUDE_DIR hdf5.h
             HINTS
+	        "${HDF5_ROOT}"
                 ${HDF5_${LANGUAGE}_INCLUDE_FLAGS}
                 ENV
                     HDF5_ROOT
@@ -232,12 +234,12 @@
             endif()
             find_library( HDF5_${LIB}_LIBRARY_DEBUG
                 NAMES ${THIS_LIBRARY_SEARCH_DEBUG}
-                HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
+                HINTS "${HDF5_ROOT}" ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
                 ENV HDF5_ROOT
                 PATH_SUFFIXES lib Lib )
             find_library( HDF5_${LIB}_LIBRARY_RELEASE
                 NAMES ${THIS_LIBRARY_SEARCH_RELEASE}
-                HINTS ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
+                HINTS "${HDF5_ROOT}" ${HDF5_${LANGUAGE}_LIBRARY_DIRS}
                 ENV HDF5_ROOT
                 PATH_SUFFIXES lib Lib )
             select_library_configurations( HDF5_${LIB} )


Brute force FindSDL2 file to work on Linux and Mac

--- cmake/FindSDL2.cmake
+++ cmake/FindSDL2.cmake
@@ -65,99 +65,234 @@
 # (To distribute this file outside of CMake, substitute the full
 #  License text for the above reference.)

-SET(SDL2_SEARCH_PATHS
-        ~/Library/Frameworks
-        /Library/Frameworks
-        /usr/local
-        /usr
-        /sw # Fink
-        /opt/local # DarwinPorts
-        /opt/csw # Blastwave
-        /opt
-        )
-
-FIND_PATH(SDL2_INCLUDE_DIR SDL.h
-        HINTS
-        $ENV{SDL2DIR}
-        PATH_SUFFIXES include/SDL2 include
-        PATHS ${SDL2_SEARCH_PATHS}
-        )
-
-FIND_LIBRARY(SDL2_LIBRARY_TEMP
-        NAMES SDL2
-        HINTS
-        $ENV{SDL2DIR}
-        PATH_SUFFIXES lib64 lib
-        PATHS ${SDL2_SEARCH_PATHS}
-        )
-
-IF(NOT SDL2_BUILDING_LIBRARY)
-    IF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
-        # Non-OS X framework versions expect you to also dynamically link to
-        # SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
-        # seem to provide SDL2main for compatibility even though they don't
-        # necessarily need it.
-        FIND_LIBRARY(SDL2MAIN_LIBRARY
-                NAMES SDL2main
-                HINTS
-                $ENV{SDL2DIR}
-                PATH_SUFFIXES lib64 lib
-                PATHS ${SDL2_SEARCH_PATHS}
-                )
-    ENDIF(NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
-ENDIF(NOT SDL2_BUILDING_LIBRARY)
-
-# SDL2 may require threads on your system.
-# The Apple build may not need an explicit flag because one of the
-# frameworks may already provide it.
-# But for non-OSX systems, I will use the CMake Threads package.
-IF(NOT APPLE)
-    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.)
-IF(MINGW)
-    SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
-ENDIF(MINGW)
-
-IF(SDL2_LIBRARY_TEMP)
-    # For SDL2main
-    IF(NOT SDL2_BUILDING_LIBRARY)
-        IF(SDL2MAIN_LIBRARY)
-            SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
-        ENDIF(SDL2MAIN_LIBRARY)
-    ENDIF(NOT SDL2_BUILDING_LIBRARY)
-
-    # For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
-    # CMake doesn't display the -framework Cocoa string in the UI even
-    # though it actually is there if I modify a pre-used variable.
-    # I think it has something to do with the CACHE STRING.
-    # So I use a temporary variable until the end so I can set the
-    # "real" variable in one-shot.
-    IF(APPLE)
-        SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
-    ENDIF(APPLE)
-
-    # For threads, as mentioned Apple doesn't need this.
-    # In fact, there seems to be a problem if I used the Threads package
-    # and try using this line, so I'm just skipping it entirely for OS X.
-    IF(NOT APPLE)
-        SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
-    ENDIF(NOT APPLE)
-
-    # For MinGW library
-    IF(MINGW)
-        SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
-    ENDIF(MINGW)
-
-    # Set the final string here so the GUI reflects the final state.
-    SET(SDL2_LIBRARIES ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
-    # Set the temp variable to INTERNAL so it is not seen in the CMake GUI
-    SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
-ENDIF(SDL2_LIBRARY_TEMP)
-
-INCLUDE(FindPackageHandleStandardArgs)
-
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)+if (UNIX AND NOT APPLE)
+    if (NOT SDL2_DIR)
+        set(SDL2_DIR "" CACHE PATH "SDL2 directory")
+    endif ()
+
+    find_path(SDL2_INCLUDE_DIR SDL.h
+            HINTS
+            ENV SDLDIR
+            ${SDL2_DIR}
+            PATH_SUFFIXES SDL2
+            # path suffixes to search inside ENV{SDLDIR}
+            include/SDL2 include
+            )
+
+    if (CMAKE_SIZEOF_VOID_P EQUAL 8)
+        set(VC_LIB_PATH_SUFFIX lib/x64)
+    else ()
+        set(VC_LIB_PATH_SUFFIX lib/x86)
+    endif ()
+
+    # SDL-1.1 is the name used by FreeBSD ports...
+    # don't confuse it for the version number.
+    find_library(SDL2_LIBRARY_TEMP
+            NAMES SDL2
+            HINTS
+            ENV SDLDIR
+            ${SDL2_DIR}
+            PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+            )
+
+    # Hide this cache variable from the user, it's an internal implementation
+    # detail. The documented library variable for the user is SDL2_LIBRARY
+    # which is derived from SDL2_LIBRARY_TEMP further below.
+    set_property(CACHE SDL2_LIBRARY_TEMP PROPERTY TYPE INTERNAL)
+
+    if (NOT SDL2_BUILDING_LIBRARY)
+        if (NOT SDL2_INCLUDE_DIR MATCHES ".framework")
+            # Non-OS X framework versions expect you to also dynamically link to
+            # SDLmain. This is mainly for Windows and OS X. Other (Unix) platforms
+            # seem to provide SDLmain for compatibility even though they don't
+            # necessarily need it.
+            find_library(SDL2MAIN_LIBRARY
+                    NAMES SDL2main
+                    HINTS
+                    ENV SDLDIR
+                    ${SDL2_DIR}
+                    PATH_SUFFIXES lib ${VC_LIB_PATH_SUFFIX}
+                    PATHS
+                    /sw
+                    /opt/local
+                    /opt/csw
+                    /opt
+                    )
+        endif ()
+    endif ()
+
+    # SDL may require threads on your system.
+    # The Apple build may not need an explicit flag because one of the
+    # frameworks may already provide it.
+    # But for non-OSX systems, I will use the CMake Threads package.
+    if (NOT APPLE)
+        find_package(Threads)
+    endif ()
+
+    # MinGW needs an additional link flag, -mwindows
+    # It's total link flags should look like -lmingw32 -lSDLmain -lSDL -mwindows
+    if (MINGW)
+        set(MINGW32_LIBRARY mingw32 "-mwindows" CACHE STRING "link flags for MinGW")
+    endif ()
+
+    if (SDL2_LIBRARY_TEMP)
+        # For SDLmain
+        if (SDL2MAIN_LIBRARY AND NOT SDL2_BUILDING_LIBRARY)
+            list(FIND SDL2_LIBRARY_TEMP "${SDL2MAIN_LIBRARY}" _SDL2_MAIN_INDEX)
+            if (_SDL2_MAIN_INDEX EQUAL -1)
+                set(SDL2_LIBRARY_TEMP "${SDL2MAIN_LIBRARY}" ${SDL2_LIBRARY_TEMP})
+            endif ()
+            unset(_SDL2_MAIN_INDEX)
+        endif ()
+
+        # For OS X, SDL uses Cocoa as a backend so it must link to Cocoa.
+        # CMake doesn't display the -framework Cocoa string in the UI even
+        # though it actually is there if I modify a pre-used variable.
+        # I think it has something to do with the CACHE STRING.
+        # So I use a temporary variable until the end so I can set the
+        # "real" variable in one-shot.
+        if (APPLE)
+            set(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
+        endif ()
+
+        # For threads, as mentioned Apple doesn't need this.
+        # In fact, there seems to be a problem if I used the Threads package
+        # and try using this line, so I'm just skipping it entirely for OS X.
+        if (NOT APPLE)
+            set(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
+        endif ()
+
+        # For MinGW library
+        if (MINGW)
+            set(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
+        endif ()
+
+        # Set the final string here so the GUI reflects the final state.
+        set(SDL2_LIBRARY ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL Library can be found")
+    endif ()
+
+    if (SDL2_INCLUDE_DIR AND EXISTS "${SDL2_INCLUDE_DIR}/SDL2_version.h")
+        file(STRINGS "${SDL2_INCLUDE_DIR}/SDL2_version.h" SDL2_VERSION_MAJOR_LINE REGEX "^#define[ \t]+SDL2_MAJOR_VERSION[ \t]+[0-9]+$")
+        file(STRINGS "${SDL2_INCLUDE_DIR}/SDL2_version.h" SDL2_VERSION_MINOR_LINE REGEX "^#define[ \t]+SDL2_MINOR_VERSION[ \t]+[0-9]+$")
+        file(STRINGS "${SDL2_INCLUDE_DIR}/SDL2_version.h" SDL2_VERSION_PATCH_LINE REGEX "^#define[ \t]+SDL2_PATCHLEVEL[ \t]+[0-9]+$")
+        string(REGEX REPLACE "^#define[ \t]+SDL2_MAJOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_VERSION_MAJOR "${SDL2_VERSION_MAJOR_LINE}")
+        string(REGEX REPLACE "^#define[ \t]+SDL2_MINOR_VERSION[ \t]+([0-9]+)$" "\\1" SDL2_VERSION_MINOR "${SDL2_VERSION_MINOR_LINE}")
+        string(REGEX REPLACE "^#define[ \t]+SDL2_PATCHLEVEL[ \t]+([0-9]+)$" "\\1" SDL2_VERSION_PATCH "${SDL2_VERSION_PATCH_LINE}")
+        set(SDL2_VERSION_STRING ${SDL2_VERSION_MAJOR}.${SDL2_VERSION_MINOR}.${SDL2_VERSION_PATCH})
+        unset(SDL2_VERSION_MAJOR_LINE)
+        unset(SDL2_VERSION_MINOR_LINE)
+        unset(SDL2_VERSION_PATCH_LINE)
+        unset(SDL2_VERSION_MAJOR)
+        unset(SDL2_VERSION_MINOR)
+        unset(SDL2_VERSION_PATCH)
+    endif ()
+
+    set(SDL2_LIBRARIES ${SDL2_LIBRARY})
+    set(SDL2_INCLUDE_DIRS ${SDL2_INCLUDE_DIR})
+
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL
+            REQUIRED_VARS SDL2_LIBRARIES SDL2_INCLUDE_DIRS
+            VERSION_VAR SDL2_VERSION_STRING)
+
+    mark_as_advanced(SDL2_LIBRARY SDL2_INCLUDE_DIR)
+
+else ()
+
+    SET(SDL2_SEARCH_PATHS
+            ~/Library/Frameworks
+            /Library/Frameworks
+            /usr/local
+            /usr
+            /sw # Fink
+            /opt/local # DarwinPorts
+            /opt/csw # Blastwave
+            /opt
+            )
+
+    FIND_PATH(SDL2_INCLUDE_DIR SDL.h
+            HINTS
+            $ENV{SDL2DIR}
+            PATH_SUFFIXES include/SDL2 include
+            PATHS ${SDL2_SEARCH_PATHS}
+            )
+
+    FIND_LIBRARY(SDL2_LIBRARY_TEMP
+            NAMES SDL2
+            HINTS
+            $ENV{SDL2DIR}
+            PATH_SUFFIXES lib64 lib
+            PATHS ${SDL2_SEARCH_PATHS}
+            )
+
+    IF (NOT SDL2_BUILDING_LIBRARY)
+        IF (NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
+            # Non-OS X framework versions expect you to also dynamically link to
+            # SDL2main. This is mainly for Windows and OS X. Other (Unix) platforms
+            # seem to provide SDL2main for compatibility even though they don't
+            # necessarily need it.
+            FIND_LIBRARY(SDL2MAIN_LIBRARY
+                    NAMES SDL2main
+                    HINTS
+                    $ENV{SDL2DIR}
+                    PATH_SUFFIXES lib64 lib
+                    PATHS ${SDL2_SEARCH_PATHS}
+                    )
+        ENDIF (NOT ${SDL2_INCLUDE_DIR} MATCHES ".framework")
+    ENDIF (NOT SDL2_BUILDING_LIBRARY)
+
+    # SDL2 may require threads on your system.
+    # The Apple build may not need an explicit flag because one of the
+    # frameworks may already provide it.
+    # But for non-OSX systems, I will use the CMake Threads package.
+    IF (NOT APPLE)
+        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.)
+    IF (MINGW)
+        SET(MINGW32_LIBRARY mingw32 CACHE STRING "mwindows for MinGW")
+    ENDIF (MINGW)
+
+    IF (SDL2_LIBRARY_TEMP)
+        # For SDL2main
+        IF (NOT SDL2_BUILDING_LIBRARY)
+            IF (SDL2MAIN_LIBRARY)
+                SET(SDL2_LIBRARY_TEMP ${SDL2MAIN_LIBRARY} ${SDL2_LIBRARY_TEMP})
+            ENDIF (SDL2MAIN_LIBRARY)
+        ENDIF (NOT SDL2_BUILDING_LIBRARY)
+
+        # For OS X, SDL2 uses Cocoa as a backend so it must link to Cocoa.
+        # CMake doesn't display the -framework Cocoa string in the UI even
+        # though it actually is there if I modify a pre-used variable.
+        # I think it has something to do with the CACHE STRING.
+        # So I use a temporary variable until the end so I can set the
+        # "real" variable in one-shot.
+        IF (APPLE)
+            SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} "-framework Cocoa")
+        ENDIF (APPLE)
+
+        # For threads, as mentioned Apple doesn't need this.
+        # In fact, there seems to be a problem if I used the Threads package
+        # and try using this line, so I'm just skipping it entirely for OS X.
+        IF (NOT APPLE)
+            SET(SDL2_LIBRARY_TEMP ${SDL2_LIBRARY_TEMP} ${CMAKE_THREAD_LIBS_INIT})
+        ENDIF (NOT APPLE)
+
+        # For MinGW library
+        IF (MINGW)
+            SET(SDL2_LIBRARY_TEMP ${MINGW32_LIBRARY} ${SDL2_LIBRARY_TEMP})
+        ENDIF (MINGW)
+
+        # Set the final string here so the GUI reflects the final state.
+        SET(SDL2_LIBRARIES ${SDL2_LIBRARY_TEMP} CACHE STRING "Where the SDL2 Library can be found")
+        # Set the temp variable to INTERNAL so it is not seen in the CMake GUI
+        SET(SDL2_LIBRARY_TEMP "${SDL2_LIBRARY_TEMP}" CACHE INTERNAL "")
+    ENDIF (SDL2_LIBRARY_TEMP)
+
+    INCLUDE(FindPackageHandleStandardArgs)
+
+    FIND_PACKAGE_HANDLE_STANDARD_ARGS(SDL2 REQUIRED_VARS SDL2_LIBRARY SDL2_INCLUDE_DIR)
+
+endif ()


restructuring of Findgcov.cmake

restructuring of Findgcov.cmake

--- cmake/Findgcov.cmake
+++ cmake/Findgcov.cmake
@@ -6,15 +6,15 @@

-#
-# add coverage to target and register target for gcov
+# Add coverage support for target ${TARGET} and register target for gcov. If
+# coverage is disabled
 #
 function(add_coverage TARGET)
 	if (ENABLE_COVERAGE)
 		# enable coverage for target
 		set_target_properties(${TARGET} PROPERTIES
-			COMPILE_FLAGS "-g -O0 --coverage"
-			LINK_FLAGS "--coverage"
+			COMPILE_FLAGS "${COVERAGE_CFLAGS}"
+			LINK_FLAGS "${COVERAGE_LINKER_FLAGS}"
 		)

 		if (GCOV_FOUND)
@@ -39,6 +39,39 @@
 		return()
 	endif ()

+
+	# Check for coverage compiler flags in C and CXX, if one of those languages
+	# is enabled. At least one language must pass this test to continue
+	# processing this module.
+	include(CheckCCompilerFlag)
+	include(CheckCXXCompilerFlag)
+
+	set(COVERAGE_FOUND false)
+	set(CMAKE_REQUIRED_FLAGS "${COVERAGE_LINKER_FLAGS}")
+	get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
+	foreach (LANG ${LANGUAGES})
+		# check compiler for coverage support.
+		if (${LANG} STREQUAL C)
+			check_c_compiler_flag("${COVERAGE_CFLAGS}" HAVE_COVERAGE_C)
+		elseif (${LANG} STREQUAL CXX)
+			check_cxx_compiler_flag("${COVERAGE_CFLAGS}" HAVE_COVERAGE_CXX)
+		endif()
+
+		# announce that we have found a compiler with coverage support.
+		if (HAVE_COVERAGE_${LANG})
+			set(COVERAGE_FOUND true)
+		endif ()
+	endforeach()
+
+	# abort, if no coverage support by compiler. Disable coverage for further
+	# processing, so add_coverage will ignore it.
+	if (NOT COVERAGE_FOUND)
+		message(WARNING "No compiler supports coverage.")
+		set(ENABLE_COVERAGE OFF)
+		return()
+	endif()
+
+
 	# Add an option to choose, if coverage should be enabled for all targets,
 	# even those which are not explictly marked as coverage targets. If
 	# disabled, only targets added by add_coverage will be marked for coverage
@@ -48,47 +81,13 @@

-#
-# check for coverage compiler flags
-#
-
-# include required modules
-include(CheckCCompilerFlag)
-include(CheckCXXCompilerFlag)
-include(FindPackageHandleStandardArgs)
-
-# check for linker flag
-set(CMAKE_REQUIRED_FLAGS "${COVERAGE_LINKER_FLAGS}")
-
-# check for compile flags
-get_property(LANGUAGES GLOBAL PROPERTY ENABLED_LANGUAGES)
-foreach (LANG ${LANGUAGES})
-	if (${LANG} STREQUAL C)
-		check_c_compiler_flag("${COVERAGE_CFLAGS}" HAVE_COVERAGE_C)
-	elseif (${LANG} STREQUAL CXX)
-		check_cxx_compiler_flag("${COVERAGE_CFLAGS}" HAVE_COVERAGE_CXX)
-	endif()
-
-	if (HAVE_COVERAGE_${LANG})
-		set(CMAKE_${LANG}_FLAGS_COVERAGE
-			"${COVERAGE_CFLAGS}"
-			CACHE
-			STRING "Flags used by the ${LANG} compiler during coverage builds."
-		)
-		mark_as_advanced(CMAKE_${LANG}_FLAGS_COVERAGE)
-	endif (HAVE_COVERAGE_${LANG})
-endforeach()
-
-# abort, if no coverage support by compiler
-if (NOT (HAVE_COVERAGE_C OR HAVE_COVERAGE_CXX))
-	message(WARNING "Compiler does not support coverage.")
-	return()
-endif()

 #
 # collect gcov information for target
 #
+include(FindPackageHandleStandardArgs)
+
 find_program(GCOV_BIN gcov)
 find_package_handle_standard_args(gcov REQUIRED_VARS GCOV_BIN)


Add an option to disable target_set_warnings

--- cmake/Warnings.cmake
+++ cmake/Warnings.cmake
@@ -1,4 +1,6 @@
 cmake_minimum_required(VERSION 3.1)
+
+option(ENABLE_WARNINGS_SETTINGS "Allow target_set_warnings to add flags and defines. Set this to OFF if you want to provide your own warning parameters." ON)

 function(target_set_warnings)
 	if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")


Coverage: Fix build for Mac OS These changes are needed for Mac OS.

--- cmake/coverage.cmake
+++ cmake/coverage.cmake
@@ -34,16 +34,31 @@
 find_program(LCOV_PATH lcov)
 find_program(GENHTML_PATH genhtml)

+message(STATUS "Building for code coverage")
+
 # add code coverage build type
+if (("${CMAKE_CXX_COMPILER_ID}" MATCHES "Clang") OR ("${CMAKE_CXX_COMPILER_ID}" MATCHES "AppleClang"))
+	set(CMAKE_C_FLAGS_COVERAGE "--coverage -ftest-coverage -fdiagnostics-absolute-paths -O0 -fprofile-arcs -fno-inline-functions"
+		CACHE STRING "Flags used by the C compiler during coverage builds" FORCE)

-set(CMAKE_C_FLAGS_COVERAGE "--coverage -ftest-coverage -fprofile-arcs -O0 -fno-default-inline -fno-inline"
-        CACHE STRING "Flags used by the C compiler during coverage builds" FORCE)
+	set(CMAKE_CXX_FLAGS_COVERAGE "--coverage -ftest-coverage -fdiagnostics-absolute-paths -O0-fprofile-arcs -fno-inline-functions -fno-elide-constructors"
+		CACHE STRING "Flags used by the C++ compiler during coverage builds" FORCE)

-set(CMAKE_CXX_FLAGS_COVERAGE "--coverage -ftest-coverage -fprofile-arcs -O0 -fno-default-inline -fno-inline -fno-elide-constructors"
-        CACHE STRING "Flags used by the C++ compiler during coverage builds" FORCE)
+	set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "-ftest-coverage -fdiagnostics-absolute-paths"
+        CACHE STRING "Flags used for linking binaries during coverage builds" FORCE)

-set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "--coverage -ftest-coverage -lgcov"
+else()
+	# Add  -fprofile-abs-path for GCC v8/9 later on
+	set(CMAKE_C_FLAGS_COVERAGE "--coverage -ftest-coverage -fprofile-arcs -O0 -fno-default-inline -fno-inline"
+		CACHE STRING "Flags used by the C compiler during coverage builds" FORCE)
+
+	# Add  -fprofile-abs-path for GCC v8/9 later on
+	set(CMAKE_CXX_FLAGS_COVERAGE "--coverage -ftest-coverage -fprofile-arcs -O0 -fno-default-inline -fno-inline -fno-elide-constructors"
+		CACHE STRING "Flags used by the C++ compiler during coverage builds" FORCE)
+
+	set(CMAKE_EXE_LINKER_FLAGS_COVERAGE "--coverage -ftest-coverage -lgcov"
         CACHE STRING "Flags used for linking binaries during coverage builds" FORCE)
+endif()

 mark_as_advanced(CMAKE_CXX_FLAGS_COVERAGE CMAKE_C_FLAGS_COVERAGE CMAKE_EXE_LINKER_FLAGS_COVERAGE)


fix(win): Installer icon deletion

fix(win): Installer icon deletion

--- cmake/packages.cmake
+++ cmake/packages.cmake
@@ -103,7 +103,7 @@
 SET ( CPACK_NSIS_URL_INFO_ABOUT "https://www.hyperion-project.org")
 # additional hyperiond startmenu link, won't be created if the user disables startmenu links
 SET ( CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Hyperion (Console).lnk' '$INSTDIR\\\\bin\\\\hyperiond.exe' '-d -c'")
-SET ( CPACK_NSIS_DELETE_ICONS_EXTRA "Delete '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Hyperion (Console).lnk'")
+SET ( CPACK_NSIS_DELETE_ICONS_EXTRA "Delete '$SMPROGRAMS\\\\$MUI_TEMP\\\\Hyperion (Console).lnk'")

 #SET ( CPACK_NSIS_CREATE_ICONS_EXTRA "CreateShortCut '$SMPROGRAMS\\\\$STARTMENU_FOLDER\\\\Hyperion.lnk' '$INSTDIR\\\\bin\\\\hyperiond.exe'")


Use multithreaded dll VS runtime.

Use multithreaded dll VS runtime.

--- FindFBX.cmake
+++ FindFBX.cmake
@@ -51,8 +51,8 @@
 mark_as_advanced(FBX_INCLUDE_DIR)

 if(WIN32)
-    _fbx_find_library(FBX_LIBRARY            fbxsdk-${FBX_VERSION}-mt)
-    _fbx_find_library(FBX_LIBRARY_DEBUG      fbxsdk-${FBX_VERSION}-mtd)
+    _fbx_find_library(FBX_LIBRARY            fbxsdk-${FBX_VERSION}-md)
+    _fbx_find_library(FBX_LIBRARY_DEBUG      fbxsdk-${FBX_VERSION}-mdd)
 elseif (APPLE)
     find_library(CARBON NAMES Carbon)
     find_library(SYSTEM_CONFIGURATION NAMES SystemConfiguration)
@@ -68,4 +68,8 @@
     _fbx_append_debugs(FBX_LIBRARIES      FBX_LIBRARY)
     set(FBX_LIBRARIES ${FBX_LIBRARIES} ${CARBON} ${SYSTEM_CONFIGURATION})
     add_definitions (-DFBXSDK_NEW_API)
+    if(WIN32)
+        add_definitions(-DK_PLUGIN -DK_FBXSDK -DK_NODLL)
+        set(CMAKE_EXE_LINKER_FLAGS /NODEFAULTLIB:\"LIBCMT\")
+    endif()
 endif()


Unset internal variables.

Unset internal variables.

--- FindTBB.cmake
+++ FindTBB.cmake
@@ -238,4 +238,8 @@

   mark_as_advanced(TBB_INCLUDE_DIRS TBB_LIBRARIES)

+  unset(TBB_ARCHITECTURE)
+  unset(TBB_LIB_PATH_SUFFIX)
+  unset(TBB_DEFAULT_SEARCH_DIR)
+
 endif()


update gurobi pod to latest version

update gurobi pod to latest version

the latest version improves support for automated builds with a build
server

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -100,7 +100,7 @@
 set(snopt_depends)

 set(gurobi_url ssh://git@github.com/RobotLocomotion/gurobi.git)
-set(gurobi_revision 46d1985d5a86f7bc660e363cb2d5ff76af4b6fd9)
+set(gurobi_revision b95a186b4d988db00ada55bd8efb08c651a83fe7)
 set(gurobi_depends)

 set(iris_url ssh://git@github.com/rdeits/iris-distro.git)


Don't attempt to build spotless if Matlab is not present (replaces 99210e8dcfbd7d2a80c0b1d6e407b428e551ef3b)

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -307,6 +307,16 @@
 endif()

+# Checks whether Matlab is installed, else remove dependent packages
+find_program(matlab matlab)
+if (NOT matlab)
+  message(WARNING "Could not find matlab executable - not building spotless")
+  list(REMOVE_ITEM externals
+    spotless
+  )
+endif()
+
+
 macro(add_external proj)

   # depending on which variables are defined, the external project


configure iris directly instead of using its pod Makefile

This adds a build order dependency between iris and eigen, and adds
a configuration option to disable IRIS_WITH_EIGEN.

This also removes mosek from the externals list, since iris now downloads
and installs mosek.

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -86,9 +86,17 @@
 set(gurobi_depends)

 set(iris_url ssh://git@github.com/openhumanoids/iris-distro.git)
-set(iris_revision 1499f62a582682d66a6ee14e04cf68dbbf625fdb)
-set(iris_depends)
-
+set(iris_revision b278a85ba4b3b3da3af41feb39c13e4150d12d98)
+set(iris_depends Eigen_pod)
+set(iris_external_args
+  CMAKE_CACHE_ARGS
+    -DCMAKE_PREFIX_PATH:PATH=${CMAKE_INSTALL_PREFIX}
+    -DCMAKE_INSTALL_PREFIX:PATH=${CMAKE_INSTALL_PREFIX}
+    -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+    -DIRIS_WITH_EIGEN:BOOL=OFF
+  )
+
+# not installed anymore because iris-distro installs mosek
 set(mosek_url ssh://git@github.com/RobotLocomotion/mosek.git)
 set(mosek_revision bb7000e)
 set(mosek_depends)
@@ -139,7 +147,6 @@
   snopt
   gurobi
   iris
-  mosek
   pypolyhedron
   kinematics-utils
   )


usb_kw24d512: Set jlink speed explicitly

The jlink commander failed to program flash with auto speed on the
usb_kw24d512 board, so set the speed explicitly on this board.

Signed-off-by: Maureen Helm <87a696db5547fa477bda9f9e0f00013c839c14d3@nxp.com>

--- boards/arm/usb_kw24d512/board.cmake
+++ boards/arm/usb_kw24d512/board.cmake
@@ -1,3 +1,3 @@
-board_runner_args(jlink "--device=MKW24D512xxx5")
+board_runner_args(jlink "--device=MKW24D512xxx5" "--speed=4000")

 include(${ZEPHYR_BASE}/boards/common/jlink.board.cmake)


cmake: Update LAPACK external project to fix macOS and Linux build error

List of changes backported from GROUPS project:

  cmake: Fix LAPACK macOS build resetting CMAKE_OSX_* variables

  cmake: Update LAPACK external project to always log configuration and build

    Since LAPACK is using CMake, the error and warning messages are clearly
    distinguished, this allows CTest and CDash to properly parse the output
    and avoid false postive to be reported.

    At the same time, we are now sure to have all meaningful messages to be
    reported on the dashboard.

  cmake: Build lapack libraries as position independent code

    This allows other projects to easily build shared libraries linking
    against the statically built lapack libraries.

--- SuperBuild/External_LAPACK.cmake
+++ SuperBuild/External_LAPACK.cmake
@@ -54,11 +54,6 @@

   set(EP_SOURCE_DIR ${CMAKE_BINARY_DIR}/${proj})
   set(EP_BINARY_DIR ${CMAKE_BINARY_DIR}/${proj}-build)
-
-  set(log_command_output "0")
-  if(NOT "$ENV{DASHBOARD_TEST_FROM_CTEST}" STREQUAL "")
-    set(log_command_output "1")
-  endif()

   if(MSVC)
     # Generator
@@ -133,9 +128,6 @@
       ${EXTERNAL_PROJECT_CONFIGURE_COMMAND}
       ${EXTERNAL_PROJECT_BUILD_COMMAND}
       INSTALL_COMMAND ""
-      # Wrap commands to ignore log output from dashboards
-      LOG_CONFIGURE ${log_command_output}
-      LOG_BUILD     ${log_command_output}
       DEPENDS
         ${${proj}_DEPENDS}
       )
@@ -155,6 +147,19 @@
     find_package(Fortran REQUIRED)
     mark_as_superbuild(Fortran_COMPILER_ID:STRING)
     mark_as_superbuild(Fortran_${Fortran_COMPILER_ID}_EXECUTABLE)
+
+    set(EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS)
+    if(APPLE)
+      # Since Detect/Verify tests associated with FortranCInterface CMake module
+      # fails when at least the CMAKE_OSX_ARCHITECTURES option is set to x86_64,
+      # we explicitly disable the CMAKE_OSX_* options here.
+      # Failure was observed when using gfortran_osx-64 from conda.
+      list(APPEND EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS
+        -DCMAKE_OSX_ARCHITECTURES:STRING=
+        -DCMAKE_OSX_SYSROOT:PATH=
+        -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=
+        )
+    endif()

     ExternalProject_Add(${proj}
       ${${proj}_EP_ARGS}
@@ -163,6 +168,7 @@
       SOURCE_DIR ${EP_SOURCE_DIR}
       BINARY_DIR ${EP_BINARY_DIR}
       CMAKE_CACHE_ARGS
+        ${EXTERNAL_PROJECT_OPTIONAL_CMAKE_CACHE_ARGS}
         # Compiler settings
         -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
         -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
@@ -170,6 +176,7 @@
         -DCMAKE_CXX_STANDARD_REQUIRED:BOOL=${CMAKE_CXX_STANDARD_REQUIRED}
         -DCMAKE_CXX_EXTENSIONS:BOOL=${CMAKE_CXX_EXTENSIONS}
         -DCMAKE_Fortran_COMPILER:FILEPATH=${Fortran_${Fortran_COMPILER_ID}_EXECUTABLE}
+        -DCMAKE_POSITION_INDEPENDENT_CODE:BOOL=1
         # Output directories
         ## NA
         # Install directories
@@ -180,9 +187,6 @@
         -DCBLAS:BOOL=OFF
         -DLAPACKE:BOOL=ON
       INSTALL_COMMAND ""
-      # Wrap commands to ignore log output from dashboards
-      LOG_CONFIGURE ${log_command_output}
-      LOG_BUILD     ${log_command_output}
       DEPENDS
         ${${proj}_DEPENDS}
       )


COMP: reroll back to wcslib version 5.15 for compatibility issue with kitware factory machine linker

--- SuperBuild/External_wcslib.cmake
+++ SuperBuild/External_wcslib.cmake
@@ -33,7 +33,7 @@
   ExternalProject_Add(${proj}
     ${${proj}_EP_ARGS}
     GIT_REPOSITORY "${git_protocol}://github.com/Punzo/wcslib"
-    GIT_TAG "f5ec8106d3f3be3d31383d744b331a0159be1717"
+    GIT_TAG "5a430c02b8901b1d88a4186aee6369533e3dc950"
     SOURCE_DIR ${${proj}_SOURCE_DIR}
     BINARY_DIR ${${proj}_BINARY_DIR}
     CMAKE_CACHE_ARGS


add lib64 to search path

add lib64 to search path

--- CMakeModules/FindlibSquish.cmake
+++ CMakeModules/FindlibSquish.cmake
@@ -4,7 +4,7 @@
 #  LIBSQUISH_LIBRARIES

 FIND_PATH(LIBSQUISH_INCLUDE_DIR squish.h PATHS . squish .. ../squish DOC "Directory containing libSquish headers")
-FIND_LIBRARY(LIBSQUISH_LIBRARY NAMES squish libsquish PATHS . squish .. ../squish PATH_SUFFIXES lib release minsizerel relwithdebinfo DOC "Path to libSquish library")
+FIND_LIBRARY(LIBSQUISH_LIBRARY NAMES squish libsquish PATHS . squish .. ../squish PATH_SUFFIXES lib lib64 release minsizerel relwithdebinfo DOC "Path to libSquish library")

 SET(LIBSQUISH_LIBRARIES ${LIBSQUISH_LIBRARY})


All the qt-related file devices are familied.

svn path=/trunk/; revision=9701

--- plplot_test/plplot-test.sh.cmake
+++ plplot_test/plplot-test.sh.cmake
@@ -276,7 +276,7 @@

 # Some devices require special options others do not.
 case "$device" in
-   png|pngcairo|jpeg|xfig|svg|svgcairo)
+   png|pngcairo|jpeg|xfig|svg|svgcairo|bmpqt|jpgqt|pngqt|ppmqt|tiffqt|svgqt|epsqt|pdfqt)
       options="-fam -fflen 2"
       ;;
    gif)


libann now ann

libann now ann

--- ann.cmake
+++ ann.cmake
@@ -1,8 +1,8 @@
 #
-# Install libann from source
+# Install ann from source
 #

-if (NOT libann_NAME)
+if (NOT ann_NAME)

 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

@@ -11,23 +11,23 @@
 include (BuildSupport)
 include (PatchSupport)

-external_source (libann
+external_source (ann
     1.1.2
     ann_1.1.2.tar.gz
     7ffaacc7ea79ca39d4958a6378071365
     http://www.cs.umd.edu/~mount/ANN/Files/1.1.2
     FORCE)

-message ("Installing ${libann_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")
-ExternalProject_Add(${libann_NAME}
+message ("Installing ${ann_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")
+ExternalProject_Add(${ann_NAME}
     PREFIX              ${BUILDEM_DIR}
-    URL                 ${libann_URL}
-    URL_MD5             ${libann_MD5}
+    URL                 ${ann_URL}
+    URL_MD5             ${ann_MD5}
     UPDATE_COMMAND      ""
     PATCH_COMMAND       ${BUILDEM_ENV_STRING} ${PATCH_EXE}
-    	${libann_SRC_DIR}/CMakeLists.txt ${PATCH_DIR}/ann.patch
+    	${ann_SRC_DIR}/CMakeLists.txt ${PATCH_DIR}/ann.patch

-    CONFIGURE_COMMAND   ${BUILDEM_ENV_STRING} ${CMAKE_COMMAND} ${libann_SRC_DIR}
+    CONFIGURE_COMMAND   ${BUILDEM_ENV_STRING} ${CMAKE_COMMAND} ${ann_SRC_DIR}
         -DBUILD_SHARED_LIBS=ON
         -DCMAKE_INSTALL_PREFIX=${BUILDEM_DIR}
         -DCMAKE_PREFIX_PATH=${BUILDEM_DIR}
@@ -38,7 +38,7 @@
     TEST_COMMAND        ${BUILDEM_ENV_STRING} make check
 )

-set_target_properties(${libann_NAME} PROPERTIES EXCLUDE_FROM_ALL ON)
+set_target_properties(${ann_NAME} PROPERTIES EXCLUDE_FROM_ALL ON)

-endif (NOT libann_NAME)
+endif (NOT ann_NAME)


Bump haka version to 0.3.0

Bump haka version to 0.3.0

--- version.cmake
+++ version.cmake
@@ -3,5 +3,5 @@
 # file, You can obtain one at http://mozilla.org/MPL/2.0/.

 set(HAKA_VERSION_MAJOR 0)
-set(HAKA_VERSION_MINOR 2)
-set(HAKA_VERSION_PATCH 2)
+set(HAKA_VERSION_MINOR 3)
+set(HAKA_VERSION_PATCH 0)


Graph Control 4.0.0-rc7 Release Candidate 7

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

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


Fix modes of messages

Fix modes of messages

--- templates/CMake/cpp.cmake
+++ templates/CMake/cpp.cmake
@@ -151,7 +151,7 @@
     endforeach(WARNING_FLAG)

     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.5 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 4.5)
-      message("-- Add warning flags implemented in gcc 4.5")
+      message(STATUS "Add warning flags implemented in gcc 4.5")
       foreach(WARNING_FLAG
           -Wjump-misses-init
           -Wunsuffixed-float-constants)
@@ -159,7 +159,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.6 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 4.6)
-      message("-- Add warning flags implemented in gcc 4.6")
+      message(STATUS "Add warning flags implemented in gcc 4.6")
       foreach(WARNING_FLAG
           -Wdouble-promotion
           -Wsuggest-attribute=const
@@ -170,7 +170,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.7 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 4.7)
-      message("-- Add warning flags implemented in gcc 4.7")
+      message(STATUS "Add warning flags implemented in gcc 4.7")
       foreach(WARNING_FLAG
           -Wno-return-local-addr
           -Wvector-operation-performance)
@@ -178,11 +178,11 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 4.8 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 4.8)
-      message("-- Add warning flags implemented in gcc 4.8")
+      message(STATUS "Add warning flags implemented in gcc 4.8")
       set(C_WARNING_FLAGS "${C_WARNING_FLAGS} -Wsuggest-attribute=format")
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 5.1 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 5.1)
-      message("-- Add warning flags implemented in gcc 5.1")
+      message(STATUS "Add warning flags implemented in gcc 5.1")
       foreach(WARNING_FLAG
           -Wformat-signedness
           -Wsuggest-final-methods
@@ -191,7 +191,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 6.0 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 6.0)
-      message("-- Add warning flags implemented in gcc 6.0")
+      message(STATUS "Add warning flags implemented in gcc 6.0")
       foreach(WARNING_FLAG
           -Wduplicated-cond
           -Wshift-overflow=2)
@@ -199,7 +199,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 7.0 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 7.0)
-      message("-- Add warning flags implemented in gcc 7.0")
+      message(STATUS "Add warning flags implemented in gcc 7.0")
       string(REGEX REPLACE "-Wabi" "-Wabi=11" C_WARNING_FLAGS "${C_WARNING_FLAGS}")
       foreach(WARNING_FLAG
           -Walloc-zero
@@ -213,7 +213,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 8.0 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 8.0)
-      message("-- Add warning flags implemented in gcc 8.0")
+      message(STATUS "Add warning flags implemented in gcc 8.0")
       string(REGEX REPLACE "-Wcast-align" "-Wcast-align=strict" C_WARNING_FLAGS "${C_WARNING_FLAGS}")
       set(C_WARNING_FLAGS "${C_WARNING_FLAGS} -Wsuggest-attribute=malloc")
     endif()
@@ -241,15 +241,15 @@
     endforeach(WARNING_FLAG)

     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 3.5 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 3.5)
-      message("-- Add warning flags implemented in clang 3.5")
+      message(STATUS "Add warning flags implemented in clang 3.5")
       set(C_WARNING_FLAGS "${C_WARNING_FLAGS} -Wc++14-compat")
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 3.8 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 3.8)
-      message("-- Add warning flags implemented in clang 3.8")
+      message(STATUS "Add warning flags implemented in clang 3.8")
       set(C_WARNING_FLAGS "${C_WARNING_FLAGS} -Wdouble-promotion")
     endif()
     if(CMAKE_C_COMPILER_VERSION VERSION_GREATER 5.0 OR CMAKE_C_COMPILER_VERSION VERSION_EQUAL 5.0)
-      message("-- Add warning flags implemented in clang 5.0")
+      message(STATUS "Add warning flags implemented in clang 5.0")
       set(C_WARNING_FLAGS "${C_WARNING_FLAGS} -Wzero-as-null-pointer-constant")
     endif()

@@ -289,11 +289,11 @@
     endforeach(WARNING_FLAG)

     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.3 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.3)
-      message("-- Add warning flags implemented in g++ 4.3")
+      message(STATUS "Add warning flags implemented in g++ 4.3")
       set(CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wc++0x-compat")
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.6 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.6)
-      message("-- Add warning flags implemented in g++ 4.6")
+      message(STATUS "Add warning flags implemented in g++ 4.6")
       foreach(WARNING_FLAG
           -Wdouble-promotion
           -Wnoexcept
@@ -305,7 +305,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.7 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.7)
-      message("-- Add warning flags implemented in g++ 4.7")
+      message(STATUS "Add warning flags implemented in g++ 4.7")
       string(REGEX REPLACE "-Wc\\+\\+0x-compat" "-Wc++11-compat" CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS}")
       foreach(WARNING_FLAG
           -Wdelete-non-virtual-dtor
@@ -316,7 +316,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.8 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.8)
-      message("-- Add warning flags implemented in g++ 4.8")
+      message(STATUS "Add warning flags implemented in g++ 4.8")
       foreach(WARNING_FLAG
           -Wsuggest-attribute=format
           -Wuseless-cast)
@@ -324,11 +324,11 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 4.9 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 4.9)
-      message("-- Add warning flags implemented in g++ 4.9")
+      message(STATUS "Add warning flags implemented in g++ 4.9")
       set(CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wconditionally-supported")
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.1 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 5.1)
-      message("-- Add warning flags implemented in g++ 5.1")
+      message(STATUS "Add warning flags implemented in g++ 5.1")
       foreach(WARNING_FLAG
           -Wc++14-compat
           -Wformat-signedness
@@ -339,7 +339,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 6.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 6.0)
-      message("-- Add warning flags implemented in g++ 6.0")
+      message(STATUS "Add warning flags implemented in g++ 6.0")
       foreach(WARNING_FLAG
           -Wduplicated-cond
           -Wplacement-new=2
@@ -348,7 +348,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 7.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 7.0)
-      message("-- Add warning flags implemented in g++ 7.0")
+      message(STATUS "Add warning flags implemented in g++ 7.0")
       string(REGEX REPLACE "-Wabi" "-Wabi=11" CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS}")
       foreach(WARNING_FLAG
           -Wc++17-compat
@@ -364,7 +364,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 8.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 8.0)
-      message("-- Add warning flags implemented in g++ 8.0")
+      message(STATUS "Add warning flags implemented in g++ 8.0")
       string(REGEX REPLACE "-Wcast-align" "-Wcast-align=strict" CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS}")
       set(CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wsuggest-attribute=malloc")
     endif()
@@ -397,11 +397,11 @@
     endforeach(WARNING_FLAG)

     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.5 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 3.5)
-      message("-- Add warning flags implemented in clang++ 3.5")
+      message(STATUS "Add warning flags implemented in clang++ 3.5")
       set(CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wc++14-compat")
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 3.8 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 3.8)
-      message("-- Add warning flags implemented in clang++ 3.8")
+      message(STATUS "Add warning flags implemented in clang++ 3.8")
       foreach(WARNING_FLAG
           -Wc++1z-compat
           -Wdouble-promotion)
@@ -409,7 +409,7 @@
       endforeach(WARNING_FLAG)
     endif()
     if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER 5.0 OR CMAKE_CXX_COMPILER_VERSION VERSION_EQUAL 5.0)
-      message("-- Add warning flags implemented in clang++ 5.0")
+      message(STATUS "Add warning flags implemented in clang++ 5.0")
       string(REGEX REPLACE "-Wc\\+\\+1z-compat" "-Wc++17-compat" CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS}")
       set(CXX_WARNING_FLAGS "${CXX_WARNING_FLAGS} -Wzero-as-null-pointer-constant")
     endif()
@@ -498,12 +498,22 @@
     CMAKE_COMPILER_IS_GNUCC
     CMAKE_COMPILER_IS_GNUCXX
     CMAKE_C_COMPILER
+    CMAKE_C_COMPILER_VERSION
+    CMAKE_C_COMPILER_ID
+    CMAKE_C_STANDARD
+    CMAKE_C_STANDARD_REQUIRED
+    CMAKE_C_EXTENSIONS
     CMAKE_C_FLAGS
     CMAKE_C_FLAGS_DEBUG
     CMAKE_C_FLAGS_RELEASE
     CMAKE_C_FLAGS_RELWITHDEBINFO
     CMAKE_C_FLAGS_MINSIZEREL
     CMAKE_CXX_COMPILER
+    CMAKE_CXX_COMPILER_VERSION
+    CMAKE_CXX_COMPILER_ID
+    CMAKE_CXX_STANDARD
+    CMAKE_CXX_STANDARD_REQUIRED
+    CMAKE_CXX_EXTENSIONS
     CMAKE_CXX_FLAGS
     CMAKE_CXX_FLAGS_DEBUG
     CMAKE_CXX_FLAGS_RELEASE


add license information

add license information

--- FindICU.cmake
+++ FindICU.cmake
@@ -25,6 +25,15 @@
 #      add_executable(myapp myapp.c)
 #      target_link_libraries(myapp ${ICU_LIBRARIES})
 #   endif()
+
+#=============================================================================
+# Copyright (c) 2011, julp
+#
+# Distributed under the OSI-approved BSD License
+#
+# This software is distributed WITHOUT ANY WARRANTY; without even the
+# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
+#=============================================================================

 find_package(PkgConfig)


Release 0.15.1

Release 0.15.1

--- VERSION.cmake
+++ VERSION.cmake
@@ -1,4 +1,4 @@
 set (LIBDNF_MAJOR_VERSION 0)
 set (LIBDNF_MINOR_VERSION 15)
-set (LIBDNF_MICRO_VERSION 0)
+set (LIBDNF_MICRO_VERSION 1)
 set (LIBDNF_VERSION ${LIBDNF_MAJOR_VERSION}.${LIBDNF_MINOR_VERSION}.${LIBDNF_MICRO_VERSION})


adapt version

adapt version

--- VERSION.cmake
+++ VERSION.cmake
@@ -46,5 +46,4 @@

 SET(OPENWSMAN_MAJOR "2")
 SET(OPENWSMAN_MINOR "0")
-SET(OPENWSMAN_PATCH "0b2")
-
+SET(OPENWSMAN_PATCH "0b1")


Update Google Benchmark in CMake builds to 1.5.0

--- cmake/DownloadGoogleBenchmark.cmake
+++ cmake/DownloadGoogleBenchmark.cmake
@@ -4,8 +4,8 @@

 INCLUDE(ExternalProject)
 ExternalProject_Add(googlebenchmark
-	URL https://github.com/google/benchmark/archive/v1.2.0.zip
-	URL_HASH SHA256=cc463b28cb3701a35c0855fbcefb75b29068443f1952b64dd5f4f669272e95ea
+	URL https://github.com/google/benchmark/archive/v1.5.0.zip
+	URL_HASH SHA256=2d22dd3758afee43842bb504af1a8385cccb3ee1f164824e4837c1c1b04d92a0
 	SOURCE_DIR "${CONFU_DEPENDENCIES_SOURCE_DIR}/googlebenchmark"
 	BINARY_DIR "${CONFU_DEPENDENCIES_BINARY_DIR}/googlebenchmark"
 	CONFIGURE_COMMAND ""


cmake/hypodermic: remove broken SOURCE_DIR hack

--- cmake/Modules/BuildHypodermic.cmake
+++ cmake/Modules/BuildHypodermic.cmake
@@ -5,7 +5,6 @@
   URL https://github.com/karolherbst/hypodermic/archive/master.zip
   CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=${HYPODERMIC_INSTALL_DIR} -DBT=SHARED -DBOOST_INCLUDEDIR=${Boost_INCLUDE_DIRS} -DBOOST_LIBRARYDIR=${Boost_LIBRARY_DIRS}
   BUILD_IN_SOURCE 0
-  SOURCE_DIR <prefix>/src/<name>/hypodermic-master/
 )

 if(MINGW)


Revert "set fallback arch to x86_64"

Revert "set fallback arch to x86_64"

This reverts commit 2008ce9882b797e9b68e8ed79392a088fc3a91d3.

--- cmake/OptimizeForArchitecture.cmake
+++ cmake/OptimizeForArchitecture.cmake
@@ -43,7 +43,7 @@
 endmacro(_my_find)

 macro(AutodetectHostArchitecture)
-	set(TARGET_ARCHITECTURE "x86_64")
+	set(TARGET_ARCHITECTURE "native")
 	set(ARCH_FLAGS)
 	set(_vendor_id)
 	set(_cpu_family)
@@ -104,8 +104,8 @@
 elseif(_cpu_model EQUAL 14)
 	set(TARGET_ARCHITECTURE "core")
 elseif(_cpu_model LESS 14)
-	message(WARNING "Your CPU (family ${_cpu_family}, model ${_cpu_model}) is not known. Auto-detection of optimization flags failed and will use the x86_64 CPU settings with SSE2.")
-	set(TARGET_ARCHITECTURE "x86_64")
+	message(WARNING "Your CPU (family ${_cpu_family}, model ${_cpu_model}) is not known. Auto-detection of optimization flags failed and will use the native CPU settings with SSE2.")
+	set(TARGET_ARCHITECTURE "native")
 else()
 	message(WARNING "Your CPU (family ${_cpu_family}, model ${_cpu_model}) is not known. Auto-detection of optimization flags failed and will use the 65nm Core 2 CPU settings.")
 	set(TARGET_ARCHITECTURE "merom")
@@ -139,7 +139,7 @@
 endmacro()

 macro(OptimizeForArchitecture)
-	set(TARGET_ARCHITECTURE "auto" CACHE STRING "CPU architecture to optimize for. Using an incorrect setting here can result in crashes of the resulting binary because of invalid instructions used.\nSetting the value to \"auto\" will try to optimize for the architecture where cmake is called.\nOther supported values are: \"none\", \"x86_64\", \"core\", \"merom\" (65nm Core2), \"penryn\" (45nm Core2), \"nehalem\", \"westmere\", \"sandy-bridge\", \"ivy-bridge\", \"atom\", \"k8\", \"k8-sse3\", \"barcelona\", \"istanbul\", \"magny-cours\", \"bulldozer\", \"interlagos\", \"piledriver\".")
+	set(TARGET_ARCHITECTURE "auto" CACHE STRING "CPU architecture to optimize for. Using an incorrect setting here can result in crashes of the resulting binary because of invalid instructions used.\nSetting the value to \"auto\" will try to optimize for the architecture where cmake is called.\nOther supported values are: \"none\", \"native\", \"core\", \"merom\" (65nm Core2), \"penryn\" (45nm Core2), \"nehalem\", \"westmere\", \"sandy-bridge\", \"ivy-bridge\", \"atom\", \"k8\", \"k8-sse3\", \"barcelona\", \"istanbul\", \"magny-cours\", \"bulldozer\", \"interlagos\", \"piledriver\".")
 set(_force)
 	if(NOT _last_target_arch STREQUAL "${TARGET_ARCHITECTURE}")
 	message(STATUS "target changed from \"${_last_target_arch}\" to \"${TARGET_ARCHITECTURE}\"")
@@ -237,8 +237,8 @@
 	list(APPEND _march_flag_list "barcelona")
 	list(APPEND _march_flag_list "core2")
 	list(APPEND _available_vector_units_list "sse" "sse2" "sse3" "sse4a")
-	elseif(TARGET_ARCHITECTURE STREQUAL "x86_64")
-	list(APPEND _march_flag_list "x86_64")
+	elseif(TARGET_ARCHITECTURE STREQUAL "native")
+	list(APPEND _march_flag_list "native")
 	elseif(TARGET_ARCHITECTURE STREQUAL "none")
 # add this clause to remove it from the else clause
 	else(TARGET_ARCHITECTURE STREQUAL "core")


cmake: XercesMutexMgrSelection: Use XERCES_USE_MUTEXMGR_NOTHREAD

git-svn-id: 3ec853389310512053d525963cab269c063bb453@1820309 13f79535-47bb-0310-9956-ffa450edef68

--- cmake/XercesMutexMgrSelection.cmake
+++ cmake/XercesMutexMgrSelection.cmake
@@ -51,13 +51,13 @@

 set(XERCES_USE_MUTEXMGR_POSIX 0)
 set(XERCES_USE_MUTEXMGR_WINDOWS 0)
-set(XERCES_USE_MUTEXMGR_NOTHREADS 0)
+set(XERCES_USE_MUTEXMGR_NOTHREAD 0)
 if(mutexmgr STREQUAL "POSIX")
   set(XERCES_USE_MUTEXMGR_POSIX 1)
 elseif(mutexmgr STREQUAL "windows")
   set(XERCES_USE_MUTEXMGR_WINDOWS 1)
 elseif(mutexmgr STREQUAL "nothreads")
-  set(XERCES_USE_MUTEXMGR_NOTHREADS 1)
+  set(XERCES_USE_MUTEXMGR_NOTHREAD 1)
 else()
   message(FATAL_ERROR "Invalid mutex manager: \"${mutexmgr}\"")
 endif()


changed relative paths

changed relative paths

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

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