make the horror if statement easier to read

--- modules/math_libs.cmake
+++ modules/math_libs.cmake
@@ -496,10 +496,16 @@

 # further adaptation for the static linking
 if (ENABLE_STATIC_LINKING)
-    if (LAPACK_TYPE MATCHES ATLAS OR LAPACK_TYPE MATCHES SYSTEM_NATIVE OR LAPACK_TYPE MATCHES OPENBLAS OR BLAS_TYPE MATCHES ATLAS OR BLAS_TYPE MATCHES SYSTEM_NATIVE OR BLAS_TYPE MATCHES OPENBLAS)
+    if (LAPACK_TYPE MATCHES ATLAS OR
+        LAPACK_TYPE MATCHES SYSTEM_NATIVE OR
+        LAPACK_TYPE MATCHES OPENBLAS OR
+        BLAS_TYPE MATCHES ATLAS OR
+        BLAS_TYPE MATCHES SYSTEM_NATIVE OR
+        BLAS_TYPE MATCHES OPENBLAS)
         set(MATH_LIBS ${MATH_LIBS} -Wl,--whole-archive -lpthread -Wl,--no-whole-archive)
     endif()
-    if (LAPACK_TYPE MATCHES MKL OR BLAS_TYPE MATCHES MKL)
+    if (LAPACK_TYPE MATCHES MKL OR
+        BLAS_TYPE MATCHES MKL)
         # fix for MKL static linking (-lc not needed for PGI)
         # radovan: why is -lc added also for PGI? when exactly is it needed?
         set(MATH_LIBS ${MATH_LIBS} -ldl -lc)


Fix linking components getting overridden by new VTK6/7 test

--- ANTS.cmake
+++ ANTS.cmake
@@ -54,7 +54,9 @@
 option(USE_VTK "Use VTK Libraries" OFF)
 if(USE_VTK)
   find_package(VTK)
-  find_package(VTK COMPONENTS
+
+  if(VTK_VERSION_MAJOR GREATER 6)
+    find_package(VTK COMPONENTS vtkRenderingVolumeOpenGL2
    vtkCommonCore
    vtkCommonDataModel
    vtkIOGeometry
@@ -66,11 +68,18 @@
    vtkImagingGeneral
    vtkRenderingAnnotation
    )
-
-  if(VTK_VERSION_MAJOR GREATER 6)
-    find_package(VTK COMPONENTS vtkRenderingVolumeOpenGL2)
   else(VTK_VERSION_MAJOR GREATER 6)
-     find_package(VTK COMPONENTS vtkRenderingVolumeOpenGL)
+     find_package(VTK COMPONENTS vtkRenderingVolumeOpenGL
+     vtkCommonCore
+     vtkCommonDataModel
+     vtkIOGeometry
+     vtkIOXML
+     vtkIOLegacy
+     vtkIOPLY
+     vtkFiltersModeling
+     vtkImagingStencil
+     vtkImagingGeneral
+     vtkRenderingAnnotation)
   endif(VTK_VERSION_MAJOR GREATER 6)

   if(VTK_FOUND)


CMake: Fix spelling of Embree passed to find package

The spelling and capitalization of package name passed to find_package()
and find_package_handle_standard_args() needs to match.

Silences CMake warning about mismatch.

Differential Revision: https://developer.blender.org/D8247

--- src/cmake/external_libs.cmake
+++ src/cmake/external_libs.cmake
@@ -137,9 +137,9 @@
   set(BOOST_DEFINITIONS "-DBOOST_ALL_NO_LIB")

   ####
-  # embree
+  # Embree
   if(WITH_CYCLES_EMBREE)
-    find_package(embree 3.8.0 REQUIRED)
+    find_package(Embree 3.8.0 REQUIRED)
   endif()

   ####


[FIX] headers and modules are now lex. sorted again in Xcode

git-svn-id: a7f2a8f7432d210e972fb03898013d213e2b549b@13430 e6417c60-b987-48fd-844e-b20f0fcc1017

--- util/cmake/SeqAnBuildSystem.cmake
+++ util/cmake/SeqAnBuildSystem.cmake
@@ -224,6 +224,16 @@
     file (GLOB SUPER_HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/seqan/[A-z]*.h
                              ${CMAKE_CURRENT_SOURCE_DIR}/include/seqan.h)
     file (GLOB HEADERS ${CMAKE_CURRENT_SOURCE_DIR}/include/seqan/[A-z]*/[A-z]*.h)
+
+    # Sort headers for Xcode, ...
+    if (HEADERS)
+        list (SORT HEADERS)
+    endif (HEADERS)
+
+    # Sort super-headers for Xcode, ...
+    if (SUPER_HEADERS)
+        list (SORT SUPER_HEADERS)
+    endif (SUPER_HEADERS)

     # Create source groups for Visual Studio (and possibly other IDEs).
     foreach (HEADER ${HEADERS})


[FIX] cmake simd utility: fix wrong diagnostics

--- util/cmake/SeqAnSimdUtility.cmake
+++ util/cmake/SeqAnSimdUtility.cmake
@@ -583,10 +583,10 @@
     set(seqansimd_compile_blacklist ${seqansimd_compile_blacklist} ${_simd_intrinsics_blacklist} ${_simd_seqansimd_blacklist})
     set(umesimd_compile_blacklist ${umesimd_compile_blacklist} ${_simd_intrinsics_blacklist})

-    if (UMESIMD_FOUND AND umesimd_test_blacklist)
+    if (UMESIMD_FOUND AND umesimd_test_blacklist AND seqansimd_test_blacklist)
         message(STATUS "Disable test `${target}` for seqan-simd and ume-simd and the following simd extensions ${seqansimd_test_blacklist} and ${umesimd_test_blacklist}")
         message(STATUS "\tReason: ${reason_for_disabled_test}")
-    elseif (UMESIMD_FOUND AND umesimd_test_blacklist AND seqansimd_test_blacklist)
+    elseif (UMESIMD_FOUND AND umesimd_test_blacklist)
         message(STATUS "Disable test `${target}` for ume-simd and the following simd extensions ${umesimd_test_blacklist}")
         message(STATUS "\tReason: ${reason_for_disabled_test}")
     elseif (seqansimd_test_blacklist)


new submission site for the dashboard

new submission site for the dashboard

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -11,9 +11,10 @@
 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 # See the License for the specific language governing permissions and
 # limitations under the License.
-SET (CTEST_DROP_METHOD xmlrpc)
+SET (CTEST_DROP_METHOD http)
 SET (CTEST_PROJECT_NAME "zorba")
 SET (CTEST_NIGHTLY_START_TIME "00:00:00 GMT")
-SET (CTEST_DROP_SITE "http://fifthelement.inf.ethz.ch:8082")
-SET (CTEST_DROP_LOCATION "zorba")
-SET (CTEST_COMPRESS_SUBMISSION ON)
+SET (CTEST_DROP_SITE "dbisdart.inf.ethz.ch")
+SET (CTEST_DROP_LOCATION "/CDash/submit.php?project=zorba")
+SET (CTEST_DROP_SITE_CDASH TRUE)
+# SET (CTEST_COMPRESS_SUBMISSION ON)


Changed CDash to point to odin.

Changed CDash to point to odin.

--- CTestConfig.cmake
+++ CTestConfig.cmake
@@ -8,6 +8,6 @@
 set(CTEST_NIGHTLY_START_TIME "00:00:00 EST")

 set(CTEST_DROP_METHOD "http")
-set(CTEST_DROP_SITE "my.cdash.org")
-set(CTEST_DROP_LOCATION "/submit.php?project=ROSS")
+set(CTEST_DROP_SITE "odin.cs.rpi.edu")
+set(CTEST_DROP_LOCATION "/CDash/submit.php?project=ROSS")
 set(CTEST_DROP_SITE_CDASH TRUE)


[t:4871] don't run upgrade_test_simple with valgrind

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

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

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


refs #4871 don't run 6.0.0 upgrade tests during normal dev time

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

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -97,7 +97,7 @@
 if(NOT @RUN_LONG_TESTS@)
   foreach(test ${stress_tests})
     if (NOT ${test} MATCHES test_stress_openclose)
-      foreach(oldver 4.2.0 5.0.8 5.2.7)
+      foreach(oldver 4.2.0 5.0.8 5.2.7 6.0.0)
         foreach(p_or_s pristine stressed)
           if (NOT (${test} MATCHES test_stress4 AND ${p_or_s} MATCHES stressed))
             foreach(size 2000)


Fix find script

Fix find script

--- gloperate-config.cmake
+++ gloperate-config.cmake
@@ -96,8 +96,10 @@
     # message("${LIB_NAME_UPPER}_LIBRARY_DEBUG   = ${${LIB_NAME_UPPER}_LIBRARY_DEBUG}")
     # message("${LIB_NAME_UPPER}_LIBRARY         = ${${LIB_NAME_UPPER}_LIBRARY}")

-    list(APPEND GLOPERATE_INCLUDES ${${LIB_NAME_UPPER}_INCLUDE_DIR})
-    list(APPEND GLOPERATE_LIBRARIES ${${LIB_NAME_UPPER}_LIBRARY})
+    if (${LIB_NAME_UPPER}_LIBRARY)
+	list(APPEND GLOPERATE_INCLUDES ${${LIB_NAME_UPPER}_INCLUDE_DIR})
+	list(APPEND GLOPERATE_LIBRARIES ${${LIB_NAME_UPPER}_LIBRARY})
+    endif ()
 endmacro()

 find(gloperate gloperate/gloperate_api.h ${LIB_PATHS})


fix clang compile error re C flags

fix clang compile error re C flags

--- CMake/hoomd/HOOMDCFlagsSetup.cmake
+++ CMake/hoomd/HOOMDCFlagsSetup.cmake
@@ -29,5 +29,5 @@
 # Enable compiler warnings on gcc and clang (common compilers used by developers)
 if(CMAKE_COMPILER_IS_GNUCXX OR CMAKE_CXX_COMPILER_ID MATCHES "Clang")
     set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas -Wno-deprecated-declarations")
-    set(CMAKE_C_FLAGS "${CMAKE_CXX_FLAGS} -Wall -Wno-unknown-pragmas")
+    set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wall -Wno-unknown-pragmas")
 endif()


FIX: typo

FIX: typo

--- tests/system_tests/run_system_tests.sh.cmake
+++ tests/system_tests/run_system_tests.sh.cmake
@@ -17,7 +17,7 @@
 if [ "x$CFLAGS" = "x" ]; then
     CFLAGS=""
 fi
-CFLAGS="${CFLAGS} -g -Wno-unuused-variable"
+CFLAGS="${CFLAGS} -g -Wno-unused-variable"
 DIE_IMMEDIATELY=0
 ###############################################################
 set -u


Add CMAKE_RC_COMPILER variable to mingw_resource_compiler macro.

--- CMakeModules/MinGWResourceCompiler.cmake
+++ CMakeModules/MinGWResourceCompiler.cmake
@@ -5,6 +5,12 @@
 endmacro(dbg_msg)

 macro(mingw_resource_compiler _NAME)
+    # Resource compiler name.
+    if(NOT DEFINED CMAKE_RC_COMPILER)
+        set(CMAKE_RC_COMPILER windres.exe)
+    endif(NOT DEFINED CMAKE_RC_COMPILER)
+    dbg_msg("CMAKE_RC_COMPILER: ${CMAKE_RC_COMPILER}")
+
     # Input file.
     set(_IN "${CMAKE_CURRENT_SOURCE_DIR}/${_NAME}.rc")
     dbg_msg("_IN: ${_IN}")
@@ -20,13 +26,13 @@
     endforeach(wx_include_dir ${wxWidgets_INCLUDE_DIRS})
     dbg_msg("_WINDRES_INCLUDE_DIRS: ${_WINDRES_INCLUDE_DIRS}")

-    # windres.exe arguments.
+    # windres arguments.
     set(_ARGS ${_WINDRES_INCLUDE_DIRS} -i${_IN} -o${_OUT})
     dbg_msg("_ARGS: ${_ARGS}")

     # Compile resource file.
     add_custom_command(OUTPUT ${_OUT}
-        COMMAND windres.exe
+        COMMAND ${CMAKE_RC_COMPILER}
         ARGS ${_ARGS}
         COMMENT "Compiling ${_NAME}'s resource file"
         VERBATIM)


iox-#1635 Remove useless cast flag from QNX

Signed-off-by: Dietrich Kroenke <ea45bc0219d3b6c3a6b9cf3abdfa172e6bfa16ff@apex.ai>

--- iceoryx_platform/qnx/IceoryxPlatformSettings.cmake
+++ iceoryx_platform/qnx/IceoryxPlatformSettings.cmake
@@ -18,7 +18,7 @@
 set_global(VAR ICEORYX_CXX_STANDARD         VALUE 14)

 set_global(VAR ICEORYX_C_WARNINGS           VALUE -W -Wall -Wextra -Wuninitialized -Wpedantic -Wstrict-aliasing -Wcast-align -Wconversion)
-set_global(VAR ICEORYX_CXX_WARNINGS         VALUE ${ICEORYX_C_WARNINGS} -Wno-noexcept-type -Wuseless-cast)
+set_global(VAR ICEORYX_CXX_WARNINGS         VALUE ${ICEORYX_C_WARNINGS} -Wno-noexcept-type -Wno-useless-cast)

 if(BUILD_STRICT)
     set_global(VAR ICEORYX_C_WARNINGS       VALUE ${ICEORYX_C_WARNINGS} -Werror)


ann changes

ann changes

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

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

 CMAKE_MINIMUM_REQUIRED(VERSION 2.8)

@@ -11,22 +11,21 @@
 include (BuildSupport)
 include (PatchSupport)

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

-message ("Installing ${ann_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")
-ExternalProject_Add(${ann_NAME}
+message ("Installing ${libann_NAME} into FlyEM build area: ${BUILDEM_DIR} ...")
+ExternalProject_Add(${libann_NAME}
     PREFIX              ${BUILDEM_DIR}
-    URL                 ${ann_URL}
-    URL_MD5             ${ann_MD5}
+    URL                 ${libann_URL}
+    URL_MD5             ${libann_MD5}
     UPDATE_COMMAND      ""
     PATCH_COMMAND       ""

-    CONFIGURE_COMMAND   cp ann_CMakeLists.txt ${ann_SRC_DIR} &&
-        ${BUILDEM_ENV_STRING} ${CMAKE_COMMAND} ${ann_SRC_DIR}
+    CONFIGURE_COMMAND   ${BUILDEM_ENV_STRING} ${CMAKE_COMMAND} ${libann_SRC_DIR}
         -DBUILD_SHARED_LIBS=ON
         -DCMAKE_INSTALL_PREFIX=${BUILDEM_DIR}
         -DCMAKE_PREFIX_PATH=${BUILDEM_DIR}
@@ -37,6 +36,6 @@
     TEST_COMMAND        ${BUILDEM_ENV_STRING} make check
 )

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

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


removed dependecy from TomoPhantom

removed dependecy from TomoPhantom

--- SuperBuild/External_CCPi-Framework.cmake
+++ SuperBuild/External_CCPi-Framework.cmake
@@ -22,7 +22,7 @@
 set(proj CCPi-Framework)

 # Set dependency list
-set(${proj}_DEPENDENCIES "TomoPhantom")
+set(${proj}_DEPENDENCIES "")

 # Include dependent projects if any
 ExternalProject_Include_Dependencies(${proj} DEPENDS_VAR ${proj}_DEPENDENCIES)


PKG: report not found only if not found in any of search dirs

--- SuperBuild/Packaging/PackageHelper.cmake
+++ SuperBuild/Packaging/PackageHelper.cmake
@@ -444,23 +444,30 @@
     message(FATAL_ERROR "${OTB_INSTALL_DIR}/bin/otbApplicationLauncherCommandLine${EXE_EXT} not found.")
   endif()

-  foreach(EXE_FILE
-      otbApplicationLauncherQt
-      iceViewer
-      otbTestDriver
-      monteverdi
-      mapla)
-
+  set(EXE_FILES)
+  list(APPEND EXE_FILES "otbApplicationLauncherQt")
+  list(APPEND EXE_FILES "iceViewer")
+  list(APPEND EXE_FILES "otbTestDriver")
+  list(APPEND EXE_FILES "monteverdi")
+  list(APPEND EXE_FILES "mapla")
+  foreach(EXE_FILE ${EXE_FILES})
+    set(FOUND_${EXE_FILE} FALSE)
     foreach(EXE_SEARCH_DIR ${EXE_SEARCH_DIRS})
       if(EXISTS "${EXE_SEARCH_DIR}/${EXE_FILE}${EXE_EXT}")
+        set(FOUND_${EXE_FILE} TRUE)
         #see the first comment about VAR_IN_PKGSETUP_CONFIGURE
         set(VAR_IN_PKGSETUP_CONFIGURE "${VAR_IN_PKGSETUP_CONFIGURE} bin/${EXE_FILE}${EXE_EXT}")
         list(APPEND PKG_PEFILES
           "${EXE_SEARCH_DIR}/${EXE_FILE}${EXE_EXT}")
-      else()
-        message(STATUS "'${OTB_INSTALL_DIR}/bin/${EXE_FILE}${EXE_EXT}'(not found. skipping)")
-      endif()
-      endforeach() #EXE_SEARCH_DIR
+      endif()
+    endforeach() #EXE_SEARCH_DIR
+  endforeach()
+
+  #loop again to report if anything is not found
+  foreach( EXE_FILE ${EXE_FILES} )
+    if(NOT FOUND_${EXE_FILE})
+      message(STATUS "'${OTB_INSTALL_DIR}/bin/${EXE_FILE}${EXE_EXT}'(not found. skipping)")
+    endif()
   endforeach()

   #For Unixes we write the startup script in the *pkgsetup.in


cylemon.cmake: Provide include and lib directories to setup.py

--- cylemon.cmake
+++ cylemon.cmake
@@ -29,7 +29,8 @@
     PATCH_COMMAND       ${BUILDEM_ENV_STRING} ${PATCH_EXE}
     	${cylemon_SRC_DIR}/setup.py ${PATCH_DIR}/cylemon.patch
     CONFIGURE_COMMAND   ""
-    BUILD_COMMAND       ${BUILDEM_ENV_STRING} ${PYTHON_EXE} setup.py build
+    BUILD_COMMAND       ${BUILDEM_ENV_STRING} ${PYTHON_EXE}
+    	setup.py build build_ext -I${BUILDEM_INCLUDE_DIR} -L${BUILDEM_LIB_DIR}
     BUILD_IN_SOURCE     1
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} ${PYTHON_EXE} setup.py install
 )


rtrlib: support use in c++ projects (#200)

To support inclusion from c++ projects the name mangling must be
disabled for rtrlib symbols, otherwise the linker can't find them.

--- rtrlib/rtrlib.h.cmake
+++ rtrlib/rtrlib.h.cmake
@@ -6,6 +6,10 @@
  *
  * Website: http://rtrlib.realmv6.org/
  */
+
+#ifdef __cplusplus
+extern "C" {
+#endif

 #ifndef RTRLIB_H
 #define RTRLIB_H
@@ -30,3 +34,8 @@
 #endif

 #endif
+
+
+#ifdef __cplusplus
+}
+#endif


Visual Studio 2017 marked as c++11

Visual Studio 2017 marked as c++11

--- CXX11.cmake
+++ CXX11.cmake
@@ -22,7 +22,7 @@
 macro(check_for_cxx11_compiler _VAR)
     message(STATUS "Checking for C++11 compiler")
     set(${_VAR})
-    if((MSVC AND (MSVC10 OR MSVC11 OR MSVC12)) OR
+    if((MSVC AND (MSVC10 OR MSVC11 OR MSVC12 OR MSVC14)) OR
        (CMAKE_COMPILER_IS_GNUCXX AND NOT ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 4.8.1) OR
        (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" AND NOT ${CMAKE_CXX_COMPILER_VERSION} VERSION_LESS 3.1))
         set(${_VAR} 1)


Add Boost stub to CMake-based bootstrapper

--- bootstrap/windows.cmake
+++ bootstrap/windows.cmake
@@ -87,11 +87,22 @@
 y_package(libvorbis REQUIRES libogg)
 y_package(libjpeg REQUIRES nasm)
 y_package(libpng REQUIRES nasm zlib)
+y_package(boost)
 y_package(libogg)
 y_package(nasm)
 y_package(openal)
 y_package(opengl)
 y_package(zlib)
+
+if("boost" IN_LIST _y_packages)
+  set(_version "1_67_0")
+  y_download("https://dl.bintray.com/boostorg/release/1.67.0/source/boost_${_version}.7z" SHA1 "64c278c23defe155e630a307ae2c0615348b14b3")
+  y_extract("boost_${_version}.7z" DIR "boost_${_version}")
+  execute_process(COMMAND cmd /c bootstrap.bat
+    WORKING_DIRECTORY ${BUILD_DIR}/boost_${_version})
+  execute_process(COMMAND ${BUILD_DIR}/boost_${_version}/b2 --with-test address-model=64 link=static runtime-link=shared threading=multi variant=debug,release
+    WORKING_DIRECTORY ${BUILD_DIR}/boost_${_version})
+endif()

 if("libogg" IN_LIST _y_packages)
   y_git_clone("https://git.xiph.org/ogg.git" DIR "ogg")


add option to filter available RMW implementations (#199)

* add option to filter available RMW implementations

Signed-off-by: Dirk Thomas <19795c8185177e940eedd30ceb2b716a54a3d5dc@users.noreply.github.com>

* rephrase message based on feedback

Signed-off-by: Dirk Thomas <19795c8185177e940eedd30ceb2b716a54a3d5dc@users.noreply.github.com>

--- rmw_implementation_cmake/cmake/get_available_rmw_implementations.cmake
+++ rmw_implementation_cmake/cmake/get_available_rmw_implementations.cmake
@@ -15,6 +15,12 @@
 #
 # Get the package names of the available ROS middleware implemenations.
 #
+# The result can be overridden by setting either a CMake or environment
+# variable named ``RMW_IMPLEMENTATIONS``.
+# The variable can contain RMW implementation names separated by the platform
+# specific path separator.
+# Including an unavailable RMW implementation results in a fatal error message.
+#
 # :param var: the output variable name containing the package names
 # :type var: list of strings
 #
@@ -24,5 +30,32 @@
     list(REMOVE_ITEM middleware_implementations "rmw_implementation")
     list(SORT middleware_implementations)
   endif()
+
+  # use explicitly provided list if provided
+  # option()
+  if(NOT "$ENV{RMW_IMPLEMENTATIONS}" STREQUAL "")
+    string(REPLACE ":" ";" RMW_IMPLEMENTATIONS "$ENV{RMW_IMPLEMENTATIONS}")
+  endif()
+  if(NOT "${RMW_IMPLEMENTATIONS}" STREQUAL "")
+    # check if given RMW implementations are available
+    foreach(rmw_implementation ${RMW_IMPLEMENTATIONS})
+      if(NOT "${rmw_implementation}" IN_LIST middleware_implementations)
+        message(FATAL_ERROR
+          "The RMW implementation '${rmw_implementation}' specified in "
+          "'RMW_IMPLEMENTATIONS' is not available ("
+          "${middleware_implementations})")
+      endif()
+    endforeach()
+    set(filtered)
+    foreach(rmw_implementation ${middleware_implementations})
+      if("${rmw_implementation}" IN_LIST RMW_IMPLEMENTATIONS)
+        list(APPEND filtered "${rmw_implementation}")
+      endif()
+      set(middleware_implementations ${filtered})
+    endforeach()
+    message(STATUS
+      "Filtered available RMW implementations: ${middleware_implementations}")
+  endif()
+
   set(${var} ${middleware_implementations} PARENT_SCOPE)
 endfunction()


Added Gentoo install location for Cg to the FindCg.cmake script

--- CMake/Packages/FindCg.cmake
+++ CMake/Packages/FindCg.cmake
@@ -26,7 +26,8 @@
 set(Cg_PREFIX_PATH ${Cg_HOME} ${ENV_Cg_HOME}
   ${OGRE_SOURCE}/Dependencies
   ${ENV_OGRE_SOURCE}/Dependencies
-  ${OGRE_HOME} ${ENV_OGRE_HOME})
+  ${OGRE_HOME} ${ENV_OGRE_HOME}
+  /opt/nvidia-cg-toolkit)
 create_search_paths(Cg)
 # redo search if prefix path changed
 clear_if_changed(Cg_PREFIX_PATH
@@ -49,4 +50,4 @@
 make_library_set(Cg_LIBRARY)

 findpkg_finish(Cg)
-add_parent_dir(Cg_INCLUDE_DIRS Cg_INCLUDE_DIR)+add_parent_dir(Cg_INCLUDE_DIRS Cg_INCLUDE_DIR)


Added back in checks for various verions of gdal

git-svn-id: 23b6355f2bb369032457de4eb5f713ee134f73a8@7800 16af8721-9629-0410-8352-f15c8da7e697

--- CMakeModules/FindGDAL.cmake
+++ CMakeModules/FindGDAL.cmake
@@ -56,20 +56,20 @@
 )

 FIND_LIBRARY(GDAL_LIBRARY
-  NAMES gdal GDAL
+  NAMES gdal gdal_i gdal1.4.0 gdal1.3.2 GDAL
   PATHS
   $ENV{GDAL_DIR}
   NO_DEFAULT_PATH
   PATH_SUFFIXES lib64 lib
 )
 FIND_LIBRARY(GDAL_LIBRARY
-  NAMES gdal GDAL
+  NAMES gdal gdal_i gdal1.4.0 gdal1.3.2 GDAL
   PATHS ${CMAKE_PREFIX_PATH} # Unofficial: We are proposing this.
     NO_DEFAULT_PATH
     PATH_SUFFIXES lib64 lib
 )
 FIND_LIBRARY(GDAL_LIBRARY
-  NAMES gdal GDAL
+  NAMES gdal gdal_i gdal1.4.0 gdal1.3.2 GDAL
   PATHS
     ~/Library/Frameworks
     /Library/Frameworks


Suppress expected error messages that are handled gracefully

--- CMake/mitkFunctionGetVersionDescription.cmake
+++ CMake/mitkFunctionGetVersionDescription.cmake
@@ -38,7 +38,9 @@
         execute_process(COMMAND ${GIT_EXECUTABLE} describe --exact-match --dirty=${_dirty_repo_str}
                         WORKING_DIRECTORY ${source_dir}
                         OUTPUT_VARIABLE _project_git_tagname
-                        RESULT_VARIABLE _proper_version)
+                        RESULT_VARIABLE _proper_version
+                        ERROR_VARIABLE _error_msg)
+
         if(_proper_version EQUAL 0)
           set(_wc_description ${_project_git_tagname})
         else()
@@ -47,7 +49,8 @@
           execute_process(COMMAND ${GIT_EXECUTABLE} describe --dirty=${_dirty_repo_str}
                           WORKING_DIRECTORY ${source_dir}
                           OUTPUT_VARIABLE _wc_description
-                          RESULT_VARIABLE _proper_version)
+                          RESULT_VARIABLE _proper_version
+                          ERROR_VARIABLE _error_msg)

           if(NOT _proper_version EQUAL 0)
             # last fallback, i.e. working copy is a shallow clone, at least use


find package quietly

find package quietly

--- cmake/SuperFind.cmake
+++ cmake/SuperFind.cmake
@@ -26,7 +26,7 @@
     find_package(${PKG_NAME} PATHS ${ep_base}/Build/${PKG_NAME})
   else()
     message(STATUS "[FIND_PACKAGE ${PKG_NAME} ] no config")
-    find_package(${PKG_NAME} )
+    find_package(${PKG_NAME} QUIET)
   endif()

   if(NOT ${PKG_NAME}_FOUND)


[CMake] Correct Linux script.

[CMake] Correct Linux script.

--- EMULATOR/PLATFORM/Linux.cmake
+++ EMULATOR/PLATFORM/Linux.cmake
@@ -1,24 +1,23 @@
 if(LINUX)
-
-Message("Compiling for Linux!")

 #Find libs
 find_package(SDL2 REQUIRED)
 find_package(OpenGL REQUIRED)
-find_package(GLEW REQUIRED)
-
 #We want to link GLEW statically
 set(GLEW_USE_STATIC_LIBS ON)
+find_package(GLEW REQUIRED)

 #Setup project include directories
 include_directories(${GLEW_INCLUDE_DIR})
 include_directories(${SDL2_INCLUDE_DIR})

-set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-narrowing -std=c++11")
-set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wno-narrowing -std=c++11")
-set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wno-narrowing -std=c++11")
-set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing -std=c++11")
-set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wno-narrowing -std=c++11")
-set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-narrowing -std=c++11")
+set(PSX_LIB libPSX.a)
+
+set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -Wno-narrowing")
+set(CMAKE_C_FLAGS_DEBUG "${CMAKE_C_FLAGS_DEBUG} -Wno-narrowing")
+set(CMAKE_C_FLAGS_RELEASE "${CMAKE_C_FLAGS_RELEASE} -Wno-narrowing")
+set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-narrowing")
+set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_DEBUG} -Wno-narrowing")
+set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} -Wno-narrowing")

 endif()


Improved iOS support.

Improved iOS support.

--- scripts/project.cmake
+++ scripts/project.cmake
@@ -15,7 +15,11 @@

   if ("${ARGN}" STREQUAL "")
     #    message("No sources for ${target}")
-    file(GLOB_RECURSE CURRENT_SOURCES source/*.cpp source/*.mm source/*.m source/*.c)
+    if (IOS)
+      file(GLOB_RECURSE CURRENT_SOURCES source/*.cpp source/*.mm source/*.m source/*.c)
+    else()
+      file(GLOB_RECURSE CURRENT_SOURCES source/*.cpp source/*.c)
+    endif()

     file(GLOB_RECURSE HEADERS source/*.h)
     set(CURRENT_SOURCES ${CURRENT_SOURCES} PARENT_SCOPE)
@@ -177,7 +181,8 @@

   file(GLOB_RECURSE BUNDLE_RESOURCES ${resources_dir}/*)
   if (IOS)
-    add_executable("${CURRENT_TARGET}_resources" MACOSX_BUNDLE ${BUNDLE_RESOURCES})
+    # add_executable("${CURRENT_TARGET}_resources" MACOSX_BUNDLE ${BUNDLE_RESOURCES})
+    add_library("${CURRENT_TARGET}_resources" ${BUNDLE_RESOURCES})
     get_filename_component(base_path ${resources_dir} ABSOLUTE)

     foreach (resource_path ${BUNDLE_RESOURCES})
@@ -187,11 +192,14 @@
       message("resource ${resource_path}")
       message("resource ${relative_dir}")
       #set_source_files_properties(${BUNDLE_RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
-
     endforeach ()
+
     #set_source_files_properties(${BUNDLE_RESOURCES} PROPERTIES MACOSX_PACKAGE_LOCATION Resources)
-    #SET_TARGET_PROPERTIES("${CURRENT_TARGET}_resources" PROPERTIES LINKER_LANGUAGE C)
+    set_target_properties("${CURRENT_TARGET}_resources" PROPERTIES LINKER_LANGUAGE C)
+    set_target_properties("${CURRENT_TARGET}_resources" PROPERTIES BUNDLE_EXTENSION "bundle")
+    set_xcode_property(${CURRENT_TARGET}_resources IPHONEOS_DEPLOYMENT_TARGET "8.4")
     set(ALL_RESOURCES "${ALL_RESOURCES} BUNDLE_RESOURCES" PARENT_SCOPE)
+
   else ()
     #MESSAGE(WARNING "${CMAKE_CURRENT_LIST_DIR}/${resource_dir} $<TARGET_FILE_DIR:${CURRENT_TARGET}>/${resources_dir}")

@@ -324,4 +332,4 @@
   add_custom_command(TARGET ${CURRENT_TARGET} POST_BUILD
     COMMAND ${CMAKE_COMMAND} -E copy ${fullpath}/${dllname} $<TARGET_FILE_DIR:${CURRENT_TARGET}>
     )
-endmacro()+endmacro()


Fix typo

Fix typo

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

--- deal.II/cmake/configure/configure_1_lapack.cmake
+++ deal.II/cmake/configure/configure_1_lapack.cmake
@@ -66,7 +66,7 @@
       IF(NOT LAPACK_SYMBOL_CHECK)
         MESSAGE(STATUS
           "Could not find a sufficient BLAS/LAPACK installation: "
-          "BLAS/LAPACK symbol check failed! Consult CMakefiles/CMakeError.log "
+	  "BLAS/LAPACK symbol check failed! Consult CMakeFiles/CMakeError.log "
           "for further information."
           )
         SET(LAPACK_ADDITIONAL_ERROR_STRING
@@ -75,7 +75,7 @@
           "BLAS/LAPACK symbol check failed! This usually means that your "
           "BLAS/LAPACK installation is incomplete or the link line is "
           "broken. Consult\n"
-          "  CMakefiles/CMakeError.log\n"
+	  "  CMakeFiles/CMakeError.log\n"
           "for further information.\n"
           )
         SET(${var} FALSE)


cmake: make clang-format EXTRA_SOURCES argument optional

--- cmake/ClangFormat.cmake
+++ cmake/ClangFormat.cmake
@@ -33,12 +33,12 @@
     message(STATUS "Found .clang-format at ${PATH}")
 endforeach()

-function(format TARGET EXTRA_SOURCES)
+function(format TARGET)
     list(APPEND TOUCH_PATHS)

     get_property(TARGET_SOURCES TARGET ${TARGET} PROPERTY SOURCES)
     get_property(TARGET_DIR TARGET ${TARGET} PROPERTY SOURCE_DIR)
-    list(APPEND FULL_SOURCES_LIST ${TARGET_SOURCES} ${EXTRA_SOURCES})
+    list(APPEND FULL_SOURCES_LIST ${TARGET_SOURCES} ${ARGV1})
     list(REMOVE_DUPLICATES FULL_SOURCES_LIST)
     foreach(SOURCE_FILE ${FULL_SOURCES_LIST})
         set(FULL_SOURCE_PATH "${TARGET_DIR}/${SOURCE_FILE}")


Correctly require jsoncpp

Correctly require jsoncpp

--- cmake/UseSolidity.cmake
+++ cmake/UseSolidity.cmake
@@ -15,8 +15,8 @@
 	target_include_directories(${TARGET} PUBLIC ${Solidity_INCLUDE_DIRS})

 	if (${SUBMODULE} STREQUAL "evmasm")
-		eth_use(${TARGET} ${REQUIRED} )
-                target_link_libraries(${TARGET} ${Solidity_EVMASM_LIBRARIES})
+		eth_use(${TARGET} ${REQUIRED} Jsoncpp)
+		target_link_libraries(${TARGET} ${Solidity_EVMASM_LIBRARIES})
 	endif()

 	if (${SUBMODULE} STREQUAL "lll")


cmake: properly prepare environment variable

--- cmake/bvs-options.cmake
+++ cmake/bvs-options.cmake
@@ -29,6 +29,7 @@
 	set(BVS_MODULE_TYPE STATIC)
 	set(BVS_LINK_LIBRARIES "")
 	add_definitions(-DBVS_STATIC_MODULES)
+	set(ENV{BVS_STATIC_MODULES} "")
 else()
 	set(BVS_MODULE_TYPE SHARED)
 	set(BVS_LINK_LIBRARIES bvs)


Implement ENABLE_DYNDRIVERS case.

Implement ENABLE_DYNDRIVERS case.

svn path=/trunk/; revision=6841

--- cmake/modules/gcw.cmake
+++ cmake/modules/gcw.cmake
@@ -44,6 +44,8 @@
   if(linkflags AND cflags)
     pkgconfig(libgnomeprintui-2.2 includedir libdir linkflags1 cflags1)
     if(linkflags1 AND cflags1)
+      # N.B. pkgconfig returns blank-delimited strings so must concatanate
+      # results the same way.
       set(gcw_COMPILE_FLAGS "${cflags} ${cflags1}")
       set(gcw_LINK_FLAGS "${linkflags} ${linkflags1}")
     else(linkflags1 AND cflags1)
@@ -85,13 +87,18 @@
   endif(NOT gcw_HEADERS)
 endif(PLD_gcw)
 if(PLD_gcw)
-  set(DRIVERS_LINK_FLAGS ${DRIVERS_LINK_FLAGS} ${gcw_LINK_FLAGS})
-  #requires blank-separated string starting with blank
-  set(gcw_SOURCE
-  ${CMAKE_SOURCE_DIR}/bindings/gnome2/lib/plplotcanvas.c
-  ${CMAKE_SOURCE_DIR}/bindings/gnome2/lib/gcw-lib.c
-  ${CMAKE_SOURCE_DIR}/drivers/plplotcanvas-hacktext.c
-  )
+  if(ENABLE_DYNDRIVERS)
+    set(gcw_SOURCE
+    ${CMAKE_SOURCE_DIR}/drivers/plplotcanvas-hacktext.c
+    )
+  else(ENABLE_DYNDRIVERS)
+    set(DRIVERS_LINK_FLAGS ${DRIVERS_LINK_FLAGS} ${gcw_LINK_FLAGS})
+    set(gcw_SOURCE
+    ${CMAKE_SOURCE_DIR}/bindings/gnome2/lib/plplotcanvas.c
+    ${CMAKE_SOURCE_DIR}/bindings/gnome2/lib/gcw-lib.c
+    ${CMAKE_SOURCE_DIR}/drivers/plplotcanvas-hacktext.c
+    )
+  endif(ENABLE_DYNDRIVERS)
 endif(PLD_gcw)
 if(PLD_gcw AND ENABLE_pygcw)
   pkgconfig(pygtk-2.0 includedir libdir linkflags cflags)


Fixed typo in makefile.

Fixed typo in makefile.

--- cmake/bgfx.cmake
+++ cmake/bgfx.cmake
@@ -22,7 +22,7 @@
     set(bx_COMPILER "vs2015")
     set(bgfx_CONFIGURE_COMMAND "${CMAKE_COMMAND}" -E env "BX_DIR=${bx_DIR}" "${bx_GENIE}.exe" "${bx_COMPILER}")
     set(bgfx_BUILD_COMMAND "devenv" "<SOURCE_DIR>/.build/projects/${bx_COMPILER}/bgfx.sln" /Build Release|x64)
-elseif("${CMAKE_GENERATOR}" STREQUAL "gcc")
+elseif("${CMAKE_GENERATOR}" STREQUAL "Unix Makefiles")
     set(bx_OS_SHORT "${bx_OS_NAME}")
     set(bx_COMPILER "gcc")
     set(bgfx_CONFIGURE_COMMAND "")


make CUDA_ARCH_NAME default Auto (#21352)

* make CUDA_ARCH_NAME default Auto

test=develop

* refine warning

test=develop

--- cmake/cuda.cmake
+++ cmake/cuda.cmake
@@ -62,7 +62,7 @@
 function(select_nvcc_arch_flags out_variable)
   # List of arch names
   set(archs_names "Kepler" "Maxwell" "Pascal" "Volta" "Turing" "All" "Manual")
-  set(archs_name_default "All")
+  set(archs_name_default "Auto")
   list(APPEND archs_names "Auto")

   # set CUDA_ARCH_NAME strings (so it will be seen as dropbox in CMake-Gui)
@@ -73,7 +73,7 @@
   # verify CUDA_ARCH_NAME value
   if(NOT ";${archs_names};" MATCHES ";${CUDA_ARCH_NAME};")
     string(REPLACE ";" ", " archs_names "${archs_names}")
-    message(FATAL_ERROR "Only ${archs_names} architeture names are supported.")
+    message(FATAL_ERROR "Only ${archs_names} architectures names are supported.")
   endif()

   if(${CUDA_ARCH_NAME} STREQUAL "Manual")
@@ -98,6 +98,12 @@
   elseif(${CUDA_ARCH_NAME} STREQUAL "All")
     set(cuda_arch_bin ${paddle_known_gpu_archs})
   elseif(${CUDA_ARCH_NAME} STREQUAL "Auto")
+    message(STATUS "WARNING: This is just a warning for publishing release.
+      You are building GPU version without supporting different architectures.
+      So the wheel package may fail on other GPU architectures.
+      You can add -DCUDA_ARCH_NAME=All in cmake command
+      to get a full wheel package to resolve this warning.
+      While, this version will still work on local GPU architecture.")
     detect_installed_gpus(cuda_arch_bin)
   else()  # (${CUDA_ARCH_NAME} STREQUAL "Manual")
     set(cuda_arch_bin ${CUDA_ARCH_BIN})


correct generated filenames output in cmake file (#192)

--- cmake/ffig.cmake
+++ cmake/ffig.cmake
@@ -46,8 +46,8 @@
   if(ffig_add_library_PYTHON)
     set(ffig_invocation "${ffig_invocation};python")
     set(ffig_outputs "${ffig_outputs};${ffig_output_dir}/${module}/__init__.py")
-    set(ffig_outputs "${ffig_outputs};${ffig_output_dir}/${module}/interop_py2.py")
-    set(ffig_outputs "${ffig_outputs};${ffig_output_dir}/${module}/interop_py3.py")
+    set(ffig_outputs "${ffig_outputs};${ffig_output_dir}/${module}/_py2.py")
+    set(ffig_outputs "${ffig_outputs};${ffig_output_dir}/${module}/_py3.py")
   endif()
   if(ffig_add_library_CPP_MOCKS)
     set(ffig_invocation "${ffig_invocation};_mocks.h.tmpl")


Fix config.h interface include

Fix config.h interface include

--- cmake/util.cmake
+++ cmake/util.cmake
@@ -65,7 +65,7 @@
     set(BoldYellow  "${Esc}[1;33m")
     set(ColourReset "${Esc}[m")

-    message(STATUS "${BoldYellow}${name} version ${ver}${ColourReset}")
+    message("${BoldYellow}${name} version ${ver}${ColourReset}")

 endfunction()


trying to fix windows

trying to fix windows

--- cmake/rosidl_typesupport_introspection_cpp_generate_interfaces.cmake
+++ cmake/rosidl_typesupport_introspection_cpp_generate_interfaces.cmake
@@ -68,7 +68,7 @@
 add_library(${rosidl_generate_interfaces_TARGET}${_target_suffix} SHARED ${_generated_files})
 if(WIN32)
   target_compile_definitions(${rosidl_generate_interfaces_TARGET}${_target_suffix}
-    PRIVATE "ROSIDL_BUILDING_DLL")
+    PRIVATE "ROSIDL_TYPESUPPORT_INTROSPECTION_CPP_BUILDING_DLL")
 endif()
 target_include_directories(${rosidl_generate_interfaces_TARGET}${_target_suffix}
   PUBLIC


Set the default ITK Multithreader to Platform in Superbuild

The Pool multithreader has issues when the process is forked, which is
commonly done in Python multiprocessing. Additionally, the Platform
multithreader has better progress reporting than the Pool threader.

--- SuperBuild/External_ITK.cmake
+++ SuperBuild/External_ITK.cmake
@@ -25,6 +25,10 @@

 if (NOT DEFINED Module_ITKIOTransformMINC)
   set(Module_ITKIOTransformMINC ON)
+endif()
+
+if (NOT DEFINED ITK_DEFAULT_THREADER)
+  set( ITK_DEFAULT_THREADER "Platform")
 endif()

 get_cmake_property( _varNames VARIABLES )


COMP: Bump ITK to address Windows warnings

--- Superbuild/External-ITK.cmake
+++ Superbuild/External-ITK.cmake
@@ -2,8 +2,8 @@
 # Get and build itk

 if(NOT ITK_TAG)
-  # 2018-09-26
-  set(ITK_TAG "b784f6355a88650f13345025ece292dd60a0d98c")
+  # 2018-09-27
+  set(ITK_TAG "5e61c289a677a74bffa4c113bf991a18f4b98495")
 endif()

 set(_vtk_args)


Fixing the lib copy script, accidentally copied an old line over during the merge

--- indra/cmake/Copy3rdPartyLibs.cmake
+++ indra/cmake/Copy3rdPartyLibs.cmake
@@ -48,9 +48,7 @@
         libhunspell.dll
         )

-    # *TODO - update this to use LIBS_PREBUILT_DIR and LL_ARCH_DIR variables
-    # or ARCH_PREBUILT_DIRS
-    set(release_src_dir "${CMAKE_SOURCE_DIR}/../libraries/i686-win32/lib/release")
+    set(release_src_dir "${ARCH_PREBUILT_DIRS_RELEASE}")
     set(release_files
         openjpeg.dll
         libapr-1.dll


vigra.cmake: Explicitly set several cmake variables that locate libtiff, libpng, etc.

--- vigra.cmake
+++ vigra.cmake
@@ -65,27 +65,52 @@
         -DCMAKE_INSTALL_PREFIX=${BUILDEM_DIR}
         -DCMAKE_PREFIX_PATH=${BUILDEM_DIR}
         -DCMAKE_EXE_LINKER_FLAGS=${BUILDEM_LDFLAGS}
+
+        -DWITH_VIGRANUMPY=${WITH_VIGRANUMPY}
         -DDEPENDENCY_SEARCH_PREFIX=${BUILDEM_DIR}
+
+        -DBoost_INCLUDE_DIR=${BUILDEM_DIR}/include
         -DBoost_LIBRARY_DIRS=${BUILDEM_DIR}/lib
- #       -DBoost_PYTHON_LIBRARY=${BUILDEM_DIR}/lib/libboost_python-mt.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
- #       -DBoost_PYTHON_LIBRARY_RELEASE=${BUILDEM_DIR}/lib/libboost_python-mt.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
- #       -DBoost_PYTHON_LIBRARY_DEBUG=${BUILDEM_DIR}/lib/libboost_python-mt.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
- #       -DVIGRANUMPY_LIBRARIES=${BUILDEM_DIR}/lib/libpython2.7.${BUILDEM_PLATFORM_DYLIB_EXTENSION}^^${BUILDEM_DIR}/lib/libboost_python.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+        -DBoost_PYTHON_LIBRARY=${BUILDEM_DIR}/lib/libboost_python-mt.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+        -DBoost_PYTHON_LIBRARY_RELEASE=${BUILDEM_DIR}/lib/libboost_python-mt.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+        -DBoost_PYTHON_LIBRARY_DEBUG=${BUILDEM_DIR}/lib/libboost_python-mt.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+
+        -DPYTHON_EXECUTABLE=${PYTHON_EXE}
+        -DPYTHON_INCLUDE_PATH=${PYTHON_PREFIX}/include
+        -DPYTHON_LIBRARIES=${PYTHON_PREFIX}/lib/libpython.2.7.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+        -DPYTHON_NUMPY_INCLUDE_DIR=${PYTHON_PREFIX}/lib/python2.7/site-packages/numpy/core/include
+        -DPYTHON_SPHINX=${PYTHON_PREFIX}/bin/sphinx-build
+
+        -DVIGRANUMPY_LIBRARIES=${PYTHON_PREFIX}/lib/libpython2.7.${BUILDEM_PLATFORM_DYLIB_EXTENSION}^^${BUILDEM_DIR}/lib/libboost_python.${BUILDEM_PLATFORM_DYLIB_EXTENSION}^^${BUILDEM_DIR}/lib/libboost_thread.${BUILDEM_PLATFORM_DYLIB_EXTENSION}^^${BUILDEM_DIR}/lib/libboost_system.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+        -DVIGRANUMPY_INSTALL_DIR=${PYTHON_PREFIX}/lib/python2.7/site-packages
+
+        -DPNG_LIBRARY=${BUILDEM_DIR}/lib/libpng.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+        -DPNG_PNG_INCLUDE_DIR=${BUILDEM_DIR}/include
+
+        -DTIFF_LIBRARY=${BUILDEM_DIR}/lib/libtiff.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+        -DTIFF_INCLUDE_DIR=${BUILDEM_DIR}/include
+
         -DJPEG_INCLUDE_DIR=${BUILDEM_DIR}/include
         -DJPEG_LIBRARY=${BUILDEM_DIR}/lib/libjpeg.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+
         -DHDF5_CORE_LIBRARY=${BUILDEM_DIR}/lib/libhdf5.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
         -DHDF5_HL_LIBRARY=${BUILDEM_DIR}/lib/libhdf5_hl.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
         -DHDF5_INCLUDE_DIR=${BUILDEM_DIR}/include
+
+        -DZLIB_INCLUDE_DIR=${BUILDEM_DIR}/include
+        -DZLIB_LIBRARY=${BUILDEM_DIR}/lib/libz.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+
         -DFFTW3F_INCLUDE_DIR=
-        -DWITH_VIGRANUMPY=${WITH_VIGRANUMPY}
         -DFFTW3F_LIBRARY=
         -DFFTW3_INCLUDE_DIR=${BUILDEM_DIR}/include
         -DFFTW3_LIBRARY=${BUILDEM_DIR}/lib/libfftw3.${BUILDEM_PLATFORM_DYLIB_EXTENSION}
+
         -DCMAKE_CXX_FLAGS=-pthread
-
         -DCMAKE_CXX_LINK_FLAGS=-pthread
         -DCMAKE_CXX_FLAGS_RELEASE=-O2\ -DNDEBUG # Some versions of gcc miscompile vigra at -O3
         -DCMAKE_CXX_FLAGS_DEBUG="${CMAKE_CXX_FLAGS_DEBUG}"
+
+
     BUILD_COMMAND       ${BUILDEM_ENV_STRING} $(MAKE)
     TEST_COMMAND        ${BUILDEM_ENV_STRING} $(MAKE) check
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} $(MAKE) install


fix XP_CMAKE_REPO_INSYNC issue with classified repo

see issue https://github.com/smanders/externpro/issues/177

--- modules/xpfunmac.cmake
+++ modules/xpfunmac.cmake
@@ -948,6 +948,9 @@
   if(EXISTS ${_dir}/CMakeLists.txt)
     list(APPEND masterSrcList ${_dir}/CMakeLists.txt)
   endif()
+  if(DEFINED unclassifiedSrcList)
+    list(APPEND masterSrcList ${unclassifiedSrcList})
+  endif()
   if(${ARGC} GREATER 0)
     foreach(f ${ARGN})
       # remove any relative parts with get_filename_component call
@@ -1349,6 +1352,7 @@
     if(DEFINED XP_CLAS_REPO AND EXISTS ${XP_CLAS_REPO}/${relPath}/${f})
       list(APPEND ${srcGroup} ${XP_CLAS_REPO}/${relPath}/${f})
       message(STATUS " CLAS: ${XP_CLAS_REPO}/${relPath}/${f}")
+      list(APPEND unclassifiedSrcList ${CMAKE_CURRENT_SOURCE_DIR}/${f})
     else()
       list(APPEND ${srcGroup} ${f})
       if(DEFINED XP_CLAS_REPO AND EXISTS ${XP_CLAS_REPO})
@@ -1357,6 +1361,7 @@
     endif()
   endforeach()
   set(${srcGroup} ${${srcGroup}} PARENT_SCOPE)
+  set(unclassifiedSrcList ${unclassifiedSrcList} PARENT_SCOPE)
 endfunction()

 # exclusive: source only in classified repo, no unclassified version


removed all target from Examples.cmake;

removed all target from Examples.cmake;

--- Examples/Examples.cmake
+++ Examples/Examples.cmake
@@ -255,7 +255,7 @@
 	  )
 	add_custom_target(mtft DEPENDS diagnoseMTF mtf_diag install_diag install_diag_lib)
 endif()
-add_custom_target(all DEPENDS ${EX_TARGET_NAMES})
+# add_custom_target(all DEPENDS ${EX_TARGET_NAMES})
 if(NOT WIN32)
 	add_custom_target(install_all DEPENDS ${EX_INSTALL_TARGET_NAMES})
 	add_custom_target(mtfall DEPENDS ${EX_COMBINED_TARGET_NAMES})


Fix OpenSSL link library order on Android

--- cmake/FindOpenSSL.cmake
+++ cmake/FindOpenSSL.cmake
@@ -88,7 +88,7 @@
         "lib"
     )

-    list(APPEND OPENSSL_LIBRARIES ${CRYPTO_LIBRARY} ${SSL_LIBRARY})
+    list(APPEND OPENSSL_LIBRARIES ${SSL_LIBRARY} ${CRYPTO_LIBRARY})
 ELSEIF(WIN32 AND NOT CYGWIN)
   # MINGW should go here too
   IF(MSVC)


Fixed tbag_modules__apply_ext_uv() macro error.

--- cmake/TbagModules.cmake
+++ cmake/TbagModules.cmake
@@ -471,6 +471,16 @@
     list (APPEND TBAG_PROJECT_DEPENDENCIES uv)
     list (APPEND TBAG_PROJECT_INCLUDE_DIRS ${uv_EXT_INCLUDE_DIR})
     tbag_modules__add_whole_archive (${uv_EXT_STATIC_LIB})
+
+    ## external libraries.
+    if (WIN32)
+        list (APPEND TBAG_PROJECT_LDFLAGS advapi32 iphlpapi psapi shell32 user32 userenv ws2_32)
+    else ()
+        list (APPEND TBAG_PROJECT_LDFLAGS -lpthread -dl)
+    endif ()
+    if (CMAKE_SYSTEM_NAME STREQUAL "Linux")
+        list (APPEND TBAG_PROJECT_LDFLAGS -lrt)
+    endif ()
 endmacro ()

 macro (tbag_modules__apply_ext_z)


adding the debug postfix for tools and demos executables for MSVC

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

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -112,7 +112,7 @@
     #
     # Only link if needed
     if(WIN32 AND MSVC)
-      set_target_properties(${_name} PROPERTIES LINK_FLAGS_RELEASE /OPT:REF)
+      set_target_properties(${_name} PROPERTIES LINK_FLAGS_RELEASE /OPT:REF DEBUG_OUTPUT_NAME ${_name}${CMAKE_DEBUG_POSTFIX})
     elseif(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
       set_target_properties(${_name} PROPERTIES LINK_FLAGS -Wl)
     else()


Fix: don't install unit tests and don't use different names

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

--- cmake/pcl_targets.cmake
+++ cmake/pcl_targets.cmake
@@ -146,13 +146,9 @@
     #
     target_link_libraries(${_exename} ${GTEST_BOTH_LIBRARIES} ${PCL_ADD_TEST_LINK_WITH})
     PCL_LINK_OPENMP(${_exename})
-    set_target_properties(${_exename} PROPERTIES DEBUG_OUTPUT_NAME "${_exename}${CMAKE_DEBUG_POSTFIX}")
-    set_target_properties(${_exename} PROPERTIES RELEASE_OUTPUT_NAME "${_exename}${CMAKE_RELEASE_POSTFIX}")
-    install(TARGETS ${_exename} RUNTIME DESTINATION ${BIN_INSTALL_DIR}
-            COMPONENT ${_component})
 	add_test(${_name} ${_exename} ${PCL_ADD_TEST_ARGUMENTS})
 endmacro(PCL_ADD_TEST)
-###############################################################################
+

 ###############################################################################
 # Add compile flags to a target (because CMake doesn't provide something so


r9299/sofa : FIX: test if list is empty before using it

Former-commit-id: a5ee9a3774bbb9f8f887423d9b9b8b1607d40c90

--- cmake/post-config.cmake
+++ cmake/post-config.cmake
@@ -17,9 +17,12 @@
 	set(linkerDependencies ${ADDITIONAL_LINKER_DEPENDENCIES} ${LINKER_DEPENDENCIES})
 	foreach(linkerDependency ${linkerDependencies})
 		if(TARGET ${linkerDependency})
-			get_property(dependenceIncludeDirs TARGET ${linkerDependency} PROPERTY INCLUDE_DIRECTORIES)
-			list(REMOVE_DUPLICATES dependenceIncludeDirs)
-			include_directories(${dependenceIncludeDirs})
+			get_target_property(dependenceIncludeDirs ${linkerDependency} INCLUDE_DIRECTORIES)
+			if(NOT dependenceIncludeDirs STREQUAL "")
+				list(REMOVE_DUPLICATES dependenceIncludeDirs)
+				include_directories(${dependenceIncludeDirs})
+				message("${dependenceIncludeDirs}")
+			endif()
 		endif()
 	endforeach()


cmake: set: qi_prepend_uniq_global and qi_append_uniq_global maintain list uniq

--- cmake/qibuild/set.cmake
+++ cmake/qibuild/set.cmake
@@ -25,3 +25,27 @@
   list(INSERT "${_name}" 0 ${_value} ${ARGN})
   set("${_name}" "${${_name}}" CACHE INTERNAL "" FORCE)
 endmacro()
+
+macro(qi_append_uniq_global _name _value)
+  list(FIND "${_name}" ${_value} _found)
+  if (_found STREQUAL "-1")
+    list(APPEND "${_name}" ${_value} ${ARGN})
+    set("${_name}" "${${_name}}" CACHE INTERNAL "" FORCE)
+  endif()
+endmacro()
+
+macro(qi_prepend_uniq_global _name _value)
+  list(FIND "${_name}" ${_value} _found)
+  if (_found STREQUAL "-1")
+    list(INSERT "${_name}" 0 ${_value} ${ARGN})
+    set("${_name}" "${${_name}}" CACHE INTERNAL "" FORCE)
+  endif()
+endmacro()
+
+macro(qi_uniq_global _name)
+  if (${_name})
+    list(REVERSE ${_name})
+    list(REMOVE_DUPLICATES ${_name})
+    list(REVERSE ${_name})
+  endif()
+endmacro()


Replace pep8+pyflakes with flake8 (#203)

--- rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake
+++ rosidl_generator_py/cmake/rosidl_generator_py_generate_interfaces.cmake
@@ -288,9 +288,9 @@
       ROOT "${_cpplint_root}"
       "${_output_path}")

-    find_package(ament_cmake_pep8 REQUIRED)
-    ament_pep8(
-      TESTNAME "pep8_rosidl_generated_py"
+    find_package(ament_cmake_flake8 REQUIRED)
+    ament_flake8(
+      TESTNAME "flake8_rosidl_generated_py"
       # the generated code might contain longer lines for templated types
       MAX_LINE_LENGTH 999
       "${_output_path}")
@@ -298,11 +298,6 @@
     find_package(ament_cmake_pep257 REQUIRED)
     ament_pep257(
       TESTNAME "pep257_rosidl_generated_py"
-      "${_output_path}")
-
-    find_package(ament_cmake_pyflakes REQUIRED)
-    ament_pyflakes(
-      TESTNAME "pyflakes_rosidl_generated_py"
       "${_output_path}")

     find_package(ament_cmake_uncrustify REQUIRED)


Use modern CMake way to set the default C++ standard.

--- CMake/Modules/UrhoCommon.cmake
+++ CMake/Modules/UrhoCommon.cmake
@@ -488,28 +488,7 @@
 endif ()

 # Platform and compiler specific options
-if (CMAKE_CXX_COMPILER_ID MATCHES GNU)
-    # Use gnu++11/gnu++0x instead of c++11/c++0x as the latter does not work as expected when cross compiling
-    if (VERIFIED_SUPPORTED_STANDARD)
-        set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=${VERIFIED_SUPPORTED_STANDARD}")
-    else ()
-        foreach (STANDARD gnu++11 gnu++0x)  # Fallback to gnu++0x on older GCC version
-            execute_process (COMMAND ${CMAKE_COMMAND} -E echo COMMAND ${CMAKE_CXX_COMPILER} -std=${STANDARD} -E - RESULT_VARIABLE GCC_EXIT_CODE OUTPUT_QUIET ERROR_QUIET)
-            if (GCC_EXIT_CODE EQUAL 0)
-                set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=${STANDARD}")
-                set (VERIFIED_SUPPORTED_STANDARD ${STANDARD} CACHE INTERNAL "GNU extension of C++11 standard that is verified to be supported by the chosen compiler")
-                break ()
-            endif ()
-        endforeach ()
-        if (NOT GCC_EXIT_CODE EQUAL 0)
-            message (FATAL_ERROR "Your GCC version ${CMAKE_CXX_COMPILER_VERSION} is too old to enable C++11 standard")
-        endif ()
-    endif ()
-elseif (CMAKE_CXX_COMPILER_ID MATCHES Clang)
-    set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")
-elseif (MSVC80)
-    message (FATAL_ERROR "Your MSVC version is too told to enable C++11 standard")
-endif ()
+set (CMAKE_CXX_STANDARD 11)
 if (APPLE)
     if (IOS)
         # iOS-specific setup


escaping path delimiter in egg install on windows

--- CMakeExternals/SimpleITK.cmake
+++ CMakeExternals/SimpleITK.cmake
@@ -86,11 +86,17 @@
     set(SimpleITK_DIR ${CMAKE_CURRENT_BINARY_DIR}/${proj}-build)

     if( MITK_USE_Python )
+      # PythonDir needs to be fixed for the python interpreter by
+      # changing dir delimiter for Windows
+      set(_install_dir ${Python_DIR})
+      if(WIN32)
+        STRING(REPLACE "/" "\\\\" _install_dir ${Python_DIR})
+      endif()
       # Build python distribution with easy install. If a own runtime is used
       # embedd the egg into the site-package folder of the runtime
       if(NOT MITK_USE_SYSTEM_PYTHON)
         ExternalProject_Add_Step(${proj} sitk_python_install_step
-          COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${Python_DIR}
+          COMMAND ${PYTHON_EXECUTABLE} setup.py install --prefix=${_install_dir}
           DEPENDEES build
           WORKING_DIRECTORY ${SimpleITK_DIR}/Wrapping/PythonPackage
         )


* adapted find script to find citygml in subdirectory

--- CMakeModules/FindCityGML.cmake
+++ CMakeModules/FindCityGML.cmake
@@ -41,7 +41,7 @@
 	SET( XERCESC_LIBRARY_DEBUG "" )
 ENDIF( CITYGML_USE_LIBXML2 )

-FIND_PATH( CITYGML_INCLUDE_DIR citygml.h
+FIND_PATH( CITYGML_INCLUDE_DIR citygml/citygml.h
 	./include
 	../include
 	$ENV{CITYGML_DIR}/include


standardize target suffix

standardize target suffix

--- rosidl_typesupport_connext_cpp/cmake/rosidl_typesupport_connext_cpp_generate_interfaces.cmake
+++ rosidl_typesupport_connext_cpp/cmake/rosidl_typesupport_connext_cpp_generate_interfaces.cmake
@@ -111,7 +111,7 @@
   VERBATIM
 )

-set(_target_suffix "__dds_connext_cpp")
+set(_target_suffix "__rosidl_typesupport_connext_cpp")

 if(NOT WIN32)
   set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11")


set package vendor to smanders only if not defined

* allow projects that use externpro the ability to set CPACK_PACKAGE_VENDOR to something other than smanders
* see issue https://github.com/smanders/externpro/issues/127
* CPACK_PACKAGE_VENDOR needs to be set before proExecuteStep() is called, which calls proSetCpackOpts()

--- modules/macpro.cmake
+++ modules/macpro.cmake
@@ -314,7 +314,9 @@
   else()
     set(CPACK_PACKAGE_VERSION "unknown-version")
   endif()
-  set(CPACK_PACKAGE_VENDOR "smanders")
+  if(NOT DEFINED CPACK_PACKAGE_VENDOR)
+    set(CPACK_PACKAGE_VENDOR "smanders")
+  endif()
   if(UNIX AND NOT DEFINED CPACK_GENERATOR)
     set(CPACK_GENERATOR STGZ) # STGZ = Self extracting Tar GZip compression
   endif()


update

update

--- modules/zlib.cmake
+++ modules/zlib.cmake
@@ -1,4 +1,33 @@
 if(NOT TARGET zlib)
+
+  # Module configuration
+  include(CheckTypeSize)
+  include(CheckFunctionExists)
+  include(CheckIncludeFile)
+  include(CheckCSourceCompiles)
+  check_include_file(sys/types.h HAVE_SYS_TYPES_H)
+  check_include_file(stdint.h HAVE_STDINT_H)
+  check_include_file(stddef.h HAVE_STDDEF_H)
+  set(CMAKE_REQUIRED_DEFINITIONS -D_LARGEFILE64_SOURCE=1)
+  if(HAVE_SYS_TYPES_H)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_SYS_TYPES_H)
+  endif()
+  if(HAVE_STDINT_H)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDINT_H)
+  endif()
+  if(HAVE_STDDEF_H)
+    list(APPEND CMAKE_REQUIRED_DEFINITIONS -DHAVE_STDDEF_H)
+  endif()
+  check_type_size(off64_t OFF64_T)
+  if(HAVE_OFF64_T)
+    add_definitions(-D_LARGEFILE64_SOURCE=1)
+  endif()
+  set(CMAKE_REQUIRED_DEFINITIONS)
+  check_function_exists(fseeko HAVE_FSEEKO)
+  if(NOT HAVE_FSEEKO)
+    add_definitions(-DNO_FSEEKO)
+  endif()
+  check_include_file(unistd.h Z_HAVE_UNISTD_H)

   # Module definitions
   if(MSVC)


Fix zlib issues

Fix zlib issues

--- modules/zlib.cmake
+++ modules/zlib.cmake
@@ -38,17 +38,6 @@
     add_definitions(-D_CRT_NONSTDC_NO_DEPRECATE)
   endif()

-  # Module assembler files
-  if(NOT APPLE AND NOT CYGWIN AND NOT MINGW AND NOT MSVC)
-    add_definitions(-DASMV)
-    set(ASSEMBLER_FILES "zlib/contrib/amd64/amd64-match.S")
-    set_source_files_properties(${ASSEMBLER_FILES} PROPERTIES LANGUAGE C COMPILE_FLAGS -DNO_UNDERLINE)
-  elseif(MSVC)
-    ENABLE_LANGUAGE(ASM_MASM)
-    add_definitions(-DASMV -DASMINF)
-    set(ASSEMBLER_FILES "zlib/contrib/masmx64/gvmat64.asm" "zlib/contrib/masmx64/inffasx64.asm")
-  endif()
-
   # Module library
   file(GLOB SOURCE_FILES "zlib/*.c")
   if(NOT MSVC)
@@ -58,8 +47,10 @@
     # C4131: 'function' : uses old-style declarator
     # C4210: nonstandard extension used : function given file scope
     # C4244: 'conversion' conversion from 'type1' to 'type2', possible loss of data
+    # C4245: 'conversion' : conversion from 'type1' to 'type2', signed/unsigned mismatch
+    # C4267: 'var' : conversion from 'size_t' to 'type', possible loss of data
     set(${SOURCE_FILES} "zlib/contrib/masmx64/inffas8664.c" "zlib/contrib/masmx64/inffas8664.c")
-    set_source_files_properties(${SOURCE_FILES} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS} /wd4127 /wd4131 /wd4210 /wd4244")
+    set_source_files_properties(${SOURCE_FILES} PROPERTIES COMPILE_FLAGS "${PEDANTIC_COMPILE_FLAGS} /wd4127 /wd4131 /wd4210 /wd4244 /wd4245 /wd4267")
   endif()
   add_library(zlib ${SOURCE_FILES} ${ASSEMBLER_FILES})
   target_link_libraries(zlib)


ManageArchive: revise description

ManageArchive: revise description

--- Modules/ManageArchive.cmake
+++ Modules/ManageArchive.cmake
@@ -1,5 +1,6 @@
-# - Pack source helper module
-# By default CPack pack everything under the source directory, this is usually
+# - Archive Management Module
+# By default CPack pack everything under the source directory,
+# this is usually
 # undesirable. We avoid this by using the sane default ignore list.
 #
 # Includes:
@@ -15,8 +16,9 @@
 #     Override it by setting it before INCLUDE(ManageArchive).
 # Defines following target:
 #     pack_remove_old: Remove old source package files.
+# Defines following function:
 # Defines following macro:
-#   SOURCE_ARCHIVE(outputDir [generator])
+#   PACK_SOURCE_ARCHIVE(outputDir [generator])
 #   - Pack source files as <projectName>-<PRJ_VER>-Source.<packFormat>,
 #     Arguments:
 #     + outputDir: Directory to write source archive.


update FindFreetype.cmake

update FindFreetype.cmake

--- CMake/Packages/FindFreetype.cmake
+++ CMake/Packages/FindFreetype.cmake
@@ -1,49 +1,49 @@
-# - Try to find FreeType
-# Once done, this will define
-#
-#  FREETYPE_FOUND - system has FreeType
-#  FREETYPE_INCLUDE_DIRS - the FreeType include directories
-#  FREETYPE_LIBRARIES - link these to use FreeType
-
-include(FindPkgMacros)
-findpkg_begin(FREETYPE)
-
-# Get path, convert backslashes as ${ENV_${var}}
-getenv_path(FREETYPE_HOME)
-
-# construct search paths
-set(FREETYPE_PREFIX_PATH ${FREETYPE_HOME} ${ENV_FREETYPE_HOME})
-create_search_paths(FREETYPE)
-# redo search if prefix path changed
-clear_if_changed(FREETYPE_PREFIX_PATH
-  FREETYPE_LIBRARY_FWK
-  FREETYPE_LIBRARY_REL
-  FREETYPE_LIBRARY_DBG
-  FREETYPE_INCLUDE_DIR
-)
-
-set(FREETYPE_LIBRARY_NAMES freetype251 freetype2501 freetype250 freetype2412 freetype2411 freetype2410 freetype249 freetype248 freetype246 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
-get_debug_names(FREETYPE_LIBRARY_NAMES)
-
-use_pkgconfig(FREETYPE_PKGC freetype2)
-
-# prefer static library over framework
-set(CMAKE_FIND_FRAMEWORK "LAST")
-
-findpkg_framework(FREETYPE)
-message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
-
-find_path(FREETYPE_INCLUDE_DIR NAMES freetype/freetype.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES freetype2)
-find_path(FREETYPE_FT2BUILD_INCLUDE_DIR NAMES ft2build.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS})
-find_library(FREETYPE_LIBRARY_REL NAMES ${FREETYPE_LIBRARY_NAMES} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
-find_library(FREETYPE_LIBRARY_DBG NAMES ${FREETYPE_LIBRARY_NAMES_DBG} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
-make_library_set(FREETYPE_LIBRARY)
-
-findpkg_finish(FREETYPE)
-mark_as_advanced(FREETYPE_FT2BUILD_INCLUDE_DIR)
-if (NOT FREETYPE_FT2BUILD_INCLUDE_DIR STREQUAL FREETYPE_INCLUDE_DIR)
-  set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_FT2BUILD_INCLUDE_DIR})
-endif ()
-
-# Reset framework finding
-set(CMAKE_FIND_FRAMEWORK "FIRST")
+# - Try to find FreeType
+# Once done, this will define
+#
+#  FREETYPE_FOUND - system has FreeType
+#  FREETYPE_INCLUDE_DIRS - the FreeType include directories
+#  FREETYPE_LIBRARIES - link these to use FreeType
+
+include(FindPkgMacros)
+findpkg_begin(FREETYPE)
+
+# Get path, convert backslashes as ${ENV_${var}}
+getenv_path(FREETYPE_HOME)
+
+# construct search paths
+set(FREETYPE_PREFIX_PATH ${FREETYPE_HOME} ${ENV_FREETYPE_HOME})
+create_search_paths(FREETYPE)
+# redo search if prefix path changed
+clear_if_changed(FREETYPE_PREFIX_PATH
+  FREETYPE_LIBRARY_FWK
+  FREETYPE_LIBRARY_REL
+  FREETYPE_LIBRARY_DBG
+  FREETYPE_INCLUDE_DIR
+)
+
+set(FREETYPE_LIBRARY_NAMES freetype253 freetype252 freetype251 freetype2501 freetype250 freetype2412 freetype2411 freetype2410 freetype249 freetype248 freetype246 freetype2311 freetype239 freetype238 freetype235 freetype219 freetype)
+get_debug_names(FREETYPE_LIBRARY_NAMES)
+
+use_pkgconfig(FREETYPE_PKGC freetype2)
+
+# prefer static library over framework
+set(CMAKE_FIND_FRAMEWORK "LAST")
+
+findpkg_framework(FREETYPE)
+message(STATUS "CMAKE_PREFIX_PATH: ${CMAKE_PREFIX_PATH}")
+
+find_path(FREETYPE_INCLUDE_DIR NAMES freetype.h freetype/freetype.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS} PATH_SUFFIXES freetype2)
+find_path(FREETYPE_FT2BUILD_INCLUDE_DIR NAMES ft2build.h HINTS ${FREETYPE_INC_SEARCH_PATH} ${FREETYPE_PKGC_INCLUDE_DIRS})
+find_library(FREETYPE_LIBRARY_REL NAMES ${FREETYPE_LIBRARY_NAMES} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" release relwithdebinfo minsizerel)
+find_library(FREETYPE_LIBRARY_DBG NAMES ${FREETYPE_LIBRARY_NAMES_DBG} HINTS ${FREETYPE_LIB_SEARCH_PATH} ${FREETYPE_PKGC_LIBRARY_DIRS} PATH_SUFFIXES "" debug)
+make_library_set(FREETYPE_LIBRARY)
+
+findpkg_finish(FREETYPE)
+mark_as_advanced(FREETYPE_FT2BUILD_INCLUDE_DIR)
+if (NOT FREETYPE_FT2BUILD_INCLUDE_DIR STREQUAL FREETYPE_INCLUDE_DIR)
+  set(FREETYPE_INCLUDE_DIRS ${FREETYPE_INCLUDE_DIRS} ${FREETYPE_FT2BUILD_INCLUDE_DIR})
+endif ()
+
+# Reset framework finding
+set(CMAKE_FIND_FRAMEWORK "FIRST")


invalid paths fixed

invalid paths fixed

--- gaf.cmake
+++ gaf.cmake
@@ -41,7 +41,7 @@
   set(${HDRS})
   foreach(FIL ${ARGN})
     get_filename_component(ABS_FIL ${FIL} ABSOLUTE)
-    get_filename_component(FIL_WE ${FIL} NAME_WE)
+    get_filename_component(FIL_WE ${FIL} NAME)
     if(NOT GAF_GENERATE_CPP_APPEND_PATH)
       get_filename_component(FIL_DIR ${FIL} DIRECTORY)
       if(FIL_DIR)
@@ -49,20 +49,22 @@
       endif()
     endif()

-    list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.cc")
-    list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.h")
+    SET(GAF_EXTRA_ARGS "")
+    SET(FIL_NAME ${FIL_WE})
+
+    if(DEFINED Gaf_CUSTOM_NAME)
+        SET(GAF_EXTRA_ARGS ";--name;${Gaf_CUSTOM_NAME}")
+        SET(FIL_NAME ${Gaf_CUSTOM_NAME})
+    endif()
+
+    list(APPEND ${SRCS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_NAME}.cc")
+    list(APPEND ${HDRS} "${CMAKE_CURRENT_BINARY_DIR}/${FIL_NAME}.h")

     SET(ABSOLUTE_GAF ${GAF_ROOT_DIR}/gaf.py)

-    SET(GAF_EXTRA_ARGS "")
-
-    if(DEFINED Gaf_CUSTOM_NAME)
-        SET(GAF_EXTRA_ARGS ";--name;${Gaf_CUSTOM_NAME}")
-    endif()
-
     add_custom_command(
-      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.cc"
-             "${CMAKE_CURRENT_BINARY_DIR}/${FIL_WE}.h"
+      OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${FIL_NAME}.cc"
+             "${CMAKE_CURRENT_BINARY_DIR}/${FIL_NAME}.h"
       COMMAND  ${PYTHON_EXECUTABLE}
       ARGS ${ABSOLUTE_GAF} gen cpp ${ABS_FIL} ${CMAKE_CURRENT_BINARY_DIR} ${GAF_EXTRA_ARGS}
       DEPENDS ${ABS_FIL} ${ABSOLUTE_GAF} ${PYTHON_EXECUTABLE}


Fix Color Hex Values

Fix Color Hex Values

--- doc/config.cmake
+++ doc/config.cmake
@@ -180,7 +180,7 @@

 bar-width = 10
 bar-indicator = |
-bar-indicator-foreground = #ff
+bar-indicator-foreground = #fff
 bar-indicator-font = 2
 bar-fill = ─
 bar-fill-font = 2
@@ -272,7 +272,7 @@
 label-volume-foreground = ${root.foreground}

 label-muted = 🔇 muted
-label-muted-foreground = #66
+label-muted-foreground = #666

 bar-volume-width = 10
 bar-volume-foreground-0 = #55aa55


Fix typo in version check

Fix typo in version check

--- cmake/custom/ArangoDB_FindOpenSSL_WIN32.cmake
+++ cmake/custom/ArangoDB_FindOpenSSL_WIN32.cmake
@@ -56,7 +56,7 @@
 elseif (1919 LESS ${MSVC_VERSION} AND ${MSVC_VERSION} LESS 1930)
 # 1920-1929: VS 16.0 (v142 toolset)
     set(VS_VERSION "2019")
-elseif (1930 LESS ${MSVC_VERSION} AND ${MSVC_VERSION} LESS 1940)
+elseif (1929 LESS ${MSVC_VERSION} AND ${MSVC_VERSION} LESS 1940)
 # 1930-1939: VS 17.0 (v143 toolset)
     set(VS_VERSION "2022")
 else()


fixed:  deal with new boost versions and older cmake versions in

--- CMake/OSGExternalProjectHelper.cmake
+++ CMake/OSGExternalProjectHelper.cmake
@@ -65,6 +65,22 @@
   # Disable boost cmake config, as it screws up OpenSG's boost config

   SET(Boost_NO_BOOST_CMAKE TRUE CACHE INTERNAL "" FORCE)
+  SET(Boost_ADDITIONAL_VERSIONS "1.54.0"
+                                "1.54"
+                                "1.53.0"
+                                "1.53"
+                                "1.52.0"
+                                "1.52"
+                                "1.51.0"
+                                "1.51"
+                                "1.50.0"
+                                "1.50"
+                                "1.49.0"
+                                "1.49"
+                                "1.48.0"
+                                "1.48"
+                                "1.47.0"
+                                "1.47.0")

   SET(OSG_BUILD_ACTIVE TRUE)
   ADD_DEFINITIONS(-D OSG_BUILD_ACTIVE)


ENH: Clean <mod>_LIBRARIES only when it is generated

Filter the library list of a module only when it is constructed
automatically from the module dependencies.  If the list was specified
explicitly in the module source code then trust the author.

--- CMake/itk-base/itk-base-config.cmake
+++ CMake/itk-base/itk-base-config.cmake
@@ -118,19 +118,21 @@
 ")
   endif()

-  if(${itk-module}_LIBRARIES)
-    list(REMOVE_DUPLICATES ${itk-module}_LIBRARIES)
-  endif()
-  set(itk-module-config-build "${itk-module-config-build}
+  if(_trans)
+    if(${itk-module}_LIBRARIES)
+      list(REMOVE_DUPLICATES ${itk-module}_LIBRARIES)
+    endif()
+    set(itk-module-config-build "${itk-module-config-build}
 if(${itk-module}_LIBRARIES)
   list(REMOVE_DUPLICATES ${itk-module}_LIBRARIES)
 endif()
 ")
-  set(itk-module-config-install "${itk-module-config-install}
+    set(itk-module-config-install "${itk-module-config-install}
 if(${itk-module}_LIBRARIES)
   list(REMOVE_DUPLICATES ${itk-module}_LIBRARIES)
 endif()
 ")
+  endif()

   set(itk-module-export-targets 0)
   if(EXISTS ${${itk-module}_SOURCE_DIR}/src/CMakeLists.txt AND NOT itk-module-no-src)


* Fixed python to be found from NAALI_DEPS_PATH

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

--- CMakeModules/ConfigurePackages.cmake
+++ CMakeModules/ConfigurePackages.cmake
@@ -78,6 +78,13 @@
         set (PYTHON_INCLUDE_DIRS ${PYTHON_INCLUDE_PATH})
         #unset (PYTHON_DEBUG_LIBRARIES ${PYTHON_DEBUG_LIBRARY})
     endif ()
+
+	if (MSVC)
+		set (PYTHON_LIBRARY_DIRS ${ENV_NAALI_DEP_PATH}/Python/lib)
+		set (PYTHON_INCLUDE_DIRS ${ENV_NAALI_DEP_PATH}/Python/include)
+		set (PYTHON_LIBRARIES python26)
+		set (PYTHON_DEBUG_LIBRARIES python26_d)
+	endif()

 endmacro (configure_python)


Update FindLua53.cmake

Update FindLua53.cmake

--- build-scripts/FindLua53.cmake
+++ build-scripts/FindLua53.cmake
@@ -27,7 +27,8 @@

 FIND_PATH(LUA53_INCLUDE_DIR lua.h
   HINTS
-  $ENV{LUA_DIR}
+  ${LUA_ROOT}
+  $ENV{LUA_ROOT}
   PATH_SUFFIXES include/lua53 include/lua5.3 include/lua include
   PATHS
   ~/Library/Frameworks
@@ -41,6 +42,7 @@
 FIND_LIBRARY(LUA53_LIBRARY
   NAMES lua53 lua5.3 lua-5.3 lua
   HINTS
+  ${LUA_ROOT}
   $ENV{LUA_DIR}
   PATH_SUFFIXES lib64 lib
   PATHS


cmake: no-address-of-packed-member is not supported in older compilers

Add a version check to allow building with older GCC versions that did
not support this option.

Fixes #16607

Signed-off-by: Anas Nashif <0d9952ec84ac43c159f6b7e7ed99a9080c00dd6e@intel.com>

--- cmake/compiler/gcc/target_warnings.cmake
+++ cmake/compiler/gcc/target_warnings.cmake
@@ -9,10 +9,15 @@
     -Wformat
     -Wformat-security
     -Wno-format-zero-length
+    -Wno-main
+  )
+
+if(CMAKE_CXX_COMPILER_VERSION VERSION_GREATER "9.1.0")
+  zephyr_compile_options(
     # FIXME: Remove once #16587 is fixed
     -Wno-address-of-packed-member
-    -Wno-main
   )
+endif()

   zephyr_cc_option(-Wno-pointer-sign)


px4fmu-v3_rtps override default naming

px4fmu-v3_rtps override default naming

--- cmake/configs/nuttx_px4fmu-v3_rtps.cmake
+++ cmake/configs/nuttx_px4fmu-v3_rtps.cmake
@@ -1,5 +1,7 @@
 include(configs/nuttx_px4fmu-v3_default)
+
+set(FW_NAME nuttx_px4fmu-v3_rtps.elf CACHE string "" FORCE)

 list(APPEND config_module_list
 	modules/micrortps_bridge
-)+)


COMP: BUG: Boost ExternalProject now builds program_options and filesystem. See ELASTIX-122

--- SuperBuild/ExternalBoost.cmake
+++ SuperBuild/ExternalBoost.cmake
@@ -46,7 +46,7 @@
   URL_MD5 ${BOOST_MD5}
   UPDATE_COMMAND ""
   CONFIGURE_COMMAND ${BOOST_CONFIGURE_COMMAND}
-  BUILD_COMMAND ""
+  BUILD_COMMAND ${BOOST_BUILD_COMMAND}
   INSTALL_COMMAND ""
 )


Update VMTK version to fix build errors with latest VMTK and ITK

--- SuperBuild/External_VMTK.cmake
+++ SuperBuild/External_VMTK.cmake
@@ -50,7 +50,7 @@

   ExternalProject_SetIfNotDefined(
     ${CMAKE_PROJECT_NAME}_${proj}_GIT_TAG
-    "82628da0c583af789ea0bc7fb279418c58c7535a"
+    "27e3784dde5c2e8ad6a4ef21edfd50c72763fcdf"
     QUIET
     )


setup.cmake

setup.cmake

--- src/msise00/setup.cmake
+++ src/msise00/setup.cmake
@@ -72,6 +72,18 @@
   RETURN_VALUE return_code
   CAPTURE_CMAKE_ERROR cmake_err)

+# if it's a generator or compiler mismatch, delete cache and try again
+if(NOT cmake_err EQUAL 0)
+  file(REMOVE ${CTEST_BINARY_DIRECTORY}/CMakeCache.txt)
+
+  ctest_configure(
+    BUILD ${CTEST_BINARY_DIRECTORY}
+    SOURCE ${CTEST_SOURCE_DIRECTORY}
+    OPTIONS "${_opts}"
+    RETURN_VALUE return_code
+    CAPTURE_CMAKE_ERROR cmake_err)
+endif()
+
 if(return_code EQUAL 0 AND cmake_err EQUAL 0)
   ctest_build(
     BUILD ${CTEST_BINARY_DIRECTORY}


Fix GTest library location on Windows.

Fix GTest library location on Windows.

--- googletest.cmake
+++ googletest.cmake
@@ -7,6 +7,22 @@
 endif()

 set(GTEST_PREFIX "${CMAKE_CURRENT_BINARY_DIR}/gtest")
+set(LIBPREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}")
+set(LIBSUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}")
+set(GTEST_LOCATION "${GTEST_PREFIX}/src/googletest-build")
+# And now, a ugly hack for your reading displeasure
+# On Windows, the compiled Google shared lib is by default in a Debug (or Release) subdirectory.
+# For some reason, GTest does not seem to respect the -DCMAKE_ARCHIVE_OUTPUT_DIRECTORY=... option
+# and I have run out of ideas about how to do this cleanly
+# So here is the brute-force solution:
+if ("${CMAKE_CXX_COMPILER_ID}" STREQUAL "MSVC")
+  set(GTEST_LIBRARY  "${GTEST_LOCATION}/${CMAKE_BUILD_TYPE}/${LIBPREFIX}gtest${LIBSUFFIX}")
+  set(GTEST_MAINLIB  "${GTEST_LOCATION}/${CMAKE_BUILD_TYPE}/${LIBPREFIX}gtest_main${LIBSUFFIX}")
+else()
+  set(GTEST_LIBRARY  "${GTEST_LOCATION}/${LIBPREFIX}gtest${LIBSUFFIX}")
+  set(GTEST_MAINLIB  "${GTEST_LOCATION}/${LIBPREFIX}gtest_main${LIBSUFFIX}")
+endif()
+
 if(NOT no_download)
   ExternalProject_Add(googletest
       SVN_REPOSITORY http://googletest.googlecode.com/svn/trunk
@@ -24,12 +40,6 @@
       LOG_CONFIGURE ON
       LOG_BUILD ON)
 endif()
-
-set(LIBPREFIX "${CMAKE_STATIC_LIBRARY_PREFIX}")
-set(LIBSUFFIX "${CMAKE_STATIC_LIBRARY_SUFFIX}")
-set(GTEST_LOCATION "${GTEST_PREFIX}/src/googletest-build")
-set(GTEST_LIBRARY  "${GTEST_LOCATION}/${LIBPREFIX}gtest${LIBSUFFIX}")
-set(GTEST_MAINLIB  "${GTEST_LOCATION}/${LIBPREFIX}gtest_main${LIBSUFFIX}")

 add_library(GTest IMPORTED STATIC GLOBAL)
 set_target_properties(GTest PROPERTIES


ENH (#437): check for file existance in ORGANIZE_SOURCES

--- CMake/CoreHelpers.cmake
+++ CMake/CoreHelpers.cmake
@@ -6,7 +6,7 @@
 #

 MACRO(ORGANIZE_SOURCES)
-
+
   # this macro gets a filelist as input and looks
   # for corresponding h-files to add them to the project.

@@ -45,78 +45,81 @@

   # iterate through sources
   FOREACH(MYFILE ${ARGV} )#${GLOBBED_TXX_FILES})
-    STRING(REGEX MATCH "cxx$" RESULT ${MYFILE})
-    IF(RESULT)
-      SOURCE_GROUP("Generated Source Files" FILES ${MYFILE})
-    ENDIF(RESULT)
-    STRING(REGEX MATCH "cpp$" RESULT ${MYFILE})
-    IF(RESULT)
-      SOURCE_GROUP("== Source Files ==" FILES ${MYFILE})
-    ENDIF(RESULT)
-    STRING(REGEX MATCH ".*\\moc_.*cxx$" RESULT ${MYFILE})
-    IF(RESULT)
-      SOURCE_GROUP("Generated MOC Source Files" FILES ${MYFILE})
-    ENDIF(RESULT)
-    STRING(REGEX MATCH "txx$" RESULT ${MYFILE})
-    IF(RESULT)
-      SOURCE_GROUP("== Template Files ==" FILES ${MYFILE})
-    ENDIF(RESULT)
-    STRING(REGEX MATCH "c$" RESULT ${MYFILE})
-    IF(RESULT)
-      SOURCE_GROUP("== Source Files ==" FILES ${MYFILE})
-    ENDIF(RESULT)
-    STRING(REGEX MATCH "h$" RESULT ${MYFILE})
-    IF(RESULT)
-      SOURCE_GROUP("== Header Files ==" FILES ${MYFILE})
-    ENDIF(RESULT)
-    STRING(REGEX MATCH "ui$" RESULT ${MYFILE})
-    IF(RESULT)
-      SOURCE_GROUP("UI XML-Files" FILES ${MYFILE})
-    ENDIF(RESULT)
-
-    # include header files in visual studio solution
-    STRING(REGEX MATCH "(txx|cpp|c|cxx)$" RESULT ${MYFILE})
-    IF(RESULT)
-      STRING(REGEX REPLACE "(txx|cpp|c|cxx)$" "h" H_FILE ${MYFILE})
-      IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE})
-        SET(CORRESPONDING_H_FILES
-          ${CORRESPONDING_H_FILES}
-          ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE}
-        )
-        SOURCE_GROUP("== Header Files ==" FILES ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE} )
-      ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE})
-    ENDIF(RESULT)
-
-    # include txx files in visual studio solution
-    STRING(REGEX MATCH "(h|cpp|c|cxx)$" RESULT ${MYFILE})
-    IF(RESULT)
-      STRING(REGEX REPLACE "(h|cpp|c|cxx)$" "txx" TXX_FILE ${MYFILE})
-      IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE})
-        SET(CORRESPONDING_TXX_FILES
-          ${CORRESPONDING_TXX_FILES}
-          ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE}
-        )
-        SOURCE_GROUP("== Template Files ==" FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE} )
-      ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE})
-    ENDIF(RESULT)
-
-    # include ui.h files in visual studio solution
-    STRING(REGEX MATCH "(ui)$" RESULT ${MYFILE})
-    IF(RESULT)
-      STRING(REGEX REPLACE "(ui)$" "ui.h" UI_H_FILE ${MYFILE})
-      IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE})
-        SET(CORRESPONDING_UI_H_FILES
-          ${CORRESPONDING_UI_H_FILES}
-          ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE}
-        )
-        SOURCE_GROUP("== Header Files ==" FILES ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE} )
-      ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE})
-    ENDIF(RESULT)
-
+    IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${MYFILE})
+      STRING(REGEX MATCH "cxx$" RESULT ${MYFILE})
+      IF(RESULT)
+        SOURCE_GROUP("Generated Source Files" FILES ${MYFILE})
+      ENDIF(RESULT)
+      STRING(REGEX MATCH "cpp$" RESULT ${MYFILE})
+      IF(RESULT)
+        SOURCE_GROUP("== Source Files ==" FILES ${MYFILE})
+      ENDIF(RESULT)
+      STRING(REGEX MATCH ".*\\moc_.*cxx$" RESULT ${MYFILE})
+      IF(RESULT)
+        SOURCE_GROUP("Generated MOC Source Files" FILES ${MYFILE})
+      ENDIF(RESULT)
+      STRING(REGEX MATCH "txx$" RESULT ${MYFILE})
+      IF(RESULT)
+        SOURCE_GROUP("== Template Files ==" FILES ${MYFILE})
+      ENDIF(RESULT)
+      STRING(REGEX MATCH "c$" RESULT ${MYFILE})
+      IF(RESULT)
+        SOURCE_GROUP("== Source Files ==" FILES ${MYFILE})
+      ENDIF(RESULT)
+      STRING(REGEX MATCH "h$" RESULT ${MYFILE})
+      IF(RESULT)
+        SOURCE_GROUP("== Header Files ==" FILES ${MYFILE})
+      ENDIF(RESULT)
+      STRING(REGEX MATCH "ui$" RESULT ${MYFILE})
+      IF(RESULT)
+        SOURCE_GROUP("UI XML-Files" FILES ${MYFILE})
+      ENDIF(RESULT)
+
+      # include header files in visual studio solution
+      STRING(REGEX MATCH "(txx|cpp|c|cxx)$" RESULT ${MYFILE})
+      IF(RESULT)
+        STRING(REGEX REPLACE "(txx|cpp|c|cxx)$" "h" H_FILE ${MYFILE})
+        IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE})
+          SET(CORRESPONDING_H_FILES
+            ${CORRESPONDING_H_FILES}
+            ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE}
+          )
+          SOURCE_GROUP("== Header Files ==" FILES ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE} )
+        ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${H_FILE})
+      ENDIF(RESULT)
+
+      # include txx files in visual studio solution
+      STRING(REGEX MATCH "(h|cpp|c|cxx)$" RESULT ${MYFILE})
+      IF(RESULT)
+        STRING(REGEX REPLACE "(h|cpp|c|cxx)$" "txx" TXX_FILE ${MYFILE})
+        IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE})
+          SET(CORRESPONDING_TXX_FILES
+            ${CORRESPONDING_TXX_FILES}
+            ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE}
+          )
+          SOURCE_GROUP("== Template Files ==" FILES ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE} )
+        ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${TXX_FILE})
+      ENDIF(RESULT)
+
+      # include ui.h files in visual studio solution
+      STRING(REGEX MATCH "(ui)$" RESULT ${MYFILE})
+      IF(RESULT)
+        STRING(REGEX REPLACE "(ui)$" "ui.h" UI_H_FILE ${MYFILE})
+        IF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE})
+          SET(CORRESPONDING_UI_H_FILES
+            ${CORRESPONDING_UI_H_FILES}
+            ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE}
+          )
+          SOURCE_GROUP("== Header Files ==" FILES ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE} )
+        ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${UI_H_FILE})
+      ENDIF(RESULT)
+    ENDIF(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/${MYFILE})
   ENDFOREACH(MYFILE)
+
   IF(EXISTS "${CMAKE_CURRENT_BINARY_DIR}/Register${FUNC_NAME}.cpp")
     SOURCE_GROUP("Generated Source Files" FILES "${CMAKE_CURRENT_BINARY_DIR}/Register${FUNC_NAME}.cpp")
   ENDIF(EXISTS "${CMAKE_CURRENT_BINARY_DIR}/Register${FUNC_NAME}.cpp")
+
 ENDMACRO(ORGANIZE_SOURCES)

 MACRO(CREATE_CORE_LIB)


Some housekeeping. Next big push may be to clean up older files.

--- CMakeInstallation.cmake
+++ CMakeInstallation.cmake
@@ -38,6 +38,7 @@
   "/obsolete/"
   "/unknown/"
   ".*~"
+  ".git/"
   )

 ###
@@ -56,9 +57,9 @@
   SET(CPACK_NSIS_CONTACT "support-netcdf@unidata.ucar.edu")
   SET(CPACK_NSIS_ENABLE_UNINSTALL_BEFORE_INSTALL ON)
   SET(CPACK_NSIS_MENU_LINKS
-	"http://www.unidata.ucar.edu/netcdf" "Unidata Website"
-	"http://www.unidata.ucar.edu/netcdf/docs" "NetCDF Stable Documentation"
-	"http://www.unidata.ucar.edu/netcdf/docs_rc" "NetCDF Unstable Documentation")
+	"http://www.unidata.ucar.edu/software/netcdf" "Unidata Website"
+	"http://www.unidata.ucar.edu/software/netcdf/docs" "NetCDF Stable Documentation"
+	"http://www.unidata.ucar.edu/software/netcdf/docs_rc" "NetCDF Unstable Documentation")

 ENDIF()


enable signed vs unsigned conversions and comparisons warning

--- CMakeModules/wasm.cmake
+++ CMakeModules/wasm.cmake
@@ -111,7 +111,7 @@
       list(APPEND WASM_COMMAND -Wno-everything)
     else()
       list(APPEND WASM_COMMAND -Weverything -Wno-c++98-compat -Wno-old-style-cast -Wno-vla -Wno-vla-extension -Wno-c++98-compat-pedantic
-                  -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-packed -Wno-sign-compare -Wno-sign-conversion)
+                  -Wno-missing-prototypes -Wno-missing-variable-declarations -Wno-packed)
     endif()

     foreach(folder ${ARG_INCLUDE_FOLDERS})


ENH: Typo: s/Preprocssor/Preprocessor/g

ENH: Typo: s/Preprocssor/Preprocessor/g

--- CMake/CheckCPPDirective.cmake
+++ CMake/CheckCPPDirective.cmake
@@ -6,7 +6,7 @@

 MACRO(CHECK_CPP_DIRECTIVE_EXISTS DIRECTIVE VARIABLE)
  IF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")
-  MESSAGE(STATUS "Checking to see if this platform has the ${DIRECTIVE} C-Preprocssor directive")
+  MESSAGE(STATUS "Checking to see if this platform has the ${DIRECTIVE} C-Preprocessor directive")
   SET(DIRECTIVE ${DIRECTIVE})
   CONFIGURE_FILE(${CMAKE_SOURCE_DIR}/CMake/CheckCPPDirectiveExists.cxx.in
     ${CMAKE_BINARY_DIR}/CMakeTmp/CheckCPPDirectiveExists.cxx IMMEDIATE)
@@ -16,14 +16,14 @@
     OUTPUT_VARIABLE OUTPUT)
   IF(${VARIABLE})
     SET(HAVE_${VARIABLE} TRUE CACHE INTERNAL " ")
-    MESSAGE(STATUS "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocssor directive - yes")
+    MESSAGE(STATUS "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocessor directive - yes")
     FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeOutput.log
-      "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocssor directive with "
+      "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocessor directive with "
       "the following output:\n${OUTPUT}\n\n")
   ELSE(${VARIABLE})
-    MESSAGE(STATUS "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocssor directive - no")
+    MESSAGE(STATUS "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocessor directive - no")
     FILE(APPEND ${CMAKE_BINARY_DIR}/CMakeError.log
-      "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocssor directive with "
+      "Checking to see if this platform supports has the ${DIRECTIVE} C-Preprocessor directive with "
       "the following output:\n${OUTPUT}\n\n")
   ENDIF(${VARIABLE})
   ENDIF("HAVE_${VARIABLE}" MATCHES "^HAVE_${VARIABLE}$")


Don't allow BUILD_SHARED_LIBS on Windows

Enabling shared libs on windows is going to require an EXPORT macro, and
exporting various stl containers (vector, map, etc). This isn't needed
with gcc, since everything is exported by default. So at the moment,
this change will display a cmake error if BUILD_SHARED_LIBS in ON, until
the needed changes are added.

--- CMake/SurgSimBuildFlags.cmake
+++ CMake/SurgSimBuildFlags.cmake
@@ -101,6 +101,10 @@
 	if(MSVC_VERSION EQUAL 1700)
 		add_definitions( -D_VARIADIC_MAX=10 )
 	endif(MSVC_VERSION EQUAL 1700)
+
+	if(BUILD_SHARED_LIBS)
+		message(FATAL_ERROR "Please turn off BUILD_SHARED_LIBS. Shared libraries on Windows is currently unsupported.")
+	endif()
 endif(MSVC)

 # Settings for LLVM Clang.


cmake BUGFIX exact package name

cmake BUGFIX exact package name

--- CMakeModules/FindLibVAL.cmake
+++ CMakeModules/FindLibVAL.cmake
@@ -93,7 +93,7 @@
   set(LIBVAL_LIBRARIES ${LIBSRES_LIBRARY} ${LIBVAL_LIBRARY})

   include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(LIBVAL DEFAULT_MSG LIBVAL_LIBRARIES LIBVAL_INCLUDE_DIRS)
+  find_package_handle_standard_args(LibVAL DEFAULT_MSG LIBVAL_LIBRARIES LIBVAL_INCLUDE_DIRS)

   # show the LIBVAL_INCLUDE_DIRS and LIBVAL_LIBRARIES variables only in the advanced view
   mark_as_advanced(LIBVAL_INCLUDE_DIRS LIBVAL_LIBRARIES)


ENH: Removing the itknetlib library. This library only contained the triangle.c      and triangle.h that have a Copyright/Licensing incompatible with ITK.

--- Utilities/vxl/config/cmake/Modules/FindNetlib.cmake
+++ Utilities/vxl/config/cmake/Modules/FindNetlib.cmake
@@ -8,4 +8,4 @@

 SET( NETLIB_FOUND "YES" )
 SET( NETLIB_INCLUDE_DIR ${vxl_SOURCE_DIR}/v3p/netlib )
-SET( NETLIB_LIBRARIES itknetlib itkv3p_netlib)
+SET( NETLIB_LIBRARIES itkv3p_netlib)


cmake: Remove unused DTIReg external project

--- SuperBuild/External_DTIReg.cmake
+++ SuperBuild/External_DTIReg.cmake
@@ -1,114 +0,0 @@
-if( NOT EXTERNAL_SOURCE_DIRECTORY )
-  set( EXTERNAL_SOURCE_DIRECTORY ${CMAKE_CURRENT_LIST_DIR}/ExternalSources )
-endif()
-if( NOT EXTERNAL_BINARY_DIRECTORY )
-  set( EXTERNAL_BINARY_DIRECTORY ${CMAKE_CURRENT_BINARY_DIR} )
-endif()
-
-# Make sure this file is included only once by creating globally unique varibles
-# based on the name of this included file.
-get_filename_component(CMAKE_CURRENT_LIST_FILENAME ${CMAKE_CURRENT_LIST_FILE} NAME_WE)
-if(${CMAKE_CURRENT_LIST_FILENAME}_FILE_INCLUDED)
-  return()
-endif()
-set(${CMAKE_CURRENT_LIST_FILENAME}_FILE_INCLUDED 1)
-
-## External_${extProjName}.cmake files can be recurisvely included,
-## and cmake variables are global, so when including sub projects it
-## is important make the extProjName and proj variables
-## appear to stay constant in one of these files.
-## Store global variables before overwriting (then restore at end of this file.)
-ProjectDependancyPush(CACHED_extProjName ${extProjName})
-ProjectDependancyPush(CACHED_proj ${proj})
-
-# Make sure that the ExtProjName/IntProjName variables are unique globally
-# even if other External_${ExtProjName}.cmake files are sourced by
-# SlicerMacroCheckExternalProjectDependency
-set(extProjName DTIReg) #The find_package known name
-set(proj        DTIReg) #This local name
-set(${extProjName}_REQUIRED_VERSION "")  #If a required version is necessary, then set this, else leave blank
-
-#if(${USE_SYSTEM_${extProjName}})
-#  unset(${extProjName}_DIR CACHE)
-#endif()
-
-# Sanity checks
-if(DEFINED ${extProjName}_DIR AND NOT EXISTS ${${extProjName}_DIR})
-  message(FATAL_ERROR "${extProjName}_DIR variable is defined but corresponds to non-existing directory (${${extProjName}_DIR})")
-endif()
-
-if(NOT ( DEFINED "USE_SYSTEM_${extProjName}" AND "${USE_SYSTEM_${extProjName}}" ) )
-  # Set dependency list
-  set(${proj}_DEPENDENCIES ITKv4 BatchMake SlicerExecutionModel )
-
-  # Include dependent projects if any
-  SlicerMacroCheckExternalProjectDependency(${proj})
-  #message(STATUS "${__indent}Adding project ${proj}")
-
-  # Set CMake OSX variable to pass down the external project
-  set(CMAKE_OSX_EXTERNAL_PROJECT_ARGS)
-  if(APPLE)
-    list(APPEND CMAKE_OSX_EXTERNAL_PROJECT_ARGS
-      -DCMAKE_OSX_ARCHITECTURES=${CMAKE_OSX_ARCHITECTURES}
-      -DCMAKE_OSX_SYSROOT=${CMAKE_OSX_SYSROOT}
-      -DCMAKE_OSX_DEPLOYMENT_TARGET=${CMAKE_OSX_DEPLOYMENT_TARGET})
-  endif()
-
-  ### --- Project specific additions here
-  set(${proj}_CMAKE_OPTIONS
-    -DUSE_SYSTEM_BatchMake:BOOL=ON
-    -DUSE_SYSTEM_ITK:BOOL=ON
-    -DUSE_SYSTEM_VTK:BOOL=ON
-    -DUSE_SYSTEM_SlicerExecutionModel:BOOL=ON
-    -DCOMPILE_EXTERNAL_dtiprocess:BOOL=OFF
-    -DDTIReg_SUPERBUILD:BOOL=OFF
-    -DDTIReg_ADDITIONAL_LINK_DIRS:PATH=${CMAKE_CURRENT_BINARY_DIR}/lib
-    -DUSE_GIT_PROTOCOL_DTIReg:STRING=${USE_GIT_PROTOCOL}
-    -DBUILD_SHARED_LIBS:BOOL=OFF
-    )
-
-  ### --- End Project specific additions
-  set( ${proj}_REPOSITORY ${git_protocol}://github.com/NIRALUser/DTI-Reg.git )
-  set( ${proj}_GIT_TAG d28f6fb7de82b964321ebabe9904821ddc5342f4 )
-  ExternalProject_Add(${proj}
-    GIT_REPOSITORY ${${proj}_REPOSITORY}
-    GIT_TAG ${${proj}_GIT_TAG}
-    SOURCE_DIR ${EXTERNAL_SOURCE_DIRECTORY}/${proj}
-    BINARY_DIR ${EXTERNAL_BINARY_DIRECTORY}/${proj}-build
-    LOG_CONFIGURE 0  # Wrap configure in script to ignore log output from dashboards
-    LOG_BUILD     0  # Wrap build in script to to ignore log output from dashboards
-    LOG_TEST      0  # Wrap test in script to to ignore log output from dashboards
-    LOG_INSTALL   0  # Wrap install in script to to ignore log output from dashboards
-    CMAKE_GENERATOR ${gen}
-    CMAKE_ARGS
-      --no-warn-unused-cli # HACK Only expected variables should be passed down.
-      ${CMAKE_OSX_EXTERNAL_PROJECT_ARGS}
-      ${COMMON_EXTERNAL_PROJECT_ARGS}
-      ${${proj}_CMAKE_OPTIONS}
-      -DCMAKE_INSTALL_PREFIX:PATH=${EXTERNAL_BINARY_DIRECTORY}/${proj}-install
-    DEPENDS ${${proj}_DEPENDENCIES}
-    INSTALL_COMMAND ""
-    )
-
-  ## Force rebuilding of the main subproject every time building from super structure
-  ExternalProject_Add_Step(DTIReg forcebuild
-      COMMAND ${CMAKE_COMMAND} -E remove
-      ${CMAKE_CURRENT_BUILD_DIR}/DTIReg-prefix/src/DTIReg-stamp/DTIReg-build
-      DEPENDEES configure
-      DEPENDERS build
-      ALWAYS 1
-    )
-else()
-  if(${USE_SYSTEM_${extProjName}})
-    find_package(${extProjName} ${${extProjName}_REQUIRED_VERSION} REQUIRED)
-    message("USING the system ${extProjName}, set ${extProjName}_DIR=${${extProjName}_DIR}")
-  endif()
-  # The project is provided using ${extProjName}_DIR, nevertheless since other
-  # project may depend on ${extProjName}, let's add an 'empty' one
-  SlicerMacroEmptyExternalProject(${proj} "${${proj}_DEPENDENCIES}")
-endif()
-
-list(APPEND ${CMAKE_PROJECT_NAME}_SUPERBUILD_EP_VARS ${extProjName}_DIR:PATH)
-
-ProjectDependancyPop(CACHED_extProjName extProjName)
-ProjectDependancyPop(CACHED_proj proj)


Bump fallback version

Bump fallback version

--- cmake/DetermineTomvizVersion.cmake
+++ cmake/DetermineTomvizVersion.cmake
@@ -7,7 +7,7 @@
 #   tomviz_version
 #   tomviz_version_long

-set(hardcoded_tomviz_version "0.9.2")
+set(hardcoded_tomviz_version "0.9.3")

 function(_set_version_vars versiontext)
   string(REGEX MATCH "([0-9]+)\\.([0-9]+)\\.([0-9]+)[-]*(.*)" version_matches "${versiontext}")


Added a little change in cmake script

Added a little change in cmake script

--- cmake/dev/eprosima_libraries.cmake
+++ cmake/dev/eprosima_libraries.cmake
@@ -15,6 +15,7 @@
              "-G \"${CMAKE_GENERATOR}\"\n"
              ${BUILD_OPTION}
              "-DCMAKE_INSTALL_PREFIX=${${package}ExternalDir}/install\n"
+             "-DCMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}\n"
              "UPDATE_COMMAND git submodule update --recursive --init ${PROJECT_SOURCE_DIR}/thirdparty/${package}\n"
              "SOURCE_DIR ${PROJECT_SOURCE_DIR}/thirdparty/${package}\n"
              "BINARY_DIR ${${package}ExternalDir}/build\n"


LLDBStandalone.cmake: set path to llvm-lit inside of llvm build dir

git-svn-id: 4c4cc70b1ef44ba2b7963015e681894188cea27e@326754 91177308-0d34-0410-b5e6-96231b3b80d8
(cherry picked from commit 1a8b92e3eaa471c3d2d4c283a8c55261951a7081)

--- cmake/modules/LLDBStandalone.cmake
+++ cmake/modules/LLDBStandalone.cmake
@@ -76,6 +76,7 @@
   set(LLVM_DIR ${LLVM_OBJ_ROOT}/cmake/modules/CMakeFiles CACHE PATH "Path to LLVM build tree CMake files")
   set(LLVM_BINARY_DIR ${LLVM_OBJ_ROOT} CACHE PATH "Path to LLVM build tree")
   set(LLVM_MAIN_SRC_DIR ${MAIN_SRC_DIR} CACHE PATH "Path to LLVM source tree")
+  set(LLVM_EXTERNAL_LIT ${LLVM_TOOLS_BINARY_DIR}/llvm-lit CACHE PATH "Path to llvm-lit")

   find_program(LLVM_TABLEGEN_EXE "llvm-tblgen" ${LLVM_TOOLS_BINARY_DIR}
     NO_DEFAULT_PATH)


ensure that CheckFloatingPointFormat.cmake runs even if we are a subproject of some other project

--- etc/cmake/CheckFloatingPointFormat.cmake
+++ etc/cmake/CheckFloatingPointFormat.cmake
@@ -1,3 +1,5 @@
+SET(UB_DIRECTORY_OF_CHECK_FLOATING_POINT_FORMAT_SCRIPT "${CMAKE_CURRENT_LIST_DIR}")
+
 MACRO(UB_CHECK_FLOATING_POINT_FORMAT IEEE754_FLOATS FLOAT_BYTES_BIGENDIAN FLOAT_WORDS_BIGENDIAN)
 	IF(NOT DEFINED HAVE_${IEEE754_FLOATS})
 		MESSAGE(STATUS "Check floating point format")
@@ -5,7 +7,7 @@
 		SET(UB_CHECK_FLOATING_POINT_FORMAT_TARGET
 			"${CMAKE_BINARY_DIR}${CMAKE_FILES_DIRECTORY}/CheckFloatingPointFormat.bin")
 		TRY_COMPILE(HAVE_${IEEE754_FLOATS} "${CMAKE_BINARY_DIR}"
-			"${CMAKE_SOURCE_DIR}/etc/cmake/CheckFloatingPointFormat.c"
+			"${UB_DIRECTORY_OF_CHECK_FLOATING_POINT_FORMAT_SCRIPT}/CheckFloatingPointFormat.c"
 			COPY_FILE "${UB_CHECK_FLOATING_POINT_FORMAT_TARGET}")

 		IF(HAVE_${IEEE754_FLOATS})


COMP: allow users to deal with different flavours of boost build

--- Modules/ThirdParty/Boost/otb-module-init.cmake
+++ Modules/ThirdParty/Boost/otb-module-init.cmake
@@ -1,8 +1,11 @@
+
+set(Boost_USE_STATIC_LIBS OFF CACHE BOOL "use static libraries from boost")
+
+set(Boost_USE_MULTITHREADED ON CACHE BOOL "use multi-threaded libraries from boost")
+
 find_package (Boost 1.35.0 REQUIRED)
-
 if (BUILD_TESTING)
-  find_package (Boost 1.35.0 QUIET
-    COMPONENTS unit_test_framework)
+  find_package (Boost 1.35.0 QUIET COMPONENTS unit_test_framework)
   if (NOT Boost_UNIT_TEST_FRAMEWORK_FOUND)
     message(STATUS "Boost unit_test_framework not found. Hence otbOGRTests will be skipped")
   else()


FIRE-11737: Use current repository revision instead of tip revision for build number.

--- indra/cmake/BuildVersion.cmake
+++ indra/cmake/BuildVersion.cmake
@@ -18,10 +18,21 @@
            find_program(MERCURIAL hg)
            if (DEFINED MERCURIAL)
               execute_process(
-                 COMMAND ${MERCURIAL} log -r tip --template "{rev}"
+                 # <FS:TS> FIRE-11737: Reverting to old revisions shows tip in build string
+                 #         This command gets the revision number of the current
+                 #         repository tip. This leads to confusion when
+                 #         building an earlier revision. Instead, we use
+                 #         "hg identify -n" to get the local revision number
+                 #         of the actual state of the repository.
+                 #COMMAND ${MERCURIAL} log -r tip --template "{rev}"
+                 COMMAND ${MERCURIAL} identify -n
                  OUTPUT_VARIABLE VIEWER_VERSION_REVISION
                  OUTPUT_STRIP_TRAILING_WHITESPACE
                  )
+              # <FS:TS> Now strip off a trailing + if it's there, showing that
+              #         there are uncommitted changes.
+              string (REGEX REPLACE "\\+$" "" VIEWER_VERSION_REVISION ${VIEWER_VERSION_REVISION})
+              # </FS:TS> FIRE-11737
               if ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")
                  message("Revision (from hg) ${VIEWER_VERSION_REVISION}")
               else ("${VIEWER_VERSION_REVISION}" MATCHES "^[0-9]+$")


Add files correctly to files.cmake Signed-off-by: E. Marinetto <emarinetto@hggm.es>

--- Modules/IGT/files.cmake
+++ Modules/IGT/files.cmake
@@ -45,6 +45,8 @@
   TrackingDevices/mitkTrackingVolumeGenerator.cpp
   TrackingDevices/mitkVirtualTrackingDevice.cpp
   TrackingDevices/mitkVirtualTrackingTool.cpp
+  TrackingDevices/mitkOptitrackTrackingDevice.cpp
+  TrackingDevices/mitkOptitrackTrackingTool.cpp
 )

 set(RESOURCE_FILES


special case PCH handling for Clang

special case PCH handling for Clang

- this mode supports combining PCH with ccache, as described here:
   https://ccache.samba.org/manual.html#_precompiled_headers

--- pch.cmake
+++ pch.cmake
@@ -271,7 +271,11 @@
         foreach( source ${target_sources} )
             get_source_file_property( old_flags ${source} COMPILE_FLAGS )
             if( NOT old_flags AND ${source} MATCHES ".*\\.c.+" )
-                set_source_files_properties( "${source}" PROPERTIES COMPILE_FLAGS "-include ${GCH_PATH}/${PCH_NAME}.h -Winvalid-pch" )
+                if( ${CMAKE_CXX_COMPILER_ID} MATCHES "Clang" )
+                    set_source_files_properties( "${source}" PROPERTIES COMPILE_FLAGS "-include-pch ${GCH_PATH}/${PCH_NAME}.h.gch -Winvalid-pch" )
+                else()
+                    set_source_files_properties( "${source}" PROPERTIES COMPILE_FLAGS "-include ${GCH_PATH}/${PCH_NAME}.h -Winvalid-pch" )
+                endif()
             endif()
         endforeach()
 #        target_compile_options( ${_targetName} PRIVATE $<$<COMPILE_LANGUAGE:CXX>:-include ${GCH_PATH}/${PCH_NAME}.h -Winvalid-pch> )


Hide build options specific to Urho3D project from external project.

--- Source/CMake/Modules/Urho3D-CMake-common.cmake
+++ Source/CMake/Modules/Urho3D-CMake-common.cmake
@@ -29,16 +29,18 @@
 option (URHO3D_ANGELSCRIPT "Enable AngelScript scripting support" TRUE)
 option (URHO3D_LUA "Enable additional Lua scripting support")
 option (URHO3D_LUAJIT "Enable Lua scripting support using LuaJIT (check LuaJIT's CMakeLists.txt for more options)")
-cmake_dependent_option (URHO3D_LUAJIT_AMALG "Enable LuaJIT amalgamated build (LuaJIT only)" FALSE "URHO3D_LUAJIT" FALSE)
-cmake_dependent_option (URHO3D_SAFE_LUA "Enable Lua C++ wrapper safety checks (Lua scripting only)" FALSE "URHO3D_LUA OR URHO3D_LUAJIT" FALSE)
-option (URHO3D_SAMPLES "Build sample applications")
-cmake_dependent_option (URHO3D_TOOLS "Build standalone tools (Desktop and RPI only; on Android only build Lua standalone tools)" TRUE "NOT IOS;NOT ANDROID OR URHO3D_LUA OR URHO3D_LUAJIT" FALSE)
-cmake_dependent_option (URHO3D_EXTRAS "Build extras (Desktop and RPI only)" FALSE "NOT IOS AND NOT ANDROID" FALSE)
-option (URHO3D_DOCS "Generate documentation as part of normal build")
-option (URHO3D_DOCS_QUIET "Generate documentation as part of normal build, suppress generation process from sending anything to stdout")
 option (URHO3D_SSE "Enable SSE instruction set" TRUE)
-cmake_dependent_option (URHO3D_MINIDUMPS "Enable minidumps on crash (VS only)" TRUE "MSVC" FALSE)
-option (URHO3D_FILEWATCHER "Enable filewatcher support" TRUE)
+if (CMAKE_PROJECT_NAME STREQUAL Urho3D)
+    cmake_dependent_option (URHO3D_LUAJIT_AMALG "Enable LuaJIT amalgamated build (LuaJIT only)" FALSE "URHO3D_LUAJIT" FALSE)
+    cmake_dependent_option (URHO3D_SAFE_LUA "Enable Lua C++ wrapper safety checks (Lua scripting only)" FALSE "URHO3D_LUA OR URHO3D_LUAJIT" FALSE)
+    option (URHO3D_SAMPLES "Build sample applications")
+    cmake_dependent_option (URHO3D_TOOLS "Build standalone tools (Desktop and RPI only; on Android only build Lua standalone tools)" TRUE "NOT IOS;NOT ANDROID OR URHO3D_LUA OR URHO3D_LUAJIT" FALSE)
+    cmake_dependent_option (URHO3D_EXTRAS "Build extras (Desktop and RPI only)" FALSE "NOT IOS AND NOT ANDROID" FALSE)
+    option (URHO3D_DOCS "Generate documentation as part of normal build")
+    option (URHO3D_DOCS_QUIET "Generate documentation as part of normal build, suppress generation process from sending anything to stdout")
+    cmake_dependent_option (URHO3D_MINIDUMPS "Enable minidumps on crash (VS only)" TRUE "MSVC" FALSE)
+    option (URHO3D_FILEWATCHER "Enable filewatcher support" TRUE)
+endif ()
 option (URHO3D_PROFILING "Enable profiling support" TRUE)
 option (URHO3D_LOGGING "Enable logging support" TRUE)
 option (URHO3D_TESTING "Enable testing support")


test=develop

test=develop

--- cmake/flags.cmake
+++ cmake/flags.cmake
@@ -157,7 +157,7 @@
         # On Mac OS X build fat binaries with x86_64 architectures by default.
         set (CMAKE_OSX_ARCHITECTURES "x86_64" CACHE STRING "Build architectures for OSX" FORCE)
     endif()
-    # On Mac OS X register class specifier is deprecated and will cause warning error on latest clang 10.0.0
+    # On Mac OS X register class specifier is deprecated and will cause warning error on latest clang 10.0
     set (COMMON_FLAGS -Wno-deprecated-register)
 endif(APPLE)


change version separation character to supported in html and latex

--- cmake/tools.cmake
+++ cmake/tools.cmake
@@ -12,7 +12,7 @@
         IF(GIT_FOUND)
             EXEC_PROGRAM(git ${CMAKE_CURRENT_SOURCE_DIR} ARGS describe --tags HEAD OUTPUT_VARIABLE ${PROJECT_VERSION})
             STRING(REGEX REPLACE "^release-" "" ${PROJECT_VERSION} ${${PROJECT_VERSION}})
-            STRING(REGEX REPLACE "([v0-9.]+)-([0-9]+)-([A-Za-z0-9]+)" "\\1+\\2@\\3" ${PROJECT_VERSION} ${${PROJECT_VERSION}})
+            STRING(REGEX REPLACE "([v0-9.]+)-([0-9]+)-([A-Za-z0-9]+)" "\\1+\\2^\\3" ${PROJECT_VERSION} ${${PROJECT_VERSION}})
             EXEC_PROGRAM(git ARGS status --porcelain ${CMAKE_CURRENT_SOURCE_DIR} OUTPUT_VARIABLE PROJECT_STATUS)
             IF(PROJECT_STATUS STREQUAL "")
                 MESSAGE(STATUS "Git project directory is clean.")


ENH: Make FFTW (cufft) a public dependency of TubeTK

--- itk-module.cmake
+++ itk-module.cmake
@@ -25,6 +25,7 @@
 itk_module( TubeTK
   DEPENDS
     ITKCommon
+    ITKFFT
     ITKHDF5
     ITKIOImageBase
     ITKOptimizers
@@ -37,8 +38,6 @@
     ITKAnisotropicSmoothing
     ITKBinaryMathematicalMorphology
     ITKDistanceMap
-    ITKFFT
-    ITKRegistrationCommon
     ITKImageFilterBase
     ITKImageFunction
     ITKImageFeature
@@ -52,6 +51,7 @@
     ITKLabelVoting
     ITKMetaIO
     ITKPDEDeformableRegistration
+    ITKRegistrationCommon
     ITKTransform
     ITKTestKernel
   DESCRIPTION


#2000

--- Superbuild/Superbuild.cmake
+++ Superbuild/Superbuild.cmake
@@ -130,9 +130,6 @@
     IF(QT4_FOUND)
       MESSAGE(STATUS "QTVERSION=${QTVERSION}")
       MESSAGE(STATUS "Found use file: ${QT_USE_FILE}")
-      IF(APPLE AND ${QTVERSION} VERSION_EQUAL 4.8 AND ${QTVERSION} VERSION_LESS 4.8.5)
-        MESSAGE(WARNING "Qt 4.8 versions earlier than 4.8.3 contain a bug that disables menu items under some circumstances. Upgrade to a more recent version.")
-      ENDIF()
     ELSE()
       MESSAGE(FATAL_ERROR "QT ${QT_MIN_VERSION} or later is required for building the SCIRun GUI")
     ENDIF()


Use "--gen-suppressions=all" in valgrind

--- src/CTestConfig.cmake
+++ src/CTestConfig.cmake
@@ -12,7 +12,9 @@
 # Specify MEMCHECK Option: http://valgrind.org/docs/manual/mc-manual.html
 # Note: We use "--trace-children=yes" to valgrind-ise child processes (follow execve)
 # Note: We turn off "--show-reachable=yes" option.
-SET (VALGRIND_COMMAND_OPTIONS "-q --tool=memcheck --leak-check=yes --workaround-gcc296-bugs=yes --num-callers=50 --trace-children=yes --leak-check=full --track-origins=yes")
+SET (VALGRIND_COMMAND_OPTIONS "-q --tool=memcheck --leak-check=yes
+--workaround-gcc296-bugs=yes --num-callers=50 --trace-children=yes
+--leak-check=full --track-origins=yes --gen-suppressions=all")
 SET (MEMORYCHECK_SUPPRESSIONS_FILE "${CMAKE_SOURCE_DIR}/memcheck.supp")

 set(CTEST_DROP_METHOD "http")


updates to .gitlab-ci.yml

updates to .gitlab-ci.yml

--- scripts/test.cmake
+++ scripts/test.cmake
@@ -82,6 +82,7 @@
 # enable testing in Embree
 #STRING(REPLACE "\\" "\\\\" TEST_MODELS_DIRECTORY "${TEST_MODELS_DIRECTORY}")
 SET (CTEST_BUILD_OPTIONS "${CTEST_BUILD_OPTIONS} -D BUILD_TESTING:BOOL=ON -D EMBREE_TESTING_MODEL_DIR:PATH=${TEST_MODELS_DIRECTORY}")
+message("CTEST_BUILD_OPTIONS2 = ${CTEST_BUILD_OPTIONS}")

 # set site based on this machine's hostname
 SITE_NAME(HOSTNAME)


pw_build: Correct typo

pw_build: Correct typo

Change-Id: I974531b02aebae0d48f7372719137eb18b0107b5
Reviewed-on: https://pigweed-review.googlesource.com/c/pigweed/pigweed/+/94977
Pigweed-Auto-Submit: Ewout van Bekkum <638f134dbc68778d6b859fb04a64baea2b00b021@google.com>
Commit-Queue: Auto-Submit <14637eda5603879df170705285bf30f5996692f0@pigweed.google.com.iam.gserviceaccount.com>
Reviewed-by: Wyatt Hepler <cca3bedb37979eacd157a9bceb473582df8aea1e@google.com>

--- pw_build/pigweed.cmake
+++ pw_build/pigweed.cmake
@@ -492,7 +492,7 @@
     "Implementation of a main function for ``pw_test`` unit test binaries.")

 set(pw_unit_test_GOOGLETEST_BACKEND pw_unit_test CACHE STRING
-    "CMake target which implements GoogleTest, vy default pw_unit_test is \
+    "CMake target which implements GoogleTest, by default pw_unit_test is \
      used. You could, for example, point this at pw_third_party.googletest if \
      using upstream GoogleTest directly on your host for GoogleMock.")


ENH: Update ZLIB to 1.2.13

ENH: Update ZLIB to 1.2.13

--- SuperBuild/CMake/External_zlib.cmake
+++ SuperBuild/CMake/External_zlib.cmake
@@ -23,11 +23,11 @@
 SETUP_SUPERBUILD(ZLIB)

-# Try official release 1.2.11
+# Try official release 1.2.13
 ExternalProject_Add(ZLIB
   PREFIX ZLIB
-  URL "https://zlib.net/zlib-1.2.12.tar.gz"
-  URL_MD5 5fc414a9726be31427b440b434d05f78
+  URL "https://zlib.net/zlib-1.2.13.tar.gz"
+  URL_MD5 9b8aa094c4e5765dabf4da391f00d15c
   BINARY_DIR ${ZLIB_SB_BUILD_DIR}
   INSTALL_DIR ${SB_INSTALL_PREFIX}
   DOWNLOAD_DIR ${DOWNLOAD_LOCATION}


Add DBNAME option to add_python_test

Add DBNAME option to add_python_test

MongoDB has a limitation of 120 characters for the combination of
the database name and collection name, so long test names could
break that limit. This allows callers to specify an alternative
database name to avoid that scenario.

--- tests/PythonTests.cmake
+++ tests/PythonTests.cmake
@@ -83,7 +83,7 @@
   set(name "server_${case}")

   set(_options BIND_SERVER PY2_ONLY)
-  set(_args PLUGIN SUBMODULE)
+  set(_args DBNAME PLUGIN SUBMODULE)
   set(_multival_args RESOURCE_LOCKS TIMEOUT EXTERNAL_DATA)
   cmake_parse_arguments(fn "${_options}" "${_args}" "${_multival_args}" ${ARGN})

@@ -124,7 +124,13 @@
     )
   endif()

-  string(REPLACE "." "_" _db_name ${name})
+  if(fn_DBNAME)
+    set(_db_name ${fn_DBNAME})
+  else()
+    set(_db_name ${name})
+  endif()
+
+  string(REPLACE "." "_" _db_name ${_db_name})
   set_property(TEST ${name} PROPERTY ENVIRONMENT
     "PYTHONPATH=$ENV{PYTHONPATH}${_separator}${pythonpath}${_separator}${PROJECT_SOURCE_DIR}/clients/python"
     "GIRDER_TEST_DB=mongodb://localhost:27017/girder_test_${_db_name}"