line length

line length

--- rosidl_cmake/cmake/rosidl_generate_interfaces.cmake
+++ rosidl_cmake/cmake/rosidl_generate_interfaces.cmake
@@ -121,7 +121,8 @@
     if(NOT _interface_packages_group_name IN_LIST ${_AMENT_PACKAGE_NAME}_MEMBER_OF_GROUPS)
       message(FATAL_ERROR
         "Packages installing interfaces must include \
-        '<member_of_group>${_interface_packages_group_name}</member_of_group>' in their package.xml"
+        '<member_of_group>${_interface_packages_group_name}</member_of_group>' \
+        in their package.xml"
       )
     endif()
     # register interfaces with the ament index


fix typo

fix typo

--- cmake/FindSystemCPackage.cmake
+++ cmake/FindSystemCPackage.cmake
@@ -3,9 +3,10 @@
     find_package(SLSSystemC REQUIRED)
 else()
     find_package(SystemCLanguage QUIET)
-    if(TARGET SystemC::systemc) # conan find_package_generator
+    if(TARGET SystemC::systemc) # conan find_package_generator or the cmake of an SystemC installation
+    	#message("Using SystemC::systemc target")
         set(SystemC_FOUND true)
-        set(SystemC_LIBRARIES SystemC::SystemC)
+        set(SystemC_LIBRARIES SystemC::systemc)
         find_package(systemc-scv QUIET)
         if(systemc-scv_FOUND)
             set(SCV_FOUND TRUE)
@@ -17,6 +18,7 @@
             set(CCI_LIBRARIES systemc-cci::systemc-cci)
         endif()
     elseif(TARGET CONAN_PKG::systemc) # conan cmake targets
+    	#message("Using CONAN_PKG::systemc target")
         set(SystemC_FOUND true)
         set(SystemC_LIBRARIES CONAN_PKG::systemc)
         if(TARGET CONAN_PKG::systemc-scv)
@@ -28,17 +30,7 @@
             set(CCI_LIBRARIES CONAN_PKG::systemc-cci)
         endif()
     else()
+    	#message("Using find_package(OSCISystemC)")
         find_package(OSCISystemC)
     endif()
 endif()
-
-## missing old SystemC packages
-#if(TARGET SystemCVerification::SystemCVerification)
-#    set(SCV_FOUND TRUE)
-#    set(SCV_LIBRARIES SystemCVerification::SystemCVerification)
-#endif()
-#if(TARGET SystemC-CCI::SystemC-CCI)
-#    set(CCI_FOUND TRUE)
-#    set(CCI_LIBRARIES SystemC-CCI::SystemC-CCI)
-#endif()
-


version bump to 0.9
added support for (and requires) libotr-3.2.0 features

svn path=/trunk/KDE/kdenetwork/cmake/modules/FindLibOTR.cmake; revision=866009

--- cmake/modules/FindLibOTR.cmake
+++ cmake/modules/FindLibOTR.cmake
@@ -22,15 +22,15 @@
   EXECUTE_PROCESS(COMMAND grep "OTRL_VERSION" "${LIBOTR_INCLUDE_DIR}/libotr/version.h" OUTPUT_VARIABLE output)
   STRING(REGEX MATCH "OTRL_VERSION \"[0-9]+\\.[0-9]+\\.[0-9]+" LIBOTR_VERSION "${output}")
   STRING(REGEX REPLACE "^OTRL_VERSION \"" "" LIBOTR_VERSION "${LIBOTR_VERSION}")
-  # Check if version is at least 3.1.0
-  MACRO_ENSURE_VERSION("3.1.0" ${LIBOTR_VERSION} LIBOTR_FOUND)
+  # Check if version is at least 3.2.0
+  MACRO_ENSURE_VERSION("3.2.0" ${LIBOTR_VERSION} LIBOTR_FOUND)

   IF( LIBOTR_FOUND )
     IF( NOT LIBOTR_FIND_QUIETLY )
       MESSAGE( STATUS "Found libotr: ${LIBOTR_LIBRARY}")
     ENDIF( NOT LIBOTR_FIND_QUIETLY )
   ELSE( LIBOTR_FOUND )
-    MESSAGE(STATUS "libotr version 3.1.0 or greater required but found ${LIBOTR_VERSION}.")
+    MESSAGE(STATUS "libotr version 3.2.0 or greater required but found ${LIBOTR_VERSION}.")
   ENDIF( LIBOTR_FOUND )

 ENDIF( LIBOTR_INCLUDE_DIR AND LIBOTR_LIBRARY )


Update RootMacros.cmake

Update RootMacros.cmake

Fix root-project/root#6777

* includes COMPILE_FEATURES for compiling dictionary files

--- cmake/modules/RootMacros.cmake
+++ cmake/modules/RootMacros.cmake
@@ -656,6 +656,9 @@
     target_compile_definitions(${dictionary} PRIVATE
       ${definitions} $<TARGET_PROPERTY:${ARG_MODULE},COMPILE_DEFINITIONS>)

+    target_compile_features(${dictionary} PRIVATE
+      $<TARGET_PROPERTY:${ARG_MODULE},COMPILE_FEATURES>)
+
     target_include_directories(${dictionary} PRIVATE
       ${incdirs} $<TARGET_PROPERTY:${ARG_MODULE},INCLUDE_DIRECTORIES>)
   else()


Put the vxl_tests in its own subdirectory

--- cmake/snippets/vxl_tests.cmake
+++ cmake/snippets/vxl_tests.cmake
@@ -28,7 +28,7 @@
 ")

     try_compile(VXL_HAS_FLOAT_DECLS_COMPILE
-      "${vistk_binary_dir}"
+      "${cmakefiles_dir}/vxl_has_float_decls"
       "${vxl_has_float_decls_path}"
       CMAKE_FLAGS
         "-DINCLUDE_DIRECTORIES=${VXL_VCL_INCLUDE_DIR}")


PARQUET-885: Do not search for Thrift in default system paths

This will be a better out-of-the-box experience for users who have Thrift installed through some other means, possibly without being built with -fPIC for static linking.

Author: Wes McKinney <wes.mckinney@twosigma.com>

Closes #252 from wesm/PARQUET-885 and squashes the following commits:

60694ad [Wes McKinney] Do not search for Thrift in default system paths

--- cmake_modules/FindThrift.cmake
+++ cmake_modules/FindThrift.cmake
@@ -24,19 +24,17 @@
 message(STATUS "THRIFT_HOME: $ENV{THRIFT_HOME}")
 find_path(THRIFT_INCLUDE_DIR thrift/Thrift.h HINTS
   $ENV{THRIFT_HOME}/include/
-  /usr/local/include/
-  /opt/local/include/
+  NO_DEFAULT_PATH
 )

 find_path(THRIFT_CONTRIB_DIR share/fb303/if/fb303.thrift HINTS
   $ENV{THRIFT_HOME}
-  /usr/local/
+  NO_DEFAULT_PATH
 )

 set(THRIFT_LIB_PATHS
   $ENV{THRIFT_HOME}/lib
-  /usr/local/lib
-  /opt/local/lib)
+  NO_DEFAULT_PATH)

 find_path(THRIFT_STATIC_LIB_PATH libthrift.a PATHS ${THRIFT_LIB_PATHS})

@@ -45,8 +43,6 @@

 find_program(THRIFT_COMPILER thrift
   $ENV{THRIFT_HOME}/bin
-  /usr/local/bin
-  /usr/bin
   NO_DEFAULT_PATH
 )


add shared library support to add_fbthrift_cpp_library

Summary:
`add_fbthrift_cpp_library` should honor `BUILD_SHARED_LIBS`, and call
`add_library` with the right setting (`SHARED` if enabled, `STATIC` otherwise)

Reviewed By: yns88

Differential Revision: D24911124

fbshipit-source-id: 79df7640a758a592a3df3e9e79bb129dd57f2d47

--- build/fbcode_builder/CMake/FBThriftCppLibrary.cmake
+++ build/fbcode_builder/CMake/FBThriftCppLibrary.cmake
@@ -127,8 +127,14 @@
   )

   # Now emit the library rule to compile the sources
+  if (BUILD_SHARED_LIBS)
+    set(LIB_TYPE SHARED)
+  else ()
+    set(LIB_TYPE STATIC)
+  endif ()
+
   add_library(
-    "${LIB_NAME}" STATIC
+    "${LIB_NAME}" ${LIB_TYPE}
     ${generated_sources}
   )


mpich3 needs a leading ./ on executables

--- test/testing.cmake
+++ test/testing.cmake
@@ -177,7 +177,7 @@
   "67k")
 add_test(adapt_meshgen
   ${MPIRUN} ${MPIRUN_PROCFLAG} 4
-  ma_test
+  ./ma_test
   "${MDIR}/upright.smd"
   "67k/")
 add_test(ma_insphere


appveyor dev+ [ci skip]

appveyor dev+ [ci skip]

--- 3rdparty/github/cmake-utils/cmake/FindFileno.cmake
+++ 3rdparty/github/cmake-utils/cmake/FindFileno.cmake
@@ -23,7 +23,7 @@
         MESSAGE(STATUS "Looking for ${KEYWORD}")
         TRY_COMPILE (C_HAS_${KEYWORD} ${CMAKE_CURRENT_BINARY_DIR}
           ${source_dir}/fileno.c
-          COMPILE_DEFINITIONS "-DC_FILENO=${KEYWORD} -DHAVE_STDIO_H=${_HAVE_STDIO_H}"
+          COMPILE_DEFINITIONS -DC_FILENO=${KEYWORD} -DHAVE_STDIO_H=${_HAVE_STDIO_H}
           OUTPUT_VARIABLE C_HAS_${KEYWORD}_OUTPUT)
         IF (C_HAS_${KEYWORD})
           MESSAGE(STATUS "Looking for ${KEYWORD} - found")


fixed assign

fixed assign

--- cmake/assign.cmake
+++ cmake/assign.cmake
@@ -8,7 +8,7 @@
   function(assign __lvalue __operation __rvalue)
     ## is a __value

-    if(NOT "${__operation}_" STREQUAL "=_" )
+    if(NOT "${__operation}" MATCHES "^(=|\\+=)$" )
       ## if no equals sign is present then interpret all
       ## args as a simple literal cmake value
       ## this allows the user to set an expression to


Consistency cleaning up.

Consistency cleaning up.

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -31,9 +31,9 @@

 function(INTERNALISE_CMAKE_VARIABLES)
   # internalise some CMake variables
-  set( CMAKE_INSTALL_PREFIX ${LIBCELLML_INSTALL_PREFIX} CACHE INTERNAL "Internalise CMAKE_INSTALL_PREFIX, manipulate via LIBCELLML_INSTALL_PREFIX" FORCE )
-  set( CMAKE_BUILD_TYPE ${LIBCELLML_BUILD_TYPE} CACHE INTERNAL "Internalise CMAKE_BUILD_TYPE, manipulate via LIBCELLML_BUILD_TYPE" FORCE )
-  set( BUILD_SHARED_LIBS ${LIBCELLML_BUILD_SHARED} CACHE INTERNAL "Internalise BUILD_SHARED_LIBS, manipulate via LIBCELLML_BUILD_SHARED" FORCE )
+  set(CMAKE_INSTALL_PREFIX ${LIBCELLML_INSTALL_PREFIX} CACHE INTERNAL "Internalise CMAKE_INSTALL_PREFIX, manipulate via LIBCELLML_INSTALL_PREFIX" FORCE)
+  set(CMAKE_BUILD_TYPE ${LIBCELLML_BUILD_TYPE} CACHE INTERNAL "Internalise CMAKE_BUILD_TYPE, manipulate via LIBCELLML_BUILD_TYPE" FORCE)
+  set(BUILD_SHARED_LIBS ${LIBCELLML_BUILD_SHARED} CACHE INTERNAL "Internalise BUILD_SHARED_LIBS, manipulate via LIBCELLML_BUILD_SHARED" FORCE)
 endfunction()

 function(HIDE_DISTRACTING_VARIABLES)


Bug #19149091 5.5 BUILD BREAKS ON LINUX IF SUN DTRACE IS INSTALLED

  Add some code adapted from 5.6 to check for "real" DTrace. If found,
  and system is Linux, we simply set DTRACE to OFF. Otherwise no change.

  Build will still break if one tries to manually set DTRACE to ON.

--- cmake/dtrace.cmake
+++ cmake/dtrace.cmake
@@ -37,7 +37,15 @@
  # On FreeBSD, dtrace does not handle userland tracing yet
  IF(DTRACE AND NOT CMAKE_SYSTEM_NAME MATCHES "FreeBSD"
      AND NOT BUGGY_GCC_NO_DTRACE_MODULES)
-   SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace")
+   # 5.5 not able to do Sun dtrace on linux, just disable it
+   EXECUTE_PROCESS(
+     COMMAND ${DTRACE} -V
+     OUTPUT_VARIABLE out)
+   IF(out MATCHES "Sun D" AND CMAKE_SYSTEM_NAME MATCHES "Linux")
+     SET(ENABLE_DTRACE OFF CACHE BOOL "Sun DTrace on Linux not supported")
+   ELSE()
+     SET(ENABLE_DTRACE ON CACHE BOOL "Enable dtrace")
+   ENDIF()
  ENDIF()
  SET(HAVE_DTRACE ${ENABLE_DTRACE})
  IF(CMAKE_SYSTEM_NAME MATCHES "SunOS")


[pch] add LINK_LIBRARIES to dependencies, and handle cases when PCH is not in subdirectory

--- pch.cmake
+++ pch.cmake
@@ -95,11 +95,19 @@
             get_target_property( dependencies ${_targetName} INTERFACE_LINK_LIBRARIES )
             target_link_libraries( ${_targetName}_PCH PRIVATE ${dependencies} )

+            get_target_property( dependencies ${_targetName} LINK_LIBRARIES )
+            target_link_libraries( ${_targetName}_PCH PRIVATE ${dependencies} )
+
             get_filename_component( _name ${_input} NAME )
             set( GCH_PATH "${CMAKE_CURRENT_BINARY_DIR}/${_targetName}-pch" )
             set( _output "${GCH_PATH}/${_name}.gch" )

             file( RELATIVE_PATH pch_relative_path ${CMAKE_CURRENT_SOURCE_DIR} ${_input} )
+            # check if there are folder-ups - in that case CMake will generate absolute path within CMake.dir folder
+            string( FIND "${pch_relative_path}" "../" pos )
+            if ( NOT ${pos} EQUAL -1 )
+                set( pch_relative_path ${_input} )
+            endif()

             add_custom_target( ${_targetName}_PCH_symlink
                 COMMAND


fix: Remove cache.cmake and ScriptConfig.cmake files from custom command DEPENDS [BASIS]

According to CMP0058, each DEPENDS file must be the OUTPUT or BYPRODUCT of another custom command. As these files are generated not via configure_file to avoid the unnecessary re-execution of the custom command, they are no OUTPUT of any command. Hence, simpy remove them from the DEPENDS list.

--- CMake/Basis/TargetTools.cmake
+++ CMake/Basis/TargetTools.cmake
@@ -2847,7 +2847,6 @@
     COMMAND         "${CMAKE_COMMAND}" -D "CONFIGURATION:STRING=$<CONFIGURATION>" -P "${BUILD_SCRIPT}"
     MAIN_DEPENDENCY "${SOURCE_FILE}"
     DEPENDS         "${BUILD_SCRIPT}" "${BASIS_MODULE_PATH}/CommonTools.cmake" # basis_configure_script() definition
-                    "${CACHE_FILE}" ${CONFIG_FILES}
     COMMENT         "${COMMENT}"
     VERBATIM
   )
@@ -3134,7 +3133,6 @@
       COMMAND         "${CMAKE_COMMAND}" -D "CONFIGURATION=$<CONFIGURATION>" -P "${BUILD_SCRIPT}"
       MAIN_DEPENDENCY "${SOURCE_FILE}"
       DEPENDS         "${BUILD_SCRIPT}" "${BASIS_MODULE_PATH}/CommonTools.cmake" # basis_configure_script() definition
-                      "${CACHE_FILE}" ${CONFIG_FILES}
       COMMENT         "${COMMENT}"
       VERBATIM
     )


missed one occurence of 'ODE'. changed to 'OPENDE'

--- CMakeModules/FindOpenDE.cmake
+++ CMakeModules/FindOpenDE.cmake
@@ -52,7 +52,7 @@

 find_program(_OPENDE_CONFIG NAMES ode-config PATHS ${OPENDE_PATH} PATH_SUFFIXES bin)
-if (_ODE_CONFIG)
+if (_OPENDE_CONFIG)

   execute_process(COMMAND ${_OPENDE_CONFIG} --version OUTPUT_VARIABLE OPENDE_VERSION)
   # remove new line chars


Sort groups/modules, briefs and members

Sort groups/modules, briefs and members

--- doc/Doxyfile.cmake
+++ doc/Doxyfile.cmake
@@ -54,9 +54,9 @@
 HIDE_SCOPE_NAMES = NO
 SHOW_INCLUDE_FILES = NO
 INLINE_INFO = YES
-SORT_MEMBER_DOCS = NO
-SORT_BRIEF_DOCS = NO
-SORT_GROUP_NAMES = NO
+SORT_MEMBER_DOCS = YES
+SORT_BRIEF_DOCS = YES
+SORT_GROUP_NAMES = YES
 SORT_BY_SCOPE_NAME = NO
 GENERATE_TODOLIST = NO
 GENERATE_TESTLIST = NO


COMP: Fix one more vxl_config_macros check broken by refactoring

In commit f910d5e7 (Use if(DEFINED) to simplify conditions, 2014-09-08)
we removed sevaral uses of implicit variable evaluation.  However, the
CHECK_TYPE_EXISTS macro was abusing details of the prior implementation
and depended on setting a check result variable to its own name to reset
the check.  Use unset() instead.

Change-Id: I801bd9daab63b73b30d2d639e9f2d52b3e0b534b

--- Modules/ThirdParty/VNL/src/vxl/config/cmake/config/vxl_config_macros.cmake
+++ Modules/ThirdParty/VNL/src/vxl/config/cmake/config/vxl_config_macros.cmake
@@ -195,7 +195,7 @@

 MACRO(CHECK_TYPE_EXISTS TYPE FILES VARIABLE)
   IF( VXL_UPDATE_CONFIGURATION )
-    SET( ${VARIABLE} "${VARIABLE}" )
+    UNSET( ${VARIABLE} )
   ENDIF( VXL_UPDATE_CONFIGURATION )
   IF(NOT DEFINED "${VARIABLE}")
     SET(CHECK_TYPE_EXISTS_CONTENT "/* */\n")


Fixed travis-ci asan build.

Fixed travis-ci asan build.

--- run_ctest.cmake
+++ run_ctest.cmake
@@ -286,7 +286,7 @@
     ctest_start(Continuous)
     ctest_update()
     ctest_read_custom_files(${CTEST_SOURCE_DIRECTORY})
-    ctest_configure(OPTIONS "-DCI_FLAGS=-fsanitize=address -fno-omit-frame-pointer")
+    ctest_configure(OPTIONS "-DCI_FLAGS=-fuse-ld=gold -fsanitize=address -fno-omit-frame-pointer")
     ctest_build()
     ctest_test()
     ctest_memcheck()


Bugfix.

Bugfix.

--- run_ctest.cmake
+++ run_ctest.cmake
@@ -23,7 +23,7 @@
             set(CC_NAME "icc")
             exec_program($ENV{CC} ARGS -dumpversion OUTPUT_VARIABLE CC_VERSION)
             exec_program($ENV{CC} ARGS -dumpmachine OUTPUT_VARIABLE CC_ARCH)
-            string(STRIP "-pc-linux-gnu" CC_ARCH))
+            string(STRIP "-pc-linux-gnu" CC_ARCH)
         elseif($ENV{CC} STREQUAL "tcc")
             set(CC_NAME "tcc")
             exec_program($ENV{CC} ARGS -v OUTPUT_VARIABLE CC_VERSION)
@@ -37,7 +37,7 @@
                 string(SUBSTRING "${CC_VERSION}" 0 3 CC_VERSION)
             endif()
             exec_program($ENV{CC} ARGS -dumpmachine OUTPUT_VARIABLE CC_ARCH)
-            string(STRIP "-w64-mingw32" CC_ARCH))
+            string(STRIP "-w64-mingw32" CC_ARCH)
             #Warmup wine or test timings are going to be wrong
             exec_program(wine ARGS version OUTPUT_VARIABLE WINE_VERSION)
         elseif($ENV{CC} STREQUAL "emcc")
@@ -56,7 +56,7 @@
                     string(SUBSTRING "${CC_VERSION}" 0 3 CC_VERSION)
                 endif()
                 exec_program($ENV{CC} ARGS -dumpmachine OUTPUT_VARIABLE CC_ARCH)
-                string(STRIP "-unknown-linux-gnu" CC_ARCH))
+                string(STRIP "-unknown-linux-gnu" CC_ARCH)
             endif()
             string(SUBSTRING "$ENV{CC}" 0 5 CC)
             if(CC STREQUAL "clang")
@@ -70,7 +70,7 @@
                     string(REGEX REPLACE ".*clang version ([0-9]+\\.[0-9]+).*" "\\1" CC_VERSION ${CC_VERSION})
                 endif()
                 exec_program($ENV{CC} ARGS -dumpmachine OUTPUT_VARIABLE CC_ARCH)
-                string(STRIP "-unknown-linux-gnu" CC_ARCH))
+                string(STRIP "-unknown-linux-gnu" CC_ARCH)
             endif()
         endif()
     else()
@@ -78,7 +78,7 @@
         exec_program(${CC_NAME} ARGS -dumpversion OUTPUT_VARIABLE CC_VERSION)
         string(SUBSTRING "${CC_VERSION}" 0 3 CC_VERSION)
         exec_program($ENV{CC_NAME} ARGS -dumpmachine OUTPUT_VARIABLE CC_ARCH)
-        string(STRIP "-unknown-linux-gnu" CC_ARCH))
+        string(STRIP "-unknown-linux-gnu" CC_ARCH)
     endif()
     if(${CC_ARCH} STREQUAL "x86_64" OR ${CC_ARCH} STREQUAL "amd64")
         set(CC_ARCH "x86_64")


apple silicon target - move rpi4 detection to Linux - set(_gmp_build_tgt aarch64) for Apple Silicon

--- deps/GMP/GMP.cmake
+++ deps/GMP/GMP.cmake
@@ -19,15 +19,18 @@
 else ()
     set(_gmp_ccflags "-O2 -DNDEBUG -fPIC -DPIC -Wall -Wmissing-prototypes -Wpointer-arith -pedantic -fomit-frame-pointer -fno-common")
     set(_gmp_build_tgt "${CMAKE_SYSTEM_PROCESSOR}")
-    if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
-        set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
-        set(_gmp_build_tgt armv7)
-    endif()

     if (APPLE)
+        if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
+            set(_gmp_build_tgt aarch64)
+        endif()
         set(_gmp_ccflags "${_gmp_ccflags} -mmacosx-version-min=${DEP_OSX_TARGET}")
         set(_gmp_build_tgt "--build=${_gmp_build_tgt}-apple-darwin")
     elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
+        if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "arm")
+            set(_gmp_ccflags "${_gmp_ccflags} -march=armv7-a") # Works on RPi-4
+            set(_gmp_build_tgt armv7)
+        endif()
         set(_gmp_build_tgt "--build=${_gmp_build_tgt}-pc-linux-gnu")
     else ()
         set(_gmp_build_tgt "") # let it guess


fix style

fix style

--- rosidl_cmake/cmake/rosidl_generate_interfaces.cmake
+++ rosidl_cmake/cmake/rosidl_generate_interfaces.cmake
@@ -133,7 +133,7 @@

   # check that all dependencies are actually valid message packages
   foreach(_dep ${_recursive_dependencies})
-    if (NOT DEFINED ${_dep}_INTERFACE_FILES)
+    if(NOT DEFINED ${_dep}_INTERFACE_FILES)
       message(FATAL_ERROR "The message package '${_dep}' does not declare the interface files")
     endif()
   endforeach()


COMP added more flags

COMP added more flags

--- CMake/mitkBuildConfigurationAll.cmake
+++ CMake/mitkBuildConfigurationAll.cmake
@@ -15,12 +15,15 @@
   MICROBIRD_TRACKER_LIB
   MICRON_TRACKER
   OPTITRACK_TRACKER
+  SPACENAVIGATOR
   TOF_KINECT
   TOF_KINECTV2
   TOF_MESASR4000
   TOF_PMDCAMBOARD
   TOF_PMDCAMCUBE
   US_TELEMED_SDK
+  videoInput
+  WIIMOTE
 )

 get_cmake_property(_cache_vars CACHE_VARIABLES)


Moved the fatal error to the end.

Moved the fatal error to the end.

--- CMake/vtkCompileCMakeExtensions.cmake
+++ CMake/vtkCompileCMakeExtensions.cmake
@@ -13,11 +13,10 @@
     IF("${result_var}")
       MESSAGE(STATUS "Compiling VTK CMake commands - done")
     ELSE("${result_var}")
-      MESSAGE(FATAL_ERROR "Compiling VTK CMake commands - failed")
-      MESSAGE("Failed to compile VTK extensions to CMake")
       WRITE_FILE(${CMAKE_BINARY_DIR}/CMakeError.log
         "Building of VTK extensions failed with the following output:\n"
         "${VTK_COMPILE_CMAKE_EXTENSIONS_OUTPUT}\n" APPEND)
+      MESSAGE(FATAL_ERROR "Compiling VTK CMake commands - failed")
     ENDIF("${result_var}")
   ENDIF(COMMAND VTK_MAKE_INSTANTIATOR2)
 ENDMACRO(VTK_COMPILE_CMAKE_EXTENSIONS)


SK:

SK:

-ENH: do not clean the binary directory if it is an experimental build. Thenoften you may want to do a quick test without having to rebuild everything from scratch. you could still decide to clean the binary dir yourself before starting the experimental dashboard test.

--- src/Testing/Dashboard/elxDashboardCommon.cmake
+++ src/Testing/Dashboard/elxDashboardCommon.cmake
@@ -19,7 +19,8 @@
 #   ctest -S /.../Dashboards/ctest-scripts/my_dashboard.cmake -V
 #
 # By default the source and build trees will be placed in the path
-# "/.../Dashboards/MyTests/".
+# "/.../Dashboards/MyTests/". If it exists, the binary directory will
+# cleaned first, unless the dasboard_model is set to Experimental.
 #
 # The following variables may be set before including this script
 # to configure it:
@@ -164,8 +165,10 @@
 endmacro()

 # Start with a fresh build tree.
-message( "Clearing build tree..." )
-ctest_empty_binary_directory( ${CTEST_BINARY_DIRECTORY} )
+if ( NOT dashboard_model STREQUAL Experimental )
+  message( "Clearing build tree..." )
+  ctest_empty_binary_directory( ${CTEST_BINARY_DIRECTORY} )
+endif()

 # Support each testing model
 if( dashboard_model STREQUAL Continuous )


Both CTest and CMake should have CTEST_USE_LAUNCHERS set

See #242

--- CMake/ctkDashboardDriverScript.cmake
+++ CMake/ctkDashboardDriverScript.cmake
@@ -97,7 +97,8 @@
 #message("force_build:${force_build}")

 # For more details, see http://www.kitware.com/blog/home/post/11
-set(ENV{CTEST_USE_LAUNCHERS_DEFAULT} 1)
+set(CTEST_USE_LAUNCHERS 1)
+set(ENV{CTEST_USE_LAUNCHERS_DEFAULT} ${CTEST_USE_LAUNCHERS})

 if(empty_binary_directory)
   message("Directory ${CTEST_BINARY_DIRECTORY} cleaned !")


DOC: Link groups in Doxygen in module description

Create links to referenced groups when generating the Doxygen
documentation from the module description.

Doxygen grouping documentation:
https://www.doxygen.nl/manual/grouping.html

Triple escape the commands.

Related to/left behind in a0d0b4c, f8cd176, and bf6d071. Automatic group
linking was present originally, but commands were mistakenly removed in
1f4c6e9 following a wrong assumption/misinterpretation of the Doxygen
autolinking vs. group linking.

--- Modules/Filtering/CurvatureFlow/itk-module.cmake
+++ Modules/Filtering/CurvatureFlow/itk-module.cmake
@@ -2,7 +2,8 @@
 Curvature Flow. This is a technique that uses an iterative solution of partial
 differential equations to implement image denoising image filtering. These
 classes are typically used as edge-preserving smoothing filters. You may also
-find the ITKSmoothing and the ITKAnisotropicSmoothing useful as well.")
+find the \\\\ref ITKSmoothing and the \\\\ref ITKAnisotropicSmoothing useful
+as well.")

 itk_module(ITKCurvatureFlow
   COMPILE_DEPENDS


BUG: FixedArray wrapping for 4D wrapping.

Change-Id: I567061b0c439e0df0c5b2aa9e80e042c883e18f0

--- Wrapping/WrapITKTypes.cmake
+++ Wrapping/WrapITKTypes.cmake
@@ -106,7 +106,7 @@
 set(itk_Wrap_Array ${WRAPPER_TEMPLATES})

 WRAP_TYPE("itk::FixedArray" "FA")
-  set(dims ${ITK_WRAP_DIMS})
+  set(dims ${ITK_WRAP_DIMS_INCREMENTED})
   foreach(d ${ITK_WRAP_DIMS})
     math(EXPR d2 "${d} * 2")
     # for itk::SymmetricSecondRankTensor


Properly handle generated files

Properly handle generated files

--- share/FindLustre.cmake
+++ share/FindLustre.cmake
@@ -82,25 +82,34 @@
   endif()

   file(MAKE_DIRECTORY ${LUSTRE_OUTPUT_DIR})
-  set(GLOBAL_LUSTRE_GENERATED_FILES)
+  set(GLOBAL_LUSTRE_GENERATED_C_FILES "")
+  # create list of generated C files in parent scope
+  set(LUSTRE_GENERATED_C_FILES_${LUS_LIBNAME} "" PARENT_SCOPE)
   foreach(LFILE IN LISTS LUS_LUS_FILES)
     get_filename_component(L ${LFILE} NAME_WE)
-    set(LUSTRE_GENERATED_FILES ${LUSTRE_OUTPUT_DIR}/${L}.h ${LUSTRE_OUTPUT_DIR}/${L}.c)
-    list(APPEND GLOBAL_LUSTRE_GENERATED_FILES ${LUSTRE_GENERATED_FILES})
+    get_filename_component(E ${LFILE} EXT)
+    if ("${E}" STREQUAL ".lus")
+      set(LUSTRE_GENERATED_FILES ${LUSTRE_OUTPUT_DIR}/${L}.h ${LUSTRE_OUTPUT_DIR}/${L}.c ${LUSTRE_OUTPUT_DIR}/${L}_alloc.h)
+    elseif("${E}" STREQUAL ".lusi")
+      set(LUSTRE_GENERATED_FILES ${LUSTRE_OUTPUT_DIR}/${L}.h)
+    endif()
+    list(APPEND GLOBAL_LUSTRE_GENERATED_C_FILES ${LUSTRE_GENERATED_FILES})
+    set(LUSTRE_GENERATED_FILES ${LUSTRE_GENERATED_FILES} ${LUSTRE_OUTPUT_DIR}/${L}.lusic)
     add_custom_command(
       OUTPUT ${LUSTRE_GENERATED_FILES}
       COMMAND ${LUSTRE_COMPILER} ${LUSTRE_NODE_OPT} -d ${LUSTRE_OUTPUT_DIR} ${LFILE}
       DEPENDS ${LFILE}
       WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
-      COMMENT "Compile Lustre source(s): ${LFILE}."
+      COMMENT "Compile Lustre source(s): ${LFILE} (generates: ${LUSTRE_GENERATED_FILES})."
       )
     set_source_files_properties(${LUSTRE_GENERATED_FILES} PROPERTIES GENERATED TRUE)
   endforeach()

   include_directories(${LUSTRE_INCLUDE_DIR} ${CMAKE_CURRENT_SOURCE_DIR} ${LUSTRE_OUTPUT_DIR})
   add_library(${LUS_LIBNAME} SHARED
-              ${GLOBAL_LUSTRE_GENERATED_FILES} ${LUS_USER_C_FILES}
-             )
+              ${GLOBAL_LUSTRE_GENERATED_C_FILES} ${LUS_USER_C_FILES}
+              )
+  set(LUSTRE_GENERATED_C_FILES_${LUS_LIBNAME} "${GLOBAL_LUSTRE_GENERATED_C_FILES}" PARENT_SCOPE)
   message(STATUS "Lustre: Added rule for building lustre library: ${LUS_LIBNAME}")
 endfunction(Lustre_Compile)


cleanup: remove unused CMAKE_EXE_FLAGS definition

--- CMake/GNU-ARM-Toolchain.cmake
+++ CMake/GNU-ARM-Toolchain.cmake
@@ -21,9 +21,6 @@

 set(CMAKE_ASM_FLAGS "${CORE_FLAGS} -g -ggdb3 -D__USES_CXX" CACHE INTERNAL "asm compiler flags")

-# linker specific flags
-set(CMAKE_EXE_FLAGS "${CORE_FLAGS} -g -Wl,--gc-sections")
-
 # search for programs in the build host directories
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)


COMP: Only search for Python 3.6 and above

Support for Python 3.5 has been dropped.

--- CMake/ITKSetPython3Vars.cmake
+++ CMake/ITKSetPython3Vars.cmake
@@ -1,6 +1,6 @@
 # This file provides a work-around to provide consistent
 # python3 cmake variables for cmake versions pre/post 3.12.0
-# NOTE: Only python 3 versions 3.5 and above are searched for.
+# NOTE: Only python 3 versions 3.6 and above are searched for.

 # If the cmake variable "PYTHON_DEVELOPMENT_REQUIRED" is set to ON
 # then the development environments are found.
@@ -19,7 +19,7 @@
   # Unstable behavior of FindPython between CMake 3.12 and 3.15, so including in this
   # Only use deprecated mechanisms for older versions of cmake
   #
-  set(Python_ADDITIONAL_VERSIONS 3.9 3.8 3.7 3.6 3.5)
+  set(Python_ADDITIONAL_VERSIONS 3.9 3.8 3.7 3.6)
   find_package(PythonInterp)
   if(PYTHON_DEVELOPMENT_REQUIRED)
     find_package(PythonLibs REQUIRED)


Check for a rare problem with CMake's definition of MSVC_VERSION.

If building with MSVC, we now make sure MSVC_VERSION is defined.  It
almost always is.  But if you have cmake-gui open, and you delete
CMake's cache file in the build directory (e.g. because you're
deleting the entire build directory to ensure a clean build), and you
just click "Generate", the build will forget the definition of
MSVC_VERSION!

The problem is easy to fix-- just select "File" > "Delete Cache" in
cmake-gui, or restart cmake-gui.  But if you forget, you'll get weird
fallout from version checks being triggered incorrectly.

As far as I know, it's not possible to see this problem without a
persistent tool like cmake-gui or ccmake; the command line cmake
should be fine.

--- CMake/SurgSimBuildFlags.cmake
+++ CMake/SurgSimBuildFlags.cmake
@@ -55,8 +55,16 @@

 # Visual Studio C/C++ specific settings
 if(MSVC)
+	# Sanity check the version.  (You can see this problem if you delete
+	# the cache file on disk while cmake-gui has the data in memory.)
+	if("${MSVC_VERSION}" STREQUAL "")
+		message(FATAL_ERROR
+			"MSVC_VERSION isn't correctly set; delete the cache and try again!")
+	endif("${MSVC_VERSION}" STREQUAL "")
+
 	# default VC++ compilation flags
 	add_definitions( -D_CRT_SECURE_NO_WARNINGS )
+
 	# Set the iterator debug level consistently for Debug builds.
 	# [Note that you can't add_definitions() conditionally for debug only,
 	#  because for VS add_definitions() affects ALL build types in the project.


BUG: Bug #9552 - use visibility even for static.

After talking with Brad King it is clear that the visibility support is
also useful for static linking.

--- CMake/vtkCompilerExtras.cmake
+++ CMake/vtkCompilerExtras.cmake
@@ -38,7 +38,7 @@
   mark_as_advanced(VTK_USE_GCC_VISIBILITY)

   if(${_gcc_version} VERSION_GREATER 4.2.0 AND HAVE_GCC_VISIBILITY
-    AND VTK_USE_GCC_VISIBILITY AND BUILD_SHARED_LIBS)
+    AND VTK_USE_GCC_VISIBILITY)
     # Should only be set if GCC is newer than 4.2.0
     set(VTK_ABI_CXX_FLAGS "-fvisibility=hidden -fvisibility-inlines-hidden")
   else()


COMP Fixed revision tag for MITK-Data

COMP Fixed revision tag for MITK-Data

--- CMakeExternals/MITKData.cmake
+++ CMakeExternals/MITKData.cmake
@@ -13,7 +13,7 @@

 if(BUILD_TESTING)

-  set(revision_tag cb2c366985ff086872a3bb6f99cbf34455cf0d44)
+  set(revision_tag cb2c3669)

   ExternalProject_Add(${proj}
     URL ${MITK_THIRDPARTY_DOWNLOAD_PREFIX_URL}/MITK-Data_${revision_tag}.tar.gz


Absolute path to link.

Absolute path to link.

--- functions.cmake
+++ functions.cmake
@@ -559,6 +559,6 @@
 endfunction()

 function(install_symlink TARGET LINK)
-    install(CODE "execute_process(COMMAND ln -sf ${CMAKE_INSTALL_PREFIX}/${TARGET} ${LINK})")
+    install(CODE "execute_process(COMMAND ln -sf ${CMAKE_INSTALL_PREFIX}/${TARGET} $ENV{DESTDIR}/${CMAKE_INSTALL_PREFIX}/${LINK})")
 endfunction(install_symlink)


add boost

add boost

--- build/modules/add_boost.cmake
+++ build/modules/add_boost.cmake
@@ -13,8 +13,6 @@

 set(BoostVersion 1.55.0)
 set(BoostSHA1 cef9a0cc7084b1d639e06cd3bc34e4251524c840)
-
-

 # Create build folder name derived from version
 string(REGEX REPLACE "beta\\.([0-9])$" "beta\\1" BoostFolderName ${BoostVersion})
@@ -156,7 +154,8 @@
 set(b2Args <SOURCE_DIR>/b2
            link=static
            threading=multi
-           runtime-link=shared
+#careful if changing this to static add "-s" to output files under Linux
+           runtime-link=dynamic
            --build-dir=Build
            stage
            -d+2
@@ -201,15 +200,22 @@
   endif()
 endif()

-# Get list of components
+#Get list of components
 execute_process(COMMAND ./b2 --show-libraries WORKING_DIRECTORY ${BoostSourceDir}
                 ERROR_QUIET OUTPUT_VARIABLE Output)
 string(REGEX REPLACE "(^[^:]+:|[- ])" "" BoostComponents "${Output}")
 string(REGEX REPLACE "\n" ";" BoostComponents "${BoostComponents}")

+string(REGEX REPLACE "python;" "" BoostComponents "${BoostComponents}")
+string(REGEX REPLACE "graph_parallel;" "" BoostComponents "${BoostComponents}")
+string(REGEX REPLACE "graph;" "" BoostComponents "${BoostComponents}")
+
 # Build each required component
 include(ExternalProject)
 foreach(Component ${BoostComponents})
+  ms_underscores_to_camel_case(${Component} CamelCaseComponent)
+  add_library(Boost${CamelCaseComponent} STATIC IMPORTED GLOBAL)
+
   ExternalProject_Add(
       boost_${Component}
       PREFIX ${CMAKE_BINARY_DIR}/${BoostFolderName}
@@ -220,8 +226,6 @@
       INSTALL_COMMAND ""
       LOG_BUILD ON
       )
-  ms_underscores_to_camel_case(${Component} CamelCaseComponent)
-  add_library(Boost${CamelCaseComponent} STATIC IMPORTED GLOBAL)
   if(MSVC)
     if(MSVC11)
       set(CompilerName vc110)
@@ -237,12 +241,18 @@
                           IMPORTED_LOCATION_RELEASENOINLINE ${BoostSourceDir}/stage/lib/libboost_${Component}-${CompilerName}-mt-${Version}.lib
                           LINKER_LANGUAGE CXX)
   else()
+
     set_target_properties(Boost${CamelCaseComponent} PROPERTIES
-                          IMPORTED_LOCATION ${BoostSourceDir}/stage/lib/libboost_${Component}-mt.a
-                          LINKER_LANGUAGE CXX)
-  endif()
+                  IMPORTED_LOCATION ${BoostSourceDir}/stage/lib/libboost_${Component}-mt.a
+                  LINKER_LANGUAGE CXX)
+
+    #message ( STATUS boost_${Component} ${BoostSourceDir}/stage/lib/libboost_${ComponentLib}-mt.a)
+  endif()
+
   set_target_properties(boost_${Component} Boost${CamelCaseComponent} PROPERTIES
-                        LABELS Boost FOLDER "Third Party/Boost" EXCLUDE_FROM_ALL TRUE)
+                        LABELS Boost
+                        FOLDER "/home/devel/prj/license-manager-cpp/build/linux"
+                        EXCLUDE_FROM_ALL TRUE)
   add_dependencies(Boost${CamelCaseComponent} boost_${Component})
   set(Boost${CamelCaseComponent}Libs Boost${CamelCaseComponent})
   if("${Component}" STREQUAL "locale")
@@ -279,7 +289,7 @@
   set(Boost${CamelCaseComponent}Libs ${Boost${CamelCaseComponent}Libs}) # PARENT_SCOPE
   list(APPEND AllBoostLibs Boost${CamelCaseComponent})
 endforeach()
-set(AllBoostLibs ${AllBoostLibs}) # PARENT_SCOPE
+#set(AllBoostLibs ${AllBoostLibs}) # PARENT_SCOPE
 add_dependencies(boost_chrono boost_system)
 add_dependencies(boost_coroutine boost_context boost_system)
 add_dependencies(boost_filesystem boost_system)


Add "sitk_" prefix to functions

Add "sitk_" prefix to functions

--- CMake/sitkTargetLinkLibrariesWithDynamicLookup.cmake
+++ CMake/sitkTargetLinkLibrariesWithDynamicLookup.cmake
@@ -5,11 +5,11 @@
 #
 # The following functions are defined:
 #
-# .. cmake:command:: target_link_libraries_with_dynamic_lookup
+# .. cmake:command:: sitk_target_link_libraries_with_dynamic_lookup
 #
 # ::
 #
-#     target_link_libraries_with_dynamic_lookup(<Target> [<Libraries>])
+#     sitk_target_link_libraries_with_dynamic_lookup(<Target> [<Libraries>])
 #
 #
 # Useful to "weakly" link a loadable module. For example, it should be used
@@ -31,7 +31,7 @@
 # is not linked when specified with this function.
 #
 # On platforms that do not support weak-linking, this function works just
-# like ``target_link_libraries``.
+# like ``sitk_target_link_libraries``.
 #
 # .. note::
 #
@@ -42,7 +42,7 @@
 #     from Tim D. Smith.
 #
 #
-# .. cmake:command:: check_dynamic_lookup
+# .. cmake:command:: sitk_check_dynamic_lookup
 #
 # Check if the linker requires a command line flag to allow leaving symbols
 # unresolved when producing a target of type ``<TargetType>`` that is
@@ -58,7 +58,7 @@
 #
 # ::
 #
-#     check_dynamic_lookup(<TargetType>
+#     sitk_check_dynamic_lookup(<TargetType>
 #                          <LibType>
 #                          <ResultVar>
 #                          [<LinkFlagsVar>])
@@ -68,7 +68,7 @@
 #
 # ::
 #
-#     check_dynamic_lookup(<ResultVar>) # <TargetType> set to "MODULE"
+#     sitk_check_dynamic_lookup(<ResultVar>) # <TargetType> set to "MODULE"
 #                                       # <LibType> set to "SHARED"
 #
 #
@@ -425,12 +425,12 @@
   endforeach()
 endfunction()

-function(check_dynamic_lookup)
+function(sitk_check_dynamic_lookup)
   # Two signatures are supported:

   if(ARGC EQUAL "1")
     #
-    # check_dynamic_lookup(<ResultVar>)
+    # sitk_check_dynamic_lookup(<ResultVar>)
     #
     set(target_type "MODULE")
     set(lib_type "SHARED")
@@ -439,7 +439,7 @@

   elseif(ARGC GREATER "2")
     #
-    # check_dynamic_lookup(<TargetType>
+    # sitk_check_dynamic_lookup(<TargetType>
     #                      <LibType>
     #                      <ResultVar>
     #                      [<LinkFlagsVar>])
@@ -528,7 +528,7 @@
   set(${link_flags_var} "${${result_var}}" PARENT_SCOPE)
 endfunction()

-function(target_link_libraries_with_dynamic_lookup target)
+function(sitk_target_link_libraries_with_dynamic_lookup target)
   _get_target_type(target_type ${target})

   set(link_props)
@@ -537,7 +537,7 @@

   foreach(lib ${ARGN})
     _get_target_type(lib_type ${lib})
-    check_dynamic_lookup(${target_type}
+    sitk_check_dynamic_lookup(${target_type}
                          ${lib_type}
                          has_dynamic_lookup
                          dynamic_lookup_flags)


MINIFICPP-1599 Add --force flag to patch application check

Signed-off-by: Ferenc Gerlits <fgerlits@gmail.com>

This closes #1125

--- cmake/BundledAzureSdkCpp.cmake
+++ cmake/BundledAzureSdkCpp.cmake
@@ -19,8 +19,8 @@
     set(PATCH_FILE1 "${SOURCE_DIR}/thirdparty/azure-sdk-cpp-for-cpp/azure-sdk-for-cpp-old-compiler.patch")
     set(PATCH_FILE2 "${SOURCE_DIR}/thirdparty/azure-sdk-cpp-for-cpp/fix-illegal-qualified-name-in-member.patch")
     set(PC bash -c "set -x &&\
-            (\"${Patch_EXECUTABLE}\" -p1 -R --dry-run -i \"${PATCH_FILE1}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE1}\") &&\
-            (\"${Patch_EXECUTABLE}\" -p1 -R --dry-run -i \"${PATCH_FILE2}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE2}\") ")
+            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE1}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE1}\") &&\
+            (\"${Patch_EXECUTABLE}\" -p1 -R -s -f --dry-run -i \"${PATCH_FILE2}\" || \"${Patch_EXECUTABLE}\" -p1 -N -i \"${PATCH_FILE2}\") ")

     # Define byproducts


FIX: fix OpenMP CMake passing of options

--- cmake/DependenciesConfig.cmake
+++ cmake/DependenciesConfig.cmake
@@ -23,8 +23,8 @@
     find_package(OpenMP)
     if(${OPENMP_FOUND})
         message(STATUS "OpenMP found")
-        set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${OpenMP_CXX_FLAGS}")
-
+        add_compile_options(${OpenMP_CXX_FLAGS})
+        add_link_options(${OpenMP_CXX_FLAGS})
         include_directories(${OpenMP_CXX_INCLUDE_DIRS})

         message(STATUS "OpenMP_CXX_LIB_NAMES ${OpenMP_CXX_LIB_NAMES}")
@@ -74,18 +74,6 @@

   include_directories(${MKL_INCLUDE_DIR})

-  # make sure we link with iomp5 and not gomp
-  list(FIND OpenMP_CXX_LIB_NAMES "gomp" GNU_OPENMP)
-  list(FIND OpenMP_CXX_LIB_NAMES "omp" LLVM_OPENMP)
-  if(NOT GNU_OPENMP EQUAL -1)
-      set(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fno-openmp")
-      set(CMAKE_SHARED_LINKER_FLAGS "${CMAKE_SHARED_LINKER_FLAGS} -fno-openmp")
-      find_library (IOMP_LIBRARIES "iomp5" HINTS ENV LD_LIBRARY_PATH REQUIRED)
-      set(MKL_LIBRARIES "${MKL_LIBRARIES};${IOMP_LIBRARIES}")
-  elseif(NOT LLVM_OPENMP EQUAL -1)
-      message(ERROR "Please use iomp when using clang/llvm compiler, not omp")
-  endif()
-
   add_definitions(-DEIGEN_USE_MKL_ALL)

   message(STATUS "MKL libraries: ${MKL_LIBRARIES}" )


Fixed external tensorflow cmake to use shared lib on windows as well

--- cmake/ExternalTensorflow.cmake
+++ cmake/ExternalTensorflow.cmake
@@ -36,8 +36,8 @@

 )

-if(WIN32)
-    # Tensorflow is built static on windows, need to include all dependecies
+#if(WIN32)
+#    # Tensorflow is built static on windows, need to include all dependecies
 #    list(APPEND LIBRARIES
 #        tensorflow.lib
 #        libprotobuf.lib
@@ -51,11 +51,14 @@
 #        grpc_unsecure.lib
 #        grpc++_unsecure.lib
 #    )
-    set(Tensorflow_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}tensorflow${CMAKE_STATIC_LIBRARY_SUFFIX})
-else(WIN32)
-    list(APPEND LIBRARIES
-        ${CMAKE_SHARED_LIBRARY_PREFIX}tensorflow${CMAKE_SHARED_LIBRARY_SUFFIX}
-    )
-    set(Tensorflow_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tensorflow${CMAKE_SHARED_LIBRARY_SUFFIX})
-endif(WIN32)
+#    set(Tensorflow_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_STATIC_LIBRARY_PREFIX}tensorflow${CMAKE_STATIC_LIBRARY_SUFFIX})
+#else(WIN32)
+#    list(APPEND LIBRARIES
+#        ${CMAKE_SHARED_LIBRARY_PREFIX}tensorflow${CMAKE_SHARED_LIBRARY_SUFFIX}
+#    )
+#    set(Tensorflow_LIBRARY ${FAST_EXTERNAL_INSTALL_DIR}/lib/${CMAKE_SHARED_LIBRARY_PREFIX}tensorflow${CMAKE_SHARED_LIBRARY_SUFFIX})
+#endif(WIN32)
+list(APPEND LIBRARIES
+    ${CMAKE_SHARED_LIBRARY_PREFIX}tensorflow${CMAKE_SHARED_LIBRARY_SUFFIX}
+)
 list(APPEND FAST_EXTERNAL_DEPENDENCIES tensorflow)


FindLapack: shared mkl libs

FindLapack: shared mkl libs

--- cmake/Modules/FindLAPACK.cmake
+++ cmake/Modules/FindLAPACK.cmake
@@ -247,9 +247,13 @@

 set(_mkl_libs ${ARGV})
 if((UNIX AND NOT APPLE) AND CMAKE_Fortran_COMPILER_ID STREQUAL GNU)
-  list(INSERT _mkl_libs 0 mkl_gf_${_mkl_bitflag}lp64)
+  list(PREPEND _mkl_libs mkl_gf_${_mkl_bitflag}lp64)
 else()
-  list(INSERT _mkl_libs 0 mkl_intel_${_mkl_bitflag}lp64)
+  if(WIN32 AND BUILD_SHARED_LIBS)
+    list(PREPEND _mkl_libs mkl_intel_${_mkl_bitflag}lp64_dll)
+  else()
+    list(PREPEND _mkl_libs mkl_intel_${_mkl_bitflag}lp64)
+  endif()
 endif()

 foreach(s ${_mkl_libs})
@@ -343,10 +347,18 @@
     if(WIN32)
       set(_mp libiomp5md)
     endif()
-    list(APPEND _mkl_libs mkl_intel_thread mkl_core ${_mp})
+    if(WIN32 AND BUILD_SHARED_LIBS)
+      list(APPEND _mkl_libs mkl_intel_thread_dll mkl_core_dll ${_mp})
+    else()
+      list(APPEND _mkl_libs mkl_intel_thread mkl_core ${_mp})
+    endif()
   else()
     pkg_check_modules(pc_mkl mkl-${_mkltype}-${_mkl_bitflag}lp64-seq)
-    list(APPEND _mkl_libs mkl_sequential mkl_core)
+    if(WIN32 AND BUILD_SHARED_LIBS)
+      list(APPEND _mkl_libs mkl_sequential_dll mkl_core_dll)
+    else()
+      list(APPEND _mkl_libs mkl_sequential mkl_core)
+    endif()
   endif()

   find_mkl_libs(${_mkl_libs})


turned openni/libusb includes into system includes

git-svn-id: 5398946ba177a3e438c2dae55e2cdfc2fb96c905@4090 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/Modules/FindOpenNI.cmake
+++ cmake/Modules/FindOpenNI.cmake
@@ -28,7 +28,7 @@
      set(HAVE_OPENNI OFF)
      return()
    else(NOT USB_10_FOUND)
-     include_directories(${USB_10_INCLUDE_DIR})
+     include_directories(SYSTEM ${USB_10_INCLUDE_DIR})
    endif(NOT USB_10_FOUND)
 endif(NOT WIN32)

@@ -69,7 +69,7 @@
   set(HAVE_OPENNI ON)
   # Add the include directories
   set(OPENNI_INCLUDE_DIRS ${OPENNI_INCLUDE_DIRS})
-  include_directories(${OPENNI_INCLUDE_DIRS})
+  include_directories(SYSTEM ${OPENNI_INCLUDE_DIRS})
   message(STATUS "OpenNI found (include: ${OPENNI_INCLUDE_DIRS}, lib: ${OPENNI_LIBRARY})")
 endif(OPENNI_FOUND)


Fix FindOracle.cmake to find version 18.x

--- cmake/modules/FindOracle.cmake
+++ cmake/modules/FindOracle.cmake
@@ -55,7 +55,7 @@
 )
 FIND_LIBRARY(
     ORACLE_LIBRARY_LNNZ
-    NAMES libnnz10 nnz10 libnnz11 nnz11 libnnz12 nnz12 ociw32
+    NAMES libnnz10 nnz10 libnnz11 nnz11 libnnz12 nnz12 nnz18 ociw32
     PATHS ${ORACLE_LIB_LOCATION}
 )


Using library name detect Python library.

--- cmake/modules/FindPYTHON.cmake
+++ cmake/modules/FindPYTHON.cmake
@@ -72,7 +72,12 @@
         ENDIF()
     ENDIF()
     IF(NOT PYTHON_LIBRARY_DIR_NOT_FOUND AND NOT PYTHON_VERSION_NOT_FOUND)
-        find_library(PYTHON_LIBRARY "python${PYTHON_VERSION}" PATHS ${PYTHON_LIBRARY_DIR} NO_DEFAULT_PATH)
+        execute_process ( COMMAND ${PYTHON_EXECUTABLE} -c
+		            "from distutils import sysconfig; print(sysconfig.get_config_var(\"LDLIBRARY\"))"
+                            RESULT_VARIABLE PYTHON_LIBRARY_NAME_NOT_FOUND
+                            OUTPUT_VARIABLE PYTHON_LIBRARY_NAME
+                            OUTPUT_STRIP_TRAILING_WHITESPACE)
+	find_library(PYTHON_LIBRARY "${PYTHON_LIBRARY_NAME}" PATHS ${PYTHON_LIBRARY_DIR} NO_DEFAULT_PATH)
     ENDIF()
 ELSE()
     SET(PYTHON_ROOT "PYTHON_ROOT-NOTFOUND")


[Cmake] Don't enable modules by default.

--- cmake/modules/LLDBConfig.cmake
+++ cmake/modules/LLDBConfig.cmake
@@ -9,7 +9,6 @@
   repl_swift
 )

-set(LLVM_ENABLE_MODULES        ON CACHE BOOL "" FORCE)
 set(LLVM_EXTERNALIZE_DEBUGINFO OFF CACHE BOOL "" FORCE)
 set(LLVM_TARGETS_TO_BUILD      X86;ARM;AArch64 CACHE STRING "" FORCE)


Just the last bug

Just the last bug

Former-commit-id: 76b209b194406980ac5a641e2ad0b3028b1f9578

--- cmake_modules/Fetch_HDF5.cmake
+++ cmake_modules/Fetch_HDF5.cmake
@@ -80,11 +80,6 @@
             )

     ExternalProject_Get_Property(library_HDF5 INSTALL_DIR)
-    add_library(hdf5::total STATIC IMPORTED)
-    add_dependencies(hdf5::total          library_HDF5)
-
-
-
     add_library(hdf5::hdf5           STATIC IMPORTED)
     add_library(hdf5::hdf5_hl        STATIC IMPORTED)
     add_library(hdf5::hdf5_cpp       STATIC IMPORTED)
@@ -98,6 +93,7 @@
     set(HDF5_HL_LIBRARIES     ${INSTALL_DIR}/lib/libhdf5_hl-static${CMAKE_STATIC_LIBRARY_SUFFIX})
     set(HDF5_CXX_LIBRARIES    ${INSTALL_DIR}/lib/libhdf5_cpp-static${CMAKE_STATIC_LIBRARY_SUFFIX})
     set(HDF5_HL_CXX_LIBRARIES ${INSTALL_DIR}/lib/libhdf5_hl_cpp-static${CMAKE_STATIC_LIBRARY_SUFFIX})
+    set(HDF5_LINKER_FLAGS "m;dl")
     set(HDF5_INCLUDE_DIR      ${INSTALL_DIR}/include)
 endif()

@@ -122,6 +118,13 @@
         INTERFACE_LINK_LIBRARIES "hdf5::hdf5;hdf5::hdf5_hl;hdf5::hdf5_cpp"
         INCLUDE_DIRECTORIES "${HDF5_INCLUDE_DIR}")

+    get_cmake_property(_variableNames VARIABLES)
+    foreach (_variableName ${_variableNames})
+        if("${_variableName}" MATCHES "hdf5" OR "${_variableName}" MATCHES "HDF5")
+            message(STATUS "${_variableName}=${${_variableName}}")
+        endif()
+    endforeach()
+

 target_link_libraries(${PROJECT_NAME} PRIVATE hdf5::hdf5)
 target_link_libraries(${PROJECT_NAME} PRIVATE hdf5::hdf5_hl)


ISSUE #278 add bin folder for windows compilation

--- cmake_modules/FindAWSSDK.cmake
+++ cmake_modules/FindAWSSDK.cmake
@@ -32,6 +32,7 @@
 		find_library(libPathRelease${libName} NAMES ${libName}
 			PATHS
 			${AWSSDK_ROOT}/lib
+			${AWSSDK_ROOT}/bin
 			${AWSSDK_LIB_DIR}
 			)
 		set(AWSSDK_LIBRARIES_RELEASE ${AWSSDK_LIBRARIES_RELEASE} ${libPathRelease${libName}})
@@ -62,7 +63,7 @@
 		)
 		set(AWSSDK_LIBRARIES_RELEASE ${AWSSDK_LIBRARIES_RELEASE} ${libPathRelease${libName}})
 	endforeach()
-
+
 	set(AWSSDK_LIBRARIES
 		debug ${AWSSDK_LIBRARIES_RELEASE}
 		optimized ${AWSSDK_LIBRARIES_RELEASE}
@@ -76,7 +77,7 @@
 	message(STATUS "AWSSDK installation found.")
 	message(STATUS "AWSSDK_INCLUDE_DIR: ${AWSSDK_INCLUDE_DIR}")
 	message(STATUS "AWSSDK_LIBRARIES: ${AWSSDK_LIBRARIES}")
-
+
 else(AWSSDK_INCLUDE_DIR AND AWSSDK_LIBRARIES)
 	set(AWSSDK_FOUND FALSE)
 	message(STATUS "AWSSDK not found. Please set AWSSDK_ROOT to your installation directory")


libjpeg-turbo fix windows build

libjpeg-turbo fix windows build

--- cmakemodules/script_jpeg.cmake
+++ cmakemodules/script_jpeg.cmake
@@ -25,7 +25,7 @@
 		SET(JPEG_ENABLE_SIMD 0)
 	endif(NASM_PATH)

-	ExternalProject_Add(JPEG
+	ExternalProject_Add(EP_JPEG
 		URL               "https://github.com/libjpeg-turbo/libjpeg-turbo/archive/1.5.90.tar.gz"
 		URL_MD5           "85f7f9c377b70cbf48e61726097d4efa"
 		SOURCE_DIR        "${MRPT_BINARY_DIR}/otherlibs/libjpeg-turbo/"
@@ -35,11 +35,23 @@
 			-DWITH_SIMD=${JPEG_ENABLE_SIMD}
 		INSTALL_COMMAND   ""
 	)
+
+	ExternalProject_Get_Property(EP_JPEG BINARY_DIR)
+	SET(JPEG_LIBRARY_NAME jpeg)
+	if(MSVC)
+		SET(JPEG_LIBRARY_NAME jpeg-static)
+		SET(OBJDIR "$<CONFIG>/")
+	endif()

 	SET(JPEG_INCLUDE_DIRS
 		"${MRPT_BINARY_DIR}/otherlibs/libjpeg-turbo/"
-		"${MRPT_BINARY_DIR}/JPEG-prefix/src/JPEG-build")
-	SET(JPEG_LIBRARIES ${MRPT_BINARY_DIR}/JPEG-prefix/src/JPEG-build/${CMAKE_STATIC_LIBRARY_PREFIX}jpeg${CMAKE_STATIC_LIBRARY_SUFFIX})
+		"${BINARY_DIR}")
+	SET(JPEG_LIBRARIES ${BINARY_DIR}/${OBJDIR}${CMAKE_STATIC_LIBRARY_PREFIX}${JPEG_LIBRARY_NAME}${CMAKE_STATIC_LIBRARY_SUFFIX})
+
+	add_library(JPEG STATIC IMPORTED)
+	set_property(TARGET JPEG PROPERTY IMPORTED_LOCATION ${JPEG_LIBRARIES})
+	add_dependencies(JPEG EP_JPEG)
+

 	INCLUDE_DIRECTORIES("${JPEG_INCLUDE_DIRS}")
 ENDIF(NOT CMAKE_MRPT_HAS_JPEG_SYSTEM)


fix: workaround CMake file stomping (#4823)

Without these changes, and only on my large VM, CMake would generate an
invalid `google_cloud_cpp_common.bzl` file. It seems that the `APPEND`
and `WRITE` steps for the file were running in parallel. I do not
understand the problem well, or why this solution helps. I can only
speculate that maybe Ninja aggressively parallelizes the file generation
steps unless they are part of the same CMake function.

--- cmake/CreateBazelConfig.cmake
+++ cmake/CreateBazelConfig.cmake
@@ -14,11 +14,13 @@
 # limitations under the License.
 # ~~~

-function (write_bazel_copyright FILENAME YEAR)
-    file(WRITE "${FILENAME}" "# Copyright ${YEAR} Google LLC")
-    file(
-        APPEND "${FILENAME}"
-        [=[
+function (google_cloud_cpp_bazel_copyright VAR YEAR)
+    set(text "# Copyright ${YEAR} Google LLC")
+    string(
+        CONCAT
+            text
+            "${text}"
+            [=[

 #
 # Licensed under the Apache License, Version 2.0 (the "License");
@@ -36,6 +38,9 @@
 # DO NOT EDIT -- GENERATED BY CMake -- Change the CMakeLists.txt file if needed

 ]=])
+    set(${VAR}
+        "${text}"
+        PARENT_SCOPE)
 endfunction ()

 # Generate a Bazel configuration file with the headers and sources for a given
@@ -60,9 +65,9 @@
         get_target_property(sources ${TARGET} SOURCES)
     endif ()
     foreach (src ${sources})
-        # Some files need to be specificied with an absolute path (mainly
-        # sources for INTERFACE libraries). Compute the relative path because
-        # Bazel does not like absolute filenames.
+        # Some files need to be specified with an absolute path (mainly sources
+        # for INTERFACE libraries). Compute the relative path because Bazel does
+        # not like absolute filenames.
         string(REPLACE "${CMAKE_CURRENT_SOURCE_DIR}/" "" relative "${src}")
         string(FIND "${src}" "${CMAKE_CURRENT_BINARY_DIR}" in_binary_dir)
         if ("${in_binary_dir}" EQUAL 0)
@@ -76,7 +81,8 @@
             list(APPEND CC ${relative})
         endif ()
     endforeach ()
-    write_bazel_copyright(${filename} ${_CREATE_BAZEL_CONFIG_OPT_YEAR})
+    google_cloud_cpp_bazel_copyright(text "${_CREATE_BAZEL_CONFIG_OPT_YEAR}")
+    file(WRITE "${filename}" "${text}")
     file(APPEND "${filename}" [=[
 """Automatically generated source lists for ]=])
     file(APPEND "${filename}" ${TARGET})
@@ -103,7 +109,8 @@
     if ("${_EXPORT_LIST_TO_BAZEL_OPT_YEAR}" STREQUAL "")
         set(_EXPORT_LIST_TO_BAZEL_OPT_YEAR "2018")
     endif ()
-    write_bazel_copyright(${filename} ${_EXPORT_LIST_TO_BAZEL_OPT_YEAR})
+    google_cloud_cpp_bazel_copyright(text "${_EXPORT_LIST_TO_BAZEL_OPT_YEAR}")
+    file(WRITE "${filename}" "${text}")
     file(
         APPEND "${filename}"
         [=[
@@ -124,7 +131,9 @@
     if ("${_EXPORT_VARIABLES_TO_BAZEL_OPT_YEAR}" STREQUAL "")
         set(_EXPORT_VARIABLES_TO_BAZEL_OPT_YEAR "2019")
     endif ()
-    write_bazel_copyright(${filename} ${_EXPORT_VARIABLES_TO_BAZEL_OPT_YEAR})
+    google_cloud_cpp_bazel_copyright(text
+                                     "${_EXPORT_VARIABLES_TO_BAZEL_OPT_YEAR}")
+    file(WRITE "${filename}" "${text}")
     file(
         APPEND "${filename}"
         [=[


fixed qhull cmake files (thanks Nizar!)

fixed qhull cmake files (thanks Nizar!)

git-svn-id: e7ea667a1d39a4453c4efcc4ba7bca3d620c3f19@597 a9d63959-f2ad-4865-b262-bf0e56cfafb6

--- cmake/Modules/FindQhull.cmake
+++ cmake/Modules/FindQhull.cmake
@@ -7,17 +7,15 @@
 # QHULL_LIBRARIES - Libraries needed to use QHULL.
 # QHULL_DEFINITIONS - Compiler flags for QHULL.

-#find_path(QHULL_INCLUDE_DIR qhull/qhull.h)
 find_path(QHULL_INCLUDE_DIR qhull.h
           HINTS ${QHULL_ROOT}
-          PATH_SUFFIXES qhull src)
+          PATH_SUFFIXES qhull src/libqhull libqhull)

-#find_library(QHULL_LIBRARY qhull)
 find_library(QHULL_LIBRARY qhull
              HINTS ${QHULL_ROOT}
              PATH_SUFFIXES project)

-set(QHULL_INCLUDE_DIRS ${QHULL_INCLUDE_DIR}/qhull ${QHULL_INCLUDE_DIR})
+set(QHULL_INCLUDE_DIRS ${QHULL_INCLUDE_DIR})
 set(QHULL_LIBRARIES ${QHULL_LIBRARY})

 include(FindPackageHandleStandardArgs)


Check library type before reading properties

Former-commit-id: b825807bf61549637e0d7c9448f8c361f3f074a3

--- cmake/getExpandedTarget.cmake
+++ cmake/getExpandedTarget.cmake
@@ -174,8 +174,10 @@
                 # The location property can only be read on imported targets
                 get_target_property(imported_lib ${target_name} LOCATION)
             endif()
+            if(NOT lib_type MATCHES "INTERFACE")
+                get_target_property(private_libs  ${target_name} LINK_LIBRARIES)
+            endif()
             get_target_property(interface_libs ${target_name} INTERFACE_LINK_LIBRARIES)
-            get_target_property(private_libs ${target_name} LINK_LIBRARIES)

             foreach(elem ${imported_lib};${private_libs};${interface_libs})
                 if(TARGET ${elem} AND NOT ${elem} IN_LIST ${expanded_list} AND NOT ${elem} IN_LIST target_names AND NOT ${elem} IN_LIST target_names_expanded)


Add -Wno-long-long to the flags for clang

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

--- deal.II/contrib/cmake/setup_compiler_flags_gnu.cmake
+++ deal.II/contrib/cmake/setup_compiler_flags_gnu.cmake
@@ -65,6 +65,7 @@
   ENABLE_IF_AVAILABLE(CMAKE_CXX_FLAGS "-Wno-unneeded-internal-declaration")
   ENABLE_IF_AVAILABLE(CMAKE_CXX_FLAGS "-Wno-unused-function")
   ENABLE_IF_AVAILABLE(CMAKE_CXX_FLAGS "-Wno-unused-variable")
+  ENABLE_IF_AVAILABLE(CMAKE_CXX_FLAGS "-Wno-long-long")
 ENDIF()


update cmake script in case of some mpirun doesn't recognize executables in current path

--- utilities/cmake/setup_module_test_case.macro.cmake
+++ utilities/cmake/setup_module_test_case.macro.cmake
@@ -13,7 +13,7 @@
     IF(NOT DEFINED _n_slots)
       SET(_n_slots 2)
     ENDIF()
-    SET (_para_run -n ${_n_slots} ${__test_driver} ${_input_file_list} > screen.log 2>&1)
+    SET (_para_run -n ${_n_slots} ${CMAKE_CURRENT_BINARY_DIR}/${__test_driver} ${_input_file_list} > screen.log 2>&1)
     LIST (APPEND _additional_clean_up_files "screen.log")
 ELSE()
   SET (_exec_run ${__test_driver})


remove 2 options that weren't used

remove 2 options that weren't used

--- SuperBuild/External_googletest.cmake
+++ SuperBuild/External_googletest.cmake
@@ -50,8 +50,6 @@

     CMAKE_ARGS
         -DCMAKE_PREFIX_PATH=${SUPERBUILD_INSTALL_DIR}
-        -DCMAKE_LIBRARY_PATH=${SUPERBUILD_INSTALL_DIR}/lib
-        -DCMAKE_INCLUDE_PATH=${SUPERBUILD_INSTALL_DIR}
         -DCMAKE_INSTALL_PREFIX=${googletest_Install_Dir}
     INSTALL_DIR ${googletest_Install_Dir}
     DEPENDS


RPI & ARM - only add rpath-link for the linker when necessary.

--- CMake/Modules/UrhoCommon.cmake
+++ CMake/Modules/UrhoCommon.cmake
@@ -130,9 +130,12 @@
     set (INDIRECT_DEPS_EXE_LINKER_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} -Wl,-no_weak_imports")
 endif ()
 if (ARM AND CMAKE_SYSTEM_NAME STREQUAL Linux AND CMAKE_CROSSCOMPILING AND CMAKE_LIBRARY_ARCHITECTURE)
-    # Cannot do this in the toolchain file because CMAKE_LIBRARY_ARCHITECTURE is not yet defined when CMake is processing toolchain file
-    # Probably don't need this in the future when the linker from the cross-compiling toolchain has the '129_multiarch_libpath.patch' applied to upstream
-    set (INDIRECT_DEPS_EXE_LINKER_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} -Wl,-rpath-link,\"${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}\":\"${CMAKE_SYSROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}\"")
+    # Check if the "cross" linker has already the library search path patched, see '129_multiarch_libpath.patch'
+    execute_process (COMMAND ${CMAKE_LINKER} --verbose COMMAND grep -i search OUTPUT_VARIABLE LD_SEARCH_PATHS)  # We only support *nix system for cross-compiling
+    if (NOT LD_SEARCH_PATHS MATCHES /lib/${CMAKE_LIBRARY_ARCHITECTURE})
+        # If not yet patched then the linker needs the following in order to link correctly
+        set (INDIRECT_DEPS_EXE_LINKER_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} -Wl,-rpath-link,\"${CMAKE_SYSROOT}/usr/local/lib/${CMAKE_LIBRARY_ARCHITECTURE}\":\"${CMAKE_SYSROOT}/lib/${CMAKE_LIBRARY_ARCHITECTURE}\":\"${CMAKE_SYSROOT}/usr/lib/${CMAKE_LIBRARY_ARCHITECTURE}\"")
+    endif ()
 endif ()
 set (CMAKE_REQUIRED_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} ${CMAKE_REQUIRED_FLAGS}")
 set (CMAKE_EXE_LINKER_FLAGS "${INDIRECT_DEPS_EXE_LINKER_FLAGS} ${CMAKE_EXE_LINKER_FLAGS}")


Bump up forge (gfx upstream) to v1.0.2

Bump up forge (gfx upstream) to v1.0.2

--- CMakeModules/build_forge.cmake
+++ CMakeModules/build_forge.cmake
@@ -7,7 +7,7 @@

 include(ExternalProject)

-set(FORGE_VERSION af3.6.0)
+set(FORGE_VERSION v1.0.2)
 set(prefix "${ArrayFire_BINARY_DIR}/third_party/forge")
 set(PX ${CMAKE_SHARED_LIBRARY_PREFIX})
 set(SX ${CMAKE_SHARED_LIBRARY_SUFFIX})


Add 'HUNTER_TOOLCHAIN_UNDETECTABLE_ID' for 'lto'

--- flags/lto.cmake
+++ flags/lto.cmake
@@ -1,4 +1,4 @@
-# Copyright (c) 2014, Ruslan Baratov
+# Copyright (c) 2014-2017, Ruslan Baratov
 # All rights reserved.

 if(DEFINED POLLY_FLAGS_LTO_CMAKE_)
@@ -11,3 +11,5 @@

 polly_add_cache_flag(CMAKE_CXX_FLAGS "-flto")
 polly_add_cache_flag(CMAKE_C_FLAGS "-flto")
+
+list(APPEND HUNTER_TOOLCHAIN_UNDETECTABLE_ID "lto")


Use dynamic V8 library by default

Use dynamic V8 library by default

--- cmake/modules/FindV8.cmake
+++ cmake/modules/FindV8.cmake
@@ -129,18 +129,19 @@
 		/usr/freeware/lib64
 )

-
-if (V8_INCLUDE_DIR AND V8_BASE_LIBRARY)
+if (V8_INCLUDE_DIR AND V8_LIBRARY)
+	set (V8_FOUND "YES")
+	set (V8_INCLUDE_DIRS ${V8_INCLUDE_DIR})
+	set (V8_LIBRARIES ${V8_LIBRARY})
+	set (V8_LIBRARIES ${V8_LIBRARIES} ${V8_LIBBASE_LIBRARY})
+	set (V8_LIBRARIES ${V8_LIBRARIES} ${V8_LIBPLATFORM_LIBRARY})
+elseif (V8_INCLUDE_DIR AND V8_BASE_LIBRARY)
 	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_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)
-	set (V8_FOUND "YES")
-	set (V8_INCLUDE_DIRS ${V8_INCLUDE_DIR})
-	set (V8_LIBRARIES ${V8_LIBRARY})
 else ()
 	set (V8_FOUND "NO")
 endif ()


Fix feature summary

Fix feature summary

--- CMake/FeatureSummary.cmake
+++ CMake/FeatureSummary.cmake
@@ -36,7 +36,7 @@
 if (OGRE_BUILD_COMPONENT_PYTHON)
 	set(_components "${_components}  + Python [BETA]\n")
 endif ()
-if (OGRE_BUILD_COMPONENT_PYTHON)
+if (OGRE_BUILD_COMPONENT_JAVA)
 	set(_components "${_components}  + Java/ JNI [BETA]\n")
 endif ()
 if (OGRE_BUILD_COMPONENT_RTSHADERSYSTEM)


FindGSL.cmake: better error message

FindGSL.cmake: better error message

--- CMakeModules/FindGSL.cmake
+++ CMakeModules/FindGSL.cmake
@@ -38,17 +38,19 @@
   endforeach(LIB)
 #endif (NOT BUILD_SHARED_LIBS)

-include(CheckLibraryExists)
-check_library_exists("${GSL_LIBRARY}" gsl_linalg_QR_decomp "" FOUND_QR_DECOMP)
-if(NOT FOUND_QR_DECOMP)
-  message(FATAL_ERROR "Could not find gsl_linalg_QR_decompx in ${GSL_LIBRARY}, take look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. If you don't have pkg-config installed you will most likely have to set GSL_LIBRARY by hand and include libgslcblas and libm in there (i.e. -DGSL_LIBRARY='/path/to/libgsl.so;/path/to/libgslcblas.so;/path/to/libm.so') !")
-endif(NOT FOUND_QR_DECOMP)
-
 include(FindPackageHandleStandardArgs)
 # handle the QUIETLY and REQUIRED arguments and set GSL_FOUND to TRUE
 # if all listed variables are TRUE
 find_package_handle_standard_args(GSL DEFAULT_MSG GSL_LIBRARY GSL_INCLUDE_DIR )

+if (GSL_FOUND)
+  include(CheckLibraryExists)
+  check_library_exists("${GSL_LIBRARY}" gsl_linalg_QR_decomp "" FOUND_QR_DECOMP)
+  if(NOT FOUND_QR_DECOMP)
+    message(FATAL_ERROR "Could not find gsl_linalg_QR_decompx in ${GSL_LIBRARY}, take look at the error message in ${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CMakeError.log to find out what was going wrong. If you don't have pkg-config installed you will most likely have to set GSL_LIBRARY by hand and include libgslcblas and libm in there (i.e. -DGSL_LIBRARY='/path/to/libgsl.so;/path/to/libgslcblas.so;/path/to/libm.so') !")
+  endif(NOT FOUND_QR_DECOMP)
+endif (GSL_FOUND)
+
 set(GSL_LIBRARIES ${GSL_LIBRARY} )
 set(GSL_INCLUDE_DIRS ${GSL_INCLUDE_DIR} )


Force rebuild on travis

Force rebuild on travis

--- CommonCompilerConfig.cmake
+++ CommonCompilerConfig.cmake
@@ -18,6 +18,7 @@
 #
 # http://numenta.org/licenses/
 # -----------------------------------------------------------------------------
+

 # Configures common compiler/linker/loader settings for internal and external
 # sources.


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Utilities/kwsys/kwsysDateStamp.cmake
+++ Utilities/kwsys/kwsysDateStamp.cmake
@@ -15,7 +15,7 @@
 SET(KWSYS_DATE_STAMP_YEAR  2010)

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


STYLE: Nightly Date Stamp

STYLE: Nightly Date Stamp

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

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


fix: move nano.specs and nosys.specs to core flags; otherwise the compiler test will fail due to missing _exit

--- CMake/GNU-ARM-Toolchain.cmake
+++ CMake/GNU-ARM-Toolchain.cmake
@@ -10,8 +10,10 @@
 set(CMAKE_OBJCOPY arm-none-eabi-objcopy)
 set(CMAKE_OBJDUMP arm-none-eabi-objdump)

+#set(CMAKE_TRY_COMPILE_TARGET_TYPE STATIC_LIBRARY)
+
 # core flags
-SET(CORE_FLAGS "-mthumb -mcpu=cortex-m4 -mlittle-endian -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb-interwork")
+SET(CORE_FLAGS "-mthumb -mcpu=cortex-m4 -mlittle-endian -mfpu=fpv4-sp-d16 -mfloat-abi=hard -mthumb-interwork --specs=nano.specs --specs=nosys.specs")

 # compiler: language specific flags
 SET(CMAKE_C_FLAGS "${CORE_FLAGS} -fno-builtin -Wall -std=gnu99 -fdata-sections -ffunction-sections -g3 -gdwarf-2" CACHE INTERNAL "c compiler flags")
@@ -20,9 +22,12 @@
 SET(CMAKE_ASM_FLAGS "${CORE_FLAGS} -g -ggdb3 -D__USES_CXX" CACHE INTERNAL "asm compiler flags")

 # linker specific flags
-SET(CMAKE_EXE_FLAGS "${CORE_FLAGS} -g -Wl,--gc-sections --specs=nano.specs --specs=nosys.specs")
+SET(CMAKE_EXE_FLAGS "${CORE_FLAGS} -g -Wl,--gc-sections")

+# search for programs in the build host directories
 set(CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER)
+
+# for libraries and headers in the target directories
 set(CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY)
 set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
 set(CMAKE_FIND_ROOT_PATH_MODE_PACKAGE ONLY)


Update test data

Update test data

--- CMakeExternals/MITKData.cmake
+++ CMakeExternals/MITKData.cmake
@@ -13,7 +13,7 @@

 if(BUILD_TESTING)

-  set(revision_tag 2c453a13) # first 8 characters of hash-tag
+  set(revision_tag 470c1d98) # first 8 characters of hash-tag
 #                  ^^^^^^^^  these are just to check correct length of hash part

   ExternalProject_Add(${proj}


Bug: CMAKE_BUILD_TYPE must be defined before use

--- CMakeModules/BaseConfig.cmake
+++ CMakeModules/BaseConfig.cmake
@@ -1,3 +1,10 @@
+IF(NOT CMAKE_BUILD_TYPE)
+    set(CMAKE_BUILD_TYPE Debug)
+  # SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
+      # "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
+      # FORCE)
+ENDIF(NOT CMAKE_BUILD_TYPE)
+
 if(CMAKE_COMPILER_IS_GNUCC)
     SET(RSN_BASE_C_FLAGS "-std=c99 -Wall") # -Wextra")   #-pedantic
     SET(RSN_BASE_CXX_FLAGS "-Wall") # -Wextra")
@@ -28,10 +35,3 @@
     ENDIF(${CMAKE_BUILD_TYPE} STREQUAL Debug)

 endif(CMAKE_COMPILER_IS_GNUCC)
-
-IF(NOT CMAKE_BUILD_TYPE)
-    set(CMAKE_BUILD_TYPE Debug)
-  # SET(CMAKE_BUILD_TYPE RelWithDebInfo CACHE STRING
-      # "Choose the type of build, options are: None Debug Release RelWithDebInfo MinSizeRel."
-      # FORCE)
-ENDIF(NOT CMAKE_BUILD_TYPE)


Some lines to help find Assimp earlier versions

--- CMakeModules/FindAssimp.cmake
+++ CMakeModules/FindAssimp.cmake
@@ -15,7 +15,12 @@
 ENDIF (ASSIMP_INCLUDE_DIR)

  # Find the headers
- FIND_PATH( ASSIMP_INCLUDE_DIR assimp/scene.h
+#this is for version 2.x of assimp
+# FIND_PATH( ASSIMP_INCLUDE_DIR assimp/assimp.h
+#            PATHS /usr/include "${ASSIMP_ROOT}/include" )
+
+#this is for version 3.x of assimp
+FIND_PATH( ASSIMP_INCLUDE_DIR assimp/scene.h
             PATHS /usr/include "${ASSIMP_ROOT}/include" )

 if( WIN32 )
@@ -26,7 +31,7 @@
   ENDIF ()

   FIND_LIBRARY( ASSIMP_LIBRARY
-               NAMES libassimp.lib assimp.lib assimp.dll
+               NAMES libassimp.lib assimp.lib
                PATHS "C:/libs/assimp/lib"  "${ASSIMP_ROOT}/lib" "${ASSIMP_ROOT}/lib/${ASSIMP_BUILD_DIR}")

 else (WIN32)


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
+++ Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 07)

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
+++ Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 03)

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

--- Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
+++ Modules/ThirdParty/KWSys/src/KWSys/kwsysDateStamp.cmake
@@ -18,4 +18,4 @@
 SET(KWSYS_DATE_STAMP_MONTH 10)

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


Debugging.

Debugging.

--- CPM.cmake
+++ CPM.cmake
@@ -818,6 +818,7 @@

     # Add any includes the module wants to expose in the parent's scope.
     if(DEFINED CPM_ADDITIONAL_INCLUDE_DIRS)
+      message("Additional dir: ${CPM_ADDITIONAL_INCLUDE_DIRS}")
       set(CPM_INCLUDE_DIRS ${CPM_INCLUDE_DIRS} ${CPM_ADDITIONAL_INCLUDE_DIRS})
     endif()


Optimize thread library link name

Optimize thread library link name

--- project/cmake/ProjectBuildOption.cmake
+++ project/cmake/ProjectBuildOption.cmake
@@ -34,8 +34,8 @@
 find_package(Threads)
 if(CMAKE_USE_PTHREADS_INIT)
   set(THREAD_TLS_USE_PTHREAD 1)
-  if(THREADS_PREFER_PTHREAD_FLAG)
-    list(APPEND PROJECT_ATFRAME_UTILS_PUBLIC_DEFINITIONS ${THREADS_PREFER_PTHREAD_FLAG})
+  if(TARGET Threads::Threads)
+    list(APPEND PROJECT_ATFRAME_UTILS_PUBLIC_LINK_NAMES Threads::Threads)
   endif()
 endif()


boards: nucleo_l073rz: Add stm32cubeprogrammer as runner

stm32cubeprogrammer is much faster to flash than openocd.
Additionally, it can flash even when board is in stop mode,
which is required to test power management in CI.

Set it as a flasher of the board, so we can take advantage of it in CI.

Signed-off-by: Erwan Gouriou <de4d967452b83bb0e37525652734e7d9163b6a4c@linaro.org>

--- boards/arm/nucleo_l073rz/board.cmake
+++ boards/arm/nucleo_l073rz/board.cmake
@@ -1,6 +1,9 @@
 # SPDX-License-Identifier: Apache-2.0

 board_runner_args(jlink "--device=STM32L073RZ" "--speed=4000")
+board_runner_args(stm32cubeprogrammer "--port=swd" "--reset=hw")
+

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


ffmpeg use script: FFMPEG_DLLNAMES

ffmpeg use script: FFMPEG_DLLNAMES

issue https://github.com/smanders/externpro/issues/287

--- projects/use/usexp-ffmpeg-config.cmake
+++ projects/use/usexp-ffmpeg-config.cmake
@@ -1,7 +1,8 @@
 # FFMPEG_FOUND - FFmpeg was found
 # FFMPEG_VER - FFmpeg version
 # FFMPEG_LIBRARIES - the FFmpeg libraries
-# FFMPEG_DLLS - the FFmpeg shared objects (dll, so)
+# FFMPEG_DLLNAMES - the FFmpeg shared object names (dll, so)
+# FFMPEG_DLLS - the full path to FFmpeg shared objects (dll, so)
 set(prj ffmpeg)
 # this file (-config) installed to share/cmake
 get_filename_component(XP_ROOTDIR ${CMAKE_CURRENT_LIST_DIR}/../.. ABSOLUTE)
@@ -75,16 +76,18 @@
 set(${PRJ}_LIBRARIES ${ffmpegLibs})
 set(reqVars ${PRJ}_VER ${PRJ}_LIBRARIES)
 if(WIN32)
-  set(${PRJ}_DLLS
-    ${XP_ROOTDIR}/bin${verDir}/avcodec-56.dll
-    ${XP_ROOTDIR}/bin${verDir}/avdevice-56.dll
-    ${XP_ROOTDIR}/bin${verDir}/avfilter-5.dll
-    ${XP_ROOTDIR}/bin${verDir}/avformat-56.dll
-    ${XP_ROOTDIR}/bin${verDir}/avutil-54.dll
-    ${XP_ROOTDIR}/bin${verDir}/swresample-1.dll
-    ${XP_ROOTDIR}/bin${verDir}/swscale-3.dll
+  set(${PRJ}_DLLNAMES
+    avcodec-56.dll
+    avdevice-56.dll
+    avfilter-5.dll
+    avformat-56.dll
+    avutil-54.dll
+    swresample-1.dll
+    swscale-3.dll
     )
-  list(APPEND reqVars ${PRJ}_DLLS)
+  set(${PRJ}_DLLS ${${PRJ}_DLLNAMES})
+  list(TRANSFORM ${PRJ}_DLLS PREPEND ${XP_ROOTDIR}/bin${verDir}/)
+  list(APPEND reqVars ${PRJ}_DLLNAMES ${PRJ}_DLLS)
 endif()
 include(FindPackageHandleStandardArgs)
 set(FPHSA_NAME_MISMATCHED TRUE) # find_package_handle_standard_args NAME_MISMATCHED (prefix usexp-)


ffmpeg needs Xext lib (if found)

ffmpeg needs Xext lib (if found)

* use script specifies this library (if found)
* ffmpeg may have been built on a system where configure detected and built against Xext library
* issue https://github.com/smanders/externpro/issues/212#issue-356002836
* perhaps the `--disable-xlib` in the previous commit may avoid the need to add Xext to the link line?
  * I just don't have a system to test this on, so the less risky thing is just to add it to the link line

--- projects/use/usexp-ffmpeg-config.cmake
+++ projects/use/usexp-ffmpeg-config.cmake
@@ -49,6 +49,7 @@
     endif()
   endfunction()
   checkLibraryConcat(asound snd_strerror syslibs)
+  checkLibraryConcat(Xext XShmDetach syslibs)
   list(APPEND ${PRJ}_LIBRARIES ${OPENH264_LIBRARIES} ${syslibs})
 endif()
 include(FindPackageHandleStandardArgs)


[numerics] typo in tests

[numerics] typo in tests

--- numerics/numerics_tests.cmake
+++ numerics/numerics_tests.cmake
@@ -110,7 +110,7 @@
   RM_TEST2(SICONOS_LCP_ENUM "lcp_enum_fails.dat")

   # TODO backup path when GDESV fails
-  SET(test-LCP_NEWTON_FBLSA-lcp_CPS_1 WILL_FAIL TRUE)
+  SET(test-LCP_NEWTON_FBLSA-lcp_CPS_1_PROPERTIES WILL_FAIL TRUE)

   # special tests
   NEW_LCP_TEST(SICONOS_LCP_ENUM lcp_Pang_isolated_sol.dat)


[cmake] skip tests that depend on HAVE_QL0001

--- numerics/numerics_tests.cmake
+++ numerics/numerics_tests.cmake
@@ -60,7 +60,7 @@

   SET(SICONOS_LCP_SOLVERS
     "ENUM;LEMKE;CPG;PGS;RPGS;LATIN;LATIN_W;AVI_CAOFERRIS;NEWTONMIN;NEWTON_FBLSA;NEWTON_MINFBLSA;BARD;MURTY;PIVOT;PIVOT_LUMOD;PATHSEARCH;CONVEXQP_PG")
- if(HAS_FORTRAN)
+ if(HAS_FORTRAN AND HAVE_QL0001)
    LIST(APPEND SICONOS_LCP_SOLVERS "QP;NSQP;")
  endif()
  IF(HAVE_PATHFERRIS)


Make indenting consistent in CondorPackageConfig.cmake.

White-space changes only. No code or behavior changes.

--- build/cmake/CondorPackageConfig.cmake
+++ build/cmake/CondorPackageConfig.cmake
@@ -160,16 +160,16 @@

 	############################################################
 	# create the WIX package input file (condor.xsl) even if we aren't doing packaging.
-    set (CONDOR_WIX_LOC ${CONDOR_SOURCE_DIR}/msconfig/WiX)
-
-    # branding and licensing
-    set (CPACK_PACKAGE_ICON ${CONDOR_WIX_LOC}/Bitmaps/dlgbmp.bmp)
-    set (CPACK_RESOURCE_FILE_LICENSE "${CONDOR_SOURCE_DIR}/msconfig/license.rtf")
-
-    set (CPACK_WIX_PRODUCT_GUID "792D07D2-0D3B-46C4-ABBE-849374A8E0B3")
-    set (CPACK_WIX_UPGRADE_GUID "ef96d7c4-29df-403c-8fab-662386a089a4")
+	set (CONDOR_WIX_LOC ${CONDOR_SOURCE_DIR}/msconfig/WiX)
+
+	# branding and licensing
+	set (CPACK_PACKAGE_ICON ${CONDOR_WIX_LOC}/Bitmaps/dlgbmp.bmp)
+	set (CPACK_RESOURCE_FILE_LICENSE "${CONDOR_SOURCE_DIR}/msconfig/license.rtf")
+
+	set (CPACK_WIX_PRODUCT_GUID "792D07D2-0D3B-46C4-ABBE-849374A8E0B3")
+	set (CPACK_WIX_UPGRADE_GUID "ef96d7c4-29df-403c-8fab-662386a089a4")

-    set (CPACK_WIX_WXS_FILES ${CONDOR_WIX_LOC}/xml/CondorCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorPoolCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorExecCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorDomainCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorEmailCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorJavaCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorPermCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorVMCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorHDFSCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorUpHostDlg.wxs)
+	set (CPACK_WIX_WXS_FILES ${CONDOR_WIX_LOC}/xml/CondorCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorPoolCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorExecCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorDomainCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorEmailCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorJavaCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorPermCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorVMCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorHDFSCfgDlg.wxs;${CONDOR_WIX_LOC}/xml/CondorUpHostDlg.wxs)
 	set (CPACK_WIX_BITMAP_FOLDER Bitmaps)
 	set (CPACK_WIX_BITMAP_FOLDER ${CONDOR_WIX_LOC}/Bitmaps)

@@ -177,8 +177,8 @@
 	if (MSVC90)
 		set (VC_CRT_MSM Microsoft_VC90_CRT_x86.msm)
 		find_file( CPACK_VC_POLICY_MODULE
-               policy_9_0_Microsoft_VC90_CRT_x86.msm
-               "C:/Program Files/Common Files/Merge #Modules";"C:/Program Files (x86)/Common Files/Merge Modules" )
+			policy_9_0_Microsoft_VC90_CRT_x86.msm
+               		"C:/Program Files/Common Files/Merge #Modules";"C:/Program Files (x86)/Common Files/Merge Modules" )
 		set (WIX_MERGE_MODLES "<Merge Id=\"VCPolicy\" Language=\"1033\" DiskId=\"1\" SourceFile=\"${CPACK_VC_POLICY_MODULE}\"/>")
 		set (WIX_MERGE_REFS "<MergeRef Id=\"VCPolicy\"/>")
 	elseif(MSVC10)
@@ -188,16 +188,16 @@
 	endif()

 	# look for the all important C-runtime
-    find_file( CPACK_VC_MERGE_MODULE
-               ${VC_CRT_MSM}
-               "C:/Program Files/Common Files/Merge Modules";"C:/Program Files (x86)/Common Files/Merge Modules" )
+	find_file( CPACK_VC_MERGE_MODULE
+		${VC_CRT_MSM}
+		"C:/Program Files/Common Files/Merge Modules";"C:/Program Files (x86)/Common Files/Merge Modules" )

 	set (WIX_MERGE_MODLES "<Merge Id=\"VCCRT\" Language=\"1033\" DiskId=\"1\" SourceFile=\"${CPACK_VC_MERGE_MODULE}\"/>\n${WIX_MERGE_MODLES}")
 	set (WIX_MERGE_REFS "<MergeRef Id=\"VCCRT\"/>\n${WIX_MERGE_REFS}")

 	configure_file(${CONDOR_WIX_LOC}/xml/win.xsl.in ${CONDOR_BINARY_DIR}/msconfig/WiX/xml/condor.xsl @ONLY)

-    set (CPACK_GENERATOR "ZIP")
+	set (CPACK_GENERATOR "ZIP")

 	install ( FILES ${CPACK_WIX_WXS_FILES} ${CONDOR_BINARY_DIR}/msconfig/WiX/xml/condor.xsl
 			DESTINATION ${C_ETC}/WiX/xml )
@@ -208,10 +208,10 @@
 	install ( FILES ${CONDOR_SOURCE_DIR}/msconfig/license.rtf ${CONDOR_SOURCE_DIR}/msconfig/do_wix.bat
 			  DESTINATION ${C_ETC}/WiX )

-    # the following will dump a header used to insert file info into bin's
-    set ( WINVER ${CMAKE_CURRENT_BINARY_DIR}/src/condor_includes/condor_winver.h)
-    file( WRITE ${WINVER} "#define CONDOR_VERSION \"${PACKAGE_VERSION}\"\n")
-    #file( APPEND ${WINVER} "#define CONDOR_BLAH \"${YOUR_VAR}\"\n")
+	# the following will dump a header used to insert file info into bin's
+	set ( WINVER ${CMAKE_CURRENT_BINARY_DIR}/src/condor_includes/condor_winver.h)
+	file( WRITE ${WINVER} "#define CONDOR_VERSION \"${PACKAGE_VERSION}\"\n")
+	#file( APPEND ${WINVER} "#define CONDOR_BLAH \"${YOUR_VAR}\"\n")

 	option(WIN_EXEC_NODE_ONLY "Minimal Package Win exec node only" OFF)

@@ -328,7 +328,7 @@
 			set( C_LIB32		usr/lib/condor )
 		endif ()

-        if ( ${LINUX_NAME} MATCHES "openSUSE"  OR  ${LINUX_NAME} MATCHES "sles" )
+		if ( ${LINUX_NAME} MATCHES "openSUSE"  OR  ${LINUX_NAME} MATCHES "sles" )
 			set( CPACK_RPM_SHADOW_PACKAGE "pwdutils" )
 		else()
 			set( CPACK_RPM_SHADOW_PACKAGE "shadow-utils" )


Port to clang

Port to clang

--- cmake/DevBaseExternal.cmake
+++ cmake/DevBaseExternal.cmake
@@ -81,7 +81,6 @@
             /opt/local/include
         )
         link_directories(
-            SYSTEM
             /opt/local/lib
         )
     endif()


build: FindImageMagick file needed updating.

Incorrectly updated the one in VulkanTools insteda of the one
in LoaderAndValidationLayers.

Thanks to Arda for the catch (even though I originally thought
he messed up).

Change-Id: Ic60d68d9c17437c4c711a8b359a8ad9246537e30

--- cmake/FindImageMagick.cmake
+++ cmake/FindImageMagick.cmake
@@ -91,16 +91,16 @@
         GET_FILENAME_COMPONENT(IM_BIN_PATH
           [HKEY_LOCAL_MACHINE\\SOFTWARE\\ImageMagick\\Current;BinPath]
           ABSOLUTE CACHE)
-
+
       # Otherwise, the WOW6432Node returned a string, assume 32-bit build on 64-bit OS and use that string.
       else()

         GET_FILENAME_COMPONENT(IM_BIN_PATH
           [HKEY_LOCAL_MACHINE\\SOFTWARE\\WOW6432Node\\ImageMagick\\Current;BinPath]
           ABSOLUTE CACHE)
-
+
       endif()
-
+
     endif()

     set (IMAGEMAGIC_REG_PATH ${IM_BIN_PATH} PARENT_SCOPE)
@@ -113,24 +113,32 @@
     set (IMAGEMAGIC_REG_PATH "" PARENT_SCOPE)
     set (IMAGEMAGIC_REGINCLUDE_PATH "" PARENT_SCOPE)
     set (IMAGEMAGIC_REGLIB_PATH "" PARENT_SCOPE)
-
+
   endif()
+
 endfunction()

 #---------------------------------------------------------------------
 # Helper functions
 #---------------------------------------------------------------------
-FUNCTION(FIND_IMAGEMAGICK_API component header)
+FUNCTION(FIND_IMAGEMAGICK_API component path header)
   SET(ImageMagick_${component}_FOUND FALSE PARENT_SCOPE)

+  # NOTE: My experience is that Windows uses the PATHs
+  #       variables, while Linux uses the PATH_SUFFIXES.
+  #       You can't add sub-directories to the PATH_SUFFIXES
+  #       because it messes up the ImageMagick Include
+  #       paths that are returned.  Instead, you have to
+  #       call this FIND_IMAGEMAGICK_API for each separate
+  #       possible sub-folder.
   FIND_PATH(ImageMagick_${component}_INCLUDE_DIR
     NAMES ${header}
     PATHS
       ${ImageMagick_INCLUDE_DIRS}
       ${IMAGEMAGIC_REGINCLUDE_PATH}
     PATH_SUFFIXES
-      ImageMagick ImageMagick-6
+      ImageMagick ImageMagick-6 ImageMagick-7
     DOC "Path to the ImageMagick include dir."
     )
   FIND_PATH(ImageMagick_${component}_ARCH_INCLUDE_DIR
@@ -139,7 +147,7 @@
       ${ImageMagick_INCLUDE_DIRS}
       ${IMAGEMAGIC_REGINCLUDE_PATH}
     PATH_SUFFIXES
-      ImageMagick ImageMagick-6
+      ImageMagick ImageMagick-6 ImageMagick-7
     DOC "Path to the ImageMagick arch-specific include dir."
     )
   FIND_LIBRARY(ImageMagick_${component}_LIBRARY
@@ -149,17 +157,28 @@
     DOC "Path to the ImageMagick Magick++ library."
     )

-  IF(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
-
+
+  IF (ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
     SET(ImageMagick_${component}_FOUND TRUE PARENT_SCOPE)
+
     LIST(APPEND ImageMagick_INCLUDE_DIRS
       ${ImageMagick_${component}_INCLUDE_DIR}
       )
-    IF(EXISTS ${ImageMagick_${component}_ARCH_INCLUDE_DIR})
+
+    # Only add the path if it's not the special string "<NONE>"
+    IF(NOT path STREQUAL "<NONE>")
+       LIST(APPEND ImageMagick_INCLUDE_DIRS
+         ${ImageMagick_${component}_INCLUDE_DIR}/${path}
+       )
+    ENDIF()
+
+    # Add the architecture include path if it exists
+    IF (ImageMagick_${component}_ARCH_INCLUDE_DIR)
       LIST(APPEND ImageMagick_INCLUDE_DIRS
         ${ImageMagick_${component}_ARCH_INCLUDE_DIR}
         )
-    ENDIF(EXISTS ${ImageMagick_${component}_ARCH_INCLUDE_DIR})
+    ENDIF()
+
     LIST(REMOVE_DUPLICATES ImageMagick_INCLUDE_DIRS)
     SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS} PARENT_SCOPE)

@@ -167,7 +186,7 @@
       ${ImageMagick_${component}_LIBRARY}
       )
     SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES} PARENT_SCOPE)
-  ENDIF(ImageMagick_${component}_INCLUDE_DIR AND ImageMagick_${component}_LIBRARY)
+  ENDIF()

 ENDFUNCTION(FIND_IMAGEMAGICK_API)

@@ -210,34 +229,88 @@
     # DEPRECATED: forced components for backward compatibility
     convert mogrify import montage composite
     )
-  IF(component STREQUAL "Magick++")
-    FIND_IMAGEMAGICK_API(Magick++ Magick++.h
-      Magick++ CORE_RL_Magick++_ Magick++-6.Q16 Magick++-Q16 Magick++-6.Q8 Magick++-Q8 Magick++-6.Q16HDRI Magick++-Q16HDRI Magick++-6.Q8HDRI Magick++-Q8HDRI
-      )
-  ELSEIF(component STREQUAL "MagickWand")
-    FIND_IMAGEMAGICK_API(MagickWand wand/MagickWand.h
-      Wand MagickWand CORE_RL_wand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI
-      )
-  ELSEIF(component STREQUAL "MagickCore")
-    FIND_IMAGEMAGICK_API(MagickCore magick/MagickCore.h
-      Magick MagickCore CORE_RL_magick_ MagickCore-6.Q16 MagickCore-Q16 MagickCore-6.Q8 MagickCore-Q8 MagickCore-6.Q16HDRI MagickCore-Q16HDRI MagickCore-6.Q8HDRI MagickCore-Q8HDRI
-      )
-  ELSE(component STREQUAL "Magick++")
-    IF(ImageMagick_EXECUTABLE_DIR)
-      FIND_IMAGEMAGICK_EXE(${component})
-    ENDIF(ImageMagick_EXECUTABLE_DIR)
-  ENDIF(component STREQUAL "Magick++")
+
+    IF(component STREQUAL "Magick++")
+
+        # Try top folder first
+        FIND_IMAGEMAGICK_API(Magick++ <NONE> Magick++.h
+            Magick++ CORE_RL_Magick++_ Magick++-6.Q16 Magick++-Q16 Magick++-6.Q8 Magick++-Q8 Magick++-6.Q16HDRI Magick++-Q16HDRI Magick++-6.Q8HDRI Magick++-Q8HDRI
+        )
+
+        IF(NOT ImageMagick_Magick++_INCLUDE_DIR OR NOT ImageMagick_Magick++_LIBRARY)
+            # Look for Magick++.h, in the magick++ sub-folder
+            FIND_IMAGEMAGICK_API(Magick++ magick++ magick++/Magick++.h
+                Magick++ CORE_RL_Magick++_ Magick++-6.Q16 Magick++-Q16 Magick++-6.Q8 Magick++-Q8 Magick++-6.Q16HDRI Magick++-Q16HDRI Magick++-6.Q8HDRI Magick++-Q8HDRI
+            )
+        ENDIF()
+
+        IF(NOT ImageMagick_MagickWand_INCLUDE_DIR OR NOT ImageMagick_MagickWand_LIBRARY)
+            # Look for Magick++.h, in the magick sub-folder
+            FIND_IMAGEMAGICK_API(Magick++ magick magick/Magick++.h
+                Magick++ CORE_RL_Magick++_ Magick++-6.Q16 Magick++-Q16 Magick++-6.Q8 Magick++-Q8 Magick++-6.Q16HDRI Magick++-Q16HDRI Magick++-6.Q8HDRI Magick++-Q8HDRI
+            )
+        ENDIF()
+
+    ELSEIF(component STREQUAL "MagickWand")
+
+        # Try top folder first
+        FIND_IMAGEMAGICK_API(MagickWand <NONE> MagickWand.h
+           Wand MagickWand CORE_RL_wand_ CORE_RL_MagickWand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI
+        )
+
+        IF(NOT ImageMagick_MagickWand_INCLUDE_DIR OR NOT ImageMagick_MagickWand_LIBRARY)
+            # Look for MagickWand.h in the wand sub-folder
+            FIND_IMAGEMAGICK_API(MagickWand wand wand/MagickWand.h
+              Wand MagickWand CORE_RL_wand_ CORE_RL_MagickWand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI
+            )
+        ENDIF()
+
+        IF(NOT ImageMagick_MagickWand_INCLUDE_DIR OR NOT ImageMagick_MagickWand_LIBRARY)
+            # Look for MagickWand.h he MagickWand sub-folder
+            FIND_IMAGEMAGICK_API(MagickWand MagickWand MagickWand/MagickWand.h
+              Wand MagickWand CORE_RL_wand_ CORE_RL_MagickWand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI
+            )
+        ENDIF()
+
+        IF(NOT ImageMagick_MagickWand_INCLUDE_DIR OR NOT ImageMagick_MagickWand_LIBRARY)
+            # Look for MagickWand.h he magick sub-folder
+            FIND_IMAGEMAGICK_API(MagickWand magick magick/MagickWand.h
+              Wand MagickWand CORE_RL_wand_ CORE_RL_MagickWand_ MagickWand-6.Q16 MagickWand-Q16 MagickWand-6.Q8 MagickWand-Q8 MagickWand-6.Q16HDRI MagickWand-Q16HDRI MagickWand-6.Q8HDRI MagickWand-Q8HDRI
+            )
+        ENDIF()
+
+    ELSEIF(component STREQUAL "MagickCore")
+
+        # Try top folder first
+        FIND_IMAGEMAGICK_API(MagickCore <NONE> MagickCore.h
+          Magick MagickCore CORE_RL_magick_ CORE_RL_MagickCore_ MagickCore-6.Q16 MagickCore-Q16 MagickCore-6.Q8 MagickCore-Q8 MagickCore-6.Q16HDRI MagickCore-Q16HDRI MagickCore-6.Q8HDRI MagickCore-Q8HDRI
+        )
+
+        IF(NOT ImageMagick_MagickCore_INCLUDE_DIR OR NOT ImageMagick_MagickCore_LIBRARY)
+            # Look for MagickCore.h, in the MagickCore sub-folder
+            FIND_IMAGEMAGICK_API(MagickCore MagickCore MagickCore/MagickCore.h
+              Magick MagickCore CORE_RL_magick_ CORE_RL_MagickCore_ MagickCore-6.Q16 MagickCore-Q16 MagickCore-6.Q8 MagickCore-Q8 MagickCore-6.Q16HDRI MagickCore-Q16HDRI MagickCore-6.Q8HDRI MagickCore-Q8HDRI
+            )
+        ENDIF()
+
+        IF(NOT ImageMagick_MagickCore_INCLUDE_DIR OR NOT ImageMagick_MagickCore_LIBRARY)
+            # Look for MagickCore.h, in the magick sub-folder
+            FIND_IMAGEMAGICK_API(MagickCore magick magick/MagickCore.h
+              Magick MagickCore CORE_RL_magick_ CORE_RL_MagickCore_ MagickCore-6.Q16 MagickCore-Q16 MagickCore-6.Q8 MagickCore-Q8 MagickCore-6.Q16HDRI MagickCore-Q16HDRI MagickCore-6.Q8HDRI MagickCore-Q8HDRI
+            )
+        ENDIF()
+
+    ENDIF()

-  IF(NOT ImageMagick_${component}_FOUND)
-    LIST(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
-    IF(is_requested GREATER -1)
-      SET(ImageMagick_FOUND FALSE)
-    ENDIF(is_requested GREATER -1)
-  ENDIF(NOT ImageMagick_${component}_FOUND)
+    IF(NOT ImageMagick_${component}_FOUND)
+
+        LIST(FIND ImageMagick_FIND_COMPONENTS ${component} is_requested)
+        IF(is_requested GREATER -1)
+            SET(ImageMagick_FOUND FALSE)
+        ENDIF(is_requested GREATER -1)
+
+    ENDIF(NOT ImageMagick_${component}_FOUND)
 ENDFOREACH(component)
-
-SET(ImageMagick_INCLUDE_DIRS ${ImageMagick_INCLUDE_DIRS})
-SET(ImageMagick_LIBRARIES ${ImageMagick_LIBRARIES})

 #---------------------------------------------------------------------
 # Standard Package Output
@@ -264,7 +337,7 @@
     CACHE FILEPATH "Path to ImageMagick's montage executable.")
 SET(IMAGEMAGICK_COMPOSITE_EXECUTABLE ${ImageMagick_composite_EXECUTABLE}
     CACHE FILEPATH "Path to ImageMagick's composite executable.")
-
+
 MARK_AS_ADVANCED(
   IMAGEMAGICK_BINARY_PATH
   IMAGEMAGICK_CONVERT_EXECUTABLE


Squashed '3rdparty/github/cmake-utils/' changes from 6d68e878..251c0b2e

251c0b2e Fix cmake/MyPackageRepair.cmake generated call to MESSAGE

git-subtree-dir: 3rdparty/github/cmake-utils
git-subtree-split: 251c0b2e4a8d504379dc6a3b7a844e01de197a91

--- cmake/MyPackageRepair.cmake
+++ cmake/MyPackageRepair.cmake
@@ -26,7 +26,7 @@
         GET_FILENAME_COMPONENT(_MYPACKAGE_GENERATED_INCLUDE_DIR_ABSOLUTE ${MYPACKAGE_GENERATED_INCLUDE_DIR} ABSOLUTE)
         INCLUDE_DIRECTORIES(${_MYPACKAGE_GENERATED_INCLUDE_DIR_ABSOLUTE})
         MESSAGE(STATUS "Appending in ${FIXME_CMAKE}: INCLUDE_DIRECTORIES(${_MYPACKAGE_GENERATED_INCLUDE_DIR_ABSOLUTE})")
-        FILE(APPEND ${FIXME_CMAKE} "Append to INCLUDE_DIRECTORIES: ${_MYPACKAGE_GENERATED_INCLUDE_DIR_ABSOLUTE}\n")
+        FILE(APPEND ${FIXME_CMAKE} "MESSAGE(STATUS \"Append to INCLUDE_DIRECTORIES: ${_MYPACKAGE_GENERATED_INCLUDE_DIR_ABSOLUTE}\")\n")
         FILE(APPEND ${FIXME_CMAKE} "INCLUDE_DIRECTORIES(${_MYPACKAGE_GENERATED_INCLUDE_DIR_ABSOLUTE})\n")
       ENDIF ()
       SET (STDINT_H_SINGLETON TRUE CACHE BOOL "C stdint.h repair singleton")


cmake: Fix minor typo in docs

cmake: Fix minor typo in docs

Fix a minor copy-paste error in the help text.

Signed-off-by: Sebastian Bøe <edee888afd63e94916688495334700803eba20a0@nordicsemi.no>

--- cmake/app/boilerplate.cmake
+++ cmake/app/boilerplate.cmake
@@ -63,7 +63,7 @@
 define_property(GLOBAL PROPERTY GENERATED_KERNEL_SOURCE_FILES
   BRIEF_DOCS "Source files that are generated after Zephyr has been linked once."
   FULL_DOCS "\
-Object files that are generated after Zephyr has been linked once.\
+Source files that are generated after Zephyr has been linked once.\
 May include isr_tables.c etc."
   )
 set_property(GLOBAL PROPERTY GENERATED_KERNEL_SOURCE_FILES "")


cmake: remove duplicated ZEPHYR_BASE append to BOARD_ROOT

The following two lines are duplicated in boilerplate.cmake
```
zephyr_file(APPLICATION_ROOT BOARD_ROOT)
list(APPEND BOARD_ROOT ${ZEPHYR_BASE})
```

This commit removes one set of the duplicated lines.

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

--- cmake/app/boilerplate.cmake
+++ cmake/app/boilerplate.cmake
@@ -198,9 +198,6 @@

 # Dummy add to generate files.
 zephyr_linker_sources(SECTIONS)
-
-zephyr_file(APPLICATION_ROOT BOARD_ROOT)
-list(APPEND BOARD_ROOT ${ZEPHYR_BASE})

 # 'BOARD_ROOT' is a prioritized list of directories where boards may
 # be found. It always includes ${ZEPHYR_BASE} at the lowest priority.


Allow paramter culling to be tunred off

Allow paramter culling to be tunred off

--- cmake/common/px4_base.cmake
+++ cmake/common/px4_base.cmake
@@ -851,9 +851,12 @@
 		${CMAKE_CURRENT_BINARY_DIR}/px4_parameters.c)
 	set_source_files_properties(${generated_files}
 		PROPERTIES GENERATED TRUE)
+	if ("${config_generate_parameters_scope}" STREQUAL "ALL")
+		set(SCOPE "")
+	endif()
 	add_custom_command(OUTPUT ${generated_files}
 		COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/Tools/px_generate_params.py ${XML} ${SCOPE}
-		DEPENDS ${XML} ${DEPS} ${CMAKE_SOURCE_DIR}/cmake/configs/${OS}_${BOARD}_${LABEL}.cmake
+		DEPENDS ${XML} ${DEPS} ${SCOPE}
 		)
 	set(${OUT} ${generated_files} PARENT_SCOPE)
 endfunction()


Workround for Boost + Visual Studio issue

- https://github.com/boostorg/build/issues/426

--- cmake/configs/default.cmake
+++ cmake/configs/default.cmake
@@ -36,6 +36,10 @@
 if(MINGW)
   # https://github.com/boostorg/build/issues/301
   hunter_default_version(Boost VERSION 1.64.0)
+elseif(MSVC AND MSVC_VERSION VERSION_GREATER "1900")
+  # Visual Studio 15 2017 bug:
+  # - https://github.com/boostorg/build/issues/426
+  hunter_default_version(Boost VERSION 1.69.0-p0)
 else()
   hunter_default_version(Boost VERSION 1.70.0-p0)
 endif()


ENH: Update to recent version of VTK v6.1.0.rc1

--- SuperBuild/External_VTK.cmake
+++ SuperBuild/External_VTK.cmake
@@ -184,17 +184,17 @@
       ${${proj}_DEPENDENCIES}
     )

-  set(VTKPatchScript ${CMAKE_CURRENT_LIST_DIR}/External_VTK_patch.cmake)
-  ExternalProject_Add_Step(${proj} VTKPatch
-    COMMENT "get rid of obsolete C/CXX flags"
-    DEPENDEES download
-    DEPENDERS configure
-    COMMAND ${CMAKE_COMMAND}
-    -DVTKSource=<SOURCE_DIR>
-    -P ${VTKPatchScript}
-    )
-
-  set(${extProjName}_DIR ${CMAKE_BINARY_DIR}/${proj}-install/lib/vtk-5.10)
+#  set(VTKPatchScript ${CMAKE_CURRENT_LIST_DIR}/External_VTK_patch.cmake)
+#  ExternalProject_Add_Step(${proj} VTKPatch
+#    COMMENT "get rid of obsolete C/CXX flags"
+#    DEPENDEES download
+#    DEPENDERS configure
+#    COMMAND ${CMAKE_COMMAND}
+#    -DVTKSource=<SOURCE_DIR>
+#    -P ${VTKPatchScript}
+#    )
+
+  set(${extProjName}_DIR ${CMAKE_BINARY_DIR}/${proj}-install/lib/vtk-6.1)
 else()
   if(${USE_SYSTEM_${extProjName}})
     find_package(${extProjName} ${${extProjName}_REQUIRED_VERSION} REQUIRED)


Remove old, obsolete InstallDebugSymbols.cmake

--- cmake-local/InstallDebugSymbols.cmake
+++ cmake-local/InstallDebugSymbols.cmake
@@ -1,22 +0,0 @@
-if(MSVC AND NOT CMAKE_VERSION VERSION_LESS 3.2)
-    function(osvr_install_symbols_for_target _target)
-        # debug symbols for MSVC: supported on CMake 3.2 and up where there's a
-        # generator expression for a target's PDB file
-        get_target_property(_target_type ${_target} TYPE)
-        if("${_target_type}" STREQUAL "EXECUTABLE" OR "${_target_type}" STREQUAL "SHARED_LIBRARY")
-            # exe or dll: put it alongside the runtime component
-            set(DEST ${CMAKE_INSTALL_BINDIR})
-        else()
-            set(DEST ${CMAKE_INSTALL_LIBDIR})
-        endif()
-        set(HAS_SYMBOLS_CONDITION $<OR:$<CONFIG:RelWithDebInfo>,$<CONFIG:Debug>>)
-        install(FILES $<${HAS_SYMBOLS_CONDITION}:$<TARGET_PDB_FILE:${_target}>>
-            DESTINATION ${DEST}
-            COMPONENT Devel
-            ${ARGN})
-    endfunction()
-else()
-    function(osvr_install_symbols_for_target)
-        # do nothing if too old of CMake or not MSVC.
-    endfunction()
-endif()


[CMake] Introduce LIT in add_lit_target.

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -322,15 +322,18 @@
 # A raw function to create a lit target. This is used to implement the testuite
 # management functions.
 function(add_lit_target target comment)
-  parse_arguments(ARG "PARAMS;DEPENDS;ARGS" "" ${ARGN})
+  parse_arguments(ARG "LIT;PARAMS;DEPENDS;ARGS" "" ${ARGN})
   set(LIT_ARGS "${ARG_ARGS} ${LLVM_LIT_ARGS}")
   separate_arguments(LIT_ARGS)
   if (NOT CMAKE_CFG_INTDIR STREQUAL ".")
     list(APPEND LIT_ARGS --param build_mode=${CMAKE_CFG_INTDIR})
   endif ()
+  if(NOT EXISTS ${ARG_LIT})
+    set(ARG_LIT ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py)
+  endif()
   set(LIT_COMMAND
     ${PYTHON_EXECUTABLE}
-    ${LLVM_MAIN_SRC_DIR}/utils/lit/lit.py
+    ${ARG_LIT}
     ${LIT_ARGS}
     )
   foreach(param ${ARG_PARAMS})


[CMake] Make llvm_install_library_symlink respect LLVM_LIBDIR_SUFFIX.

This is required to support multilib install targets, and addresses a regression introduced in r252093.

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -1069,7 +1069,7 @@
   set(full_name ${CMAKE_${type}_LIBRARY_PREFIX}${name}${CMAKE_${type}_LIBRARY_SUFFIX})
   set(full_dest ${CMAKE_${type}_LIBRARY_PREFIX}${dest}${CMAKE_${type}_LIBRARY_SUFFIX})

-  set(output_dir lib)
+  set(output_dir lib${LLVM_LIBDIR_SUFFIX})
   if(WIN32 AND "${type}" STREQUAL "SHARED")
     set(output_dir bin)
   endif()


Fix llvm-lit script generation in libcxx.

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

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

--- cmake/modules/AddLLVM.cmake
+++ cmake/modules/AddLLVM.cmake
@@ -1130,11 +1130,11 @@
   # They below might not be the build tree but provided binary tree.
   set(LLVM_SOURCE_DIR ${LLVM_MAIN_SRC_DIR})
   set(LLVM_BINARY_DIR ${LLVM_BINARY_DIR})
-  string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLVM_TOOLS_DIR ${LLVM_TOOLS_BINARY_DIR})
-  string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLVM_LIBS_DIR  ${LLVM_LIBRARY_DIR})
+  string(REPLACE "${CMAKE_CFG_INTDIR}" "${LLVM_BUILD_MODE}" LLVM_TOOLS_DIR "${LLVM_TOOLS_BINARY_DIR}")
+  string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} LLVM_LIBS_DIR  "${LLVM_LIBRARY_DIR}")

   # SHLIBDIR points the build tree.
-  string(REPLACE ${CMAKE_CFG_INTDIR} ${LLVM_BUILD_MODE} SHLIBDIR "${LLVM_SHLIB_OUTPUT_INTDIR}")
+  string(REPLACE "${CMAKE_CFG_INTDIR}" "${LLVM_BUILD_MODE}" SHLIBDIR "${LLVM_SHLIB_OUTPUT_INTDIR}")

   set(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})
   # FIXME: "ENABLE_SHARED" doesn't make sense, since it is used just for


-minor things: all lower-case, also mark IDN_LIBRARIES as advanced, documentation string for IDN_INCLUDE_DIR, documentation format fix at the top

Alex

svn path=/trunk/KDE/kdenetwork/kopete/; revision=937559

--- cmake/modules/FindIDN.cmake
+++ cmake/modules/FindIDN.cmake
@@ -1,18 +1,18 @@
-# cmake macro to test IDN library
-
-# Copyright (c) 2006, Will Stephenson <wstephenson@kde.org>
+# CMake module to search for the IDN library
 #
 #  IDN_FOUND - Test has found IDN dependencies
 #  IDN_INCLUDE_DIR - Include needed for IDN
 #  IDN_LIBRARIES - Libraries needed for IDN
 #  IDN_DEFINITIONS - Compiler swithces required for using IDN
+
+# Copyright (c) 2006, Will Stephenson <wstephenson@kde.org>
 #
 # Redistribution and use is allowed according to the terms of the BSD license.
 # For details see the accompanying COPYING-CMAKE-SCRIPTS file.

 if (IDN_INCLUDE_DIR AND IDN_LIBRARIES)
     # cached
-    SET(IDN_FOUND TRUE)
+    set(IDN_FOUND TRUE)
 else (IDN_INCLUDE_DIR AND IDN_LIBRARIES)
     if (NOT WIN32)
         find_package(PkgConfig)
@@ -20,7 +20,7 @@
             pkg_check_modules(IDN libidn)
         endif(PKG_CONFIG_EXECUTABLE)
     endif (NOT WIN32)
-
+
     if(NOT IDN_FOUND)
         find_path(IDN_INCLUDEDIR idna.h)
         find_library(IDN_LIBRARIES NAMES idn libidn idn-11 libidn-11)
@@ -34,12 +34,14 @@
         if(NOT IDN_FIND_QUIETLY)
             message(STATUS "Found libidn: ${IDN_LIBRARIES}")
         endif(NOT IDN_FIND_QUIETLY)
-        set(IDN_INCLUDE_DIR ${IDN_INCLUDEDIR} CACHE PATH "")
-        mark_as_advanced( IDN_INCLUDE_DIR )
+        set(IDN_INCLUDE_DIR ${IDN_INCLUDEDIR} CACHE PATH "Include directory for using the IDN library")
     else(IDN_FOUND)
         if (IDN_FIND_REQUIRED)
             message(FATAL_ERROR "Not found required libidn")
         endif (IDN_FIND_REQUIRED)
     endif(IDN_FOUND)
+
+    mark_as_advanced( IDN_INCLUDE_DIR  IDN_LIBRARIES )
+
 endif (IDN_INCLUDE_DIR AND IDN_LIBRARIES)


Replace ENABLE_cxx logic by CMAKE_CXX_COMPILER_WORKS where appropriate.

svn path=/trunk/; revision=10200

--- cmake/modules/summary.cmake
+++ cmake/modules/summary.cmake
@@ -67,12 +67,12 @@
 CMAKE_BUILD_TYPE:	${CMAKE_BUILD_TYPE}
 CMAKE_C_COMPILER CMAKE_C_FLAGS:			${CMAKE_C_COMPILER} ${CMAKE_C_FLAGS}")

-if(ENABLE_cxx)
+if(CMAKE_CXX_COMPILER_WORKS)
 set(
 _output_results
 "${_output_results}
 CMAKE_CXX_COMPILER CMAKE_CXX_FLAGS:		${CMAKE_CXX_COMPILER} ${CMAKE_CXX_FLAGS}")
-endif(ENABLE_cxx)
+endif(CMAKE_CXX_COMPILER_WORKS)

 if(ENABLE_f77 OR ENABLE_f95)
 set(


linux no debug suffix

linux no debug suffix

--- externals/CMakeExternals.cmake
+++ externals/CMakeExternals.cmake
@@ -544,19 +544,19 @@
       else()
         include(GNUInstallDirs)
         set(MEGAMOL_SHADER_FACTORY_LIB "${CMAKE_INSTALL_LIBDIR}/libmegamol-shader-factory.a")
-        set(GLSLANG_LIB "${CMAKE_INSTALL_LIBDIR}/libglslang$<$<CONFIG:Debug>:d>.a")
-        set(GENERICCODEGEN_LIB "lib/libGenericCodeGen$<$<CONFIG:Debug>:d>.a")
-        set(MACHINEINDEPENDENT_LIB "lib/libMachineIndependent$<$<CONFIG:Debug>:d>.a")
-        set(OSDEPENDENT_LIB "lib/libOSDependent$<$<CONFIG:Debug>:d>.a")
-        set(OGLCOMPILER_LIB "lib/libOGLCompiler$<$<CONFIG:Debug>:d>.a")
-        set(SPIRV_LIB "lib/libSPIRV$<$<CONFIG:Debug>:d>.a")
+        set(GLSLANG_LIB "${CMAKE_INSTALL_LIBDIR}/libglslang.a")
+        set(GENERICCODEGEN_LIB "lib/libGenericCodeGen.a")
+        set(MACHINEINDEPENDENT_LIB "lib/libMachineIndependent.a")
+        set(OSDEPENDENT_LIB "lib/libOSDependent.a")
+        set(OGLCOMPILER_LIB "lib/libOGLCompiler.a")
+        set(SPIRV_LIB "lib/libSPIRV.a")
       endif()

       external_get_property(glad INSTALL_DIR)

       add_external_project(megamol-shader-factory STATIC
         GIT_REPOSITORY https://github.com/UniStuttgart-VISUS/megamol-shader-factory.git
-        GIT_TAG v0.2
+        GIT_TAG 2dae25bbeb5395a1711bff0e58c91dee08fc272f
         BUILD_BYPRODUCTS
         "<INSTALL_DIR>/${MEGAMOL_SHADER_FACTORY_LIB}"
         "<INSTALL_DIR>/${GLSLANG_LIB}"