Add main.f90 transformation in the flow

Add main.f90 transformation in the flow

--- test/module_test.cmake
+++ test/module_test.cmake
@@ -8,6 +8,10 @@
 set (OUTPUT_FILE_GPU ${CMAKE_CURRENT_SOURCE_DIR}/transformed_code_gpu.f90)
 set (REFERENCE_FILE_CPU ${CMAKE_CURRENT_SOURCE_DIR}/reference_cpu.f90)
 set (REFERENCE_FILE_GPU ${CMAKE_CURRENT_SOURCE_DIR}/reference_gpu.f90)
+set (OUTPUT_MAIN_CPU ${CMAKE_CURRENT_SOURCE_DIR}/transformed_main_cpu.f90)
+set (OUTPUT_MAIN_GPU ${CMAKE_CURRENT_SOURCE_DIR}/transformed_main_gpu.f90)
+set (REFERENCE_MAIN_CPU ${CMAKE_CURRENT_SOURCE_DIR}/reference_main_cpu.f90)
+set (REFERENCE_MAIN_GPU ${CMAKE_CURRENT_SOURCE_DIR}/reference_main_gpu.f90)

 if(HAS_EXTRA_MOD)
   set (ORIGINAL_FILE_EXTRA ${CMAKE_CURRENT_SOURCE_DIR}/mo_column_extra.f90)
@@ -77,22 +81,64 @@
     COMMENT "Translating CLAW directive with ${CLAWFC} for GPU target on file ${ORIGINAL_FILE_EXTRA}"
   )

+  # Execute the CLAW compiler for CPU target
+  add_custom_command(
+    OUTPUT  ${OUTPUT_MAIN_CPU}
+    COMMAND touch ${MAIN_F90} # to force new compilation
+    COMMAND ${CLAWFC} ${OPTIONAL_FLAGS} --target=cpu ${DIRECTIVE_CPU} ${DEBUG_FLAG} -J ${XMOD_DIR} -o ${OUTPUT_MAIN_CPU} ${MAIN_F90}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+    DEPENDS ${MAIN_F90} ${OUTPUT_FILE_CPU} ${OUTPUT_FILE_EXTRA_CPU}
+    COMMENT "Translating CLAW directive with ${CLAWFC} for CPU target on file ${MAIN_F90}"
+  )
+
+  # Execute the CLAW compiler for GPU target
+  add_custom_command(
+    OUTPUT  ${OUTPUT_MAIN_GPU}
+    COMMAND touch ${MAIN_F90} # to force new compilation
+    COMMAND ${CLAWFC} ${OPTIONAL_FLAGS} --target=gpu ${DIRECTIVE_GPU} ${DEBUG_FLAG} -J ${XMOD_DIR} -o ${OUTPUT_MAIN_GPU} ${MAIN_F90}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+    DEPENDS ${MAIN_F90} ${OUTPUT_FILE_GPU} ${OUTPUT_FILE_EXTRA_GPU}
+    COMMENT "Translating CLAW directive with ${CLAWFC} for GPU target on file ${MAIN_F90}"
+  )
+
   # Target for the transformation
   add_custom_target(
     transform-${TEST_NAME}
     DEPENDS
-    ${MAIN_CPU} ${OUTPUT_FILE_CPU} ${OUTPUT_FILE_EXTRA_CPU} ${MAIN_GPU}
+    ${OUTPUT_MAIN_CPU} ${OUTPUT_FILE_CPU} ${OUTPUT_FILE_EXTRA_CPU} ${OUTPUT_MAIN_GPU}
     ${OUTPUT_FILE_GPU} ${OUTPUT_FILE_EXTRA_GPU} ${EXECUTABLE_ORIGINAL}
     ${EXECUTABLE_TRANSFORMED_CPU} ${EXECUTABLE_TRANSFORMED_GPU}
   )

 else()
+
+
+
+  # Execute the CLAW compiler for CPU target
+  add_custom_command(
+    OUTPUT  ${OUTPUT_MAIN_CPU}
+    COMMAND touch ${MAIN_F90} # to force new compilation
+    COMMAND ${CLAWFC} ${OPTIONAL_FLAGS} --target=cpu ${DIRECTIVE_CPU} ${DEBUG_FLAG} -J ${XMOD_DIR} -o ${OUTPUT_MAIN_CPU} ${MAIN_F90}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+    DEPENDS ${MAIN_F90} ${OUTPUT_FILE_CPU}
+    COMMENT "Translating CLAW directive with ${CLAWFC} for CPU target on file ${MAIN_F90}"
+  )
+
+  # Execute the CLAW compiler for GPU target
+  add_custom_command(
+    OUTPUT  ${OUTPUT_MAIN_GPU}
+    COMMAND touch ${MAIN_F90} # to force new compilation
+    COMMAND ${CLAWFC} ${OPTIONAL_FLAGS} --target=gpu ${DIRECTIVE_GPU} ${DEBUG_FLAG} -J ${XMOD_DIR} -o ${OUTPUT_MAIN_GPU} ${MAIN_F90}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
+    DEPENDS ${MAIN_F90} ${OUTPUT_FILE_GPU}
+    COMMENT "Translating CLAW directive with ${CLAWFC} for GPU target on file ${MAIN_F90}"
+  )

   # Target for the transformation
   add_custom_target(
     transform-${TEST_NAME}
     DEPENDS
-    ${MAIN_CPU} ${OUTPUT_FILE_CPU} ${MAIN_GPU} ${OUTPUT_FILE_GPU}
+    ${OUTPUT_MAIN_CPU} ${OUTPUT_FILE_CPU} ${OUTPUT_MAIN_GPU} ${OUTPUT_FILE_GPU}
     ${EXECUTABLE_ORIGINAL} ${EXECUTABLE_TRANSFORMED_CPU}
     ${EXECUTABLE_TRANSFORMED_GPU}
   )
@@ -102,7 +148,11 @@
 # Target to clean the generated file (Output of clawfc)
 add_custom_target(
   clean-${TEST_NAME}
-  COMMAND rm -f ${OUTPUT_FILE_CPU} ${OUTPUT_FILE_GPU} ${XMOD_DIR}/*
+  COMMAND rm -f
+  ${OUTPUT_FILE_CPU} ${OUTPUT_FILE_GPU}
+  ${OUTPUT_MAIN_CPU} ${OUTPUT_MAIN_GPU}
+  ${OUTPUT_FILE_EXTRA_CPU} ${OUTPUT_FILE_EXTRA_GPU}
+  ${XMOD_DIR}/*
 )

 # Add target to the global build/clean target
@@ -117,18 +167,18 @@

   # Build the original code and the transformed code
   add_executable (${EXECUTABLE_ORIGINAL} EXCLUDE_FROM_ALL "${ORIGINAL_FILE}" "${ORIGINAL_FILE_EXTRA}" "${MAIN_F90}")
-  add_executable (${EXECUTABLE_TRANSFORMED_CPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_CPU}" "${OUTPUT_FILE_EXTRA_CPU}" "${MAIN_F90}")
+  add_executable (${EXECUTABLE_TRANSFORMED_CPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_CPU}" "${OUTPUT_FILE_EXTRA_CPU}" "${OUTPUT_MAIN_CPU}")
   target_compile_definitions(${EXECUTABLE_TRANSFORMED_CPU} PRIVATE -D_CLAW)
-  add_executable (${EXECUTABLE_TRANSFORMED_GPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_GPU}" "${OUTPUT_FILE_EXTRA_GPU}" "${MAIN_F90}")
+  add_executable (${EXECUTABLE_TRANSFORMED_GPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_GPU}" "${OUTPUT_FILE_EXTRA_GPU}" "${OUTPUT_MAIN_GPU}")
   target_compile_definitions(${EXECUTABLE_TRANSFORMED_GPU} PRIVATE -D_CLAW)

 else()

   # Build the original code and the transformed code
   add_executable (${EXECUTABLE_ORIGINAL} EXCLUDE_FROM_ALL "${ORIGINAL_FILE}" "${MAIN_F90}")
-  add_executable (${EXECUTABLE_TRANSFORMED_CPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_CPU}" "${MAIN_F90}")
+  add_executable (${EXECUTABLE_TRANSFORMED_CPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_CPU}" "${OUTPUT_MAIN_CPU}")
   target_compile_definitions(${EXECUTABLE_TRANSFORMED_CPU} PRIVATE -D_CLAW)
-  add_executable (${EXECUTABLE_TRANSFORMED_GPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_GPU}" "${MAIN_F90}")
+  add_executable (${EXECUTABLE_TRANSFORMED_GPU} EXCLUDE_FROM_ALL "${OUTPUT_FILE_GPU}" "${OUTPUT_MAIN_GPU}")
   target_compile_definitions(${EXECUTABLE_TRANSFORMED_GPU} PRIVATE -D_CLAW)

 endif()
@@ -144,7 +194,6 @@

 if(NOT IGNORE_TEST)
   # Compare reference transformed code and output of the transformation
-  add_test(NAME ast-transform-${TEST_NAME} COMMAND "${CMAKE_COMMAND}"  --build ${CMAKE_BINARY_DIR} --target transform-${TEST_NAME})
   add_test(NAME ast-compare-cpu-${TEST_NAME} COMMAND diff ${OUTPUT_FILE_CPU} ${REFERENCE_FILE_CPU})
   add_test(NAME ast-compare-gpu-${TEST_NAME} COMMAND diff ${OUTPUT_FILE_GPU} ${REFERENCE_FILE_GPU})
   set_tests_properties(ast-compare-cpu-${TEST_NAME} PROPERTIES DEPENDS ast-transform-${TEST_NAME})


sitkLanguageOptions: Improve setting of default value for wrap options

This commit makes sure no calls to "find_package(<languageName>)" are
done if the options WRAP_DEFAULT or WRAP_<languageName> is explicitly
set to OFF.

Indeed, systematically calling "find_package()" can have side-effects.
See https://discourse.slicer.org/t/nightly-mac-slicer-4-9-0-2018-03-13-macosx-amd64-does-not-open/23

Co-authored-by: Jean-Christophe Fillion-Robin <859d3fd8ca46de62a08fca56c64958e301f5352c@kitware.com>


re-enabled dicom rt and dicom ui

re-enabled dicom rt and dicom ui

--- Modules/ModuleList.cmake
+++ Modules/ModuleList.cmake
@@ -51,7 +51,7 @@
   ToFUI
   US
   USUI
-  #DicomUI
+  DicomUI
   Simulation
   Remeshing
   Python
@@ -59,7 +59,7 @@
   OpenIGTLinkUI
   IGTUI
   VtkShaders
-  #DicomRT
+  DicomRT
   IOExt
   XNAT
   TubeGraph


BUG: IOFDF remote module should stay with InsightConsortium repo

Change-Id: I44067cf49222160c75f814e3b2dcce735c892a21

--- Modules/Remote/IOFDF.remote.cmake
+++ Modules/Remote/IOFDF.remote.cmake
@@ -1,5 +1,5 @@
 itk_fetch_module(IOFDF
   "FDFImageIO plugin for ITK. Authors Gleen Pierce/Nick Tustison/Kent Williams"
-  GIT_REPOSITORY http://github.com/blowekamp/itkFDFImageIO.git
-  GIT_TAG  ecec99e8e7d807e06c1cfd42f90a524a312bd271
+  GIT_REPOSITORY http://github.com/InsightSoftwareConsortium/itkFDFImageIO.git
+  GIT_TAG  e7b0fb56e504c7aff84eb61850de761ea307964c
   )


Fixed if clause.

Fixed if clause.

--- cmake/EigenTesting.cmake
+++ cmake/EigenTesting.cmake
@@ -158,7 +158,7 @@
     set(COVERAGE_FLAGS "-fprofile-arcs -ftest-coverage")
   else(EIGEN_COVERAGE_TESTING)
     set(COVERAGE_FLAGS "")
-  endif(EIGEN_ENABLE_COVERAGE_TESTING)
+  endif(EIGEN_COVERAGE_TESTING)
   if(CMAKE_SYSTEM_NAME MATCHES Linux)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_FLAGS} -g2")
     set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${COVERAGE_FLAGS} -O2 -g2")


Disable variadic macro warning when compiling at full warning level. I was not able to get a macro version running and thus I opted for a cmake patch.

--- cmake/EigenTesting.cmake
+++ cmake/EigenTesting.cmake
@@ -233,7 +233,12 @@
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=gnu++0x")
   endif(EIGEN_TEST_C++0x)
   if(EIGEN_TEST_MAX_WARNING_LEVEL)
-	set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wconversion")
+    CHECK_CXX_COMPILER_FLAG("-Wno-variadic-macros" FLAG_VARIADIC)
+    if(FLAG_VARIADIC)
+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wconversion -Wno-variadic-macros")
+    else(FLAG_VARIADIC)
+      set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wconversion")
+    endif(FLAG_VARIADIC)
   endif(EIGEN_TEST_MAX_WARNING_LEVEL)
   if(CMAKE_SYSTEM_NAME MATCHES Linux)
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${COVERAGE_FLAGS} -g2")


update xpu cmake (#33906)

update xpu cmake (#33906)

--- cmake/external/xpu.cmake
+++ cmake/external/xpu.cmake
@@ -34,10 +34,11 @@
   SET(XPU_XCCL_DIR_NAME "xccl-bdcentos_x86_64")
 ENDIF()

-SET(XPU_BASE_URL "https://baidu-kunlun-product.cdn.bcebos.com/KL-SDK/klsdk-dev")
-SET(XPU_XRE_URL  "${XPU_BASE_URL}/20210625/${XPU_XRE_DIR_NAME}.tar.gz" CACHE STRING "" FORCE)
-SET(XPU_XDNN_URL "${XPU_BASE_URL}/20210625/${XPU_XDNN_DIR_NAME}.tar.gz" CACHE STRING "" FORCE)
-SET(XPU_XCCL_URL "${XPU_BASE_URL}/20210623/${XPU_XCCL_DIR_NAME}.tar.gz" CACHE STRING "" FORCE)
+SET(XPU_BASE_URL_WITHOUT_DATE "https://baidu-kunlun-product.cdn.bcebos.com/KL-SDK/klsdk-dev")
+SET(XPU_BASE_URL "${XPU_BASE_URL_WITHOUT_DATE}/20210625")
+SET(XPU_XRE_URL  "${XPU_BASE_URL}/${XPU_XRE_DIR_NAME}.tar.gz" CACHE STRING "" FORCE)
+SET(XPU_XDNN_URL "${XPU_BASE_URL}/${XPU_XDNN_DIR_NAME}.tar.gz" CACHE STRING "" FORCE)
+SET(XPU_XCCL_URL "${XPU_BASE_URL_WITHOUT_DATE}/20210623/${XPU_XCCL_DIR_NAME}.tar.gz" CACHE STRING "" FORCE)
 SET(XPU_PACK_DEPENCE_URL "https://baidu-kunlun-public.su.bcebos.com/paddle_depence/pack_paddle_depence.sh" CACHE STRING "" FORCE)

 SET(XPU_SOURCE_DIR              "${THIRD_PARTY_PATH}/xpu")


Hide FREETYPE_FT2BUILD_INCLUDE_DIR variable

--HG--
branch : v1-7

--- CMake/Packages/FindFreetype.cmake
+++ CMake/Packages/FindFreetype.cmake
@@ -49,6 +49,7 @@
 make_library_set(FREETYPE_LIBRARY)

 findpkg_finish(FREETYPE)
+mark_as_advanced(FREETYPE_FT2BUILD_INCLUDE_DIR)
 if (NOT FREETYPE_FT2BUILD_INCLUDE_DIR STREQUAL FREETYPE_INCLUDE_DIR)
   set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_FT2BUILD_INCLUDE_DIR})
 endif ()


Fixed assimp compilation on windows

Fixed assimp compilation on windows

--- CMakeModules/ExternalAssimp.cmake
+++ CMakeModules/ExternalAssimp.cmake
@@ -16,6 +16,7 @@
         UPDATE_COMMAND ""

         # set the installatin to root
+		INSTALL_COMMAND ""
         INSTALL_DIR ${CMAKE_CURRENT_SOURCE_DIR}
         CMAKE_ARGS -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DASSIMP_BUILD_ASSIMP_TOOLS=False -DASSIMP_BUILD_SAMPLES=False -DASSIMP_BUILD_TESTS=False
 )


add missing target dependency

add missing target dependency

--- rosidl_typesupport_opensplice_cpp/cmake/rosidl_typesupport_opensplice_cpp_generate_interfaces.cmake
+++ rosidl_typesupport_opensplice_cpp/cmake/rosidl_typesupport_opensplice_cpp_generate_interfaces.cmake
@@ -92,6 +92,10 @@
   ${rosidl_generate_interfaces_TARGET}${_target_suffix}
 )
 add_dependencies(
+  ${rosidl_generate_interfaces_TARGET}${_target_suffix}
+  ${rosidl_generate_interfaces_TARGET}__cpp
+)
+add_dependencies(
   ${rosidl_generate_interfaces_TARGET}__dds_opensplice_idl
   ${rosidl_generate_interfaces_TARGET}${_target_suffix}
 )


cmake: remove FindEXPAT (merged upstream)

--- CMakeModules/FindEXPAT.cmake
+++ CMakeModules/FindEXPAT.cmake
@@ -1,46 +0,0 @@
-# - Find expat
-# Find the native EXPAT headers and libraries.
-#
-#  EXPAT_INCLUDE_DIRS - where to find expat.h, etc.
-#  EXPAT_LIBRARIES    - List of libraries when using expat.
-#  EXPAT_FOUND        - True if expat found.
-
-#=============================================================================
-# Copyright 2006-2009 Kitware, Inc.
-# Copyright 2014 The VOTCA Development Team (http://www.votca.org)
-#
-# Distributed under the OSI-approved BSD License (the "License");
-# see accompanying file Copyright.txt for details.
-#
-# This software is distributed WITHOUT ANY WARRANTY; without even the
-# implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
-# See the License for more information.
-#=============================================================================
-# (To distributed this file outside of CMake, substitute the full
-#  License text for the above reference.)
-
-find_package(PkgConfig)
-
-pkg_check_modules(PC_EXPAT expat)
-
-# Look for the header file.
-FIND_PATH(EXPAT_INCLUDE_DIR NAMES expat.h HINTS ${PC_EXPAT_INCLUDE_DIRS} )
-
-# Look for the library.
-FIND_LIBRARY(EXPAT_LIBRARY NAMES expat libexpat HINTS ${PC_EXPAT_LIBRARY_DIRS} )
-
-# handle the QUIETLY and REQUIRED arguments and set EXPAT_FOUND to TRUE if
-# all listed variables are TRUE
-INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(EXPAT DEFAULT_MSG EXPAT_LIBRARY EXPAT_INCLUDE_DIR)
-
-# Copy the results to the output variables.
-IF(EXPAT_FOUND)
-  SET(EXPAT_LIBRARIES ${EXPAT_LIBRARY})
-  SET(EXPAT_INCLUDE_DIRS ${EXPAT_INCLUDE_DIR})
-ELSE(EXPAT_FOUND)
-  SET(EXPAT_LIBRARIES)
-  SET(EXPAT_INCLUDE_DIRS)
-ENDIF(EXPAT_FOUND)
-
-MARK_AS_ADVANCED(EXPAT_INCLUDE_DIR EXPAT_LIBRARY)


cmake BUGFIX duplicate definition

cmake BUGFIX duplicate definition

--- CMakeModules/UseCompat.cmake
+++ CMakeModules/UseCompat.cmake
@@ -13,10 +13,8 @@

     check_symbol_exists(get_current_dir_name "unistd.h" HAVE_GET_CURRENT_DIR_NAME)

-    list(APPEND CMAKE_REQUIRED_DEFINITIONS -D_POSIX_C_SOURCE=200809L)
     check_symbol_exists(strndup "string.h" HAVE_STRNDUP)
     check_symbol_exists(getline "stdio.h" HAVE_GETLINE)
-
     check_symbol_exists(strdupa "string.h" HAVE_STRDUPA)
     check_symbol_exists(strchrnul "string.h" HAVE_STRCHRNUL)


Alpaka Include: Link -I

Alpaka Include: Link -I

--- alpakaConfig.cmake
+++ alpakaConfig.cmake
@@ -518,7 +518,6 @@
 ENDIF()

 SET(_ALPAKA_INCLUDE_DIRECTORY "${_ALPAKA_ROOT_DIR}/include")
-LIST(APPEND _ALPAKA_INCLUDE_DIRECTORIES_PUBLIC "${_ALPAKA_INCLUDE_DIRECTORY}")
 SET(_ALPAKA_SUFFIXED_INCLUDE_DIR "${_ALPAKA_INCLUDE_DIRECTORY}/alpaka")

 SET(_ALPAKA_LINK_LIBRARY)
@@ -593,6 +592,11 @@
             SYSTEM
             INTERFACE ${_ALPAKA_INCLUDE_DIRECTORIES_PUBLIC})
     ENDIF()
+    # the alpaka library itself
+    TARGET_INCLUDE_DIRECTORIES(
+        "alpaka"
+        INTERFACE ${_ALPAKA_INCLUDE_DIRECTORY}
+    )

     # Link libraries.
     # There are no PUBLIC_LINK_FLAGS in CMAKE:
@@ -635,6 +639,7 @@
 LIST(APPEND alpaka_DEFINITIONS ${_ALPAKA_COMPILE_OPTIONS_PUBLIC})
 SET(alpaka_INCLUDE_DIR ${_ALPAKA_INCLUDE_DIRECTORY})
 SET(alpaka_INCLUDE_DIRS ${_ALPAKA_INCLUDE_DIRECTORIES_PUBLIC})
+LIST(APPEND alpaka_INCLUDE_DIRS ${_ALPAKA_INCLUDE_DIRECTORY})
 SET(alpaka_LIBRARY ${_ALPAKA_LINK_LIBRARY})
 SET(alpaka_LIBRARIES ${_ALPAKA_LINK_FLAGS_PUBLIC})
 LIST(APPEND alpaka_LIBRARIES ${_ALPAKA_LINK_LIBRARIES_PUBLIC})


Removing trailing blanks

Removing trailing blanks

svn path=/trunk/; revision=9487

--- cmake/modules/tcl-related.cmake
+++ cmake/modules/tcl-related.cmake
@@ -150,7 +150,7 @@
         message(STATUS "Looking for itk library")
         set(itk_library_versions 3.4 3.3 3.2 3.1 3.0 2.1 2.0)
         foreach(version ${itk_library_versions})
-          find_library(ITK_LIBRARY itk${version}
+          find_library(ITK_LIBRARY itk${version}
             PATH_SUFFIXES itk${version})
         endforeach(version ${itk_library_versions})
         if(ITK_LIBRARY)
@@ -179,7 +179,7 @@
     set(ENABLE_itk OFF CACHE BOOL "Enable incr Tk interface code" FORCE)
   endif(TCL_FOUND AND TCL_TCLSH)
 else(ENABLE_tcl)
-  message(STATUS
+  message(STATUS
     "ENABLE_tcl is OFF so disabling everything else that "
     "is Tcl/Tk related"
     )


Version += 0.0.1

Version += 0.0.1

--- conf/LiboroVersion.cmake
+++ conf/LiboroVersion.cmake
@@ -4,4 +4,4 @@

 SET(CPACK_PACKAGE_VERSION_MAJOR "0")
 SET(CPACK_PACKAGE_VERSION_MINOR "7")
-SET(CPACK_PACKAGE_VERSION_PATCH "8")
+SET(CPACK_PACKAGE_VERSION_PATCH "10")


Bumped version to 1.3

Bumped version to 1.3

--- conf/LiboroVersion.cmake
+++ conf/LiboroVersion.cmake
@@ -3,5 +3,5 @@
 # Please do not add extra numerals in this file or change its formatting.

 SET(CPACK_PACKAGE_VERSION_MAJOR "1")
-SET(CPACK_PACKAGE_VERSION_MINOR "2")
+SET(CPACK_PACKAGE_VERSION_MINOR "3")
 SET(CPACK_PACKAGE_VERSION_PATCH "0")


ENH: Upgrade to SWIG 4.0.2

ENH: Upgrade to SWIG 4.0.2

--- SuperBuild/CMake/External_swig.cmake
+++ SuperBuild/CMake/External_swig.cmake
@@ -33,8 +33,8 @@
   # Use pre-built swig executable (no linking is required, no install done)
   ExternalProject_Add(SWIG
     PREFIX SWIG
-    URL "https://downloads.sourceforge.net/project/swig/swigwin/swigwin-3.0.12/swigwin-3.0.12.zip"
-    URL_MD5 a49524dad2c91ae1920974e7062bfc93
+    URL "https://downloads.sourceforge.net/project/swig/swigwin/swigwin-4.0.2/swigwin-4.0.2.zip"
+    URL_MD5 009926b512aee9318546bdd4c7eab6f9
     INSTALL_DIR ${SB_INSTALL_PREFIX}
     DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
     CONFIGURE_COMMAND ""
@@ -52,8 +52,8 @@

   ExternalProject_Add(SWIG
     PREFIX SWIG
-    URL "https://downloads.sourceforge.net/project/swig/swig/swig-3.0.12/swig-3.0.12.tar.gz"
-    URL_MD5 82133dfa7bba75ff9ad98a7046be687c
+    URL "https://downloads.sourceforge.net/project/swig/swig/swig-4.0.2/swig-4.0.2.tar.gz"
+    URL_MD5 7c3e46cb5af2b469722cafa0d91e127b
     BINARY_DIR ${SWIG_SB_BUILD_DIR}
     INSTALL_DIR ${SB_INSTALL_PREFIX}
     DOWNLOAD_DIR ${DOWNLOAD_LOCATION}


PKG: skip installation of patchelf on osx

--- SuperBuild/CMake/Package_Macro.cmake
+++ SuperBuild/CMake/Package_Macro.cmake
@@ -57,12 +57,16 @@
     GROUP_READ GROUP_EXECUTE
     WORLD_READ WORLD_EXECUTE)

-  ####################### install patchelf #####################
-  install(FILES ${CMAKE_INSTALL_PREFIX}/tools/patchelf
-    DESTINATION ${PKG_STAGE_DIR}/tools
-    PERMISSIONS
-    OWNER_EXECUTE OWNER_WRITE OWNER_READ
-    GROUP_EXECUTE GROUP_READ)
+  if(UNIX)
+    if(NOT APPLE)
+      ####################### install patchelf #####################
+      install(FILES ${CMAKE_INSTALL_PREFIX}/tools/patchelf
+        DESTINATION ${PKG_STAGE_DIR}/tools
+        PERMISSIONS
+        OWNER_EXECUTE OWNER_WRITE OWNER_READ
+        GROUP_EXECUTE GROUP_READ)
+    endif()
+  endif()

   if(PKG_XDK)
     install_xdk_files()


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 12)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   07)
+SET(KWSYS_DATE_STAMP_DAY   08)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 10)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   04)
+SET(KWSYS_DATE_STAMP_DAY   05)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 09)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   04)
+SET(KWSYS_DATE_STAMP_DAY   05)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -1,10 +1,10 @@
 # Do not edit!  Generated by kwsysDateStamp.py

 # KWSys version date year component.  Format is CCYY.
-SET(KWSYS_DATE_STAMP_YEAR  2007)
+SET(KWSYS_DATE_STAMP_YEAR  2008)

 # KWSys version date month component.  Format is MM.
-SET(KWSYS_DATE_STAMP_MONTH 12)
+SET(KWSYS_DATE_STAMP_MONTH 01)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   31)
+SET(KWSYS_DATE_STAMP_DAY   01)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 08)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   28)
+SET(KWSYS_DATE_STAMP_DAY   29)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   16)
+SET(KWSYS_DATE_STAMP_DAY   17)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 09)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   03)
+SET(KWSYS_DATE_STAMP_DAY   04)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 08)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   12)
+SET(KWSYS_DATE_STAMP_DAY   13)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 02)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   17)
+SET(KWSYS_DATE_STAMP_DAY   18)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 01)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   12)
+SET(KWSYS_DATE_STAMP_DAY   13)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 07)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   26)
+SET(KWSYS_DATE_STAMP_DAY   27)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 09)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   03)
+SET(KWSYS_DATE_STAMP_DAY   04)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   05)
+SET(KWSYS_DATE_STAMP_DAY   06)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 05)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   18)
+SET(KWSYS_DATE_STAMP_DAY   19)


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -7,4 +7,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   04)
+SET(KWSYS_DATE_STAMP_DAY   05)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 11)

 # KWSys version date day component.  Format is DD.
-SET(KWSYS_DATE_STAMP_DAY   27)
+SET(KWSYS_DATE_STAMP_DAY   28)


fixed build on windows

fixed build on windows

--- cmake/IDA.cmake
+++ cmake/IDA.cmake
@@ -149,6 +149,8 @@
     # We hardwire the path here as the lib lacks the "lib" prefix, making
     # find_library ignoring it.
     list(APPEND ida_libraries  "${IDA_LIB_DIR}/pro.a")
+    find_library(IDA_IDA_LIBRARY NAMES "ida" PATHS ${IDA_LIB_DIR} REQUIRED)
+    list(APPEND ida_libraries ${IDA_IDA_LIBRARY})
 endif ()
 set(ida_libraries ${ida_libraries} CACHE INTERNAL "IDA libraries" FORCE)
 include_directories("${ida_sdk}/include")
@@ -177,7 +179,7 @@
         SUFFIX ${plugin_extension}
         OUTPUT_NAME ${plugin_name})

-    target_link_libraries(${plugin_name} ${ida_libraries} ida)
+    target_link_libraries(${plugin_name} ${ida_libraries})

     # Define install rule
     install(TARGETS ${plugin_name} DESTINATION plugins)


automerge: merged bundle from bug report into latest  mysql-trunk-bugfixing (bug 52341).

--- configure.cmake
+++ configure.cmake
@@ -913,6 +913,7 @@

 SET(NO_ALARM "${HAVE_SOCKET_TIMEOUT}" CACHE BOOL
    "No need to use alarm to implement socket timeout")
+SET(SIGNAL_WITH_VIO_CLOSE "${HAVE_SOCKET_TIMEOUT}")
 MARK_AS_ADVANCED(NO_ALARM)


Fix cross-compiling unclosed CMake variable (did not trigger in presubmit).

--- build_tools/cmake/iree_cross_compile.cmake
+++ build_tools/cmake/iree_cross_compile.cmake
@@ -87,7 +87,7 @@
   iree_to_bool(_CONFIG_BUILD_PYTHON_BINDINGS "${IREE_${CONFIG_NAME}_BUILD_PYTHON_BINDINGS}")
   iree_to_bool(_CONFIG_BUILD_JAVA_BINDINGS "${IREE_${CONFIG_NAME}_BUILD_JAVA_BINDINGS}")
   iree_to_bool(_CONFIG_BUILD_EXPERIMENTAL "${IREE_${CONFIG_NAME}_BUILD_EXPERIMENTAL}")
-  iree_to_bool(_CONFIG_BUILD_TENSORFLOW_COMPILER "${IREE_${CONFIG_NAME}_BUILD_TENSORFLOW_COMPILER")
+  iree_to_bool(_CONFIG_BUILD_TENSORFLOW_COMPILER "${IREE_${CONFIG_NAME}_BUILD_TENSORFLOW_COMPILER}")

   # Escape semicolons in the targets list so that CMake doesn't expand them to
   # spaces.


cmake: armlink: remove sourcing of ld/target_base.cmake file

The armlink/target.cmake should not source ld/target_base.cmake file
as it provides its own (empty) implementation of the
`toolchain_ld_base` macro.

Signed-off-by: Torsten Rasmussen <a7c5b1d5a1f41fce6edfa3f7c2392ae0c59deafe@nordicsemi.no>

--- cmake/linker/armlink/target.cmake
+++ cmake/linker/armlink/target.cmake
@@ -120,8 +120,6 @@
   )
 endfunction(toolchain_ld_link_elf)

-include(${ZEPHYR_BASE}/cmake/linker/ld/target_base.cmake)
-#include(${ZEPHYR_BASE}/cmake/linker/ld/target_baremetal.cmake)
 include(${ZEPHYR_BASE}/cmake/linker/ld/target_cpp.cmake)
 include(${ZEPHYR_BASE}/cmake/linker/ld/target_relocation.cmake)
 include(${ZEPHYR_BASE}/cmake/linker/ld/target_configure.cmake)


Added STL_VECTOR_CHECK support for Release builds.

--- cmake/ACGCompiler.cmake
+++ cmake/ACGCompiler.cmake
@@ -134,15 +134,19 @@
     set ( STL_VECTOR_CHECKS false CACHE BOOL "Include full stl vector checks in debug mode (This option is only used in debug Mode!)" )
   endif ( NOT STL_VECTOR_CHECKS )

-  # Add a flag to check stl vectors in debugging mode
+  # Add a flag to check stl vectors
   if ( STL_VECTOR_CHECKS AND NOT CMAKE_SYSTEM MATCHES "SunOS*"  )
     list(APPEND ADDITIONAL_CXX_DEBUG_FLAGS          "-D_GLIBCXX_DEBUG" )
     list(APPEND ADDITIONAL_CXX_DEBUG_FLAGS          "-D_GLIBCXX_DEBUG_PEDANTIC")
+    list(APPEND ADDITIONAL_CXX_RELEASE_FLAGS        "-D_GLIBCXX_DEBUG" )
+    list(APPEND ADDITIONAL_CXX_RELEASE_FLAGS        "-D_GLIBCXX_DEBUG_PEDANTIC")
     list(APPEND ADDITIONAL_CXX_RELWITHDEBINFO_FLAGS "-D_GLIBCXX_DEBUG" )
     list(APPEND ADDITIONAL_CXX_RELWITHDEBINFO_FLAGS "-D_GLIBCXX_DEBUG_PEDANTIC")

     list(APPEND ADDITIONAL_C_DEBUG_FLAGS            "-D_GLIBCXX_DEBUG" )
     list(APPEND ADDITIONAL_C_DEBUG_FLAGS            "-D_GLIBCXX_DEBUG_PEDANTIC")
+    list(APPEND ADDITIONAL_C_RELEASE_FLAGS          "-D_GLIBCXX_DEBUG" )
+    list(APPEND ADDITIONAL_C_RELEASE_FLAGS          "-D_GLIBCXX_DEBUG_PEDANTIC")
     list(APPEND ADDITIONAL_C_RELWITHDEBINFO_FLAGS   "-D_GLIBCXX_DEBUG" )
     list(APPEND ADDITIONAL_C_RELWITHDEBINFO_FLAGS   "-D_GLIBCXX_DEBUG_PEDANTIC")
   endif()


Changes fo bug #77081: Fix to making pars

--- cmake/ALICE_CMake.cmake
+++ cmake/ALICE_CMake.cmake
@@ -578,7 +578,9 @@
 endmacro(ALICE_GenerateLinkDef)

 macro(ALICE_BuildPAR)
-  if(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
+
+  # if(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
+  if(EXISTS ${CMAKE_SOURCE_DIR}/${MODULE}/PROOF-INF.${PACKAGE})
     set(PARSRCS)
     foreach(file ${SRCS} ${HDRS} ${FSRCS} ${DHDR})
       get_filename_component(srcdir ${file} PATH)
@@ -615,6 +617,8 @@
     add_dependencies(test-par-all test-${PACKAGE}.par)
     add_dependencies(test-${MODULE}-par-all test-${PACKAGE}.par)

-  endif(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
+  endif(EXISTS ${CMAKE_SOURCE_DIR}/${MODULE}/PROOF-INF.${PACKAGE})
+  # endif(EXISTS ${ALICE_ROOT}/${MODULE}/PROOF-INF.${PACKAGE})
+
 endmacro(ALICE_BuildPAR)


[cmake] fix umfpack

[cmake] fix umfpack

--- cmake/FindUmfpack.cmake
+++ cmake/FindUmfpack.cmake
@@ -3,9 +3,9 @@

 # From eigen

-if (UMFPACK_INCLUDES AND UMFPACK_LIBRARIES)
+if (UMFPACK_INCLUDE_DIR AND UMFPACK_LIBRARIES)
   set(UMFPACK_FIND_QUIETLY TRUE)
-endif (UMFPACK_INCLUDES AND UMFPACK_LIBRARIES)
+endif (UMFPACK_INCLUDE_DIR AND UMFPACK_LIBRARIES)

 find_package(PkgConfig)
 include(LibFindMacros)
@@ -14,7 +14,7 @@
 pkg_check_modules(UMFPACK QUIET umfpack)

 IF(UMFPACK_FOUND)
-  SET(UMFPACK_INCLUDES ${UMFPACK_INCLUDE_DIRS})
+  SET(UMFPACK_INCLUDE_DIR ${UMFPACK_INCLUDE_DIRS})
   IF(UMFPACK_LIBRARY_DIRS)
     SET(UMFPACK_LIBDIR ${UMFPACK_LIBRARY_DIRS})
   ELSE(UMFPACK_LIBRARY_DIRS)
@@ -22,7 +22,7 @@
   ENDIF(UMFPACK_LIBRARY_DIRS)
 ENDIF(UMFPACK_FOUND)

-find_path(UMFPACK_INCLUDES
+find_path(UMFPACK_INCLUDE_DIR
   NAMES
   umfpack.h
   PATHS
@@ -59,6 +59,6 @@

 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(UMFPACK DEFAULT_MSG
-                                  UMFPACK_INCLUDES UMFPACK_LIBRARIES)
+                                  UMFPACK_INCLUDE_DIR UMFPACK_LIBRARIES )

-mark_as_advanced(UMFPACK_INCLUDES UMFPACK_LIBRARIES AMD_LIBRARY COLAMD_LIBRARY SUITESPARSE_LIBRARY)
+mark_as_advanced(UMFPACK_INCLUDE_DIR UMFPACK_LIBRARIES AMD_LIBRARY COLAMD_LIBRARY SUITESPARSE_LIBRARY)


Implement use of DEFAULT_NO_BINDINGS logic and clean up remaining logic
using cached variables for the ENABLE_gnome2 and ENABLE_pygcw bindings
flags.

svn path=/trunk/; revision=7406

--- cmake/modules/gcw.cmake
+++ cmake/modules/gcw.cmake
@@ -34,18 +34,12 @@
 if(PLD_gcw)
   if(NOT PKGCONFIG_EXECUTABLE)
     message(STATUS
-    "WARNING: pkg-config not found. Setting PLD_gcw and ENABLE_pygcw to OFF."
+    "WARNING: pkg-config not found. Setting PLD_gcw to OFF."
     )
     set(PLD_gcw OFF CACHE BOOL "Enable gcw device" FORCE)
-    set(ENABLE_pygcw OFF)
   endif(NOT PKGCONFIG_EXECUTABLE)
 endif(PLD_gcw)
 if(PLD_gcw)
-  if(ENABLE_python)
-    set(ENABLE_pygcw ON)
-  else(ENABLE_python)
-    set(ENABLE_pygcw OFF)
-  endif(ENABLE_python)
 # linkflags and cflags ignored because not used in autotools side and
 # there is a question whether all that ton of extra potentially interfering
 # libraries might be causing a segfault that is observed for the
@@ -62,18 +56,16 @@
       set(gcw_LINK_FLAGS "${linkflags1}")
     else(linkflags1 AND cflags1)
       message(STATUS
-      "WARNING: libgnomeprintui-2.2 not found.  Setting PLD_gcw and "
-      "ENABLE_pygcw to OFF."
+      "WARNING: libgnomeprintui-2.2 not found.  Setting PLD_gcw "
+      "to OFF."
       )
       set(PLD_gcw OFF CACHE BOOL "Enable gcw device" FORCE)
-      set(ENABLE_pygcw OFF)
     endif(linkflags1 AND cflags1)
 #  else(linkflags AND cflags)
 #    message(STATUS "WARNING: libgnomeui-2.0 not found.  "
-#    "Setting PLD_gcw and ENABLE_pygcw to OFF."
+#    "Setting PLD_gcw to OFF."
 #    )
 #    set(PLD_gcw OFF CACHE BOOL "Enable gcw device" FORCE)
-#    set(ENABLE_pygcw OFF)
 #  endif(linkflags AND cflags)
 endif(PLD_gcw)
 if(PLD_gcw)
@@ -94,18 +86,53 @@
   if(NOT gcw_HEADERS)
     message(STATUS
     "WARNING: Required headers not found. "
-    "Setting PLD_gcw and ENABLE_pygcw to OFF."
+    "Setting PLD_gcw to OFF."
     )
     set(PLD_gcw OFF CACHE BOOL "Enable gcw device" FORCE)
-    set(ENABLE_pygcw OFF)
   endif(NOT gcw_HEADERS)
 endif(PLD_gcw)
+
+if(PLD_gcw)
+  if(DEFAULT_NO_BINDINGS)
+    option(ENABLE_gnome2 "Enable Gnome2 bindings" OFF)
+    option(ENABLE_pygcw "Enable Python Gnome2 bindings" OFF)
+  else(DEFAULT_NO_BINDINGS)
+    option(ENABLE_gnome2 "Enable Gnome2 bindings" ON)
+    option(ENABLE_pygcw "Enable Python Gnome2 bindings" ON)
+  endif(DEFAULT_NO_BINDINGS)
+else(PLD_gcw)
+  message(STATUS
+  "WARNING: PLD_gcw is OFF so "
+  "Setting ENABLE_gnome2 and ENABLE_pygcw to OFF."
+  )
+  set(ENABLE_gnome2 OFF CACHE BOOL "Enable Gnome2 bindings" FORCE)
+  set(ENABLE_pygcw OFF CACHE BOOL "Enable Python Gnome2 bindings" FORCE)
+endif(PLD_gcw)
+
+if(ENABLE_gnome2)
+  set(gcw_true "")
+  set(gcw_false "#")
+else(ENABLE_gnome2)
+  set(gcw_true "#")
+  set(gcw_false "")
+endif(ENABLE_gnome2)
+
 if(PLD_gcw)
   if(ENABLE_DYNDRIVERS)
-    set(gcw_SOURCE
-    ${CMAKE_SOURCE_DIR}/drivers/plplotcanvas-hacktext.c
-    )
-    set(gcw_TARGETS plplotgnome2${LIB_TAG})
+    if(ENABLE_gnome2)
+      set(gcw_SOURCE
+      ${CMAKE_SOURCE_DIR}/drivers/plplotcanvas-hacktext.c
+      )
+      set(gcw_TARGETS plplotgnome2${LIB_TAG})
+    else(ENABLE_gnome2)
+      # if gnome2 disabled, then must include full source and forget
+      # gcw_TARGETS for this dynamic device.
+      set(gcw_SOURCE
+      ${CMAKE_SOURCE_DIR}/bindings/gnome2/lib/plplotcanvas.c
+      ${CMAKE_SOURCE_DIR}/bindings/gnome2/lib/gcw-lib.c
+      ${CMAKE_SOURCE_DIR}/drivers/plplotcanvas-hacktext.c
+      )
+    endif(ENABLE_gnome2)
   else(ENABLE_DYNDRIVERS)
     # N.B. no gcw_TARGETS here since use appropriate source code (see below)
     # instead to break circular linking.
@@ -121,7 +148,16 @@
     )
   endif(ENABLE_DYNDRIVERS)
 endif(PLD_gcw)
-if(PLD_gcw AND ENABLE_pygcw)
+
+if(ENABLE_pygcw AND NOT ENABLE_python)
+  message(STATUS
+  "WARNING: Python is disabled so "
+  "Setting ENABLE_pygcw to OFF."
+  )
+  set(ENABLE_pygcw OFF CACHE BOOL "Enable Python Gnome2 bindings" FORCE)
+endif(ENABLE_pygcw AND NOT ENABLE_python)
+
+if(ENABLE_pygcw)
   pkgconfig(pygtk-2.0 includedir libdir linkflags cflags)
   if(linkflags AND cflags)
     pkgconfig(gnome-python-2.0 includedir libdir linkflags1 cflags1)
@@ -146,19 +182,19 @@
           message(STATUS "WARNING: pygtk/codegen not found.  "
 	  "Setting ENABLE_pygcw to OFF."
 	  )
-	  set(ENABLE_pygcw OFF)
+          set(ENABLE_pygcw OFF CACHE BOOL "Enable Python Gnome2 bindings" FORCE)
 	endif(NOT codegen)
       else(pygcw_HEADERS)
         message(STATUS "WARNING: required headers not found.  "
 	"Setting ENABLE_pygcw to OFF."
 	)
-	set(ENABLE_pygcw OFF)
+        set(ENABLE_pygcw OFF CACHE BOOL "Enable Python Gnome2 bindings" FORCE)
       endif(pygcw_HEADERS)
     else(linkflags1 AND cflags1)
       message(STATUS "WARNING: gnome-python-2.0 not found. "
       "Setting ENABLE_pygcw to OFF."
       )
-      set(ENABLE_pygcw OFF)
+      set(ENABLE_pygcw OFF CACHE BOOL "Enable Python Gnome2 bindings" FORCE)
     endif(linkflags1 AND cflags1)
   else(linkflags AND cflags)
     message(STATUS "WARNING: pygtk-2.0 not found.  "
@@ -166,13 +202,4 @@
     )
     set(ENABLE_pygcw OFF)
   endif(linkflags AND cflags)
-endif(PLD_gcw AND ENABLE_pygcw)
-if(PLD_gcw)
-  set(gcw_true "")
-  set(gcw_false "#")
-  set(ENABLE_gnome2 ON)
-else(PLD_gcw)
-  set(gcw_true "#")
-  set(gcw_false "")
-  set(ENABLE_gnome2 OFF)
-endif(PLD_gcw)
+endif(ENABLE_pygcw)


making shared PCL libs as default also for windows

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

--- cmake/pcl_options.cmake
+++ cmake/pcl_options.cmake
@@ -1,9 +1,5 @@
 # Options for building PCL.

 # Build shared libraries by default.
-if(WIN32)
-	option(PCL_SHARED_LIBS "Build shared libraries." OFF)
-else(WIN32)
-	option(PCL_SHARED_LIBS "Build shared libraries." ON)
-endif(WIN32)
+option(PCL_SHARED_LIBS "Build shared libraries." ON)
 mark_as_advanced(PCL_SHARED_LIBS)


added some helper cmake macros to enable:
 * two-step packaga structure (foo/bar with foo_bar as package name)
 * new pcl_cuda_add_library macro which uses cuda's cuda_add_library

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

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -47,7 +47,8 @@
                 set(${_var} FALSE)
                 PCL_SET_SUBSYS_STATUS(${_name} FALSE "Requires ${_dep}")
             else(NOT _status)
-                include_directories(${PROJECT_SOURCE_DIR}/${_dep}/include)
+                PCL_GET_SUBSYS_INCLUDE_DIR(_include_dir ${_dep})
+                include_directories(${PROJECT_SOURCE_DIR}/${_include_dir}/include)
             endif(NOT _status)
         endforeach(_dep)
     endif(${_var})
@@ -94,6 +95,37 @@
         ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${_component})
     install(EXPORT pcl DESTINATION ${LIB_INSTALL_DIR}/pcl FILE UsePCL.cmake)
 endmacro(PCL_ADD_LIBRARY)
+
+
+###############################################################################
+# Add a cuda library target.
+# _name The library name.
+# _component The part of PCL that this library belongs to.
+# ARGN The source files for the library.
+macro(PCL_CUDA_ADD_LIBRARY _name _component)
+    cuda_add_library(${_name} ${PCL_LIB_TYPE} ${ARGN})
+    # must link explicitly against boost.
+    target_link_libraries(${_name} ${Boost_LIBRARIES})
+    #
+    # Only link if needed
+    if(WIN32 AND MSVC)
+      set_target_properties(${_name} PROPERTIES LINK_FLAGS_RELEASE /OPT:REF)
+    elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
+      set_target_properties(${_name} PROPERTIES LINK_FLAGS -Wl)
+    else()
+      set_target_properties(${_name} PROPERTIES LINK_FLAGS -Wl,--as-needed)
+    endif()
+    #
+    set_target_properties(${_name} PROPERTIES
+        VERSION ${PCL_VERSION}
+        SOVERSION ${PCL_MAJOR_VERSION}
+        DEFINE_SYMBOL "PCLAPI_EXPORTS")
+    install(TARGETS ${_name} EXPORT pcl
+        RUNTIME DESTINATION ${BIN_INSTALL_DIR} COMPONENT ${_component}
+        LIBRARY DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${_component}
+        ARCHIVE DESTINATION ${LIB_INSTALL_DIR} COMPONENT ${_component})
+    install(EXPORT pcl DESTINATION ${LIB_INSTALL_DIR}/pcl FILE UsePCL.cmake)
+endmacro(PCL_CUDA_ADD_LIBRARY)

 ###############################################################################
@@ -279,6 +311,28 @@

 ###############################################################################
+# Set the include directory name of a subsystem.
+# _name Subsystem name.
+# _includedir Name of subdirectory for includes
+# ARGN[0] Reason for not building.
+macro(PCL_SET_SUBSYS_INCLUDE_DIR _name _includedir)
+    SET_IN_GLOBAL_MAP(PCL_SUBSYS_INCLUDE ${_name} ${_includedir})
+endmacro(PCL_SET_SUBSYS_INCLUDE_DIR)
+
+
+###############################################################################
+# Get the include directory name of a subsystem - return _name if not set
+# _var Destination variable.
+# _name Name of the subsystem.
+macro(PCL_GET_SUBSYS_INCLUDE_DIR _var _name)
+    GET_IN_MAP(${_var} PCL_SUBSYS_INCLUDE ${_name})
+    if(NOT ${_var})
+      set (${_var} ${_name})
+    endif(NOT ${_var})
+endmacro(PCL_GET_SUBSYS_INCLUDE_DIR)
+
+
+###############################################################################
 # Write a report on the build/not-build status of the subsystems
 macro(PCL_WRITE_STATUS_REPORT)
     message(STATUS "The following subsystems will be built:")


Split off 8.0.36

Split off 8.0.36

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

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


Updated jenkins cmake script

Updated jenkins cmake script

--- CTestJenkins.cmake
+++ CTestJenkins.cmake
@@ -29,9 +29,9 @@
 set(CTEST_CONFIGURE_COMMAND "${CMAKE_COMMAND}")
 set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_BUILD_OPTIONS}")
 if(CTEST_COVERAGE_COMMAND)
-    set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_COVERAGE_CXX_FLAGS}")
-    set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_COVERAGE_EXE_LD_FLAGS}")
-    set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} ${CTEST_COVERAGE_SHARED_LD_FLAGS}")
+    set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_COVERAGE_CXX_FLAGS}\"")
+    set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_COVERAGE_EXE_LD_FLAGS}\"")
+    set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_COVERAGE_SHARED_LD_FLAGS}\"")
 endif()
 set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} -G \"${CTEST_CMAKE_GENERATOR}\"")
 set(CTEST_CONFIGURE_COMMAND "${CTEST_CONFIGURE_COMMAND} \"${CTEST_SOURCE_DIRECTORY}\"")


properly printing error when ISPC binary is not found

--- common/cmake/ispc.cmake
+++ common/cmake/ispc.cmake
@@ -58,7 +58,14 @@
 ENDIF()

 # check ISPC version
-EXECUTE_PROCESS(COMMAND ${EMBREE_ISPC_EXECUTABLE} --version OUTPUT_VARIABLE ISPC_OUTPUT)
+EXECUTE_PROCESS(COMMAND ${EMBREE_ISPC_EXECUTABLE} --version
+                OUTPUT_VARIABLE ISPC_OUTPUT
+                RESULT_VARIABLE ISPC_RESULT)
+
+IF (NOT ${ISPC_RESULT} STREQUAL "0")
+  MESSAGE(FATAL_ERROR "Error executing ISPC executable '${EMBREE_ISPC_EXECUTABLE}': ${ISPC_RESULT}")
+ENDIF()
+
 STRING(REGEX MATCH "([0-9]+[.][0-9]+[.][0-9]+)" DUMMY "${ISPC_OUTPUT}")
 SET(ISPC_VERSION ${CMAKE_MATCH_1})


hardcode gflags settings

hardcode gflags settings

--- cmake/InstallFolly.cmake
+++ cmake/InstallFolly.cmake
@@ -7,6 +7,8 @@
                         CXXFLAGS=-I<INSTALL_DIR>/include
                         LDFLAGS=-L<INSTALL_DIR>/lib
                         PKG_CONFIG_PATH=<INSTALL_DIR>/lib/pkgconfig
+                        GFLAGS_CFLAGS=-I<INSTALL_DIR>/include
+                        GFLAGS_LIBS=<INSTALL_DIR>/lib/libgflags.a
                         <SOURCE_DIR>/folly/configure
                         --prefix=<INSTALL_DIR> ${WITH_OPENSSL}
                         --with-boost=${BOOST_ROOT}


CMake string escaping is so hard to do right

--- cmake/Modules/GCOV.cmake
+++ cmake/Modules/GCOV.cmake
@@ -15,7 +15,7 @@
 set(GCOV_OPTS "-pb")

 if(NOT APPLE)
-  set(GCOV_OPTS "--source-prefix \"${CMAKE_SOURCE_DIR}\" ${GCOV_OPTS} -arflu")
+  set(GCOV_OPTS --source-prefix "${CMAKE_SOURCE_DIR}" ${GCOV_OPTS} -arflu)
 endif()

 add_custom_target(


CMake search rocrand and hiprand (#948)

CMake search rocrand and hiprand (#948)

search for rocrand and hiprand

Co-authored-by: Matthias Werner <18f7196efa6539b9b1a8568cd08f1abe117f37be@tu-dresden.de>

Co-authored-by: Matthias Werner <18f7196efa6539b9b1a8568cd08f1abe117f37be@tu-dresden.de>

--- cmake/alpakaCommon.cmake
+++ cmake/alpakaCommon.cmake
@@ -679,7 +679,29 @@
                 endif()
                 target_include_directories(alpaka INTERFACE ${HIP_RAND_INC})
                 target_link_libraries(alpaka INTERFACE ${HIP_RAND_LIBRARY})
-            endif() # nvcc
+            elseif(ALPAKA_HIP_PLATFORM MATCHES "clang")
+                # # hiprand requires ROCm implementation of random numbers by rocrand
+                FIND_PACKAGE(rocrand REQUIRED CONFIG
+                    HINTS "${HIP_ROOT_DIR}/rocrand"
+                    HINTS "/opt/rocm/rocrand")
+                IF(rocrand_FOUND)
+                    target_include_directories(alpaka INTERFACE ${rocrand_INCLUDE_DIRS})
+                    # ATTENTION: rocRand libraries are not required by alpaka
+                ELSE()
+                    MESSAGE(FATAL_ERROR "Could not find rocRAND (also searched in: HIP_ROOT_DIR=${HIP_ROOT_DIR}/rocrand).")
+                ENDIF()
+            endif()
+
+            # # HIP random numbers
+            FIND_PACKAGE(hiprand REQUIRED CONFIG
+                HINTS "${HIP_ROOT_DIR}/hiprand"
+                HINTS "/opt/rocm/hiprand")
+            IF(hiprand_FOUND)
+                target_include_directories(alpaka INTERFACE ${hiprand_INCLUDE_DIRS})
+                # ATTENTION: hipRand libraries are not required by alpaka
+            ELSE()
+                MESSAGE(FATAL_ERROR "Could not find hipRAND (also searched in: HIP_ROOT_DIR=${HIP_ROOT_DIR}/hiprand).")
+            ENDIF()

             list(APPEND HIP_HIPCC_FLAGS "-D__HIPCC__")
             list(APPEND HIP_HIPCC_FLAGS "-std=c++${ALPAKA_CXX_STANDARD}")


update xccl lib (#45362)

update xccl lib (#45362)

* update xccl lib

* change user name to pass cla check

--- cmake/external/xpu.cmake
+++ cmake/external/xpu.cmake
@@ -25,7 +25,7 @@
 endif()

 set(XPU_XCCL_BASE_URL
-    "https://klx-sdk-release-public.su.bcebos.com/xccl/release/1.0.5")
+    "https://klx-sdk-release-public.su.bcebos.com/xccl/release/1.0.0")

 if(WITH_AARCH64)
   set(XPU_XRE_DIR_NAME "xre-kylin_aarch64")


Added installation of openldap as prereq

--- python_ldap.cmake
+++ python_ldap.cmake
@@ -12,6 +12,7 @@
 include (TemplateSupport)

 include (python)
+include (openldap)

 external_source (python_ldap
     2.4.10
@@ -21,7 +22,7 @@

 message ("Installing ${python_ldap_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")
 ExternalProject_Add(${python_ldap_NAME}
-    DEPENDS             ${python_NAME}
+    DEPENDS             ${python_NAME} ${openldap_NAME}
     PREFIX              ${BUILDEM_DIR}
     URL                 ${python_ldap_URL}
     URL_MD5             ${python_ldap_MD5}


Add custom iOS arch list support

Add custom iOS arch list support

--- cmake/utility/sugar_set_xcode_ios_sdkroot.cmake
+++ cmake/utility/sugar_set_xcode_ios_sdkroot.cmake
@@ -37,12 +37,42 @@
       "iPhone Developer"
   )

-  set_target_properties(
-      ${X_TARGET}
-      PROPERTIES
-      XCODE_ATTRIBUTE_ARCHS
-      "$(ARCHS_STANDARD_INCLUDING_64_BIT)"
-  )
+  if(NOT IPHONEOS_ARCHS)
+    set_target_properties(
+        ${X_TARGET}
+        PROPERTIES
+        XCODE_ATTRIBUTE_ARCHS
+        "$(ARCHS_STANDARD_INCLUDING_64_BIT)"
+    )
+  else()
+    sugar_test_variable_not_empty(IPHONESIMULATOR_ARCHS)
+    # Add custom Xcode attributes
+    set_target_properties(
+        ${X_TARGET}
+        PROPERTIES
+        XCODE_ATTRIBUTE_SUGAR_iphonesimulator_ARCHS
+        "${IPHONESIMULATOR_ARCHS}"
+    )
+    set_target_properties(
+        ${X_TARGET}
+        PROPERTIES
+        XCODE_ATTRIBUTE_SUGAR_iphoneos_ARCHS
+        "${IPHONEOS_ARCHS}"
+    )
+    # Add archs
+    set_target_properties(
+        ${X_TARGET}
+        PROPERTIES
+        XCODE_ATTRIBUTE_ARCHS
+        "$(SUGAR_$(PLATFORM_NAME)_ARCHS)"
+    )
+    set_target_properties(
+        ${X_TARGET}
+        PROPERTIES
+        XCODE_ATTRIBUTE_VALID_ARCHS
+        "$(SUGAR_$(PLATFORM_NAME)_ARCHS)"
+    )
+  endif()

   if(X_PLIST)
     sugar_status_print("Info.plist source: ${X_PLIST}")


clarify cmake dependency message

clarify cmake dependency message

change the message:
BLA has unmet configuration requirements: MPI
has to be set to "ON".

to:
BLA has unmet configuration requirements: DEAL_II_WITH_MPI
has to be set to "ON".

--- cmake/macros/macro_configure_feature.cmake
+++ cmake/macros/macro_configure_feature.cmake
@@ -197,12 +197,12 @@
         IF(DEAL_II_WITH_${_feature})
           MESSAGE(FATAL_ERROR "\n"
             "DEAL_II_WITH_${_feature} has unmet configuration requirements: "
-            "${_dependency} has to be set to \"ON\".\n\n"
+            "DEAL_II_WITH_${_dependency} has to be set to \"ON\".\n\n"
             )
         ELSE()
           MESSAGE(STATUS
             "DEAL_II_WITH_${_feature} has unmet configuration requirements: "
-            "${_dependency} has to be set to \"ON\"."
+            "DEAL_II_WITH_${_dependency} has to be set to \"ON\"."
             )
           PURGE_FEATURE(${_feature})
           SET_CACHED_OPTION(${_feature} OFF)


MSVC: Fix for cmake_prefix_path. Previous set call was overwritting vcpkg or something

--- msvc/Custom-vs.cmake
+++ msvc/Custom-vs.cmake
@@ -17,7 +17,7 @@
 set(BUILD_FAUST_OPCODES OFF)
 set(BUILD_FLUID_OPCODES ON)
 set(BUILD_FRAMEBUFFER_OPCODES ON)
-set(BUILD_HDF5_OPCODES ON)
+set(BUILD_HDF5_OPCODES OFF)
 set(BUILD_IMAGE_OPCODES ON)
 set(BUILD_INSTALLER ON)
 set(BUILD_JACK_OPCODES OFF)
@@ -39,7 +39,7 @@
 set(BUILD_SELECT_OPCODE ON)
 set(BUILD_SERIAL_OPCODES ON)
 set(BUILD_STACK_OPCODES ON)
-set(BUILD_STATIC_LIBRARY OFF)
+set(BUILD_STATIC_LIBRARY ON)
 set(BUILD_STK_OPCODES ON)
 set(BUILD_TESTS ON)
 set(BUILD_UTILITIES ON)
@@ -73,7 +73,7 @@
 set(CMAKE_VERBOSE_MAKEFILE ON)
 set(CMAKE_16BIT_TYPE "unsigned short")
 set(FAIL_MISSING OFF) # Enable when packaging
-set(CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}\\msvc\\deps;${PROJECT_SOURCE_DIR}\\msvc\\deps\\swigwin-3.0.12;${PROJECT_SOURCE_DIR}\\msvc\\deps\\win_flex_bison;${PROJECT_SOURCE_DIR}\\msvc\\deps\\fluidsynthdeps")
+list(APPEND CMAKE_PREFIX_PATH "${PROJECT_SOURCE_DIR}\\msvc\\deps;${PROJECT_SOURCE_DIR}\\msvc\\deps\\swigwin-3.0.12;${PROJECT_SOURCE_DIR}\\msvc\\deps\\win_flex_bison;${PROJECT_SOURCE_DIR}\\msvc\\deps\\fluidsynthdeps")
 set(CMAKE_REQUIRED_INCLUDES ${PROJECT_SOURCE_DIR}\\msvc\\deps\\include)

 # Explicit settings for locally downloaded dependencies


added rocm paths

added rocm paths

--- cmake/FindOpenCL.cmake
+++ cmake/FindOpenCL.cmake
@@ -9,6 +9,7 @@
 	/usr/local/include
 	/usr/local/cuda/include
 	/opt/cuda/include
+	/opt/rocm/opencl/include
 	DOC "OpenCL header file path"
 	)
 mark_as_advanced( OPENCL_INCLUDE_DIRS )
@@ -29,6 +30,7 @@
 		/usr/lib
 		/usr/local/cuda/lib
 		/opt/cuda/lib
+		/opt/rocm/opencl/lib
 		)
 else( )
 	find_library( OPENCL_LIBRARIES


u linux.cmake

u linux.cmake

--- mk/linux.cmake
+++ mk/linux.cmake
@@ -1,4 +1,8 @@
 macro (set_cmake_evironment_variable)
+    if ("${CMAKE_INSTALL_PREFIX}" STREQUAL "/usr/local")
+        set (CMAKE_INSTALL_PREFIX ${PROJECT_SOURCE_DIR}/sysroot/linux)
+    endif ()
+
     LINK_DIRECTORIES(/usr/local/lib
         /usr/lib
         ${PROJECT_SOURCE_DIR}/lib)


GIT: A previous commit '0267d942 ENH: Update elastix to revision 5395' did not include SuperBuild/External_Elastix.cmake as it was supposed to

--- SuperBuild/External_Elastix.cmake
+++ SuperBuild/External_Elastix.cmake
@@ -2,7 +2,7 @@

 file( WRITE "${CMAKE_CURRENT_BINARY_DIR}/${proj}-build/CMakeCacheInit.txt" "${ep_common_cache}" )
 set( ELASTIX_REPOSITORY http://github.com/kaspermarstal/elastix )
-set( ELASTIX_TAG 25c9dec600979a997faa373d7cd5259f65fac220 )
+set( ELASTIX_TAG 3c7deef6d4f44203207bc198cc27f011ac1222c7 )

 ExternalProject_Add( ${proj}
   GIT_REPOSITORY ${ELASTIX_REPOSITORY}


Drop the --enable-pcregrep-libz configure option to make the MSYS/Wine
build work without the autotools finagling required to find the
MSYS zlib library and header.

svn path=/trunk/; revision=12593

--- cmake/build_projects/libpcre/bp.cmake
+++ cmake/build_projects/libpcre/bp.cmake
@@ -84,7 +84,7 @@
   DEPENDS ${${BP_PACKAGE}_dependencies_targets}
   URL ${${BP_PACKAGE}_URL}
   URL_HASH ${${BP_PACKAGE}_DOWNLOAD_HASH_TYPE}=${${BP_PACKAGE}_DOWNLOAD_HASH}
-  CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-unicode-properties --enable-pcre16 --enable-pcre32 --enable-pcregrep-libz --disable-static
+  CONFIGURE_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${${BP_PACKAGE}_SET_CFLAGS} ${source_PATH}/${BP_CONFIGURE_COMMAND} --enable-unicode-properties --enable-pcre16 --enable-pcre32 --disable-static
   BUILD_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}
   BUILD_IN_SOURCE OFF
   INSTALL_COMMAND ${ENV_EXECUTABLE} PATH=${BP_PATH} ${BP_PARALLEL_MAKE_COMMAND}  install


Enabled -fsanitize-address-use-after-scope for -DLLVM_USE_SANITIZER=Address

Subscribers: mgorny, llvm-commits

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

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -588,6 +588,9 @@
   else()
     message(FATAL_ERROR "LLVM_USE_SANITIZER is not supported on this platform.")
   endif()
+  if (LLVM_USE_SANITIZER MATCHES "(Undefined;)?Address(;Undefined)?")
+    append("-fsanitize-address-use-after-scope" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
+  endif()
   if (LLVM_USE_SANITIZE_COVERAGE)
     append("-fsanitize-coverage=trace-pc-guard,indirect-calls,trace-cmp" CMAKE_C_FLAGS CMAKE_CXX_FLAGS)
   endif()


Add option to use QtWebKit instead of QtWebEngine

--- cmake/modules/NotePosterSetupQt.cmake
+++ cmake/modules/NotePosterSetupQt.cmake
@@ -15,25 +15,24 @@
   find_package(Qt5Widgets REQUIRED)
   find_package(Qt5Network REQUIRED)

-  if(Qt5Core_VERSION VERSION_LESS "5.4.0")
+  if(USE_QT5_WEBKIT OR (Qt5Core_VERSION VERSION_LESS "5.4.0"))
     find_package(Qt5WebKit REQUIRED)
     find_package(Qt5WebKitWidgets REQUIRED)
   elseif(Qt5Core_VERSION VERSION_LESS "5.6.0")
     find_package(Qt5WebEngine REQUIRED)
+    find_package(Qt5WebEngineWidgets REQUIRED)
     set(QEVERCLOUD_USE_QT_WEB_ENGINE TRUE)
   else()
     find_package(Qt5WebEngineCore REQUIRED)
-  endif()
-
-  if(NOT Qt5Core_VERSION VERSION_LESS "5.4.0")
     find_package(Qt5WebEngineWidgets REQUIRED)
+    set(QEVERCLOUD_USE_QT_WEB_ENGINE TRUE)
   endif()

   set(QT_INCLUDES ${Qt5Core_INCLUDE_DIRS} ${Qt5Widgets_INCLUDE_DIRS} ${Qt5Network_INCLUDE_DIRS})
   set(QT_LIBRARIES ${Qt5Core_LIBRARIES} ${Qt5Widgets_LIBRARIES} ${Qt5Network_LIBRARIES})
   set(QT_DEFINITIONS ${Qt5Core_DEFINITIONS} ${Qt5Widgets_DEFINITIONS} ${Qt5Network_DEFINITIONS})

-  if(Qt5Core_VERSION VERSION_LESS "5.4.0")
+  if(USE_QT5_WEBKIT OR (Qt5Core_VERSION VERSION_LESS "5.4.0"))
     set(QT_INCLUDES ${QT_INCLUDES} ${Qt5WebKit_INCLUDE_DIRS} ${Qt5WebKitWidgets_INCLUDE_DIRS})
     set(QT_LIBRARIES ${QT_LIBRARIES} ${Qt5WebKit_LIBRARIES} ${Qt5WebKitWidgets_LIBRARIES})
     set(QT_DEFINITIONS ${QT_DEFINITIONS} ${Qt5WebKit_DEFINITIONS} ${Qt5WebKitWidgets_DEFINITIONS})


qt5-tools: fix when cross-compiling

qt5-tools: fix when cross-compiling

Qt5Widgets may not be in the cross-toolchain, thus causing
the system Qt5Widgets to be included.
Fix this by making sure we try to import the Qt5Widgets file that is
next to the Qt5Core file

Change-Id: I40aab9c4a8ace5913c5ba4d546d9dd2595ac5a79
Reviewed-on: http://gerrit.aldebaran.lan/60664
Tested-by: gerrit
Reviewed-by: smartin <edaf33f3e53483e687d304aa81a03bb5a17b9ddf@aldebaran-robotics.com>
Reviewed-by: dmerejkowsky <1e4b13000fa8777df4cefd2fd8215187e3deb062@aldebaran-robotics.com>

--- cmake/qibuild/modules/qt5-tools.cmake
+++ cmake/qibuild/modules/qt5-tools.cmake
@@ -12,10 +12,8 @@
 find_package(Qt5Core REQUIRED)
 include("${Qt5Core_DIR}/Qt5CoreMacros.cmake")

-find_package(Qt5Widgets QUIET)
-if(Qt5Widgets_FOUND)
-  include("${Qt5Widgets_DIR}/Qt5WidgetsMacros.cmake")
-endif()
+set(_qt5_widggets_dir ${Qt5Core_DIR}/../Qt5Widgets)
+include("${_qt5_widggets_dir}/Qt5WidgetsMacros.cmake" OPTIONAL)

 function(qi_generate_qt_conf)
   # First, find qt and generate qt.conf


Adding explicit dependency on Teuchos.

Adding explicit dependency on Teuchos.

--- packages/Alea/cmake/Dependencies.cmake
+++ packages/Alea/cmake/Dependencies.cmake
@@ -9,7 +9,7 @@
 ##---------------------------------------------------------------------------##

 SET(LIB_REQUIRED_DEP_PACKAGES
-    Utils SPn Tpetra Ifpack2 KokkosCore KokkosAlgorithms)
+    Utils SPn Teuchos Tpetra Ifpack2 KokkosCore KokkosAlgorithms)

 SET(LIB_OPTIONAL_DEP_PACKAGES)
 SET(TEST_REQUIRED_DEP_PACKAGES)


Fix add_rel_rpaths() bug where it matches a parent dir and thus prevents
the addition of a new directory to the flags.

SVN-Revision: 2623

--- make/utils.cmake
+++ make/utils.cmake
@@ -100,7 +100,8 @@
         # @loader_path seems to work for executables too
         set(new_lflag "-Wl,-rpath,'@loader_path/${relpath}'")
         get_target_property(lflags ${target} LINK_FLAGS)
-        if (NOT lflags MATCHES "@loader_path/${relpath}")
+        # We match the trailing ' to avoid matching a parent dir only
+        if (NOT lflags MATCHES "@loader_path/${relpath}'")
           append_property_string(TARGET ${target} LINK_FLAGS "${new_lflag}")
         endif ()
       else (APPLE)


Fix gp_resolve_item_override for blueberry_osgi

--- CMake/mitkMacroInstall.cmake
+++ CMake/mitkMacroInstall.cmake
@@ -92,34 +92,46 @@

     macro(gp_resolve_item_override context item exepath dirs resolved_item_var resolved_var)

-      get_filename_component(_item_name \"\${item}\" NAME)
-      get_filename_component(_item_path \"\${item}\" PATH)
-
-      set(_bundle_dest_dir \"${_bundle_dest_dir}\")
-      if(_bundle_dest_dir)
-        set(_plugins_path \"\${CMAKE_INSTALL_PREFIX}/\${_bundle_dest_dir}/plugins\")
+      if(NOT APPLE AND \${item} MATCHES \"blueberry_osgi\")
+        get_filename_component(_item_name \${item} NAME)
+        set(\${resolved_item_var} \"\${exepath}/plugins/\${_item_name}\")
+        set(\${resolved_var} 1)
       else()
-        set(_plugins_path \"\${CMAKE_INSTALL_PREFIX}/bin/plugins\")
-      endif()
+
+        get_filename_component(_item_name \"\${item}\" NAME)
+        get_filename_component(_item_path \"\${item}\" PATH)
+
+        set(_bundle_dest_dir \"${_bundle_dest_dir}\")
+        if(_bundle_dest_dir)
+          set(_plugins_path \"\${CMAKE_INSTALL_PREFIX}/\${_bundle_dest_dir}/plugins\")
+        else()
+          set(_plugins_path \"\${CMAKE_INSTALL_PREFIX}/bin/plugins\")
+        endif()
+
+        if(_item_path STREQUAL _plugins_path
+           OR (_item_path MATCHES \"\${_plugins_path}/\" AND _item_name MATCHES \"liborg\") # this is for legacy BlueBerry bundle support
+          )
+          # Only fix plugins

-      if(NOT _item_path MATCHES \"\${CMAKE_INSTALL_PREFIX}/${_bundle_dest_dir}\")
-        set(full_path \"full_path-NOTFOUND\")
-        file(GLOB_RECURSE full_path \${_plugins_path}/\${_item_name} )
-        list(LENGTH full_path full_path_length)
-        if(full_path_length GREATER 1)
-          list(GET full_path 0 full_path)
-        endif()
-        get_filename_component(_item_path \"\${full_path}\" PATH)
-      endif()
+          set(full_path \"full_path-NOTFOUND\")
+          file(GLOB_RECURSE full_path \${_plugins_path}/\${_item_name} )
+          list(LENGTH full_path full_path_length)
+          if(full_path_length GREATER 1)
+            list(GET full_path 0 full_path)
+          endif()
+          get_filename_component(_item_path \"\${full_path}\" PATH)

-      set(ri \"ri-NOTFOUND\")
-      find_file(ri \"\${item}\" \${_item_path})
-      if(ri)
-        set(resolved_var 1)
-        set(resolved_item_var \"\${ri}\")
-        set(ri \"ri-NOTFOUND\")
-      endif(ri)
-
+          set(ri \"ri-NOTFOUND\")
+          find_file(ri \"\${item}\" \${_item_path})
+          if(ri)
+            set(resolved_var 1)
+            set(resolved_item_var \"\${ri}\")
+            set(ri \"ri-NOTFOUND\")
+          endif(ri)
+
+        endif() # is a plugin.
+      endif() # blueberry plugin not on apple.
+
     endmacro()

     if(\"${_install_GLOB_PLUGINS}\" STREQUAL \"TRUE\")


Simplify gp_resolve_item_override for blueberry_osgi

--- CMake/mitkMacroInstall.cmake
+++ CMake/mitkMacroInstall.cmake
@@ -90,8 +90,13 @@
       endif()
     endmacro(gp_resolved_file_type_override)

+    if(NOT APPLE)
+      macro(gp_resolve_item_override context item exepath dirs resolved_item_var resolved_var)
+      endmacro()
+    endif()
+
     macro(gp_resolve_item_override context item exepath dirs resolved_item_var resolved_var)
-
+
       if(NOT APPLE AND \${item} MATCHES \"blueberry_osgi\")
         get_filename_component(_item_name \${item} NAME)
         set(\${resolved_item_var} \"\${exepath}/plugins/\${_item_name}\")
@@ -107,33 +112,24 @@
         else()
           set(_plugins_path \"\${CMAKE_INSTALL_PREFIX}/bin/plugins\")
         endif()
-
-        if(_item_path STREQUAL _plugins_path
-           OR (_item_path MATCHES \"\${_plugins_path}/\" AND _item_name MATCHES \"liborg\") # this is for legacy BlueBerry bundle support
-          )
-          # Only fix plugins
-
-          set(full_path \"full_path-NOTFOUND\")
-          file(GLOB_RECURSE full_path \${_plugins_path}/\${_item_name} )
-          list(LENGTH full_path full_path_length)
-          if(full_path_length GREATER 1)
-            list(GET full_path 0 full_path)
+
+        file(GLOB_RECURSE full_path \${_plugins_path}/\${_item_name} )
+        list(LENGTH full_path full_path_length)
+        if(full_path_length GREATER 1)
+          list(GET full_path 0 full_path)
+          get_filename_component(_item_name \"\${full_path}\" NAME)
+          get_filename_component(_item_path \"\${full_path}\" PATH)
+          if(_item_path STREQUAL _plugins_path
+             OR (_item_path MATCHES \"\${_plugins_path}/\" AND _item_name MATCHES \"liborg\") # this is for legacy BlueBerry bundle support
+            )
+            # Only fix plugins
+            set(resolved_item_var \"\${full_path}\")
+            set(resolved_var 1)
           endif()
-          get_filename_component(_item_path \"\${full_path}\" PATH)
-
-          set(ri \"ri-NOTFOUND\")
-          find_file(ri \"\${item}\" \${_item_path})
-          if(ri)
-            set(resolved_var 1)
-            set(resolved_item_var \"\${ri}\")
-            set(ri \"ri-NOTFOUND\")
-          endif(ri)
-
-        endif() # is a plugin.
-      endif() # blueberry plugin not on apple.
-
+        endif()
+      endif()
     endmacro()
-
+
     if(\"${_install_GLOB_PLUGINS}\" STREQUAL \"TRUE\")
       # When installing multiple applications, this will find *all* already installed
       # and pulled in libraries (except on MacOS). We don't care...


Can now build LLVM 3.3 on Windows in debug mode (#202).

--- src/plugins/3rdparty/LLVM/cmake/common.cmake
+++ src/plugins/3rdparty/LLVM/cmake/common.cmake
@@ -1,5 +1,13 @@
 MACRO(RETRIEVE_LLVM_SETTINGS)
     # Retrieve some LLVM settings
+
+    IF(WIN32)
+        SET(LLVM_DEFINITIONS
+            _SCL_SECURE_NO_WARNINGS
+        )
+    ELSE()
+        SET(LLVM_DEFINITIONS)
+    ENDIF()

     LIST(APPEND LLVM_DEFINITIONS
         __STDC_CONSTANT_MACROS


Get cmake to find pythonlibs 3.x when python 2.7 is present

--- cMake/FreeCAD_Helpers/SetupPython.cmake
+++ cMake/FreeCAD_Helpers/SetupPython.cmake
@@ -119,6 +119,12 @@
     endif(${CMAKE_SYSTEM_NAME} MATCHES "Darwin" AND NOT BUILD_WITH_CONDA)

     find_package(PythonInterp REQUIRED)
+
+    # Issue in cmake prevents finding pythonlibs 3.x when python 2.7 is present
+    # setting NOTFOUND here resolves the issue
+    set(PYTHON_INCLUDE_DIR "NOTFOUND")
+    set(PYTHON_LIBRARY "NOTFOUND")
+
     set(Python_ADDITIONAL_VERSIONS ${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR})
     if (NOT DEFINED PYTHON_VERSION_STRING)
         find_package(PythonLibs REQUIRED)


Re-enable fitsio which was turned off by mistake

--- cmake/modules/RootBuildOptions.cmake
+++ cmake/modules/RootBuildOptions.cmake
@@ -106,7 +106,7 @@
 ROOT_BUILD_OPTION(exceptions ON "Turn on compiler exception handling capability")
 ROOT_BUILD_OPTION(explicitlink ON "Explicitly link with all dependent libraries")
 ROOT_BUILD_OPTION(fftw3 ON "Fast Fourier Transform support, requires libfftw3")
-ROOT_BUILD_OPTION(fitsio OFF "Read images and data from FITS files, requires cfitsio")
+ROOT_BUILD_OPTION(fitsio ON "Read images and data from FITS files, requires cfitsio")
 ROOT_BUILD_OPTION(fortran OFF "Enable the Fortran components of ROOT")
 set(gcctoolchain "" CACHE PATH "Path for the gcctoolchain in case not the system gcc is used to build clang/LLVM")
 ROOT_BUILD_OPTION(gdml ON "GDML writer and reader")


cmake: Set minimum required Zephyr SDK version to 0.15

This commit sets the minimum required Zephyr SDK version to 0.15, which
is required to build the current Zephyr codebase due to the following
breaking changes:

* RISC-V ISA spec change to 20191213 requiring the Zicsr and Zifencei
  extensions to be specified to the `-march` flag
* ARC64 output format name change to `elf64-littlearc64`

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

--- cmake/modules/verify-toolchain.cmake
+++ cmake/modules/verify-toolchain.cmake
@@ -17,8 +17,8 @@

 include_guard(GLOBAL)

-# This is the minimum required Zephyr-SDK version which supports CMake package
-set(TOOLCHAIN_ZEPHYR_MINIMUM_REQUIRED_VERSION 0.13.1)
+# This is the minimum required Zephyr SDK version.
+set(TOOLCHAIN_ZEPHYR_MINIMUM_REQUIRED_VERSION 0.15)

 # Set internal variables if set in environment.
 if(NOT DEFINED ZEPHYR_TOOLCHAIN_VARIANT)


Some cleaning up of our CMake code.

Some cleaning up of our CMake code.

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -29,13 +29,6 @@
     ENDIF()

     SET(LINK_FLAGS_PROPERTIES)
-
-    IF(WIN32)
-        SET(LINK_FLAGS_PROPERTIES "${LINK_FLAGS_PROPERTIES} -Wl,-enable-auto-import")
-        # Note: -Wl,-enable-auto-import allows us to use our various
-        #       third-party libraries without having to worry about importing
-        #       their functions, etc.
-    ENDIF()

     IF(NOT APPLE AND NOT ${DEBUG_MODE})
         SET(LINK_FLAGS_PROPERTIES "${LINK_FLAGS_PROPERTIES} -Wl,-s")


Fix misspelling of zlasyf_aa from previous commit

--- cmake/lapack.cmake
+++ cmake/lapack.cmake
@@ -318,7 +318,7 @@
   zlarfg.f zlarft.f zlarfgp.f
   zlarfx.f zlargv.f zlarnv.f zlarrv.f zlartg.f zlartv.f
   zlarz.f  zlarzb.f zlarzt.f zlascl.f zlaset.f zlasr.f
-  zlassq.f zlasyf.f zlasyf_rook.f zlasy_aa.f
+  zlassq.f zlasyf.f zlasyf_rook.f zlasyf_aa.f
   zlatbs.f zlatdf.f zlatps.f zlatrd.f zlatrs.f zlatrz.f DEPRECATED/zlatzm.f
   zpbcon.f zpbequ.f zpbrfs.f zpbstf.f zpbsv.f
   zpbsvx.f zpbtf2.f zpbtrf.f zpbtrs.f zpocon.f zpoequ.f zporfs.f


Use newer cmake policy options in bundle script

--- projects/apple/tomviz.bundle.cmake
+++ projects/apple/tomviz.bundle.cmake
@@ -4,6 +4,7 @@
 include(CPack)

 install(CODE "
+    cmake_policy(VERSION 2.8.8)
     # Install the app first.
     file(INSTALL DESTINATION \"\$ENV{DESTDIR}\${CMAKE_INSTALL_PREFIX}\" USE_SOURCE_PERMISSIONS TYPE DIRECTORY FILES
          \"${install_location}/Applications/tomviz.app\")


changed yapsy download URL (old URL didn't work)

--- yapsy.cmake
+++ yapsy.cmake
@@ -14,9 +14,9 @@

 external_source (yapsy
     1.10
-    Yapsy-1.10-pythons2n3.tar.gz
-    c2760d5d0043c30b3d9141743abb6764
-    http://downloads.sourceforge.net/project/yapsy/Yapsy-1.10)
+    Yapsy-1.10.2-pythons2n3.tar.gz
+    d905b574d4f55ff62e02603ec3dc89b3
+    https://pypi.python.org/packages/source/Y/Yapsy)

 message ("Installing ${yapsy_NAME} into BuildEM build area: ${BUILDEM_DIR} ...")
 ExternalProject_Add(${yapsy_NAME}


tools.cmake: minor fixes

tools.cmake: minor fixes

Signed-off-by: Alessandro Comodi <622632e70fd6771cf2cd943f69e5e51ab66adef8@antmicro.com>

--- make/tools.cmake
+++ make/tools.cmake
@@ -17,8 +17,8 @@
   set(DIFF_FILE_A ${DIFF_GOLDEN})
   set(DIFF_FILE_B ${DIFF_ACTUAL})

-  get_file_target(DIFF_FILE_A_TARGET ${DIFF_FILE_A})
-  get_file_target(DIFF_FILE_B_TARGET ${DIFF_FILE_B})
+  append_file_dependency(DIFF_FILE_A_DEP ${DIFF_FILE_A})
+  append_file_dependency(DIFF_FILE_B_DEP ${DIFF_FILE_B})
   get_file_location(DIFF_FILE_A_LOCATION ${DIFF_FILE_A})
   get_file_location(DIFF_FILE_B_LOCATION ${DIFF_FILE_B})

@@ -27,13 +27,14 @@
     OUTPUT ${DIFF_OUTPUT}
     DEPENDS
       ${DIFF_FILE_A_LOCATION}
-      ${DIFF_FILE_A_TARGET}
+      ${DIFF_FILE_A_DEP}
       ${DIFF_FILE_B_LOCATION}
-      ${DIFF_FILE_B_TARGET}
+      ${DIFF_FILE_B_DEP}
     COMMAND
       diff -u ${DIFF_FILE_A_LOCATION} ${DIFF_FILE_B_LOCATION} > ${DIFF_OUTPUT} || true
     COMMAND
       diff -u ${DIFF_FILE_A_LOCATION} ${DIFF_FILE_B_LOCATION}
+    WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
   )
   add_file_target(FILE ${DIFF_OUTPUT} GENERATED)
   add_custom_target(


more installer stuff

more installer stuff

--- cpack-config.cmake
+++ cpack-config.cmake
@@ -1,9 +1,14 @@
 INCLUDE(InstallRequiredSystemLibraries)
+SET(CPACK_PACKAGE_NAME "Ride")
 SET(CPACK_PACKAGE_DESCRIPTION "Ride")
-SET(CPACK_PACKAGE_VENDOR "madeso")
+SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "Ride is a Rust IDE")
+SET(CPACK_PACKAGE_VERSION "${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH}")
+SET(CPACK_PACKAGE_FILE_NAME "ride-${CPACK_PACKAGE_VERSION}")
 SET(CPACK_RESOURCE_FILE_LICENSE  "${PROJECT_SOURCE_DIR}/LICENSE.txt")
+SET(CPACK_PACKAGE_EXECUTABLES  "ride;Ride ${CPACK_PACKAGE_VERSION}")

 SET(CPACK_OUTPUT_FILE_PREFIX "${CMAKE_INSTALL_PREFIX}")
+

 MESSAGE(STATUS "Setting cpack paths to ${PROJECT_SOURCE_DIR}/gfx/install/")
 SET(CPACK_DMG_BACKGROUND_IMAGE "${PROJECT_SOURCE_DIR}/gfx/install/dmg-install.png")
@@ -16,8 +21,10 @@
 # nsis setup
 SET(NSIS_WIZARD_BMP "${PROJECT_SOURCE_DIR}/gfx/install/nsis-wizard.bmp")
 SET(NSIS_HEADER_BMP "${PROJECT_SOURCE_DIR}/gfx/install/nsis-header.bmp")
+SET(NSIS_INSTALLER_ICON "${PROJECT_SOURCE_DIR}/ride/resources/application.ico")
 string(REGEX REPLACE "/" "\\\\\\\\" NSIS_WIZARD_BMP "${NSIS_WIZARD_BMP}")
 string(REGEX REPLACE "/" "\\\\\\\\" NSIS_HEADER_BMP "${NSIS_HEADER_BMP}")
+string(REGEX REPLACE "/" "\\\\\\\\" NSIS_INSTALLER_ICON "${NSIS_INSTALLER_ICON}")
 SET(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
 SET(CPACK_NSIS_MUI_ICON "${PROJECT_SOURCE_DIR}/ride/resources/application.ico")
 SET(CPACK_NSIS_MUI_UNIICON "${PROJECT_SOURCE_DIR}/ride/resources/application.ico")
@@ -25,11 +32,13 @@
 SET(CPACK_NSIS_HELP_LINK "http://madeso.github.io/ride")
 SET(CPACK_NSIS_URL_INFO_ABOUT "http://madeso.github.io/ride")
 SET(CPACK_NSIS_MUI_FINISHPAGE_RUN "ride.exe")
+SET(CPACK_NSIS_EXECUTABLES_DIRECTORY ".") # https://cmake.org/Bug/view.php?id=7829
 SET(CPACK_NSIS_INSTALLER_MUI_ICON_CODE "
 !define MUI_HEADERIMAGE_BITMAP \\\"${NSIS_HEADER_BMP}\\\"
 !define MUI_HEADERIMAGE_UNBITMAP \\\"${NSIS_HEADER_BMP}\\\"
 !define MUI_WELCOMEFINISHPAGE_BITMAP \\\"${NSIS_WIZARD_BMP}\\\"
 !define MUI_UNWELCOMEFINISHPAGE_BITMAP \\\"${NSIS_WIZARD_BMP}\\\"
+Icon \\\"${NSIS_INSTALLER_ICON}\\\"
 BrandingText \\\" \\\"
 ")
 #old thread, is this still needed?


Removed references to c++ flags that is unused

Also fixed a typo in a comment

--- cmake/flags.cmake
+++ cmake/flags.cmake
@@ -13,7 +13,7 @@
 endif (WITH_LTO)

 # Name of target Micro Controller Unit
-# see the available avr-gcc mmcur options for possible values
+# see the available avr-gcc mmcu options for possible values
 set(CMCU "-mmcu=at90can128")

 set(CSTANDARD "-std=c99")
@@ -25,11 +25,9 @@

 add_definitions(-DF_CPU=${F_CPU} -DCAN_BAUDRATE=${CAN_BAUDRATE})
 set(CFLAGS "${CMCU} ${CINCS} ${CSTANDARD} ${CDEBUG} ${CWARN} ${CTUNING} ${COPT} ${CEXTRA}")
-set(CXXFLAGS "${CMCU} ${CINCS} ${COPT}")

 # Without the "CACHE STRING "" FORCE" the CMAKE_C_FLAGS variable is empty when
 # entering subdirectories (where we want to do the build). The only other work
 # around was to do `make cache_rebuild` right after running `cmake ..` but we
 # don't want to put the work on the user to do this.
 set(CMAKE_C_FLAGS ${CFLAGS} CACHE STRING "" FORCE)
-set(CMAKE_CXX_FLAGS ${CXXFLAGS} CACHE STRING "" FORCE)


Enabled "warnings as errors" on MSVC and set warning level to /W3 explicitly.

Reaching /W4 requires further work.

--- globals.cmake
+++ globals.cmake
@@ -55,7 +55,7 @@
 		-Wno-missing-braces)

 elseif(MSVC)
-	set(MIRRAGE_DEFAULT_COMPILER_ARGS /DWIN32_LEAN_AND_MEAN /DNOMINMAX /MP)
+	set(MIRRAGE_DEFAULT_COMPILER_ARGS /DWIN32_LEAN_AND_MEAN /DNOMINMAX /MP /W3 /WX)
 	set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /ignore:4221")
 	set(CMAKE_STATIC_LINKER_FLAGS "${CMAKE_STATIC_LINKER_FLAGS} /ignore:4221")
 endif()


specload: fix haskell plugin

specload: fix haskell plugin

--- cmake/Modules/LibAddHaskellPlugin.cmake
+++ cmake/Modules/LibAddHaskellPlugin.cmake
@@ -114,11 +114,13 @@
 				 "${PLUGIN_ARGS}"
 		    DEPENDS ${target})

+	if (DEPENDENCY_PHASE)
+		add_dependencies (elektra-${target} c2hs_haskell)
+	endif ()
+
 	if (DEPENDENCY_PHASE
 	    AND TARGET
 		elektra-${target})
-		add_dependencies (elektra-${target} c2hs_haskell)
-
 		set_target_properties (elektra-${target}
 				       PROPERTIES INSTALL_RPATH
 						  "${HASKELL_RPATH}"


LuaJITAddExecutable: pass LJ_BYTECODE_OPTS as bytecode options to LuaJIT

Always passing the '-a' option as a bytecode option has a severe drawback: we
need to pass always a target architecture to LuaJIT and cannot use the
native build used by LuaJIT if no '-a' is passed.

Fix this by passing the '-a' option conditionally by using the variable
LJ_BYTECODE_OPTS. This also allows as to pass other bytecode options through
the environment.

--- cmake/Modules/LuaJITAddExecutable.cmake
+++ cmake/Modules/LuaJITAddExecutable.cmake
@@ -9,6 +9,9 @@

 MACRO(LUAJIT_add_custom_commands luajit_target)
   SET(TARGET_ARCH $ENV{TARGET_ARCH})
+  IF(TARGET_ARCH)
+    SET(LJ_BYTECODE_OPTS ${LJ_BYTECODE_OPTS} -a ${TARGET_ARCH})
+  ENDIF(TARGET_ARCH)
   SET(LUA_PATH $ENV{LUA_PATH})
   SET(target_srcs "")
   FOREACH(file ${ARGN})
@@ -27,7 +30,7 @@
         OUTPUT ${generated_file}
         MAIN_DEPENDENCY ${source_file}
         COMMAND "LUA_PATH=${LUA_PATH}" luajit
-        ARGS -b -a ${TARGET_ARCH}
+        ARGS -b ${LJ_BYTECODE_OPTS}
           ${source_file}
           ${generated_file}
         COMMENT "Building Luajitted ${source_file}: ${generated_file}"


Fix SHA1

Fix SHA1

--- cmake/projects/DetourCrowd/hunter.cmake
+++ cmake/projects/DetourCrowd/hunter.cmake
@@ -16,7 +16,7 @@
     URL
     "https://github.com/hunter-packages/DetourCrowd/archive/v1.0.0-p0.tar.gz"
     SHA1
-    8e6efbcffa0eb958a37ef32c4c262486fd332c28
+    628a60a9652de12acd7b814d560a82eca0b5087e
 )

 hunter_pick_scheme(DEFAULT url_sha1_cmake)