cmake: fix OpenMP description in MKL

cmake: fix OpenMP description in MKL

--- CMakeModules/FindMKL.cmake
+++ CMakeModules/FindMKL.cmake
@@ -222,7 +222,7 @@
   find_mkl_library(NAME ThreadingLibrary LIBRARY_NAME iomp5)
 elseif(MKL_THREAD_LAYER STREQUAL "GNU OpenMP")
   find_package(OpenMP REQUIRED)
-  set_package_properties(OpenMP PROPERTIES TYPE REQUIRED PURPOSE "Used for thread parallelization")
+  set_package_properties(OpenMP PROPERTIES TYPE REQUIRED PURPOSE "Used for thread parallelization in MKL")
   find_mkl_library(NAME ThreadLayer LIBRARY_NAME mkl_gnu_thread)
   add_library(MKL::ThreadingLibrary SHARED IMPORTED)
   set_target_properties(MKL::ThreadingLibrary


updates to handle ubuntu repo install

updates to handle ubuntu repo install

--- CMakeModules/FindQwt.cmake
+++ CMakeModules/FindQwt.cmake
@@ -10,9 +10,10 @@
 set(QWT_DEFINITIONS ${PC_QWT_CFLAGS_OTHER})

 find_path(QWT_INCLUDE_DIR qwt_plot.h
-          HINTS ${PC_QWT_INCLUDEDIR} ${PC_QWT_INCLUDE_DIRS})
+          HINTS ${PC_QWT_INCLUDEDIR} ${PC_QWT_INCLUDE_DIRS}
+          PATH_SUFFIXES qwt)

-find_library(QWT_LIBRARY NAMES qwt libqwt
+find_library(QWT_LIBRARY NAMES qwt libqwt qwt-qt5
              HINTS ${PC_QWT_LIBDIR} ${PC_QWT_LIBRARY_DIRS})

 include(FindPackageHandleStandardArgs)
@@ -24,4 +25,4 @@
 mark_as_advanced(QWT_INCLUDE_DIR QWT_LIBRARY )

 set(QWT_LIBRARIES ${QWT_LIBRARY} )
-set(QWT_INCLUDE_DIRS ${QWT_INCLUDE_DIR} )+set(QWT_INCLUDE_DIRS ${QWT_INCLUDE_DIR} )


- Fixes to MacAppBuild.cmake

- Fixes to MacAppBuild.cmake

--- cmake/Packaging/MacAppBuild.cmake
+++ cmake/Packaging/MacAppBuild.cmake
@@ -99,7 +99,34 @@
         )

     if(IOS)
+        set ( IOS_NAME "${TITLE}" )
+        set ( IOS_IDENTIFIER "${TITLE}" )
+        set ( IOS_INFO "${INFO_STRING}" )

+        set ( IOS_BUNDLEVER "${COFFEE_BUILD_STRING}" )
+        set ( IOS_SHORTVER "${COFFEE_VERSION_CODE}" )
+        set ( IOS_LONGVER "${COFFEE_BUILD_STRING}" )
+
+        set ( IOS_EXEC "${TITLE}" )
+        set ( IOS_LANG "English" )
+        set ( IOS_LAUNCH_IMG "Default")
+        set ( IOS_HIDE_STATUSBAR "true" )
+        set ( IOS_PRERENDER_ICON "true" )
+
+        set ( IOS_ORIENTATION "UIInterfaceOrientationLandscapeLeft" )
+
+        set ( IOS_SIGNATURE "?" )
+
+        set ( IOS_PLIST_FILE "${TARGET}_Info.plist.in" )
+
+        configure_file (
+            "${COFFEE_DESKTOP_DIRECTORY}/osx/ios/Info.plist.xml"
+            "${IOS_PLIST_FILE}"
+            )
+
+        set_target_properties ( ${TARGET} PROPERTIES
+            MACOSX_BUNDLE_INFO_PLIST "${IOS_PLIST_FILE}"
+            )
     endif()

     # Lots of properties!
@@ -126,23 +153,7 @@
     #    else()
     #        set ( APP_DIR "${CMAKE_RUNTIME_OUTPUT_DIRECTORY}/${TITLE}.app" )

-    #        set ( IOS_NAME "${TITLE}" )
-    #        set ( IOS_IDENTIFIER "${TITLE}" )
-    #        set ( IOS_INFO "${INFO_STRING}" )

-    #        set ( IOS_BUNDLEVER "${COFFEE_BUILD_STRING}" )
-    #        set ( IOS_SHORTVER "${COFFEE_VERSION_CODE}" )
-    #        set ( IOS_LONGVER "${COFFEE_BUILD_STRING}" )
-
-    #        set ( IOS_EXEC "${TITLE}" )
-    #        set ( IOS_LANG "English" )
-    #        set ( IOS_LAUNCH_IMG "Default")
-    #        set ( IOS_HIDE_STATUSBAR "true" )
-    #        set ( IOS_PRERENDER_ICON "true" )
-
-    #        set ( IOS_ORIENTATION "UIInterfaceOrientationLandscapeLeft" )
-
-    #        set ( IOS_SIGNATURE "..." )

     #        add_executable ( ${TARGET} ${SOURCES} )


[CMake][Fuchsia] Use libc++ ABIv2 for Fuchsia toolchain

We don't need to provide stable ABI and hence we can use the v2.

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

git-svn-id: ffe668792ed300d6c2daa1f6eba2e0aa28d7ec6c@343652 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/caches/Fuchsia-stage2.cmake
+++ cmake/caches/Fuchsia-stage2.cmake
@@ -57,6 +57,9 @@
       set(RUNTIMES_${target}-linux-gnu_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
       set(RUNTIMES_${target}-linux-gnu_LIBCXX_ENABLE_SHARED OFF CACHE BOOL "")
       set(RUNTIMES_${target}-linux-gnu_LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
+      set(RUNTIMES_${target}-linux-gnu_LIBCXX_ABI_VERSION 2 CACHE STRING "")
+      # TODO: this is a workaround for PR39053 which was uncovered by D50652.
+      set(RUNTIMES_${target}-linux-gnu_LIBCXX_HIDE_FROM_ABI_PER_TU_BY_DEFAULT ON CACHE BOOL "")
       set(RUNTIMES_${target}-linux-gnu_SANITIZER_CXX_ABI "libc++" CACHE STRING "")
       set(RUNTIMES_${target}-linux-gnu_SANITIZER_CXX_ABI_INTREE ON CACHE BOOL "")
       set(RUNTIMES_${target}-linux-gnu_COMPILER_RT_USE_BUILTINS_LIBRARY ON CACHE BOOL "")
@@ -109,6 +112,7 @@
     set(RUNTIMES_${target}-fuchsia_LIBCXX_USE_COMPILER_RT ON CACHE BOOL "")
     set(RUNTIMES_${target}-fuchsia_LIBCXX_ENABLE_STATIC_ABI_LIBRARY ON CACHE BOOL "")
     set(RUNTIMES_${target}-fuchsia_LIBCXX_STATICALLY_LINK_ABI_IN_SHARED_LIBRARY OFF CACHE BOOL "")
+    set(RUNTIMES_${target}-fuchsia_LIBCXX_ABI_VERSION 2 CACHE STRING "")
     # TODO: this is a workaround for PR39053 which was uncovered by D50652.
     set(RUNTIMES_${target}-fuchsia_LIBCXX_HIDE_FROM_ABI_PER_TU_BY_DEFAULT ON CACHE BOOL "")
   endforeach()


Fix merge resolution: Merge remote-tracking branch 'llvm.org/master' into upstream-with-swift

Original reason for conflict was:
  8eaf4fca [CMake] Fix side-effect from LLDB_VERSION change in r346668 for framework-enabled builds

--- cmake/modules/LLDBFramework.cmake
+++ cmake/modules/LLDBFramework.cmake
@@ -27,7 +27,6 @@
   add_custom_command(TARGET lldb-framework POST_BUILD
     COMMAND ${CMAKE_COMMAND} -E create_symlink Versions/Current/Headers ${LLDB_FRAMEWORK_DIR}/LLDB.framework/Headers
     COMMAND ${CMAKE_COMMAND} -E create_symlink ${LLDB_FRAMEWORK_VERSION} ${LLDB_FRAMEWORK_DIR}/LLDB.framework/Versions/Current
-    COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_BINARY_DIR}/lib${LLVM_LIBDIR_SUFFIX}/clang/${LLVM_VERSION_MAJOR}.${LLVM_VERSION_MINOR}.${LLVM_VERSION_PATCH} $<TARGET_FILE_DIR:liblldb>/Resources/Clang
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${LLDB_PATH_TO_SWIFT_BUILD}/lib/swift/clang/ $<TARGET_FILE_DIR:liblldb>/Resources/Clang
     COMMAND ${CMAKE_COMMAND} -E copy_directory ${LLDB_PATH_TO_SWIFT_BUILD}/lib/swift $<TARGET_FILE_DIR:liblldb>/Resources/Swift
   )


+ Add options to build and use a tag file.

--- src/rezplugins/build_system/cmake_files/RezInstallDoxygen.cmake
+++ src/rezplugins/build_system/cmake_files/RezInstallDoxygen.cmake
@@ -63,7 +63,7 @@
 macro (rez_install_doxygen)

 	if(DOXYGEN_EXECUTABLE)
-		parse_arguments(INSTDOX "FILES;DESTINATION;DOXYFILE;DOXYDIR;IMAGEPATH" "FORCE;DOXYPY" ${ARGN})
+		parse_arguments(INSTDOX "FILES;DESTINATION;DOXYFILE;DOXYDIR;IMAGEPATH" "FORCE;DOXYPY;USE_TAGFILES;GENERATE_TAGFILE" ${ARGN})

 		list(GET INSTDOX_DEFAULT_ARGS 0 label)
 		if(NOT label)
@@ -92,7 +92,7 @@
 		set(_filter_source_files "")
 		set(_input_filter "")
 		set(_opt_output_java "")
-		set(_extract_all "")
+		set(_extract_all "")
 		if(INSTDOX_DOXYPY)
 			find_file(DOXYPY_SRC doxypy.py $ENV{REZ_DOXYPY_ROOT})
 			if(DOXYPY_SRC)
@@ -110,11 +110,24 @@
         set(_proj_desc $ENV{REZ_BUILD_PROJECT_DESCRIPTION})
 		string(REPLACE "\n" " " _proj_desc2 ${_proj_desc})

+		set(_tagfile "")
+		set(_tagfiles "")
+
+		if (INSTDOX_GENERATE_TAGFILE)
+		    set(_tagfile ${_proj_name}.tag)
+			set(_generate_tagfile "GENERATE_TAGFILE = ${_tagfile}")
+		endif ()
+
+		if (INSTDOX_USE_TAGFILES)
+			set(_tagfiles "TAGFILES += $(DOXYGEN_TAGFILES)")
+		endif ()
+
 		add_custom_command(
 			OUTPUT ${dest_dir}/Doxyfile
 			DEPENDS ${doxyfile}
 			COMMAND ${CMAKE_COMMAND} -E make_directory ${dest_dir}
 			COMMAND ${CMAKE_COMMAND} -E copy ${doxyfile} ${dest_dir}/Doxyfile
+			COMMAND chmod +w ${dest_dir}/Doxyfile
 			COMMAND echo PROJECT_NAME = \"${_proj_name}\" >> ${dest_dir}/Doxyfile
 			COMMAND echo PROJECT_NUMBER = \"${_proj_ver}\" >> ${dest_dir}/Doxyfile
 			COMMAND echo PROJECT_BRIEF = \"${_proj_desc2}\" >> ${dest_dir}/Doxyfile
@@ -122,6 +135,8 @@
 			COMMAND echo ${_input_filter} >> ${dest_dir}/Doxyfile
 			COMMAND echo ${_opt_output_java} >> ${dest_dir}/Doxyfile
 			COMMAND echo ${_extract_all} >> ${dest_dir}/Doxyfile
+			COMMAND echo ${_tagfiles} >> ${dest_dir}/Doxyfile
+			COMMAND echo ${_generate_tagfile} >> ${dest_dir}/Doxyfile
 			COMMAND echo INPUT = ${INSTDOX_FILES} >> ${dest_dir}/Doxyfile
 			COMMAND echo IMAGE_PATH = ${CMAKE_SOURCE_DIR}/${INSTDOX_IMAGEPATH} >> ${dest_dir}/Doxyfile
 			COMMAND echo STRIP_FROM_PATH = ${CMAKE_SOURCE_DIR} >> ${dest_dir}/Doxyfile
@@ -141,7 +156,12 @@
 			# only install docs when installing centrally
 			add_custom_target(_install_${label} ALL DEPENDS ${label})
 			install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/${dest_dir}/${doxydir} DESTINATION ${dest_dir})
-		endif()
+
+			if (INSTDOX_GENERATE_TAGFILE)
+				install(FILES ${CMAKE_CURRENT_BINARY_DIR}/${dest_dir}/${_tagfile} DESTINATION ${dest_dir})
+			endif ()
+
+		endif(CENTRAL OR INSTDOX_FORCE)
 	else(DOXYGEN_EXECUTABLE)
 		message(WARNING "RezInstallDoxygen cannot find Doxygen - documentation was not built.")
 	endif(DOXYGEN_EXECUTABLE)


Add the error_codes.h to all CMAKE projects (#6754)

It's true that one or two test projects don't use error codes, but this is simpler then adding to everything else one by one.

This solves the thing where I start VS on core-setup "Find in files" error code - and nothing comes up... even though it's definitely there.

--- src/corehost/cli/common.cmake
+++ src/corehost/cli/common.cmake
@@ -31,7 +31,8 @@
 list(APPEND HEADERS
     ${CMAKE_CURRENT_LIST_DIR}/../common/trace.h
     ${CMAKE_CURRENT_LIST_DIR}/../common/utils.h
-    ${CMAKE_CURRENT_LIST_DIR}/../common/pal.h)
+    ${CMAKE_CURRENT_LIST_DIR}/../common/pal.h
+    ${CMAKE_CURRENT_LIST_DIR}/../error_codes.h)

 if(WIN32)
     list(APPEND SOURCES


Add KDE4_PLUGIN_INSTALL_DIR since we overwrite PLUGIN_INSTALL_DIR

--- cmake/GluonVariables.cmake
+++ cmake/GluonVariables.cmake
@@ -15,6 +15,7 @@
     set( DATA_INSTALL_DIR ${CMAKE_INSTALL_DATADIR}/gluon CACHE INTERNAL "The directory where all of Gluon's data will be installed." )
     set( EXAMPLE_DATA_INSTALL_DIR ${DATA_INSTALL_DIR}/examples CACHE INTERNAL "The directory where example data will be installed." )
     set( TEMPLATE_INSTALL_DIR ${DATA_INSTALL_DIR}/templates CACHE INTERNAL "The directory where templates will be installed." )
+    set( KDE4_PLUGIN_INSTALL_DIR ${LIB_INSTALL_DIR}/kde4 CACHE INTERNAL "The directory where KDE4 plugins will be installed." )

     if( CMAKE_SIZEOF_VOID_P EQUAL 8 )
         set( GLUON_ARCHITECTURE "64" )


More packaging tweaks for CPack

More packaging tweaks for CPack

Change-Id: I9ebf9f312798995852eebca93a6b7b9d305246df

--- cmake/MongoChemCPack.cmake
+++ cmake/MongoChemCPack.cmake
@@ -4,11 +4,17 @@
 set(CPACK_PACKAGE_VERSION_PATCH ${MongoChem_VERSION_PATCH})
 set(CPACK_PACKAGE_VERSION ${MongoChem_VERSION})
 set(CPACK_PACKAGE_INSTALL_DIRECTORY "MongoChem")
+set(CPACK_PACKAGE_VENDOR "http://openchemistry.org/")
+set(CPACK_PACKAGE_DESCRIPTION
+  "Qt MongoDB desktop cheminformatics application.")

 if(APPLE)
   configure_file("${MongoChem_SOURCE_DIR}/COPYING"
     "${MongoChem_BINARY_DIR}/COPYING.txt" @ONLY)
   set(CPACK_RESOURCE_FILE_LICENSE "${MongoChem_BINARY_DIR}/COPYING.txt")
+  set(CPACK_PACKAGE_ICON
+    "${MongoChem_SOURCE_DIR}/mongochem/app/icons/mongochem.icns")
+  set(CPACK_BUNDLE_ICON "${CPACK_PACKAGE_ICON}")
 else()
   set(CPACK_RESOURCE_FILE_LICENSE "${MongoChem_SOURCE_DIR}/COPYING")
 endif()


removed: unnecessary file

removed: unnecessary file

--- cmake/SetupPackaging.cmake
+++ cmake/SetupPackaging.cmake
@@ -1,59 +0,0 @@
-# -*- Mode:cmake -*-
-
-####################################################################################################
-#                                                                                #
-# Copyright (C) 2016 University of Hull                                                            #
-#                                                                                #
-####################################################################################################
-
-INCLUDE(InstallRequiredSystemLibraries)
-
-STRING(TOLOWER ${CMAKE_PROJECT_NAME} PACKAGE_PREFIX)
-
-SET(CPACK_PACKAGE_NAME                "${PACKAGE_PREFIX}")
-SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "${PACKAGE_PREFIX} infrastructure")
-SET(CPACK_PACKAGE_VENDOR              "dcs.hull.ac.uk")
-#SET(CPACK_PACKAGE_DESCRIPTION_FILE    "${CMAKE_CURRENT_SOURCE_DIR}/README.rst")
-SET(CPACK_RESOURCE_FILE_LICENSE       "${CMAKE_CURRENT_SOURCE_DIR}/LICENSE")
-SET(CPACK_PACKAGE_VERSION_MAJOR       "0")
-SET(CPACK_PACKAGE_VERSION_MINOR       "1")
-SET(CPACK_PACKAGE_VERSION_PATCH       "0")
-SET(CPACK_INCLUDE_TOPLEVEL_DIRECTORY  0)
-
-SET(CPACK_COMPONENTS_ALL app doc hdr lib)
-
-SET(CPACK_COMPONENT_APP_DISPLAY_NAME "Applications")
-SET(CPACK_COMPONENT_DOC_DISPLAY_NAME "Documentation")
-SET(CPACK_COMPONENT_HDR_DISPLAY_NAME "C++ Header")
-SET(CPACK_COMPONENT_LIB_DISPLAY_NAME "Libraries")
-SET(CPACK_COMPONENT_APP_DEPENDS       lib)
-SET(CPACK_COMPONENT_HDR_DEPENDS       lib)
-SET(CPACK_COMPONENT_APP_GROUP "app")
-SET(CPACK_COMPONENT_DOC_GROUP "doc")
-SET(CPACK_COMPONENT_HDR_GROUP "devel")
-SET(CPACK_COMPONENT_LIB_GROUP "lib")
-
-SET(CPACK_SOURCE_IGNORE_FILES "/.git/" ".gitignore" ".#" "/#" ".*~" "/build.*/")
-
-# see [http://www.cmake.org/Wiki/CMake:CPackPackageGenerators]
-IF(WIN32 OR WIN64)
-  MESSAGE(STATUS "Creating NSIS package-installer configuration")
-
-  SET(CPACK_GENERATOR "NSIS")
-ELSEIF(UNIX)
-  MESSAGE(STATUS "Creating RPM package-installer configuration")
-
-  SET(CPACK_GENERATOR                "RPM")
-  SET(CPACK_SOURCE_GENERATOR         "RPM")
-  SET(CPACK_RPM_COMPRESSION_TYPE     bzip2)
-  # SET(CPACK_RPM_PACKAGE_ARCHITECTURE ${ARCH})
-  SET(CPACK_RPM_COMPONENT_INSTALL    ON)
-  SET(CPACK_RPM_PACKAGE_RELEASE      1)
-  SET(CPACK_RPM_PACKAGE_LICENSE      "LGPLv2")
-  SET(CPACK_RPM_PACKAGE_GROUP        "Development/Libraries")
-  SET(CPACK_RPM_PACKAGE_DEBUG        OFF)
-ELSE()
-  MESSAGE(SEND_ERROR "Unsupported platform for creating package installer")
-ENDIF()
-
-INCLUDE(CPack)


Remove the use of CMake's GoogleTest module

Using recent versions of CMake causes `gtest_discover_tests` to fail when parsing `jwt/tink_test_jwt_jwk_set_converter_test`, likely because of the issue in [1].
Using `add_test` avoids the issue at the price of losing some granularity (from per test case to per test binary).

[1] https://gitlab.kitware.com/cmake/cmake/-/issues/23039

PiperOrigin-RevId: 424321280

--- cmake/TinkBuildRules.cmake
+++ cmake/TinkBuildRules.cmake
@@ -33,11 +33,6 @@
 # defined by calls to tink_module(). Please don't alter it directly.

 include(CMakeParseArguments)
-
-if (NOT ${CMAKE_VERSION} VERSION_LESS 3.9)
-  include(GoogleTest)
-endif()
-

 if (TINK_BUILD_TESTS)
   enable_testing()
@@ -210,11 +205,9 @@
   set_property(TARGET ${_target_name} PROPERTY CXX_STANDARD ${TINK_CXX_STANDARD})
   set_property(TARGET ${_target_name} PROPERTY CXX_STANDARD_REQUIRED true)

-  if (${CMAKE_VERSION} VERSION_LESS 3.9)
-    add_test(NAME ${_target_name} COMMAND ${_target_name} WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
-  else()
-    gtest_discover_tests(${_target_name} WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
-  endif()
+  # Note: This was preferred over using gtest_discover_tests because of [1].
+  # [1] https://gitlab.kitware.com/cmake/cmake/-/issues/23039
+  add_test(NAME ${_target_name} COMMAND ${_target_name} WORKING_DIRECTORY ${CMAKE_BINARY_DIR})
 endfunction(tink_cc_test)

 # Declare a C++ Proto library.


Use V8 nosnapshot

Use V8 nosnapshot

--- cmake/modules/FindV8.cmake
+++ cmake/modules/FindV8.cmake
@@ -81,8 +81,8 @@
 		/usr/freeware/lib64
 )

-find_library (V8_SNAPSHOT_LIBRARY
-	NAMES v8_snapshot libv8_snapshot
+find_library (V8_NOSNAPSHOT_LIBRARY
+	NAMES v8_nosnapshot libv8_nosnapshot
 	PATHS
 		$ENV{V8_DIR}
 		$ENV{V8_DIR}/lib
@@ -134,7 +134,7 @@
 	set (V8_FOUND "YES")
 	set (V8_INCLUDE_DIRS ${V8_INCLUDE_DIR})
 	set (V8_LIBRARIES ${V8_LIBRARIES} ${V8_BASE_LIBRARY})
-	set (V8_LIBRARIES ${V8_LIBRARIES} ${V8_SNAPSHOT_LIBRARY})
+	set (V8_LIBRARIES ${V8_LIBRARIES} ${V8_NOSNAPSHOT_LIBRARY})
 	set (V8_LIBRARIES ${V8_LIBRARIES} ${V8_LIBBASE_LIBRARY})
 	set (V8_LIBRARIES ${V8_LIBRARIES} ${V8_LIBPLATFORM_LIBRARY})
 elseif (V8_INCLUDE_DIR AND V8_LIBRARY)


Don't assume the installed lib dependencies are named lib<name>.so.2

--- cmake/ospray_options.cmake
+++ cmake/ospray_options.cmake
@@ -134,9 +134,9 @@
 ##############################################################

 IF (OSPRAY_INSTALL_DEPENDENCIES)
-  MACRO(OSPRAY_INSTALL_NAMELINK NAME)
+  MACRO(OSPRAY_INSTALL_NAMELINK NAME TARGET_NAME)
     EXECUTE_PROCESS(COMMAND "${CMAKE_COMMAND}" -E create_symlink
-                    lib${NAME}.so.2 ${CMAKE_CURRENT_BINARY_DIR}/lib${NAME}.so)
+                    ${TARGET_NAME} ${CMAKE_CURRENT_BINARY_DIR}/lib${NAME}.so)
     INSTALL(PROGRAMS ${CMAKE_CURRENT_BINARY_DIR}/lib${NAME}.so
             DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT redist)
   ENDMACRO()
@@ -168,8 +168,10 @@
       INSTALL(PROGRAMS ${TBB_LIBRARY} ${TBB_LIBRARY_MALLOC}
               DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT redist)
       IF (NOT APPLE)
-        OSPRAY_INSTALL_NAMELINK(tbb)
-        OSPRAY_INSTALL_NAMELINK(tbbmalloc)
+        get_filename_component(TBB_LIBNAME ${TBB_LIBRARY} NAME)
+        get_filename_component(TBB_MALLOC_LIBNAME ${TBB_LIBRARY_MALLOC} NAME)
+        OSPRAY_INSTALL_NAMELINK(tbb ${TBB_LIBNAME})
+        OSPRAY_INSTALL_NAMELINK(tbbmalloc ${TBB_MALLOC_LIBNAME})
       ENDIF()
     ENDIF()
   ENDIF()
@@ -190,7 +192,8 @@
     INSTALL(PROGRAMS ${EMBREE_LIBRARY}
             DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT redist)
     IF (NOT APPLE)
-      OSPRAY_INSTALL_NAMELINK(embree)
+      get_filename_component(EMBREE_LIBNAME ${EMBREE_LIBRARY} NAME)
+      OSPRAY_INSTALL_NAMELINK(embree ${EMBREE_LIBNAME})
     ENDIF()
   ENDIF()
 ENDIF()


rollback mac's univerasl build

rollback mac's univerasl build

--- cmake_modules/common.cmake
+++ cmake_modules/common.cmake
@@ -1,6 +1,6 @@
 SET(CMAKE_BUILD_TYPE Release) # Release | Debug
 SET(CMAKE_VERBOSE_MAKEFILE 0)
-#SET(CMAKE_OSX_ARCHITECTURES i386 x86_64)
+SET(CMAKE_OSX_ARCHITECTURES i386 x86_64)

 FIND_PATH(OpenCV_DIR OpenCVConfig.cmake
    "/opt/opencv/share/opencv"


Update libpcap to version 1.4.0

Update libpcap to version 1.4.0

--- versions.cmake
+++ versions.cmake
@@ -40,8 +40,8 @@
     GIT_TAG master)
 else()
   add_revision(pcap
-    URL "http://www.tcpdump.org/release/libpcap-1.3.0.tar.gz"
-    URL_MD5 "f78455a92622b7a3c05c58b6ad1cec7e")
+    URL "http://www.tcpdump.org/release/libpcap-1.4.0.tar.gz"
+    URL_MD5 "56e88a5aabdd1e04414985ac24f7e76c")
 endif()

 add_revision(boost


properly distinguishing source and binary version of TBB for new TBB versions

--- common/cmake/FindTBB.cmake
+++ common/cmake/FindTBB.cmake
@@ -99,7 +99,7 @@
     FIND_LIBRARY(TBB_LIBRARY tbb)
     FIND_LIBRARY(TBB_LIBRARY_MALLOC tbbmalloc)

-  ELSEIF (EXISTS ${EMBREE_TBB_ROOT}/cmake/TBBBuild.cmake)
+  ELSEIF (EXISTS ${EMBREE_TBB_ROOT}/cmake/TBBBuild.cmake AND EXISTS ${EMBREE_TBB_ROOT}/src/tbb/tbb_version.h)
     OPTION(EMBREE_TBB_STATIC_LIB "Build TBB as a static library (building TBB as a static library is NOT recommended)")
     if (EMBREE_TBB_STATIC_LIB)
       include(${EMBREE_TBB_ROOT}/cmake/TBBBuild.cmake)


SVN_SILENT made messages (.desktop file) - always resolve ours

In case of conflict in i18n, keep the version of the branch "ours"
To resolve a particular conflict, "git checkout --ours path/to/file.desktop"

--- plugins/morse/ktpaccountskcm_plugin_morse.desktop.cmake
+++ plugins/morse/ktpaccountskcm_plugin_morse.desktop.cmake
@@ -16,6 +16,7 @@
 Comment[gl]=Interface de usuario de configuración personalizada da conta para contas que empreguen o xestor de conexións Morse.
 Comment[hu]=Egyedi beállítófelület a Morse kapcsolatkezelőt használó azonosítókhoz.
 Comment[it]=Interfaccia utente personalizzata di configurazione account per account che usano il gestore di connessioni Morse.
+Comment[ko]=Morse 연결 관리자를 사용하는 계정 설정 사용자 인터페이스입니다.
 Comment[nb]=Brukerflate for å sette opp egendefinerte kontoer ved bruk av Morse tilkoblingsbehandler.
 Comment[nl]=Gebruikersinterface voor aangepaste accountconfiguratie voor accounts die de Morse verbindingenbeheerder gebruiken.
 Comment[pl]=Dostosowana nakładka graficzna do ustawiania kont dla kont wykorzystujących usługę połączeń Morse.


build: compile dpdk with -fpie (position independent executable)

Clang 15 defaults to -fpie, but gcc 12 does not. When building
Seastar with clang, cooking.sh still uses gcc for dpdk. The
mismatch in pie option breaks the link.

Compile dpdk with -fpie to fix. Note an object compiled with -fpie
will still link into a non-pie executable.

This fixes the build on Fedora 37.

Closes #1287

--- cooking_recipe.cmake
+++ cooking_recipe.cmake
@@ -254,7 +254,7 @@

 set (dpdk_args
   # gcc 10 defaults to -fno-common, which dpdk is not prepared for
-  "EXTRA_CFLAGS=-Wno-error -fcommon"
+  "EXTRA_CFLAGS=-Wno-error -fcommon -fpie"
   O=<BINARY_DIR>
   DESTDIR=<INSTALL_DIR>
   T=${dpdk_quadruple})


Adjust style (spaces)

Adjust style (spaces)

--- packages/pack-template.cmake
+++ packages/pack-template.cmake
@@ -2,9 +2,9 @@
 # CPack configuration

 if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
-
+
     # Options
-
+
     if(WIN32)
         set(OPTION_PACK_GENERATOR "ZIP;NSIS" CACHE STRING "Package targets")
     else()
@@ -13,7 +13,7 @@

     # Initialize
-
+
     # Reset CPack configuration
     if(EXISTS "${CMAKE_ROOT}/Modules/CPack.cmake")
         set(CPACK_IGNORE_FILES "")
@@ -29,28 +29,28 @@
     get_filename_component(CPACK_PATH ${CMAKE_COMMAND} PATH)
     set(CPACK_COMMAND "${CPACK_PATH}/cpack")

-
+
     # Package project
-
+
     set(project_name "template")   # Name of package project
     set(project_root "template")   # Name of root project that is to be installed

-
+
     # Package information
-
+
     string(TOLOWER ${META_PROJECT_NAME} package_name)                       # Package name
     set(package_description     "CMake Project Template")                   # Package description
     set(package_vendor          "hpicgs group")                             # Package vendor
     set(package_maintainer      "daniel.limberger@hpi.uni-potsdam.de")      # Package maintainer

-
+
     # Package specific options
-
+
     set(CMAKE_MODULE_PATH                   ${CMAKE_SOURCE_DIR}/packages/${project_name})

-
+
     # Package information
-
+
     set(CPACK_PACKAGE_NAME                  "${package_name}")
     set(CPACK_PACKAGE_VENDOR                "${package_vendor}")
     set(CPACK_PACKAGE_DESCRIPTION_SUMMARY   "${package_description}")
@@ -76,7 +76,7 @@

     # Debian package information
-
+
     set(CPACK_DEBIAN_PACKAGE_NAME           "${package_name}")
     set(CPACK_DEBIAN_PACKAGE_VERSION        "${CPACK_PACKAGE_VERSION}")
     set(CPACK_DEBIAN_PACKAGE_ARCHITECTURE   "all")
@@ -89,9 +89,9 @@
 #   set(CPACK_DEBIAN_PACKAGE_SUGGESTS       "")
     set(CPACK_DEBIAN_PACKAGE_CONTROL_EXTRA  "")

-
+
     # RPM package information
-
+
     set(CPACK_RPM_PACKAGE_NAME                           "${package_name}")
     set(CPACK_RPM_PACKAGE_VERSION                        "${CPACK_PACKAGE_VERSION}")
     set(CPACK_RPM_PACKAGE_RELEASE                        1)
@@ -110,10 +110,10 @@
 #   set(CPACK_RPM_<POST/PRE>_<UN>INSTALL_SCRIPT_FILE     "")
 #   set(CPACK_RPM_PACKAGE_DEBUG                          1)
     set(CPACK_RPM_PACKAGE_RELOCATABLE                    OFF)
-
+

     # Package name
-
+
     set(CPACK_PACKAGE_FILE_NAME "${package_name}-${CPACK_PACKAGE_VERSION}")

     # NOTE: for using MUI (UN)WELCOME images and installer icon we suggest to replace nsis defaults,
@@ -138,9 +138,9 @@
             Delete \\\"$TEMP\\\\${MSVC_REDIST_NAME}\\\"
             ")
     endif()
-
+
     # Install files
-
+
     if(APPLE)
         set(CPACK_INSTALL_CMAKE_PROJECTS        "${CMAKE_BINARY_DIR};fiblib;/")
     else()
@@ -152,19 +152,19 @@
         set(CPACK_INSTALL_PREFIX            "/usr/")
     endif()

-
+
     # Set generator
-
+
     set(CPACK_OUTPUT_CONFIG_FILE "${CMAKE_BINARY_DIR}/CPackConfig-${project_name}.cmake")
-    set(CPACK_GENERATOR     "ZIP;TGZ;DEB;NSIS;")
-
     set(CPACK_GENERATOR ${OPTION_PACK_GENERATOR})

-
+
     # CPack
-
+
     if(NOT WIN32)
-        set(CPACK_SET_DESTDIR ON)   # Important: Must be set to install files to absolute path (e.g., /etc) -> CPACK_[RPM_]PACKAGE_RELOCATABLE = OFF
+        # Important: Must be set to install files to absolute path (e.g., /etc)
+        # -> CPACK_[RPM_]PACKAGE_RELOCATABLE = OFF
+        set(CPACK_SET_DESTDIR ON)
     endif()
     set(CPack_CMake_INCLUDED FALSE)
     include(CPack)


--- gstreamer/gstreamer.desktop.cmake
+++ gstreamer/gstreamer.desktop.cmake
@@ -25,6 +25,7 @@
 Name[eu]=GStreamer
 Name[fa]=GStreamer
 Name[fi]=GStreamer
+Name[fr]=GStreamer
 Name[ga]=GStreamer
 Name[gl]=GStreamer
 Name[hsb]=GStreamer
@@ -81,6 +82,7 @@
 Comment[eu]=Phonon-en GStreamer bizkarraldekoa
 Comment[fa]=پسانه‌ی جی‌استریمر برای فنون (Phonon GStreamer backend)
 Comment[fi]=Phonon GStreamer -taustajärjestelmä
+Comment[fr]=Moteur GStreamer pour Phonon
 Comment[ga]=Inneall GStreamer le haghaidh Phonon
 Comment[gl]=Infraestrutura de GStreamer para Phonon
 Comment[hsb]=Phonon GStreamer backend


BUG: Fix CTKGenerateCTKConfig.cmake

BUG: Fix CTKGenerateCTKConfig.cmake

Use *_OUTPUT_DIRECTORY instead of *_OUTPUT_PATH ones

--- Utilities/LastConfigureStep/CTKGenerateCTKConfig.cmake
+++ Utilities/LastConfigureStep/CTKGenerateCTKConfig.cmake
@@ -30,13 +30,13 @@
 SET(CTK_USE_FILE ${CTK_SUPERBUILD_BINARY_DIR}/UseCTK.cmake)

 # Library directory.
-SET(CTK_LIBRARY_DIRS_CONFIG ${LIBRARY_OUTPUT_PATH})
+SET(CTK_LIBRARY_DIRS_CONFIG ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})

 # Runtime library directory.
-SET(CTK_RUNTIME_LIBRARY_DIRS_CONFIG ${LIBRARY_OUTPUT_PATH})
+SET(CTK_RUNTIME_LIBRARY_DIRS_CONFIG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})

 # Binary executable directory.
-SET(CTK_EXECUTABLE_DIRS_CONFIG ${EXECUTABLE_OUTPUT_PATH})
+SET(CTK_EXECUTABLE_DIRS_CONFIG ${CMAKE_RUNTIME_OUTPUT_DIRECTORY})

 # QtDesigner plugins directory
 SET(CTK_QTDESIGNERPLUGINS_DIR_CONFIG ${CMAKE_LIBRARY_OUTPUT_DIRECTORY})


Fix for DEV-41797 - "LL_QUICKTIME_ENABLED is often unset on Windows builds"

--- indra/cmake/QuickTimePlugin.cmake
+++ indra/cmake/QuickTimePlugin.cmake
@@ -12,13 +12,13 @@
   set(QUICKTIME_SDK_DIR "$ENV{PROGRAMFILES}/QuickTime SDK"
       CACHE PATH "Location of the QuickTime SDK.")

-  find_library(DEBUG_QUICKTIME_LIBRARY qtmlclient
+  find_library(DEBUG_QUICKTIME_LIBRARY qtmlclient.lib
                PATHS
                ${ARCH_PREBUILT_DIRS_DEBUG}
                "${QUICKTIME_SDK_DIR}\\libraries"
                )

-  find_library(RELEASE_QUICKTIME_LIBRARY qtmlclient
+  find_library(RELEASE_QUICKTIME_LIBRARY qtmlclient.lib
                PATHS
                ${ARCH_PREBUILT_DIRS_RELEASE}
                "${QUICKTIME_SDK_DIR}\\libraries"


less verbose

less verbose

--- cmake/all.cmake
+++ cmake/all.cmake
@@ -1,8 +1,6 @@
 include(${catkin_EXTRAS_DIR}/log.cmake)
 include(${catkin_EXTRAS_DIR}/assert.cmake)
 assert(catkin_EXTRAS_DIR)
-
-info(all)

 foreach(f
     empy
@@ -19,7 +17,6 @@
     catkin_workspace
     enable_python
     )
-  info(${f})
   include(${catkin_EXTRAS_DIR}/${f}.cmake)
 endforeach()


cmake: fix rr graph targets to generate the real rr graph

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

--- common/cmake/devices.cmake
+++ common/cmake/devices.cmake
@@ -721,76 +721,25 @@

     endif()

-    # Convert patched rr_graph.xml to rr_graph.bin if necessary
-    if("${RR_GRAPH_EXT}" STREQUAL ".xml")
-
-      set(OUT_RR_REAL_FILENAME
-        rr_graph_${DEVICE}_${PACKAGE}.rr_graph.real.bin)
-      set(OUT_RR_REAL
-        ${CMAKE_CURRENT_BINARY_DIR}/${OUT_RR_REAL_FILENAME})
-
-      set(DEPS)
-      append_file_dependency(DEPS ${OUT_RR_PATCHED_FILENAME})
-      append_file_dependency(DEPS ${VIRT_DEVICE_MERGED_FILE})
-
-      add_custom_command(
-        OUTPUT ${OUT_RR_REAL}
-        DEPENDS
-            ${WIRE_EBLIF}
-            ${VPR}
-            ${QUIET_CMD}
-            ${DEFINE_DEVICE_DEVICE_TYPE}
-            ${DEPS} ${PYTHON3}
-        COMMAND
-            ${QUIET_CMD} ${VPR} ${DEVICE_MERGED_FILE}
-            --device ${DEVICE_FULL}
-            ${WIRE_EBLIF}
-            --read_rr_graph ${OUT_RR_PATCHED}
-            --read_rr_edge_metadata on
-            --write_rr_graph ${OUT_RR_REAL}
-            --outfile_prefix ${OUT_RR_REAL}_
-            --pack
-            --place
-            ${DEFINE_DEVICE_CACHE_ARGS}
-        COMMAND
-            ${CMAKE_COMMAND} -E copy vpr_stdout.log
-              ${OUT_RR_REAL}.out
-        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-      )
-
-      add_file_target(FILE ${OUT_RR_REAL_FILENAME} GENERATED)
-
+    if(NOT ${NO_RR_PATCHING} OR "${EXT_RR_GRAPH}" STREQUAL ".xml")
+      set(OUT_RR_REAL_FILENAME rr_graph_${DEVICE}_${PACKAGE}.rr_graph.real.bin)
+      set(OUT_RR_REAL ${CMAKE_CURRENT_BINARY_DIR}/${OUT_RR_REAL_FILENAME})
+      set(READ_RR ${OUT_RR_PATCHED})
+      set(READ_RR_FILENAME ${OUT_RR_PATCHED_FILENAME})
     else()
-
+      # Use the virtual rr_graph directly
       if(NOT DEFINED EXT_RR_GRAPH)
-
-        # Use the virtual rr_graph directly
-        if(${NO_RR_PATCHING})
-          set(OUT_RR_REAL_FILENAME ${OUT_RR_VIRT_FILENAME})
-          set(OUT_RR_REAL          ${OUT_RR_VIRT})
-
-        # Use the patched rr_graph.bin directly
-        else()
-          set(OUT_RR_REAL_FILENAME ${OUT_RR_PATCHED_FILENAME})
-          set(OUT_RR_REAL          ${OUT_RR_PATCHED})
-        endif()
-
+        set(OUT_RR_REAL_FILENAME ${OUT_RR_VIRT_FILENAME})
+        set(OUT_RR_REAL          ${OUT_RR_VIRT})
+
+      # Use external real rr_graph.bin directly
       else()
-
-        # Use external real rr_graph.bin directly
-        if(${NO_RR_PATCHING})
-
-          get_filename_component(OUT_RR_REAL          ${EXT_RR_GRAPH} REALPATH)
-          get_filename_component(OUT_RR_REAL_FILENAME ${EXT_RR_GRAPH} NAME)
-
-        # Use the patched rr_graph.bin directly
-        else()
-          set(OUT_RR_REAL_FILENAME ${OUT_RR_PATCHED_FILENAME})
-          set(OUT_RR_REAL          ${OUT_RR_PATCHED})
-        endif()
-
+        get_filename_component(OUT_RR_REAL          ${EXT_RR_GRAPH} REALPATH)
+        get_filename_component(OUT_RR_REAL_FILENAME ${EXT_RR_GRAPH} NAME)
       endif()
-
+
+      set(READ_RR ${OUT_RR_REAL})
+      set(READ_RR_FILENAME ${OUT_RR_REAL_FILENAME})
     endif()

     set_target_properties(
@@ -799,76 +748,86 @@
         ${PACKAGE}_OUT_RRBIN_REAL ${CMAKE_CURRENT_SOURCE_DIR}/${OUT_RR_REAL_FILENAME}
     )

-    # Generate lookahead and place delay lookup caches
+    set(LOOKAHEAD_FILENAME
+      rr_graph_${DEVICE}_${PACKAGE}.lookahead.bin)
+    set(PLACE_DELAY_FILENAME
+      rr_graph_${DEVICE}_${PACKAGE}.place_delay.bin)
+
+    set(DEPS)
+    append_file_dependency(DEPS ${READ_RR_FILENAME})
+    append_file_dependency(DEPS ${VIRT_DEVICE_MERGED_FILE})
+
+    set(ARGS)
+    if(${DEFINE_DEVICE_CACHE_LOOKAHEAD})
+        list(APPEND OUTPUTS ${LOOKAHEAD_FILENAME})
+        list(APPEND ARGS --write_router_lookahead ${LOOKAHEAD_FILENAME})
+    endif()
+    if(${DEFINE_DEVICE_CACHE_PLACE_DELAY})
+        list(APPEND OUTPUTS ${PLACE_DELAY_FILENAME})
+        list(APPEND ARGS --write_placement_delay_lookup ${PLACE_DELAY_FILENAME})
+    endif()
+    if(NOT ${NO_RR_PATCHING})
+        list(APPEND OUTPUTS ${OUT_RR_REAL_FILENAME})
+        list(APPEND ARGS --write_rr_graph ${OUT_RR_REAL_FILENAME})
+    endif()
+
+    set(CACHE_PREFIX rr_graph_${DEVICE}_${PACKAGE})
+
+    add_custom_command(
+      OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CACHE_PREFIX}.cache ${OUTPUTS}
+      DEPENDS
+          ${WIRE_EBLIF}
+          ${VPR}
+          ${QUIET_CMD}
+          ${DEFINE_DEVICE_DEVICE_TYPE}
+          ${DEPS} ${PYTHON3}
+      COMMAND
+          ${PYTHON3} ${symbiflow-arch-defs_SOURCE_DIR}/utils/check_cache.py ${OUT_RR_REAL} ${CACHE_PREFIX}.cache ${OUTPUTS} || (
+          ${QUIET_CMD} ${VPR} ${DEVICE_MERGED_FILE}
+          --device ${DEVICE_FULL}
+          ${WIRE_EBLIF}
+          --read_rr_graph ${READ_RR}
+          --read_rr_edge_metadata on
+          --outfile_prefix ${CACHE_PREFIX}_cache_
+          --pack
+          --place
+          ${ARGS}
+          ${DEFINE_DEVICE_CACHE_ARGS} &&
+          ${PYTHON3} ${symbiflow-arch-defs_SOURCE_DIR}/utils/update_cache.py ${OUT_RR_REAL} ${CACHE_PREFIX}.cache)
+      COMMAND
+          ${CMAKE_COMMAND} -E copy vpr_stdout.log
+            ${CMAKE_CURRENT_BINARY_DIR}/${CACHE_PREFIX}.cache.out
+      WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
+    )
+
+    add_file_target(FILE ${CACHE_PREFIX}.cache GENERATED)
+    get_file_target(CACHE_TARGET ${CACHE_PREFIX}.cache)
+
+    if(${DEFINE_DEVICE_CACHE_LOOKAHEAD})
+      add_file_target(FILE ${LOOKAHEAD_FILENAME} GENERATED)
+
+      # Linearize target dependency.
+      get_file_target(LOOKAHEAD_TARGET ${LOOKAHEAD_FILENAME})
+      add_dependencies(${LOOKAHEAD_TARGET} ${CACHE_TARGET})
+    endif()
+
+    if(${DEFINE_DEVICE_CACHE_PLACE_DELAY})
+      add_file_target(FILE ${PLACE_DELAY_FILENAME} GENERATED)
+
+      # Linearize target dependency.
+      get_file_target(PLACE_DELAY_TARGET ${PLACE_DELAY_FILENAME})
+      add_dependencies(${PLACE_DELAY_TARGET} ${CACHE_TARGET})
+    endif()
+
+    if(NOT ${NO_RR_PATCHING})
+      add_file_target(FILE ${OUT_RR_REAL_FILENAME} GENERATED)
+
+      # Linearize target dependency.
+      get_file_target(OUT_RR_REAL_TARGET ${OUT_RR_REAL_FILENAME})
+      add_dependencies(${OUT_RR_REAL_TARGET} ${CACHE_TARGET})
+    endif()
+
     if(${DEFINE_DEVICE_CACHE_LOOKAHEAD} OR ${DEFINE_DEVICE_CACHE_PLACE_DELAY})
-
-      set(LOOKAHEAD_FILENAME
-        rr_graph_${DEVICE}_${PACKAGE}.lookahead.bin)
-      set(PLACE_DELAY_FILENAME
-        rr_graph_${DEVICE}_${PACKAGE}.place_delay.bin)
-
-      set(DEPS)
-      append_file_dependency(DEPS ${OUT_RR_REAL_FILENAME})
-      append_file_dependency(DEPS ${VIRT_DEVICE_MERGED_FILE})
-
-      set(ARGS)
-      if(${DEFINE_DEVICE_CACHE_LOOKAHEAD})
-          list(APPEND OUTPUTS ${LOOKAHEAD_FILENAME})
-          list(APPEND ARGS --write_router_lookahead ${LOOKAHEAD_FILENAME})
-      endif()
-      if(${DEFINE_DEVICE_CACHE_PLACE_DELAY})
-          list(APPEND OUTPUTS ${PLACE_DELAY_FILENAME})
-          list(APPEND ARGS --write_placement_delay_lookup ${PLACE_DELAY_FILENAME})
-      endif()
-
-      set(CACHE_PREFIX rr_graph_${DEVICE}_${PACKAGE})
-
-      add_custom_command(
-        OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/${CACHE_PREFIX}.cache ${OUTPUTS}
-        DEPENDS
-            ${WIRE_EBLIF}
-            ${VPR}
-            ${QUIET_CMD}
-            ${DEFINE_DEVICE_DEVICE_TYPE}
-            ${DEPS} ${PYTHON3}
-        COMMAND
-            ${PYTHON3} ${symbiflow-arch-defs_SOURCE_DIR}/utils/check_cache.py ${OUT_RR_REAL} ${CACHE_PREFIX}.cache ${OUTPUTS} || (
-            ${QUIET_CMD} ${VPR} ${DEVICE_MERGED_FILE}
-            --device ${DEVICE_FULL}
-            ${WIRE_EBLIF}
-            --read_rr_graph ${OUT_RR_REAL}
-            --read_rr_edge_metadata on
-            --outfile_prefix ${CACHE_PREFIX}_cache_
-            --pack
-            --place
-            ${ARGS}
-            ${DEFINE_DEVICE_CACHE_ARGS} &&
-            ${PYTHON3} ${symbiflow-arch-defs_SOURCE_DIR}/utils/update_cache.py ${OUT_RR_REAL} ${CACHE_PREFIX}.cache)
-        COMMAND
-            ${CMAKE_COMMAND} -E copy vpr_stdout.log
-              ${CMAKE_CURRENT_BINARY_DIR}/${CACHE_PREFIX}.cache.out
-        WORKING_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}
-      )
-
-      add_file_target(FILE ${CACHE_PREFIX}.cache GENERATED)
-      get_file_target(CACHE_TARGET ${CACHE_PREFIX}.cache)
-
-      if(${DEFINE_DEVICE_CACHE_LOOKAHEAD})
-        add_file_target(FILE ${LOOKAHEAD_FILENAME} GENERATED)
-
-        # Linearize target dependency.
-        get_file_target(LOOKAHEAD_TARGET ${LOOKAHEAD_FILENAME})
-        add_dependencies(${LOOKAHEAD_TARGET} ${CACHE_TARGET})
-      endif()
-
-      if(${DEFINE_DEVICE_CACHE_PLACE_DELAY})
-        add_file_target(FILE ${PLACE_DELAY_FILENAME} GENERATED)
-
-        # Linearize target dependency.
-        get_file_target(PLACE_DELAY_TARGET ${PLACE_DELAY_FILENAME})
-        add_dependencies(${PLACE_DELAY_TARGET} ${CACHE_TARGET})
-      endif()
-
       set_target_properties(
         ${DEFINE_DEVICE_DEVICE}
         PROPERTIES


CMake: Add version checking in find_feature

--- src/platform/cmake/FindFeature.cmake
+++ src/platform/cmake/FindFeature.cmake
@@ -7,22 +7,57 @@
 		set(${FEATURE_NAME} OFF PARENT_SCOPE)
 		return()
 	endif()
+	if(ARGV2)
+		set(VERSION "${ARGV2}")
+		set(FIND_VERSION "${VERSION}" EXACT)
+		set(PKG_CONFIG_VERSION_CHECK " >=${VERSION}")
+	else()
+		set(VERSION)
+		set(FIND_VERSION)
+		set(PKG_CONFIG_VERSION_CHECK)
+	endif()
 	foreach(NAMES ${FEATURE_REQUIRES})
 		string(REPLACE "|" ";" NAMELIST "${NAMES}")
 		set(FOUND OFF)
 		foreach(REQUIRE ${NAMELIST})
 			if(NOT ${REQUIRE}_FOUND)
-				find_package(${REQUIRE} QUIET)
+				find_package(${REQUIRE} ${FIND_VERSION} QUIET)
 				if(NOT ${REQUIRE}_FOUND)
-					pkg_search_module(${REQUIRE} ${REQUIRE})
+					pkg_search_module(${REQUIRE} "${REQUIRE}${PKG_CONFIG_VERSION_CHECK}")
 				endif()
 			endif()
 			if(${REQUIRE}_FOUND)
 				string(TOUPPER ${REQUIRE} UREQUIRE)
-				set(${UREQUIRE}_CFLAGS_OTHER ${${REQUIRE}_CFLAGS_OTHER} PARENT_SCOPE)
-				set(${UREQUIRE}_FOUND ${${REQUIRE}_FOUND} PARENT_SCOPE)
-				set(${UREQUIRE}_INCLUDE_DIRS ${${REQUIRE}_INCLUDE_DIRS} PARENT_SCOPE)
-				set(${UREQUIRE}_VERSION_STRING ${${REQUIRE}_VERSION_STRING} PARENT_SCOPE)
+				if(DEFINED ${REQUIRE}_CFLAGS_OTHER)
+					set(${UREQUIRE}_CFLAGS_OTHER ${${REQUIRE}_CFLAGS_OTHER} PARENT_SCOPE)
+				elseif(DEFINED ${UREQUIRE}_CFLAGS_OTHER)
+					set(${UREQUIRE}_CFLAGS_OTHER ${${UREQUIRE}_CFLAGS_OTHER} PARENT_SCOPE)
+				endif()
+				if(DEFINED ${REQUIRE}_FOUND)
+					set(${UREQUIRE}_FOUND ${${REQUIRE}_FOUND} PARENT_SCOPE)
+				elseif(DEFINED ${UREQUIRE}_FOUND)
+					set(${UREQUIRE}_FOUND ${${UREQUIRE}_FOUND} PARENT_SCOPE)
+				endif()
+				if(DEFINED ${REQUIRE}_INCLUDE_DIRS)
+					set(${UREQUIRE}_INCLUDE_DIRS ${${REQUIRE}_INCLUDE_DIRS} PARENT_SCOPE)
+				elseif(DEFINED ${UREQUIRE}_INCLUDE_DIRS)
+					set(${UREQUIRE}_INCLUDE_DIRS ${${UREQUIRE}_INCLUDE_DIRS} PARENT_SCOPE)
+				endif()
+				if(DEFINED ${REQUIRE}_VERSION_STRING)
+					set(${UREQUIRE}_VERSION_STRING ${${REQUIRE}_VERSION_STRING} PARENT_SCOPE)
+				elseif(DEFINED ${UREQUIRE}_VERSION_STRING)
+					set(${UREQUIRE}_VERSION_STRING ${${UREQUIRE}_VERSION_STRING} PARENT_SCOPE)
+				endif()
+				if(DEFINED ${REQUIRE}_VERSION_MAJOR)
+					set(${UREQUIRE}_VERSION_MAJOR ${${REQUIRE}_VERSION_MAJOR} PARENT_SCOPE)
+				elseif(DEFINED ${UREQUIRE}_VERSION_MAJOR)
+					set(${UREQUIRE}_VERSION_MAJOR ${${UREQUIRE}_VERSION_MAJOR} PARENT_SCOPE)
+				endif()
+				if(DEFINED ${REQUIRE}_VERSION_MINOR)
+					set(${UREQUIRE}_VERSION_MINOR ${${REQUIRE}_VERSION_MINOR} PARENT_SCOPE)
+				elseif(DEFINED ${UREQUIRE}_VERSION_MINOR)
+					set(${UREQUIRE}_VERSION_MINOR ${${UREQUIRE}_VERSION_MINOR} PARENT_SCOPE)
+				endif()
 				if (APPLE)
 					set(IS_FRAMEWORK OFF)
 					set(LIBS)


Update FW, fix for custom alinment subpixel interpolation

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

 # "full commit hash of device side binary"
-set(DEPTHAI_DEVICE_SIDE_COMMIT "ad6167f25ed047f2fe69caeb9006db04e469734a")
+set(DEPTHAI_DEVICE_SIDE_COMMIT "c812b10472be79e10e6876d1898389766ce95013")

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


Update builtin version of FFTW to 3.3.8

Update builtin version of FFTW to 3.3.8

--- cmake/modules/SearchInstalledSoftware.cmake
+++ cmake/modules/SearchInstalledSoftware.cmake
@@ -714,13 +714,13 @@
   endif()
 endif()
 if(builtin_fftw3)
-  set(FFTW_VERSION 3.1.2)
+  set(FFTW_VERSION 3.3.8)
   message(STATUS "Downloading and building FFTW version ${FFTW_VERSION}")
   set(FFTW_LIBRARIES ${CMAKE_BINARY_DIR}/lib/libfftw3.a)
   ExternalProject_Add(
     FFTW3
     URL ${lcgpackages}/fftw-${FFTW_VERSION}.tar.gz
-    URL_HASH SHA256=e1b92e97fe27efcbd150212d0d287ac907bd2fef0af32e16284fef5d1c1c26bf
+    URL_HASH SHA256=6113262f6e92c5bd474f2875fa1b01054c4ad5040f6b0da7c03c98821d9ae303
     INSTALL_DIR ${CMAKE_BINARY_DIR}
     CONFIGURE_COMMAND ./configure --prefix=<INSTALL_DIR>
     BUILD_COMMAND make CFLAGS=-fPIC


Add some documentation

Add some documentation

git-svn-id: fbbf69ba8011aca0e74e1c67904b11cccbdbe66b@26711 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/cmake/setup_deal_ii.cmake
+++ deal.II/cmake/setup_deal_ii.cmake
@@ -1,5 +1,40 @@
 #
 # Set up deal.II specific definitions
+#
+# This file defines a long list of variables, used throughout the
+# configuration to determine paths, locations and names:
+#
+# General information about deal:
+#
+#     DEAL_II_PACKAGE_NAME            *)
+#     DEAL_II_PACKAGE_VERSION
+#     DEAL_II_PACKAGE_STRING
+#     DEAL_II_PACKAGE_BUGREPORT       *)
+#     DEAL_II_PACKAGE_TARNAME         *)
+#     DEAL_II_PACKAGE_URL             *)
+#     DEAL_II_VERSION_MAJOR
+#     DEAL_II_VERSION_MINOR
+#
+# Information about paths, install locations and names:
+#
+#     DEAL_II_PROJECT_CONFIG_NAME     *)
+#     DEAL_II_BASE_NAME               *)
+#     DEAL_II_DEBUG_SUFFIX            *)
+#     DEAL_II_LIBRARY_NAME_DEBUG
+#     DEAL_II_LIBRARY_NAME_RELEASE
+#
+#     DEAL_II_PATH                    *)
+#     DEAL_II_DOCUMENTATION_RELDIR    *)
+#     DEAL_II_EXAMPLES_RELDIR         *)
+#     DEAL_II_INCLUDE_RELDIR          *)
+#     DEAL_II_LIBRARY_RELDIR          *)
+#     DEAL_II_PROJECT_CONFIG_RELDIR   *)
+#
+#     DEAL_II_INCLUDE_DIRS
+#     DEAL_II_LIBRARIES
+#
+# *) Values marked with *) can be overwritten by the command line via
+#    -D<...>
 #

 SET_IF_EMPTY(DEAL_II_PACKAGE_NAME "deal.II")
@@ -11,7 +46,7 @@

 SET_IF_EMPTY(DEAL_II_PACKAGE_BUGREPORT "dealii@dealii.org")
 SET_IF_EMPTY(DEAL_II_PACKAGE_TARNAME ${DEAL_II_PACKAGE_NAME}) #TODO
-SET_IF_EMPTY(DEAL_II_PACKAGE_URL "http://www.dealii.org")
+SET_IF_EMPTY(DEAL_II_PACKAGE_URL "http://www.dealii.org") #TODO

 STRING(REGEX REPLACE
   "^([0-9]+)\\..*" "\\1" DEAL_II_VERSION_MAJOR "${VERSION}"


Fix Rendering/LIC module file

Fix Rendering/LIC module file

The Rendering LIC module file was missing a backend
specifier. Added that in.

--- Rendering/LIC/module.cmake
+++ Rendering/LIC/module.cmake
@@ -4,11 +4,13 @@

 vtk_module(vtkRenderingLIC
   ${_groups}
+  BACKEND
+    OpenGL
   DEPENDS
     vtkIOXML
     vtkIOLegacy
     vtkImagingSources
-    vtkRenderingOpenGL
+    vtkRendering${VTK_RENDERING_BACKEND}
   PRIVATE_DEPENDS
     vtksys
   TEST_DEPENDS


cmake: nuttx error if GCC <= 7

cmake: nuttx error if GCC <= 7

--- platforms/nuttx/cmake/init.cmake
+++ platforms/nuttx/cmake/init.cmake
@@ -30,6 +30,12 @@
 # POSSIBILITY OF SUCH DAMAGE.
 #
 ############################################################################
+
+if("${CMAKE_CXX_COMPILER_ID}" MATCHES "GNU")
+	if(CMAKE_CXX_COMPILER_VERSION VERSION_LESS_EQUAL 7)
+		message(FATAL_ERROR "GCC 7 or older no longer supported. https://docs.px4.io/master/en/dev_setup/dev_env.html")
+	endif()
+endif()

 if(NOT PX4_BOARD)
 	message(FATAL_ERROR "PX4_BOARD must be set (eg px4_fmu-v2)")


updated glm inclusion for unitTests

updated glm inclusion for unitTests

--- toolchains/unitTests.cmake
+++ toolchains/unitTests.cmake
@@ -14,6 +14,7 @@
 include_directories(${PROJECT_SOURCE_DIR}/core/include/)
 include_directories(${PROJECT_SOURCE_DIR}/core/include/catch/)
 include_directories(${PROJECT_SOURCE_DIR}/core/include/jsoncpp/)
+include_directories(${PROJECT_SOURCE_DIR}/core/dependencies/glm/)

 set(OSX_PLATFORM_SRC ${PROJECT_SOURCE_DIR}/osx/src/platform_osx.mm)


### remove opencv java

### remove opencv java

--- ext/nuvo_image/external/opencv_config.cmake
+++ ext/nuvo_image/external/opencv_config.cmake
@@ -36,6 +36,7 @@
 set(BUILD_opencv_viz OFF CACHE BOOL "")
 set(BUILD_opencv_shape OFF CACHE BOOL "")
 set(BUILD_opencv_video OFF CACHE BOOL "")
+set(BUILD_opencv_java OFF CACHE BOOL "")
 set(BUILD_opencv_python2 OFF CACHE BOOL "")
 set(BUILD_opencv_python3 OFF CACHE BOOL "")
 set(BUILD_opencv_features2d OFF CACHE BOOL "")
@@ -46,5 +47,4 @@
 set(WITH_CUDA OFF CACHE BOOL "")
 set(WITH_GPHOTO2 OFF CACHE BOOL "")
 set(WITH_GSTREAMER OFF CACHE BOOL "")
-set(WITH_JAVA OFF CACHE BOOL "")
 set(WITH_QT OFF CACHE BOOL "")


Enable SciPy by default

Enable SciPy by default

Signed-off-by: Marcus D. Hanwell <cf7042e2e8eee958b5bcde1ae2cbefef82efc184@kitware.com>

--- projects/scipy.common.cmake
+++ projects/scipy.common.cmake
@@ -5,4 +5,6 @@
   ${python_pip_executable} install "scipy-1.2.1-${scipy_platform_string}.whl"
   BUILD_IN_SOURCE 1
   BUILD_COMMAND ""
+
+  ENABLED_DEFAULT ON
 )


Add variable HUNTER_EXPERIMENTAL_HOST_GENERATOR

--- cmake/modules/hunter_experimental_add_host_project.cmake
+++ cmake/modules/hunter_experimental_add_host_project.cmake
@@ -67,6 +67,15 @@

   hunter_status_print("Building host project: ${home_directory}")

+  string(COMPARE EQUAL "${HUNTER_EXPERIMENTAL_HOST_GENERATOR}" "" no_generator)
+  if(no_generator)
+    set(host_generator "")
+    hunter_status_debug("Using default host generator")
+  else()
+    hunter_status_debug("Using host generator: ${HUNTER_EXPERIMENTAL_HOST_GENERATOR}")
+    set(host_generator -G${HUNTER_EXPERIMENTAL_HOST_GENERATOR})
+  endif()
+
   # invoke cmake for host project
   include(${HUNTER_SELF}/scripts/clear-all.cmake)
   execute_process(
@@ -78,6 +87,7 @@
           "-DHUNTER_HOST_SHA1=${HUNTER_SHA1}"
           "-DHUNTER_ROOT=${HUNTER_CACHED_ROOT}"
           "-DHUNTER_ALREADY_LOCKED_DIRECTORIES=${HUNTER_ALREADY_LOCKED_DIRECTORIES}"
+          ${host_generator}
       RESULT_VARIABLE exit_code
   )
   string(COMPARE EQUAL "${exit_code}" "0" success)


SVN_SILENT made messages (.desktop file)

--- gstreamer/gstreamer.desktop.cmake
+++ gstreamer/gstreamer.desktop.cmake
@@ -63,6 +63,7 @@

 Comment=Phonon GStreamer backend
 Comment[bg]=Phonon GStreamer
+Comment[bs]=Gstreamer kao pozadina Phonona
 Comment[ca]=Dorsal GStreamer del Phonon
 Comment[ca@valencia]=Dorsal GStreamer del Phonon
 Comment[cs]=Podpůrná vrstva GStreamer pro Phonon


moved multisense-lcm version up to fix dependency issue

--- software/externals/cmake/externals.cmake
+++ software/externals/cmake/externals.cmake
@@ -148,7 +148,7 @@
   )

 set(multisense-lcm_url http://github.com/mitdrc/multisense-lcm.git)
-set(multisense-lcm_revision f203addf0901130fdc63132828ae8265fd8ebe1c)
+set(multisense-lcm_revision 3eb0ee35edf3a24382a59e53762327bdcefe912b)
 set(multisense-lcm_depends libmultisense)


Fixing static lib find of mkl

Fixing static lib find of mkl

Former-commit-id: 1f72b10c8b06be6b6e98a40af545d79b81800ee6

--- cmake-modules/FindMKL.cmake
+++ cmake-modules/FindMKL.cmake
@@ -78,7 +78,11 @@
         intel/mkl

         )
-
+if(BUILD_SHARED_LIBS)
+    set(MKL_LIB_SUFFIX ${CMAKE_SHARED_MODULE_SUFFIX})
+else()
+    set(MKL_LIB_SUFFIX ${CMAKE_STATIC_MODULE_SUFFIX})
+endif()

 find_path(MKL_ROOT_DIR
@@ -100,7 +104,7 @@
         )

 find_library(MKL_CORE_LIBRARY
-        mkl_core
+        libmkl_core${MKL_LIB_SUFFIX}
         HINTS ${MKL_ROOT_DIR}
         PATH_SUFFIXES
         lib lib/${MKL_ARCH_DIR}
@@ -108,21 +112,21 @@

 # Threading libraries
 find_library(MKL_SEQUENTIAL_LIBRARY
-        mkl_sequential
+        libmkl_sequential${MKL_LIB_SUFFIX}
         HINTS ${MKL_ROOT_DIR}
         PATH_SUFFIXES
         lib lib/${MKL_ARCH_DIR}
         )

 find_library(MKL_INTELTHREAD_LIBRARY
-        mkl_intel_thread
+        libmkl_intel_thread${MKL_LIB_SUFFIX}
         HINTS ${MKL_ROOT_DIR}
         PATH_SUFFIXES
         lib lib/${MKL_ARCH_DIR}
         )

 find_library(MKL_GNUTHREAD_LIBRARY
-        mkl_gnu_thread
+        libmkl_gnu_thread${MKL_LIB_SUFFIX}
         HINTS ${MKL_ROOT_DIR}
         PATH_SUFFIXES
         lib lib/${MKL_ARCH_DIR}
@@ -131,28 +135,28 @@
 # Intel Fortran Libraries
 IF("${MKL_ARCH_DIR}" STREQUAL "32")
     find_library(MKL_INTEL_LP_LIBRARY
-            mkl_intel
+            libmkl_intel${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )

     find_library(MKL_INTEL_ILP_LIBRARY
-            mkl_intel
+            libmkl_intel${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )
 else()
     find_library(MKL_INTEL_LP_LIBRARY
-            mkl_intel_lp64
+            libmkl_intel_lp64${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )

     find_library(MKL_INTEL_ILP_LIBRARY
-            mkl_intel_ilp64
+            libmkl_intel_ilp64${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
@@ -161,14 +165,14 @@

 # GNU Fortran Libraries
 find_library(MKL_GF_LP_LIBRARY
-        mkl_gf_lp64
+        libmkl_gf_lp64${MKL_LIB_SUFFIX}
         HINTS ${MKL_ROOT_DIR}
         PATH_SUFFIXES
         lib lib/${MKL_ARCH_DIR}
         )

 find_library(MKL_GF_ILP_LIBRARY
-        mkl_gf_ilp64
+        libmkl_gf_ilp64${MKL_LIB_SUFFIX}
         HINTS ${MKL_ROOT_DIR}
         PATH_SUFFIXES
         lib lib/${MKL_ARCH_DIR}
@@ -179,26 +183,26 @@
 # Blas
 IF("${MKL_ARCH_DIR}" STREQUAL "32")
     find_library(MKL_BLAS_LP_LIBRARY
-            mkl_blas
+            libmkl_blas${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )
     find_library(MKL_BLAS_ILP_LIBRARY
-            mkl_blas
+            libmkl_blas${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )
 ELSE()
     find_library(MKL_BLAS_LP_LIBRARY
-            mkl_blas95_lp64
+            libmkl_blas95_lp64${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )
     find_library(MKL_BLAS_ILP_LIBRARY
-            mkl_blas95_ilp64
+            libmkl_blas95_ilp64${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
@@ -211,26 +215,26 @@
 # Lapack
 IF("${MKL_ARCH_DIR}" STREQUAL "32")
     find_library(MKL_LAPACK_LP_LIBRARY
-            mkl_lapack
+            libmkl_lapack${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )
     find_library(MKL_LAPACK_ILP_LIBRARY
-            mkl_lapack
+            libmkl_lapack${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )
 ELSE()
     find_library(MKL_LAPACK_LP_LIBRARY
-            mkl_lapack95_lp64
+            libmkl_lapack95_lp64${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
             )
     find_library(MKL_LAPACK_ILP_LIBRARY
-            mkl_lapack95_ilp64
+            libmkl_lapack95_ilp64${MKL_LIB_SUFFIX}
             HINTS ${MKL_ROOT_DIR}
             PATH_SUFFIXES
             lib lib/${MKL_ARCH_DIR}
@@ -252,7 +256,7 @@
 IF("${MKL_ARCH_DIR}" STREQUAL "32")
     IF(UNIX AND NOT APPLE)
         find_library(MKL_IOMP5_LIBRARY
-                iomp5
+                libiomp5${MKL_LIB_SUFFIX}
                 PATHS
                 ${MKL_ROOT_DIR}/../lib/ia32
                 )
@@ -262,7 +266,7 @@
 else()
     IF(UNIX AND NOT APPLE)
         find_library(MKL_IOMP5_LIBRARY
-                iomp5
+                libiomp5${MKL_LIB_SUFFIX}
                 PATHS
                 ${MKL_ROOT_DIR}/../lib/intel64
                 )


Embedded library.

Embedded library.

--- cmake/EmbeddedContent.cmake
+++ cmake/EmbeddedContent.cmake
@@ -5,8 +5,6 @@

 file(GLOB EMBEDDED_FILES "src/main/web/*")
-list(APPEND EMBEDDED_FILES "${CMAKE_SOURCE_DIR}/src/main/c/internal/Embedded.h")
-

 add_custom_command(OUTPUT Embedded.cpp
@@ -14,4 +12,4 @@
                         COMMENT "Generate embedded content"
                         )

-add_Library(embedded Embedded.cpp)
+add_Library(embedded STATIC Embedded.cpp)


Indent cmake files.

Indent cmake files.

--- cmake/Modules/FindLua.cmake
+++ cmake/Modules/FindLua.cmake
@@ -65,13 +65,13 @@
     include/luajit-2.1 include/luajit-2.0
     include/lua include
   PATHS
-  ${LUAENV_ROOT}
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw # Fink
-  /opt/local # DarwinPorts
-  /opt/csw # Blastwave
-  /opt
+    ${LUAENV_ROOT}
+    ~/Library/Frameworks
+    /Library/Frameworks
+    /sw # Fink
+    /opt/local # DarwinPorts
+    /opt/csw # Blastwave
+    /opt
 )

 find_library(LUA_LIBRARY
@@ -80,13 +80,13 @@
     ENV LUA_DIR
   PATH_SUFFIXES lib
   PATHS
-  ${LUAENV_ROOT}
-  ~/Library/Frameworks
-  /Library/Frameworks
-  /sw
-  /opt/local
-  /opt/csw
-  /opt
+    ${LUAENV_ROOT}
+    ~/Library/Frameworks
+    /Library/Frameworks
+    /sw
+    /opt/local
+    /opt/csw
+    /opt
 )

 if (LUA_LIBRARY)


Fix NOT WITH_PYTHON

Fix NOT WITH_PYTHON

--- cmake/external/python.cmake
+++ cmake/external/python.cmake
@@ -221,3 +221,7 @@

 INCLUDE_DIRECTORIES(${PYTHON_INCLUDE_DIR})
 INCLUDE_DIRECTORIES(${PYTHON_NUMPY_INCLUDE_DIR})
+
+IF(NOT WITH_PYTHON)
+    SET(PYTHON_LIBRARIES "")
+ENDIF()


mkl-dnn use CMAKE_INSTALL_LIBDIR to handle lib vs lib64 directory name difference. (#2511)

--- cmake/external_mkldnn.cmake
+++ cmake/external_mkldnn.cmake
@@ -231,7 +231,7 @@
 ExternalProject_Add_Step(
     ext_mkldnn
     CopyMKLDNN
-    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${EXTERNAL_PROJECTS_ROOT}/mkldnn/lib/${MKLDNN_LIB} ${NGRAPH_LIBRARY_OUTPUT_DIRECTORY}
+    COMMAND ${CMAKE_COMMAND} -E copy_if_different ${EXTERNAL_PROJECTS_ROOT}/mkldnn/${CMAKE_INSTALL_LIBDIR}/${MKLDNN_LIB} ${NGRAPH_LIBRARY_OUTPUT_DIRECTORY}
     COMMENT "Copy mkldnn runtime libraries to ngraph build directory."
     DEPENDEES install
     )
@@ -240,7 +240,7 @@
     ExternalProject_Add_Step(
         ext_mkldnn
         CopyMKLDNNIMP
-        COMMAND ${CMAKE_COMMAND} -E copy_if_different ${EXTERNAL_PROJECTS_ROOT}/mkldnn/lib/${MKLDNN_IMPLIB} ${NGRAPH_ARCHIVE_OUTPUT_DIRECTORY}
+        COMMAND ${CMAKE_COMMAND} -E copy_if_different ${EXTERNAL_PROJECTS_ROOT}/mkldnn/${CMAKE_INSTALL_LIBDIR}/${MKLDNN_IMPLIB} ${NGRAPH_ARCHIVE_OUTPUT_DIRECTORY}
         COMMENT "Copy mkldnn runtime libraries to ngraph build directory."
         DEPENDEES install
         )


[CMake] Give lldb tools functional install targets when building LLDB.framework

Summary:
This change makes the install targets for lldb tools functional when
building for the framework.

I am currently working on the install rules for lldb-framework and this will
let me make `install-lldb-framework` rely on `install-lldb-argdumper` for
instance. This is especially important for `install-lldb-framework-stripped`. It
is much better for `install-lldb-framework-stripped` to rely on
`install-lldb-argdumper-stripped` than to copy and strip lldb-argdumper
manually.

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

git-svn-id: 4c4cc70b1ef44ba2b7963015e681894188cea27e@337202 91177308-0d34-0410-b5e6-96231b3b80d8

--- cmake/modules/AddLLDB.cmake
+++ cmake/modules/AddLLDB.cmake
@@ -111,18 +111,6 @@
             RUNTIME_OUTPUT_DIRECTORY $<TARGET_FILE_DIR:liblldb>${resource_dir}
             BUILD_WITH_INSTALL_RPATH On
             INSTALL_RPATH "@loader_path/../../../${resource_dots}${_dots}/${LLDB_FRAMEWORK_INSTALL_DIR}")
-      # For things inside the framework we don't need functional install targets
-      # because CMake copies the resources and headers from the build directory.
-      # But we still need this target to exist in order to use the
-      # LLVM_DISTRIBUTION_COMPONENTS build option. We also need the
-      # install-liblldb target to depend on this tool, so that it gets put into
-      # the Resources directory before the framework is installed.
-      if(ARG_GENERATE_INSTALL)
-        add_custom_target(install-${name} DEPENDS ${name})
-        add_dependencies(install-liblldb ${name})
-        add_custom_target(install-${name}-stripped DEPENDS ${name})
-        add_dependencies(install-liblldb-stripped ${name})
-      endif()
     endif()
   endif()

@@ -132,10 +120,14 @@
           INSTALL_RPATH "@loader_path/../${LLDB_FRAMEWORK_INSTALL_DIR}")
   endif()

-  if(ARG_GENERATE_INSTALL AND NOT (ARG_INCLUDE_IN_SUITE AND LLDB_BUILD_FRAMEWORK ))
+  if(ARG_GENERATE_INSTALL)
+    set(out_dir "bin")
+    if (LLDB_BUILD_FRAMEWORK AND ARG_INCLUDE_IN_SUITE)
+      set(out_dir ${LLDB_FRAMEWORK_INSTALL_DIR}/${LLDB_FRAMEWORK_RESOURCE_DIR})
+    endif()
     install(TARGETS ${name}
           COMPONENT ${name}
-          RUNTIME DESTINATION bin)
+          RUNTIME DESTINATION ${out_dir})
     if (NOT CMAKE_CONFIGURATION_TYPES)
       add_llvm_install_targets(install-${name}
                                DEPENDS ${name}


Revert r220174, "Always use -Wl,-gc-sections on our build."

It dropped required functions for plugins with gnu ld 2.20 and 2.21.

  Failing Tests (1):
      LLVM :: Feature/load_module.ll

  Hello: bin/opt: symbol lookup error: lib/LLVMHello.so: undefined symbol: _ZN4llvm11raw_ostream13write_escapedENS_9StringRefEb

  Failing Tests (1):
      Clang :: Frontend/plugins.c

  error: unable to load plugin 'lib/PrintFunctionNames.so': 'lib/PrintFunctionNames.so: undefined symbol: _ZN5clang15PluginASTAction6anchorEv'

I think we should inspect linker's version or behavior to introduce --gc-sections for --export-dynamic.

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -141,18 +141,15 @@
 endfunction(add_llvm_symbol_exports)

 function(add_dead_strip target_name)
-  if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
-    # ld64's implementation of -dead_strip breaks tools that use plugins.
-    if(NOT LLVM_NO_DEAD_STRIP)
+  if(NOT LLVM_NO_DEAD_STRIP)
+    if(${CMAKE_SYSTEM_NAME} MATCHES "Darwin")
       set_property(TARGET ${target_name} APPEND_STRING PROPERTY
                    LINK_FLAGS " -Wl,-dead_strip")
-    endif()
-  elseif(NOT WIN32)
-    # Object files are compiled with -ffunction-data-sections.
-    # On ELF --gc-sections handles --export-dynamic correctly, so we can always
-    # use it.
-    set_property(TARGET ${target_name} APPEND_STRING PROPERTY
-                 LINK_FLAGS " -Wl,--gc-sections")
+    elseif(NOT WIN32)
+      # Object files are compiled with -ffunction-data-sections.
+      set_property(TARGET ${target_name} APPEND_STRING PROPERTY
+                   LINK_FLAGS " -Wl,--gc-sections")
+    endif()
   endif()
 endfunction(add_dead_strip)


[CMake] s/LLVM_SOURCE_DIR/LLVM_MAIN_SRC_DIR/

Fix-up for r247305 to use the right variable. There's another use of
LLVM_SOURCE_DIR in this file that is probably also questionable, but it's
for Windows so I'm going to leave it alone.

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -593,7 +593,7 @@
   if(XCODE)
     # Note: the dummy.cpp source file provides no definitions. However,
     # it forces Xcode to properly link the static library.
-    list(APPEND ALL_FILES "${LLVM_SOURCE_DIR}/cmake/dummy.cpp")
+    list(APPEND ALL_FILES "${LLVM_MAIN_SRC_DIR}/cmake/dummy.cpp")
   endif()

   if( EXCLUDE_FROM_ALL )


Fix git-based PROJECT_VERSION [skip ci]

Fix git-based PROJECT_VERSION [skip ci]

--- cmake/project_version.cmake
+++ cmake/project_version.cmake
@@ -14,6 +14,11 @@
     PROJECT_VERSION
     ${PROJECT_VERSION}
   )
+  string(REGEX
+    REPLACE "^v(.*)" "\\1"
+    PROJECT_VERSION
+    ${PROJECT_VERSION}
+  )
 else()
   set(PROJECT_VERSION "0.0.0")
 endif()


fix macos build error

fix macos build error

Summary:
Undefined symbols for architecture x86_64:
  "boost::system::system_category()", referenced from:
      ___cxx_global_var_init.6 in libredex.a(CallGraph.cpp.o)
      ___cxx_global_var_init.6 in libredex.a(DexClass.cpp.o)
      ___cxx_global_var_init.6 in libredex.a(DexLoader.cpp.o)
      ___cxx_global_var_init.6 in libredex.a(DexOutput.cpp.o)
      ___cxx_global_var_init.6 in libredex.a(DexUtil.cpp.o)
      ___cxx_global_var_init.6 in libredex.a(Inliner.cpp.o)
Closes https://github.com/facebook/redex/pull/293

Reviewed By: justinjhendrick

Differential Revision: D6872453

Pulled By: minjang

fbshipit-source-id: a18f52f975851eee2bedba454aea94cd110cfc4c

--- cmake_modules/Commons.cmake
+++ cmake_modules/Commons.cmake
@@ -25,7 +25,7 @@
 endmacro()

 macro(add_dependent_packages_for_redex)
-    find_package(Boost 1.56.0 REQUIRED COMPONENTS regex filesystem program_options iostreams thread)
+    find_package(Boost 1.56.0 REQUIRED COMPONENTS system regex filesystem program_options iostreams thread)
     print_dirs("${Boost_INCLUDE_DIRS}" "Boost_INCLUDE_DIRS")
     print_dirs("${Boost_LIBRARIES}" "Boost_LIBRARIES")


Fix tests to work with Coverage 4.0

Fix tests to work with Coverage 4.0

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

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

--- tests/PythonTests.cmake
+++ tests/PythonTests.cmake
@@ -44,7 +44,7 @@
     add_test(
       NAME ${name}
       WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
-      COMMAND "${PYTHON_COVERAGE_EXECUTABLE}" run -p --append "--rcfile=${py_coverage_rc}"
+      COMMAND "${PYTHON_COVERAGE_EXECUTABLE}" run --parallel-mode "--rcfile=${py_coverage_rc}"
               "--source=romanesco" -m unittest -v ${module}
     )
   else()
@@ -77,7 +77,7 @@
     add_test(
       NAME ${name}
       WORKING_DIRECTORY "${PROJECT_SOURCE_DIR}"
-      COMMAND "${PYTHON_COVERAGE_EXECUTABLE}" run -p --append "--rcfile=${py_coverage_rc}"
+      COMMAND "${PYTHON_COVERAGE_EXECUTABLE}" run --parallel-mode "--rcfile=${py_coverage_rc}"
               "--source=romanesco" "${py_testdir}/docstring_test.py" -v ${module}
     )
   else()


Split off 8.6.6

Split off 8.6.6

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

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


Split off 7.12.66

Split off 7.12.66

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 65 )
+set ( HPCC_POINT 67 )
 set ( HPCC_MATURITY "closedown" )
 set ( HPCC_SEQUENCE 0 )
 ###


Graph Control 6.0.4-1 Gold

Graph Control 6.0.4-1 Gold

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

--- version.cmake
+++ version.cmake
@@ -4,8 +4,8 @@
 set ( HPCC_PROJECT "community" )
 set ( HPCC_MAJOR 6 )
 set ( HPCC_MINOR 0 )
-set ( HPCC_POINT 3 )
-set ( HPCC_MATURITY "closedown" )
+set ( HPCC_POINT 4 )
+set ( HPCC_MATURITY "release" )
 set ( HPCC_SEQUENCE 1 )
 ###
 IF ( ${HPCC_POINT} GREATER 65 )


cmake: Remove version modifier to ensure package version increments

--- version.cmake
+++ version.cmake
@@ -16,4 +16,4 @@
 set(TCAM_VERSION_MAJOR 0)
 set(TCAM_VERSION_MINOR 14)
 set(TCAM_VERSION_PATCH 0)
-set(TCAM_VERSION_MODIFIER "-1")
+set(TCAM_VERSION_MODIFIER "")


Add CTest configuration when building standalone languages

--- CMake/sitkProjectLanguageCommon.cmake
+++ CMake/sitkProjectLanguageCommon.cmake
@@ -30,6 +30,9 @@
   if (BUILD_TESTING)
     enable_testing()
     include(sitkAddTest)
+
+    configure_file("${SimpleITK_SOURCE_DIR}/CMake/CTestCustom.cmake.in" CTestCustom.cmake)
+
   endif()

 else()


cmake: restore use of GNU extensions from libc

--- tools/cmake/build.cmake
+++ tools/cmake/build.cmake
@@ -91,7 +91,7 @@
     unset(c_compile_options)
     unset(cxx_compile_options)

-    list(APPEND compile_definitions "-DHAVE_CONFIG_H")
+    list(APPEND compile_definitions "-DHAVE_CONFIG_H" "-D_GNU_SOURCE")

     list(APPEND compile_options     "-ffunction-sections"
                                     "-fdata-sections"


[windows] fix AMENT_PREFIX_PATH handling

--- ament_cmake_core/cmake/index/ament_index_get_resources.cmake
+++ ament_cmake_core/cmake/index/ament_index_get_resources.cmake
@@ -19,7 +19,20 @@
       "arguments: ${ARGN}")
   endif()

-  string(REPLACE ":" ";" paths_to_search "$ENV{AMENT_PREFIX_PATH}")
+  if(NOT WIN32)
+    string(REPLACE ":" ";" raw_paths_to_search "$ENV{AMENT_PREFIX_PATH}")
+  else()
+    # The path separator is already ; on Windows, plus the C:\'s : would match.
+    set(raw_paths_to_search "$ENV{AMENT_PREFIX_PATH}")
+  endif()
+  # Remove any empty strings and make sure slashes are consistent
+  set(paths_to_search)
+  foreach(path IN LISTS raw_paths_to_search)
+    if(NOT "${path} " STREQUAL " ")
+      string(REPLACE "\\" "/" normalized_path "${path}")
+      list(APPEND paths_to_search "${normalized_path}")
+    endif()
+  endforeach()
   # Remove CMAKE_INSTALL_PREFIX if it is in the list of paths to search,
   # and add it to the list at the front
   list(REMOVE_ITEM paths_to_search "${CMAKE_INSTALL_PREFIX}")


Add iOS 7.1

Add iOS 7.1

--- os/iphone.cmake
+++ os/iphone.cmake
@@ -36,7 +36,7 @@

 # Order is important(!)
 # Set high priority to the last
-set(IOS_SDK_VERSIONS 5.0 5.1 6.0 6.1 7.0)
+set(IOS_SDK_VERSIONS 5.0 5.1 6.0 6.1 7.0 7.1)
 foreach(x ${IOS_SDK_VERSIONS})
   execute_process(
       COMMAND


BUG: VTK_LIBRARY_DIRS in VTKConfig.cmake must point to PREFIX/bin for shared library builds on Cygwin.  Cygwin programs link directly to the .dll files.

--- vtkGenerateVTKConfig.cmake
+++ vtkGenerateVTKConfig.cmake
@@ -156,7 +156,12 @@
 )

 # Link directories.
-SET(VTK_LIBRARY_DIRS_CONFIG ${DOLLAR}{VTK_INSTALL_PREFIX}${VTK_INSTALL_LIB_DIR})
+IF(CYGWIN AND BUILD_SHARED_LIBS)
+  # In Cygwin programs directly link to the .dll files.
+  SET(VTK_LIBRARY_DIRS_CONFIG ${DOLLAR}{VTK_INSTALL_PREFIX}${VTK_INSTALL_BIN_DIR})
+ELSE(CYGWIN AND BUILD_SHARED_LIBS)
+  SET(VTK_LIBRARY_DIRS_CONFIG ${DOLLAR}{VTK_INSTALL_PREFIX}${VTK_INSTALL_LIB_DIR})
+ENDIF(CYGWIN AND BUILD_SHARED_LIBS)

 # Runtime directories.
 IF(WIN32)


No push for now

No push for now

--- CI/prepare_superbuild.cmake
+++ CI/prepare_superbuild.cmake
@@ -345,20 +345,20 @@

 # push
 # we should be able to do a simple : git push origin $BRANCH_NAME
-execute_process(
-  COMMAND ${GIT} "push" "${REPOSITORY_GIT_URL}" "${BRANCH_NAME}"
-  WORKING_DIRECTORY ${SB_ARTIFACT_GIT}
-  RESULT_VARIABLE push_res
-  OUTPUT_VARIABLE push_out
-  ERROR_VARIABLE push_err
-  )
-
-if ( DEBUG )
-  message( "Step 7: push")
-  message( "push_res = ${push_res}" )
-  message( "push_out = ${push_out}" )
-  message( "push_err = ${push_err}" )
-endif()
+# execute_process(
+#   COMMAND ${GIT} "push" "${REPOSITORY_GIT_URL}" "${BRANCH_NAME}"
+#   WORKING_DIRECTORY ${SB_ARTIFACT_GIT}
+#   RESULT_VARIABLE push_res
+#   OUTPUT_VARIABLE push_out
+#   ERROR_VARIABLE push_err
+#   )
+
+# if ( DEBUG )
+#   message( "Step 7: push")
+#   message( "push_res = ${push_res}" )
+#   message( "push_out = ${push_out}" )
+#   message( "push_err = ${push_err}" )
+# endif()

 # MacOS cleanup
 if(APPLE)


build-3.98.1 never should've been committed.  Oops.

--- plugins/vtkLFMReader/build-3.98.1/install_vtkLFMReader.cmake
+++ plugins/vtkLFMReader/build-3.98.1/install_vtkLFMReader.cmake
@@ -1,35 +0,0 @@
-if (APPLE)
-  set (SHARED_LIBRARY_PREFIX "lib")
-  set (SHARED_LIBRARY_SUFFIX ".dylib")
-  set (PLUGIN_DIR "lib")
-elseif (UNIX)
-  set (SHARED_LIBRARY_PREFIX "lib")
-  set (SHARED_LIBRARY_SUFFIX ".so")
-  set (PLUGIN_DIR "lib")
-elseif (WIN32)
-  set (SHARED_LIBRARY_PREFIX "")
-  set (SHARED_LIBRARY_SUFFIX ".dll")
-  set (PLUGIN_DIR "bin")
-endif()
-
-execute_process(COMMAND ${CMAKE_COMMAND} -E remove_directory ${TMP_DIR}/vtkLFMReader)
-execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory ${TMP_DIR}/vtkLFMReader)
-execute_process(COMMAND ${CMAKE_COMMAND} -E copy ${BINARY_DIR}/${SHARED_LIBRARY_PREFIX}vtkLFMReader${SHARED_LIBRARY_SUFFIX} ${TMP_DIR}/vtkLFMReader)
-
-if (APPLE)
-  execute_process(
-      COMMAND ${PV_SUPERBUILD_LIST_DIR}/apple/fixup_plugin.py
-            # The directory containing the plugin dylibs or the plugin itself.
-            ${TMP_DIR}/vtkLFMReader//${SHARED_LIBRARY_PREFIX}vtkLFMReader${SHARED_LIBRARY_SUFFIX}
-            # names to replace (in order)
-            "${PARAVIEW_BINARY_DIR}/lib/=@executable_path/../Libraries/"
-            "${QT_LIBRARY_DIR}/Qt=@executable_path/../Frameworks/Qt"
-            "${QT_LIBRARY_DIR}/=@executable_path/../Libraries/"
-            "libhdf5.7.3.0.dylib=@executable_path/../Libraries/libhdf5.1.8.9.dylib"
-            "libhdf5_hl.7.3.0.dylib=@executable_path/../Libraries/libhdf5.1.8.9.dylib"
-            )
-endif()
-
-execute_process(
-  COMMAND ${CMAKE_COMMAND} -E tar cvfz ${bundle_name} vtkLFMReader
-  WORKING_DIRECTORY ${TMP_DIR})


SUPERBUILD: disable Shark examples compilation

--- SuperBuild/CMake/External_shark.cmake
+++ SuperBuild/CMake/External_shark.cmake
@@ -29,6 +29,7 @@
       -DBUILD_SHARED_LIBS:BOOL=ON
       -DBUILD_DOCS:BOOL=OFF
       -DBUILD_EXAMPLES:BOOL=OFF
+      -DBUILD_TESTING:BOOL=OFF
       -DENABLE_HDF5:BOOL=OFF
       CMAKE_COMMAND ${SB_CMAKE_COMMAND}
     )


cmake: Install fortran libraries in "Library" destination instead of "Runtime"

--- SPHARM-PDM.cmake
+++ SPHARM-PDM.cmake
@@ -44,7 +44,7 @@
 if(DEFINED Slicer_DIR AND NOT APPLE)
   Fortran_InstallLibrary(
     FILES ${Fortran_${LAPACKE_Fortran_COMPILER_ID}_RUNTIME_LIBRARIES}
-    DESTINATION ${${LOCAL_PROJECT_NAME}_INSTALL_RUNTIME_DESTINATION} COMPONENT RuntimeLibraries
+    DESTINATION ${${LOCAL_PROJECT_NAME}_INSTALL_LIBRARY_DESTINATION} COMPONENT RuntimeLibraries
     )
 endif()


refactoring bits in package lookup

refactoring bits in package lookup

--- scripts/PackageLookup.cmake
+++ scripts/PackageLookup.cmake
@@ -84,19 +84,18 @@

 macro(_find_package_for_lookup package REQUIRED QUIET DOWNLOAD CHECK)
     string(TOUPPER "${package}" PACKAGE)
-    unset(recursive)
+    set(recursive FALSE)
     _get_sane_name(${package} SANENAME)
     if(${SANENAME}_RECURSIVE) # Called by recursive step
         set(recursive TRUE)
         if(${package}_NOFIND)
             set(${package}_FOUND TRUE CACHE BOOL "")
         endif()
-        delete_variables("${PACKAGE}_LIBRAR.*" "${PACKAGE}_INCLU.*"
-           "${PACKAGE}_.*_FLAGS")
+        delete_package_variables(${package})
     endif()
     # First try and find package (unless downloading by default)
     set(dolook TRUE)
-    if(DOWNLOAD AND NOT recursive)
+    if(${DOWNLOAD} AND NOT ${recursive})
         if(CHECK)
             set(do_rootchange TRUE)
         endif()
@@ -193,6 +192,24 @@
     endif()
     set(${variable} "${filename}" PARENT_SCOPE)
 endfunction()
+
+macro(delete_package_variables package)
+    string(TOUPPER "${package}" PACKAGE)
+    delete_variables(
+       "LOOKUP_${package}" "LOOKUP_${PACKAGE}"
+       "^${package}_LIBRAR.*" "^${PACKAGE}_LIBRAR.*"
+       "^${package}_.*_LIBRAR.*" "^${PACKAGE}_.*_LIBRAR.*"
+       "^${package}_INCLUD.*" "^${PACKAGE}_INCLUD.*"
+       "^${package}_.*_INCLUD.*" "^${PACKAGE}_.*_INCLUD.*"
+       "^${package}_FOUND" "^${PACKAGE}_FOUND"
+       "^${package}_.*_FLAGS" "^${PACKAGE}_.*_FLAGS"
+       "^${package}_.*CXXFLAGS" "^${PACKAGE}_.*CXXFLAGS"
+       "^${package}_.*CFLAGS" "^${PACKAGE}_.*CFLAGS"
+       "^${package}_.*F9.FLAGS" "^${PACKAGE}_.*F9.FLAGS"
+    )
+    unset(${package}_FOUND)
+    unset(${PACKAGE}_FOUND)
+endmacro()

 # Looks for a lookup package file and includes it.
 macro(lookup_package package)
@@ -219,9 +236,9 @@
         set(${package}_KEEP FALSE)
     endif()
     # users can request to download the package explicitly on the command-line
-    if(LOOKUP_${package})
+    if(LOOKUP_${package} OR LOOKUP_${PACKAGE})
         set(${package}_DOWNLOAD_BY_DEFAULT TRUE)
-        unset(LOOKUP_${package} CACHE)
+        delete_package_variables(${package})
     endif()

     # Reappends components


Add explanatory comment

Add explanatory comment

--- CDT/conan_basic_setup.cmake
+++ CDT/conan_basic_setup.cmake
@@ -1,6 +1,7 @@
 if(EXISTS "${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake")
     message(STATUS "Detected Conan build: perform conan setup")
     include("${CMAKE_CURRENT_SOURCE_DIR}/conanbuildinfo.cmake")
+    # See: https://docs.conan.io/en/latest/howtos/manage_shared_libraries/rpaths.html#default-conan-approach
     if(APPLE)
         conan_basic_setup(KEEP_RPATHS)
     else()


Run cppcheck always when it is enabled

Run cppcheck always when it is enabled

--- CMake/StaticAnalyzers.cmake
+++ CMake/StaticAnalyzers.cmake
@@ -14,15 +14,15 @@
     --error-exitcode=1
     --language=c++
     --inline-suppr
-    --verbose
     --suppress=missingIncludeSystem
-    --template='{file}:{line},{severity},{id},{message}'
+    # cmake-format: off
+    --template='{file}:{line} [{severity}/{id}]: {message}'
+    # cmake-format: on
     --project=${CMAKE_BINARY_DIR}/compile_commands.json
-    ${CMAKE_SOURCE_DIR}/projects/
   )
   set(CMAKE_EXPORT_COMPILE_COMMANDS ON)
   add_custom_target(
-    check
+    check ALL
     COMMAND ${CPPCHECK} ${CPPCHECK_ARGS}
     COMMENT "running cppcheck"
   )


cmake BUGFIX invalid fing libyang if

cmake BUGFIX invalid fing libyang if

--- CMakeModules/FindYANG.cmake
+++ CMakeModules/FindYANG.cmake
@@ -70,7 +70,7 @@
       ${CMAKE_INSTALL_PREFIX}/lib
   )

-  if ()
+  if (LIBYANG_LIBRARIES AND LIBYANG_INCLUDE_DIRS)
     set(LIBYANG_FOUND TRUE)
   else ()
     set(LIBYANG_FOUND FALSE)


Mark ENABLE_APP_BUNDLE_INSTALL advanced

Mark ENABLE_APP_BUNDLE_INSTALL advanced

Users should not enable this option. Hide it to remove the temptation.

--- CMake_install_options.cmake
+++ CMake_install_options.cmake
@@ -3,6 +3,7 @@
 # option to build Mac OS X .app packages
 if (APPLE)
 option(ENABLE_APP_BUNDLE_INSTALL "Enable installation of an app bundle installation" OFF)
+mark_as_advanced(ENABLE_APP_BUNDLE_INSTALL)
 endif(APPLE)

 option(ENABLE_EMBED_CUDA "Enable embedding of the CUDA libraries into lib/hoomd" OFF)


Remove obsolete BLUEBERRY_DOC_TOOLS_DIR

Remove obsolete BLUEBERRY_DOC_TOOLS_DIR

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -380,12 +380,6 @@
 if(MITK_DOXYGEN_BUILD_ALWAYS)
   list(APPEND mitk_optional_cache_args
     -DMITK_DOXYGEN_BUILD_ALWAYS:BOOL=${MITK_DOXYGEN_BUILD_ALWAYS}
-  )
-endif()
-
-if(BLUEBERRY_DOC_TOOLS_DIR)
-  list(APPEND mitk_optional_cache_args
-    "-DBLUEBERRY_DOC_TOOLS_DIR:PATH=${BLUEBERRY_DOC_TOOLS_DIR}"
   )
 endif()


extension building test

extension building test

--- SuperBuild.cmake
+++ SuperBuild.cmake
@@ -5,7 +5,7 @@
 message(STATUS "-----------------------------reading SuperBuild.cmake------------------------------")

 if (DEFINED ${LOCAL_PROJECT_NAME}_BUILD_SLICER_EXTENSION)
-message(STATUS "-----------------------------BUILD_SLICER_EXTENSION defined------------------------------  ${Slicer_DIR} ")
+message(STATUS "-----------------------------BUILD_SLICER_EXTENSION defined------------------------------ Slicer_DIR : ${Slicer_DIR} ")
 set(extension_args "-DSlicer_DIR=${Slicer_DIR} -DSlicer_EXTENSION_DESCRIPTION_DIR=${Slicer_EXTENSION_DESCRIPTION_DIR} -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}")
 else()
 message(STATUS "-----------------------------BUILD_SLICER_EXTENSION not defined------------------------------")


Build: adapt to fixed lcov-1.13 --remove parameter pattern

--- cmake/g++.cmake
+++ cmake/g++.cmake
@@ -60,7 +60,7 @@
     COMMAND ${CMAKE_COMMAND} --build . --target test
     COMMAND ${LCOV} ${LCOV_ARGS} --capture --no-external --derive-func-data --output-file sal-tests.info
     COMMAND ${LCOV} ${LCOV_ARGS} --add-tracefile sal-base.info --add-tracefile sal-tests.info --output-file sal.info
-    COMMAND ${LCOV} ${LCOV_ARGS} --remove sal.info '*.test.?pp' 'gtest/*' --output-file sal.info
+    COMMAND ${LCOV} ${LCOV_ARGS} --remove sal.info '*.test.?pp' '*/gtest/*' --output-file sal.info
     COMMAND ${LCOV} ${LCOV_ARGS} --list sal.info
     COMMAND ${LCOV} ${LCOV_ARGS} --summary sal.info
   )


cmake configure git to auto-update git submodules

--- git-hooks.cmake
+++ git-hooks.cmake
@@ -33,8 +33,7 @@

 	#git version 2.9 can use a different hooks location
 	if((${CMAKE_MATCH_1} GREATER 2) OR
-		((${CMAKE_MATCH_1} EQUAL 2) AND
-		((${CMAKE_MATCH_9} GREATER 9) OR (${CMAKE_MATCH_1} EQUAL 9))))
+		((${CMAKE_MATCH_1} EQUAL 2) AND (${CMAKE_MATCH_2} GREATER 8)))
 		message("Setting hooks directory")
 		execute_process(
 			COMMAND git config core.hooksPath git-hooks
@@ -44,4 +43,15 @@
 		message("Copying hook scripts")
 		configure_file ("${CMAKE_SOURCE_DIR}/git-hooks/pre-commit" "${CMAKE_SOURCE_DIR}/.git/hooks/pre-commit" COPYONLY)
 	endif()
+
+	#git version 2.14 can keep submodules updated
+	if((${CMAKE_MATCH_1} GREATER 2) OR
+		((${CMAKE_MATCH_1} EQUAL 2) AND (${CMAKE_MATCH_2} GREATER 13)))
+		message("Setting submodule recurse")
+		execute_process(
+			COMMAND git config submodule.recurse true
+			WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}
+		)
+	endif()
+
 endif()


PKG: check FOUND_ to avoid searching executable again

--- SuperBuild/Packaging/PackageHelper.cmake
+++ SuperBuild/Packaging/PackageHelper.cmake
@@ -48,9 +48,9 @@
   list(APPEND PKG_SEARCHDIRS "${OTB_INSTALL_DIR}/bin") #otbApplicationLauncherCommandLine..
   list(APPEND PKG_SEARCHDIRS "${OTB_APPLICATIONS_DIR}") #otb apps

-  set(EXE_SEARCH_DIRS ${OTB_INSTALL_DIR}/bin)
-  list(APPEND  EXE_SEARCH_DIRS ${MONTEVERDI_INSTALL_DIR}/bin)
-  list(APPEND  EXE_SEARCH_DIRS ${DEPENDENCIES_INSTALL_DIR}/bin)
+  set(EXE_SEARCHDIRS ${OTB_INSTALL_DIR}/bin)
+  list(APPEND  EXE_SEARCHDIRS ${MONTEVERDI_INSTALL_DIR}/bin)
+  list(APPEND  EXE_SEARCHDIRS ${DEPENDENCIES_INSTALL_DIR}/bin)

   empty_package_staging_directory()

@@ -450,16 +450,18 @@
   list(APPEND EXE_FILES "otbTestDriver")
   list(APPEND EXE_FILES "monteverdi")
   list(APPEND EXE_FILES "mapla")
+
   foreach(EXE_FILE ${EXE_FILES})
     set(FOUND_${EXE_FILE} FALSE)
-    foreach(EXE_SEARCH_DIR ${EXE_SEARCH_DIRS})
-      if(EXISTS "${EXE_SEARCH_DIR}/${EXE_FILE}${EXE_EXT}")
-        set(FOUND_${EXE_FILE} TRUE)
-        #see the first comment about VAR_IN_PKGSETUP_CONFIGURE
-        set(VAR_IN_PKGSETUP_CONFIGURE "${VAR_IN_PKGSETUP_CONFIGURE} bin/${EXE_FILE}${EXE_EXT}")
-        list(APPEND PKG_PEFILES
-          "${EXE_SEARCH_DIR}/${EXE_FILE}${EXE_EXT}")
-      endif()
+    foreach(EXE_SEARCHDIR ${EXE_SEARCHDIRS})
+      if(NOT FOUND_${EXE_FILE})
+        if(EXISTS "${EXE_SEARCHDIR}/${EXE_FILE}${EXE_EXT}")
+          set(FOUND_${EXE_FILE} TRUE)
+          #see the first comment about VAR_IN_PKGSETUP_CONFIGURE
+          set(VAR_IN_PKGSETUP_CONFIGURE "${VAR_IN_PKGSETUP_CONFIGURE} bin/${EXE_FILE}${EXE_EXT}")
+          list(APPEND PKG_PEFILES "${EXE_SEARCHDIR}/${EXE_FILE}${EXE_EXT}")
+        endif()
+      endif() #(NOT FOUND_${EXE_FILE})
     endforeach() #EXE_SEARCH_DIR
   endforeach()


Dependencies: update zlib

Dependencies: update zlib

--- CMake/Dependencies.cmake
+++ CMake/Dependencies.cmake
@@ -131,9 +131,9 @@
     if(MSVC OR MINGW OR SKBUILD) # other platforms dont need this
       message(STATUS "Building zlib") # only needed for Assimp
       file(DOWNLOAD
-          http://zlib.net/zlib-1.2.12.tar.gz
-          ${PROJECT_BINARY_DIR}/zlib-1.2.12.tar.gz
-          EXPECTED_HASH SHA256=91844808532e5ce316b3c010929493c0244f3d37593afd6de04f71821d5136d9)
+          http://zlib.net/zlib-1.2.13.tar.gz
+          ${PROJECT_BINARY_DIR}/zlib-1.2.13.tar.gz
+          EXPECTED_HASH SHA256=b3a24de97a8fdbc835b9833169501030b8977031bcb54b3b3ac13740f846ab30)
       execute_process(COMMAND ${CMAKE_COMMAND}
           -E tar xf zlib-1.2.12.tar.gz WORKING_DIRECTORY ${PROJECT_BINARY_DIR})
       execute_process(COMMAND ${BUILD_COMMAND_COMMON}


enable large input flag on OTB cache args

--- CMake/External_OTB.cmake
+++ CMake/External_OTB.cmake
@@ -185,6 +185,8 @@
       -DBUILD_APPLICATIONS:BOOL=ON
       -DCMAKE_PREFIX_PATH:STRING=${CMAKE_INSTALL_PREFIX}
       -DOTB_DATA_ROOT:STRING=${OTB_DATA_ROOT}
+      -DOTB_DATA_USE_LARGEINPUT:BOOL=${ENABLE_OTB_LARGE_INPUTS}
+      -DOTB_DATA_LARGEINPUT_ROOT:PATH=${OTB_DATA_LARGEINPUT_ROOT}
       -DOTB_USE_EXTERNAL_OSSIM:BOOL=ON
       -DOTB_USE_EXTERNAL_BOOST:BOOL=ON
       -DOTB_USE_EXTERNAL_ITK:BOOL=ON


BUG: Fix itk_module_config for repeated calls

Fix use of _${ns}_${mod}_USED settings to block reporting a module more
than once in a single itk_module_config call.  Do not leak the
_${ns}_${mod}_USED settings outside a single call to itk_module_config
so that a future call to the macro with the same ${ns} will use a fresh
set of modules.

Change-Id: I422e415f45db877512a0dcd3c588d9f74d32f515

--- CMake/ITKModuleAPI.cmake
+++ CMake/ITKModuleAPI.cmake
@@ -20,8 +20,9 @@
 endmacro()

 macro(_itk_module_config_recurse ns mod)
-  if(NOT _${ns}_${dep}_USED)
+  if(NOT _${ns}_${mod}_USED)
     set(_${ns}_${mod}_USED 1)
+    list(APPEND _${ns}_USED_MODULES ${mod})
     itk_module_load("${mod}")
     list(APPEND ${ns}_LIBRARIES ${${mod}_LIBRARIES})
     list(APPEND ${ns}_INCLUDE_DIRS ${${mod}_INCLUDE_DIRS})
@@ -63,9 +64,16 @@
   set(${ns}_LIBRARIES "")
   set(${ns}_INCLUDE_DIRS "")
   set(${ns}_LIBRARY_DIRS "")
+
+  set(_${ns}_USED_MODULES "")
   foreach(mod ${ARGN})
     _itk_module_config_recurse("${ns}" "${mod}")
   endforeach()
+  foreach(mod ${_${ns}_USED_MODULES})
+    unset(_${ns}_${mod}_USED)
+  endforeach()
+  unset(_${ns}_USED_MODULES)
+
   foreach(v ${ns}_LIBRARIES ${ns}_INCLUDE_DIRS ${ns}_LIBRARY_DIRS)
     if(${v})
       list(REMOVE_DUPLICATES ${v})


Update CTK again

Update CTK again

--- CMakeExternals/CTK.cmake
+++ CMakeExternals/CTK.cmake
@@ -74,10 +74,10 @@

     ExternalProject_Add(${proj}
       LIST_SEPARATOR ${sep}
-      URL https://www.dropbox.com/s/j9ii4udqfa6jn2k/CTK-CGS-2015.06_dcc02437.tar.gz
-      URL_MD5 1720e40402238619908c55a44d5036ff
-      #GIT_REPOSITORY https://github.com/commontk/CTK.git
-      #GIT_TAG origin/master
+      #URL https://www.dropbox.com/s/j9ii4udqfa6jn2k/CTK-CGS-2015.06_dcc02437.tar.gz
+      #URL_MD5 1720e40402238619908c55a44d5036ff
+      GIT_REPOSITORY https://github.com/AndreasFetzer/CTK.git
+      GIT_TAG origin/ctk-for-mitk-cgs-workbench-2015.06
       UPDATE_COMMAND ""
       INSTALL_COMMAND ""
       CMAKE_GENERATOR ${gen}


ForwardCacheVariables: Add include guard

--- ForwardCacheVariables.cmake
+++ ForwardCacheVariables.cmake
@@ -4,6 +4,9 @@
 # to an initial_cache.cmake file, for use in CMake sub-invocations.
 #
 # See /LICENCE.md for Copyright information
+
+include ("smspillaz/cmake-include-guard/IncludeGuard")
+cmake_include_guard (SET_MODULE_PATH)

 # psq_append_typed_cache_definition
 #


SK:

SK:

-STY: added svn props

--- src/Testing/Dashboard/elxDashboard_LKEB_win7-64_VS2008.cmake
+++ src/Testing/Dashboard/elxDashboard_LKEB_win7-64_VS2008.cmake
@@ -1,61 +1,61 @@
-# Elastix Dashboard Script
-#
-# This script runs a dashboard
-# Usage:
-#   ctest -S <nameofthisscript> -V
-#   OR
-#   ctest -S <nameofthisscript>,Model -V
-#
-# It has 1 optional argument: the build model.
-# The build model should be one of {Experimental, Continuous, Nightly}
-# and defaults to Nightly.
-# NOTE that Model should directly follow the comma: no space allowed!
-#
-# Setup: Windows 7, Visual Studio 9 2008 Win64, Release mode, ITK 3.20.0
-# PC: LKEB, MS personal computer
-
-
-# Client maintainer: m.staring@lumc.nl
-set( CTEST_SITE "LKEB.PCMarius" )
-set( CTEST_BUILD_NAME "Win7-64bit-VS2008" )
-set( CTEST_BUILD_CONFIGURATION Release )
-set( CTEST_CMAKE_GENERATOR "Visual Studio 9 2008 Win64" )
-set( CTEST_DASHBOARD_ROOT "D:/toolkits/elastix/nightly" )
-
-# default: automatically determined
-#set(CTEST_UPDATE_COMMAND /path/to/svn)
-
-# Specify the kind of dashboard to submit
-# default: Nightly
-SET( dashboard_model Nightly )
-IF( ${CTEST_SCRIPT_ARG} MATCHES Experimental )
-  SET( dashboard_model Experimental )
-ELSEIF( ${CTEST_SCRIPT_ARG} MATCHES Continuous )
-  SET( dashboard_model Continuous )
-ENDIF()
-
-#set(dashboard_do_memcheck 1)
-#set(dashboard_do_coverage 1)
-
-SET( dashboard_cache "
-// Which ITK to use:
-ITK_DIR:PATH=D:/toolkits/ITK/3.20.0/bin
-
-// Some elastix settings, defining the configuration:
-ELASTIX_BUILD_TESTING:BOOL=ON
-ELASTIX_ENABLE_PACKAGER:BOOL=ON
-ELASTIX_USE_CUDA:BOOL=ON
-ELASTIX_USE_MEVISDICOMTIFF:BOOL=OFF
-ELASTIX_IMAGE_DIMENSION:STRING=2;3;4
-ELASTIX_IMAGE_2D_PIXELTYPES:STRING=float
-ELASTIX_IMAGE_3D_PIXELTYPES:STRING=float
-ELASTIX_IMAGE_4D_PIXELTYPES:STRING=short
-
-// Compile all elastix components:
-USE_ALL_COMPONENTS:BOOL=ON
-")
-
-
-# Load the common dashboard script.
-include( ${CTEST_SCRIPT_DIRECTORY}/elxDashboardCommon.cmake )
-
+# Elastix Dashboard Script
+#
+# This script runs a dashboard
+# Usage:
+#   ctest -S <nameofthisscript> -V
+#   OR
+#   ctest -S <nameofthisscript>,Model -V
+#
+# It has 1 optional argument: the build model.
+# The build model should be one of {Experimental, Continuous, Nightly}
+# and defaults to Nightly.
+# NOTE that Model should directly follow the comma: no space allowed!
+#
+# Setup: Windows 7, Visual Studio 9 2008 Win64, Release mode, ITK 3.20.0
+# PC: LKEB, MS personal computer
+
+
+# Client maintainer: m.staring@lumc.nl
+set( CTEST_SITE "LKEB.PCMarius" )
+set( CTEST_BUILD_NAME "Win7-64bit-VS2008" )
+set( CTEST_BUILD_CONFIGURATION Release )
+set( CTEST_CMAKE_GENERATOR "Visual Studio 9 2008 Win64" )
+set( CTEST_DASHBOARD_ROOT "D:/toolkits/elastix/nightly" )
+
+# default: automatically determined
+#set(CTEST_UPDATE_COMMAND /path/to/svn)
+
+# Specify the kind of dashboard to submit
+# default: Nightly
+SET( dashboard_model Nightly )
+IF( ${CTEST_SCRIPT_ARG} MATCHES Experimental )
+  SET( dashboard_model Experimental )
+ELSEIF( ${CTEST_SCRIPT_ARG} MATCHES Continuous )
+  SET( dashboard_model Continuous )
+ENDIF()
+
+#set(dashboard_do_memcheck 1)
+#set(dashboard_do_coverage 1)
+
+SET( dashboard_cache "
+// Which ITK to use:
+ITK_DIR:PATH=D:/toolkits/ITK/3.20.0/bin
+
+// Some elastix settings, defining the configuration:
+ELASTIX_BUILD_TESTING:BOOL=ON
+ELASTIX_ENABLE_PACKAGER:BOOL=ON
+ELASTIX_USE_CUDA:BOOL=ON
+ELASTIX_USE_MEVISDICOMTIFF:BOOL=OFF
+ELASTIX_IMAGE_DIMENSION:STRING=2;3;4
+ELASTIX_IMAGE_2D_PIXELTYPES:STRING=float
+ELASTIX_IMAGE_3D_PIXELTYPES:STRING=float
+ELASTIX_IMAGE_4D_PIXELTYPES:STRING=short
+
+// Compile all elastix components:
+USE_ALL_COMPONENTS:BOOL=ON
+")
+
+
+# Load the common dashboard script.
+include( ${CTEST_SCRIPT_DIRECTORY}/elxDashboardCommon.cmake )
+


Add CMAKE_LINKER to propagate from Superbuild

This is useful when setting the linker to ld.gold

Change-Id: I814f36d7d79e7a2609930b0c96e390fbc29d82cb

--- SuperBuild/SuperBuild.cmake
+++ SuperBuild/SuperBuild.cmake
@@ -192,6 +192,8 @@
   CMAKE_CXX_FLAGS_MINSIZEREL
   CMAKE_CXX_FLAGS_RELEASE
   CMAKE_CXX_FLAGS_RELWITHDEBINFO
+
+  CMAKE_LINKER

   CMAKE_EXE_LINKER_FLAGS
   CMAKE_EXE_LINKER_FLAGS_DEBUG


Thrust bump to 1.14.0, tests passed.

Thrust bump to 1.14.0, tests passed.

--- cmake/FetchThrustCUB.cmake
+++ cmake/FetchThrustCUB.cmake
@@ -9,7 +9,7 @@
 FetchContent_Declare(
     thrust
     GIT_REPOSITORY https://github.com/thrust/thrust.git
-    GIT_TAG        1.12.0
+    GIT_TAG        1.14.0
 )

 FetchContent_GetProperties(thrust)


Fixed Typo in gtest finder (Thanks to Roman Zoller for the patch)

git-svn-id: e0b5bbb11d0e9fdbbfcabba14dc32ad5d6b235bd@1191 fdac6126-5c0c-442c-9429-916003d36597

--- cmake/FindGoogleTest.cmake
+++ cmake/FindGoogleTest.cmake
@@ -57,7 +57,7 @@
       /ACG/acgdev/gcc-4.7-x86_64/gtest/lib
       /opt/local/lib
       /usr/local/lib
-      /usr/include
+      /usr/lib
       "C:/libs/win32/gtest/lib"
       NO_DEFAULT_PATH )
     find_library(_GTEST_MAIN_LIBRARY gtest_main
@@ -67,7 +67,7 @@
       /ACG/acgdev/gcc-4.7-x86_64/gtest/lib
       /opt/local/lib
       /usr/local/lib
-      /usr/include
+      /usr/lib
       "C:/libs/win32/gtest/lib"
       NO_DEFAULT_PATH )


Updated name of zlib library for win32.

Updated name of zlib library for win32.

--- cmake/ThirdPartyZlib.cmake
+++ cmake/ThirdPartyZlib.cmake
@@ -37,8 +37,14 @@
         DOWNLOAD_DIR ${TPSRC}
         CONFIGURE_COMMAND ${CMAKE_COMMAND} -DCMAKE_INSTALL_PREFIX:PATH=${TPSRC}/dist -DCMAKE_C_FLAGS:STRING=-fPIC ${TPSRC}/src/zlib-1.2.7
     )
-    SET(ZLIB_LIBRARY z)
-    SET(ZLIB_LIBRARY_DEBUG z)
-    SET(ZLIB_LIBRARY_RELEASE z)
+    IF (WIN32)
+        SET(ZLIB_LIBRARY zlib)
+        SET(ZLIB_LIBRARY_DEBUG zlib)
+        SET(ZLIB_LIBRARY_RELEASE zlib)
+    ELSE (WIN32)
+        SET(ZLIB_LIBRARY z)
+        SET(ZLIB_LIBRARY_DEBUG z)
+        SET(ZLIB_LIBRARY_RELEASE z)
+    ENDIF (WIN32)
 ENDIF (THIRDPARTY_BUILD_ZLIB)


let CMAKE_OSX_ARCHITECTURES be default. users need to use cmake -D "CMAKE_OSX_ARCHITECTURES=..." to specify the desired archs.

--- cmake_modules/common.cmake
+++ cmake_modules/common.cmake
@@ -1,6 +1,6 @@
 SET(CMAKE_BUILD_TYPE Release) # Release | Debug
 SET(CMAKE_VERBOSE_MAKEFILE 0)
-SET(CMAKE_OSX_ARCHITECTURES i386 x86_64)
+#SET(CMAKE_OSX_ARCHITECTURES i386 x86_64)

 FIND_PATH(OpenCV_DIR OpenCVConfig.cmake
    "/opt/opencv/share/opencv"


PRJ_INFO_CMAKE_APPEND: escape before write to prj_info.cmake

--- Modules/ManageVersion.cmake
+++ Modules/ManageVersion.cmake
@@ -54,12 +54,15 @@
     PROJECT_NAME PRJ_VER PRJ_SUMMARY SUMMARY_TRANSLATIONS
     PRJ_DESCRIPTION DESCRIPTION_TRANSLATIONS
     LICENSE PRJ_GROUP MAINTAINER AUTHORS VENDER
-    BUILD_ARCH RPM_SPEC_URL RPM_SPEC_SOURCES BUILD_REQUIRES REQUIRES
+    BUILD_ARCH RPM_SPEC_URL RPM_SPEC_SOURCES
     )

 FUNCTION(PRJ_INFO_CMAKE_APPEND prjInfoFile var)
     IF(NOT "${${var}}" STREQUAL "")
-	FILE(APPEND ${prjInfoFile} "SET(${var} \"${${var}}\")\n")
+	STRING_ESCAPE_BACKSLASH(_str "${${var}}")
+	STRING_ESCAPE_DOLLAR(_str "${_str}")
+	STRING_ESCAPE_QUOTE(_str "${_str}")
+	FILE(APPEND ${prjInfoFile} "SET(${var} \"${_str}\")\n")
     ENDIF(NOT "${${var}}" STREQUAL "")
 ENDFUNCTION(PRJ_INFO_CMAKE_APPEND)


tests: drop branch coverage temporarily, Travis-CI builds are timing out

--- cmake/g++.cmake
+++ cmake/g++.cmake
@@ -29,7 +29,7 @@
   set(LCOV_ARGS
     --quiet
     --directory ${PROJECT_SOURCE_DIR}
-    --rc lcov_branch_coverage=1
+    --rc lcov_branch_coverage=0
   )

   if(DEFINED ENV{GCOV})


Remove obsolete DisplayCluster finder

Remove obsolete DisplayCluster finder

Fixes also issues in downstream projects messing up the CMakeCache
with the version.h file content.

--- FindDisplayCluster.cmake
+++ FindDisplayCluster.cmake
@@ -1,112 +0,0 @@
-# Copyright (c) 2013 Daniel Nachbaur <daniel.nachbaur@epfl.ch>
-
-# - Try to find the DisplayCluster library
-# Once done this will define
-#
-#  DISPLAYCLUSTER_ROOT - Set this variable to the root installation
-#
-# Read-Only variables:
-#  DISPLAYCLUSTER_FOUND - system has the DisplayCluster library
-#  DISPLAYCLUSTER_INCLUDE_DIR - the DisplayCluster include directory
-#  DISPLAYCLUSTER_LIBRARIES - The libraries needed to use DisplayCluster
-#  DISPLAYCLUSTER_VERSION - This is set to $major.$minor.$patch (eg. 0.9.8)
-
-include(FindPackageHandleStandardArgs)
-
-if(DisplayCluster_FIND_REQUIRED)
-  set(_DISPLAYCLUSTER_output_type FATAL_ERROR)
-else()
-  set(_DISPLAYCLUSTER_output_type STATUS)
-endif()
-if(DisplayCluster_FIND_QUIETLY)
-  set(_DISPLAYCLUSTER_output)
-else()
-  set(_DISPLAYCLUSTER_output 1)
-endif()
-
-find_path(_DISPLAYCLUSTER_INCLUDE_DIR dc/Stream.h
-  HINTS ${PROJECT_SOURCE_DIR}/../../.. $ENV{DISPLAYCLUSTER_ROOT} ${DISPLAYCLUSTER_ROOT}
-  PATH_SUFFIXES include
-  PATHS /usr /usr/local /opt /opt/local)
-
-if(_DISPLAYCLUSTER_INCLUDE_DIR AND EXISTS "${_DISPLAYCLUSTER_INCLUDE_DIR}/dc/Stream.h")
-  if(EXISTS "${_DISPLAYCLUSTER_INCLUDE_DIR}/dc/Version.h")
-   set(_DISPLAYCLUSTER_Version_file "${_DISPLAYCLUSTER_INCLUDE_DIR}/dc/Version.h")
-   file(READ ${_DISPLAYCLUSTER_Version_file} _DISPLAYCLUSTER_header_contents)
-   string(REGEX REPLACE ".*#define DISPLAYCLUSTER_VERSION ([0-9].[0-9].[0-9]).*" "\\1"
-     _DISPLAYCLUSTER_VERSION "${_DISPLAYCLUSTER_header_contents}")
-   set(DISPLAYCLUSTER_VERSION ${_DISPLAYCLUSTER_VERSION}
-      CACHE INTERNAL "The version of DisplayCluster which was detected")
-  else()
-    set(DISPLAYCLUSTER_VERSION 0.1.0
-      CACHE INTERNAL "The version of DisplayCluster which was detected")
-  endif()
-else()
-  set(_DISPLAYCLUSTER_EPIC_FAIL TRUE)
-  if(_DISPLAYCLUSTER_output)
-    message(${_DISPLAYCLUSTER_output_type}
-      "Can't find DisplayCluster header file dc/Stream.h.")
-  endif()
-endif()
-
-# Version checking
-if(DISPLAYCLUSTER_FIND_VERSION AND DISPLAYCLUSTER_VERSION)
-  if(DISPLAYCLUSTER_FIND_VERSION_EXACT)
-    if(NOT DISPLAYCLUSTER_VERSION VERSION_EQUAL ${DISPLAYCLUSTER_FIND_VERSION})
-      set(_DISPLAYCLUSTER_version_not_exact TRUE)
-    endif()
-  else()
-    # version is too low
-    if(NOT DISPLAYCLUSTER_VERSION VERSION_EQUAL ${DISPLAYCLUSTER_FIND_VERSION} AND
-        NOT DISPLAYCLUSTER_VERSION VERSION_GREATER ${DISPLAYCLUSTER_FIND_VERSION})
-      set(_DISPLAYCLUSTER_version_not_high_enough TRUE)
-    endif()
-  endif()
-endif()
-
-find_library(DISPLAYCLUSTER_LIBRARY dcstream
-  HINTS ${PROJECT_SOURCE_DIR}/../../.. $ENV{DISPLAYCLUSTER_ROOT} ${DISPLAYCLUSTER_ROOT}
-  PATH_SUFFIXES lib lib64
-  PATHS /usr /usr/local /opt /opt/local)
-
-# Inform the users with an error message based on what version they
-# have vs. what version was required.
-if(NOT DISPLAYCLUSTER_VERSION)
-  set(_DISPLAYCLUSTER_EPIC_FAIL TRUE)
-elseif(_DISPLAYCLUSTER_version_not_high_enough)
-  set(_DISPLAYCLUSTER_EPIC_FAIL TRUE)
-  if(_DISPLAYCLUSTER_output)
-    message(${_DISPLAYCLUSTER_output_type}
-      "Version ${DISPLAYCLUSTER_FIND_VERSION} or higher of DisplayCluster is required. "
-      "Version ${DISPLAYCLUSTER_VERSION} was found in ${_DISPLAYCLUSTER_Version_file}.")
-  endif()
-elseif(_DISPLAYCLUSTER_version_not_exact)
-  set(_DISPLAYCLUSTER_EPIC_FAIL TRUE)
-  if(_DISPLAYCLUSTER_output)
-    message(${_DISPLAYCLUSTER_output_type}
-      "Version ${DISPLAYCLUSTER_FIND_VERSION} of DisplayCluster is required exactly. "
-      "Version ${DISPLAYCLUSTER_VERSION} was found.")
-  endif()
-else()
-  if(DISPLAYCLUSTER_FIND_REQUIRED)
-    if(DISPLAYCLUSTER_LIBRARY MATCHES "DISPLAYCLUSTER_LIBRARY-NOTFOUND")
-      message(FATAL_ERROR "Missing the DisplayCluster library.\n"
-        "Consider using CMAKE_PREFIX_PATH or the DISPLAYCLUSTER_ROOT environment variable. "
-        "See the ${CMAKE_CURRENT_LIST_FILE} for more details.")
-    endif()
-  endif()
-  find_package_handle_standard_args(DISPLAYCLUSTER DEFAULT_MSG
-                                    DISPLAYCLUSTER_LIBRARY _DISPLAYCLUSTER_INCLUDE_DIR)
-endif()
-
-if(_DISPLAYCLUSTER_EPIC_FAIL)
-  # Zero out everything, we didn't meet version requirements
-  set(DISPLAYCLUSTER_FOUND FALSE)
-  set(DISPLAYCLUSTER_LIBRARY)
-  set(_DISPLAYCLUSTER_INCLUDE_DIR)
-  set(DISPLAYCLUSTER_INCLUDE_DIRS)
-  set(DISPLAYCLUSTER_LIBRARIES)
-else()
-  set(DISPLAYCLUSTER_INCLUDE_DIRS ${_DISPLAYCLUSTER_INCLUDE_DIR})
-  set(DISPLAYCLUSTER_LIBRARIES ${DISPLAYCLUSTER_LIBRARY})
-endif()


Remove the DEPRECATED check because it is not used at all...

git-svn-id: fbbf69ba8011aca0e74e1c67904b11cccbdbe66b@26369 0785d39b-7218-0410-832d-ea1e28bc413d

--- deal.II/contrib/cmake/check/check_for_compiler_features.cmake
+++ deal.II/contrib/cmake/check/check_for_compiler_features.cmake
@@ -159,43 +159,6 @@
   }
   "
   HAVE_LIBSTDCXX_DEMANGLER)
-
-
-
-#
-# See if the compiler understands the attribute to mark functions
-# as deprecated.
-#
-
-#
-# First see if the following compiles without error (it should
-# produce a warning but we don't care about this)
-
-
-CHECK_CXX_SOURCE_COMPILES(
-  "
-  int old_fn () __attribute__((deprecated));
-  int old_fn () {};
-  int (*fn_ptr)() = old_fn;
-  int main() { return 0; }
-  "
-  DEAL_II_COMPILER_HAS_ATTRIBUTE_DEPRECATED)
-
-LIST(APPEND CMAKE_REQUIRED_FLAGS "-Werror")
-CHECK_CXX_SOURCE_COMPILES(
-  "
-  int old_fn () __attribute__((deprecated));
-  int old_fn () {};
-  int (*fn_ptr)() = old_fn;
-  int main() { return 0; }
-  "
-  DEAL_II_COMPILER_HAS_ATTRIBUTE_DEPRECATED_SHOULD_FAIL)
-LIST(REMOVE_ITEM CMAKE_REQUIRED_FLAGS "-Werror")
-
-IF(DEAL_II_COMPILER_HAS_ATTRIBUTE_DEPRECATED AND NOT
-    DEAL_II_COMPILER_HAS_ATTRIBUTE_DEPRECATED_SHOULD_FAIL)
-  SET(DEAL_II_DEPRECATED TRUE)
-ENDIF()


Update with KERNEL file.

Update with KERNEL file.

--- adm_local_without_kernel/cmake_files/SalomeMacros.cmake
+++ adm_local_without_kernel/cmake_files/SalomeMacros.cmake
@@ -462,3 +462,27 @@
   SET(HDF5_DEFINITIONS "${HDF5_DEFINITIONS} ${MPI_DEFINITIONS}")
   SET(HDF5_LIBRARIES ${HDF5_LIBRARIES} ${MPI_LIBRARIES})
 ENDMACRO(SALOME_ADD_MPI_TO_HDF5)
+
+####################################################################
+# SALOME_XVERSION()
+#
+# Computes hexadecimal version of SALOME package
+#
+# USAGE: SALOME_XVERSION(package)
+#
+# ARGUMENTS:
+#
+# package: IN: SALOME package name
+#
+# The macro reads SALOME package version from PACKAGE_VERSION variable
+# (note package name in uppercase as assumed for SALOME modules);
+# hexadecimal version value in form 0xAABBCC (where AA, BB and CC are
+# major, minor and maintenance components of package version in
+# hexadecimal form) is put to the PACKAGE_XVERSION variable
+MACRO(SALOME_XVERSION pkg)
+  STRING(TOUPPER ${pkg} _pkg_UC)
+  IF(${_pkg_UC}_VERSION)
+    EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; t=sys.argv[-1].split(\".\") ; t[:]=(int(elt) for elt in t) ; sys.stdout.write(\"0x%02x%02x%02x\"%tuple(t))" ${${_pkg_UC}_VERSION}
+                    OUTPUT_VARIABLE ${_pkg_UC}_XVERSION)
+  ENDIF()
+ENDMACRO(SALOME_XVERSION)


Fix warning with gcc 4.4

Fix warning with gcc 4.4

--- Compiler.cmake
+++ Compiler.cmake
@@ -59,7 +59,9 @@
     if(GCC_COMPILER_VERSION VERSION_LESS COMMON_MINIMUM_GCC_VERSION)
       message(FATAL_ERROR "Using gcc ${GCC_COMPILER_VERSION}, need at least ${COMMON_MINIMUM_GCC_VERSION}")
     endif()
-    set(COMMON_GCC_FLAGS "${COMMON_GCC_FLAGS} -fmax-errors=5")
+    if(GCC_COMPILER_VERSION VERSION_GREATER 4.5)
+      set(COMMON_GCC_FLAGS "${COMMON_GCC_FLAGS} -fmax-errors=5")
+    endif()
     set(CXX11_STDLIB "-stdlib=libc++")
   endif()


build: reserve `--color-diagnostics` for lld

When building out-of-tree compilers (e.g. swift), the linker check here
may yield incorrect values.  Ensure that we are using lld before we
attempt to use `--color-diagnostics` for the linker.  Other linkers (i.e
bfd, gold) do not support this flag and the test can pass in some cases
and then fail subsequently when building.

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

--- cmake/modules/HandleLLVMOptions.cmake
+++ cmake/modules/HandleLLVMOptions.cmake
@@ -728,7 +728,7 @@
 endif()

 # lld doesn't print colored diagnostics when invoked from Ninja
-if (UNIX AND CMAKE_GENERATOR STREQUAL "Ninja")
+if (UNIX AND CMAKE_LINKER MATCHES lld AND CMAKE_GENERATOR STREQUAL "Ninja")
   include(CheckLinkerFlag)
   check_linker_flag("-Wl,--color-diagnostics" LINKER_SUPPORTS_COLOR_DIAGNOSTICS)
   append_if(LINKER_SUPPORTS_COLOR_DIAGNOSTICS "-Wl,--color-diagnostics"