SVN_SILENT made messages (.desktop file)

--- gstreamer/gstreamer.desktop.cmake
+++ gstreamer/gstreamer.desktop.cmake
@@ -64,7 +64,7 @@
 Comment[bg]=Phonon GStreamer
 Comment[ca]=Dorsal GStreamer del Phonon
 Comment[ca@valencia]=Dorsal GStreamer del Phonon
-Comment[cs]=Phonon GStreamer backend
+Comment[cs]=Podpůrná vrstva GStreamer pro Phonon
 Comment[da]=GStreamer-backend til Phonon
 Comment[de]=Phonon-Treiber für GStreamer
 Comment[el]=Σύστημα υποστήριξης GStreamer του Phonon
@@ -87,7 +87,7 @@
 Comment[lt]=Phonon GStreamer galinė sąsaja
 Comment[lv]=Phonon GStreamer aizmugure
 Comment[nb]=Phonon-motor for GStreamer
-Comment[nds]=Phonon-Hülpprogramm GStreamer
+Comment[nds]=GStreamer-Hülpprogramm Phonon
 Comment[nl]=GStreamer-backend (Phonon)
 Comment[nn]=Phonon-motor for GStreamer
 Comment[pa]=ਫੋਨੋਨ ਜਸਟੀਰਮਰ ਬੈਕਐਂਡ


Can't use 64BIT test here, use CMAKE_SIZEOF_VOID_P instead.

--- packaging/WiX/CPackWixConfig.cmake
+++ packaging/WiX/CPackWixConfig.cmake
@@ -3,8 +3,7 @@
  MESSAGE("Essentials!")
  SET(CPACK_COMPONENTS_USED "Server;Client;DataFiles")
  SET(CPACK_WIX_UI "WixUI_InstallDir")
- MATH(EXPR bits ${CMAKE_SIZEOF_VOID_P}*8)
- IF(64BIT)
+ IF(CMAKE_SIZEOF_VOID_P MATCHES 8)
   SET(CPACK_PACKAGE_FILE_NAME  "mysql-essential-${VERSION}-winx64")
  ELSE()
   SET(CPACK_PACKAGE_FILE_NAME  "mysql-essential-${VERSION}-win32")


--- plugins/sipe/ktpaccountskcm_plugin_sipe.desktop.cmake
+++ plugins/sipe/ktpaccountskcm_plugin_sipe.desktop.cmake
@@ -11,6 +11,7 @@
 Comment[fi]=Sipe-yhteyshallintaa käyttävien tilien mukautettu hallintakäyttöliittymä.
 Comment[fr]=Interface utilisateur personnalisée pour la configuration de comptes en utilisant le gestionnaire de connexions « sipe ».
 Comment[ia]=Interfacie de usator pro configuration de conto personalisate pro contos usante le gerente de connexion sipe.
+Comment[it]=Interfaccia utente personalizzata di configurazione account per account che usano il gestore di connessioni Sipe.
 Comment[lt]=Savito paskyros konfigūravimo naudotojo sąsaja paskyroms naudojant sipe ryšio tvarkyklę.
 Comment[nb]=Brukerflate for å sette opp egendefinerte kontoer ved bruk av sipe tilkoblingsbehandler.
 Comment[nl]=Gebruikersinterface voor aangepaste accountconfiguratie voor accounts die de Sipe verbindingenbeheerder gebruiken.
@@ -39,6 +40,7 @@
 Name[fi]=Sipe-tilinmäärityksen käyttöliittymä
 Name[fr]=Interface utilisateur pour la configuration de comptes « sipe ».
 Name[ia]=Interfacie de usator de configuration de conto de Sipe
+Name[it]=Interfaccia utente di configurazione account Sipe
 Name[lt]=Sipe paskyros konfigūravimo naudotojo sąsaja
 Name[nb]=Brukerflate for å sette opp Sipe-konto
 Name[nl]=Gebruikersinterface voor Sipe accountconfiguratie


优化libc++的判定流程

优化libc++的判定流程

--- project/cmake/CompilerOption.cmake
+++ project/cmake/CompilerOption.cmake
@@ -117,38 +117,25 @@
             set(CMAKE_CXX_STANDARD 11)
         endif()
         message(STATUS "Clang Version ${CMAKE_CXX_COMPILER_VERSION} , using -std=c${CMAKE_C_STANDARD}/c++${CMAKE_CXX_STANDARD}.")
-        # 优先使用libc++和libc++abi
-        find_library (COMPILER_CLANG_HAS_LIBCXX NAMES c++ libc++)
-        find_library (COMPILER_CLANG_HAS_LIBCXXABI NAMES c++abi libc++abi)
-        if(COMPILER_OPTION_CLANG_ENABLE_LIBCXX AND COMPILER_CLANG_HAS_LIBCXX AND COMPILER_CLANG_HAS_LIBCXXABI)
-            set(COMPILER_CLANG_BACKUP_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
-            set(COMPILER_CLANG_BACKUP_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
-
-            set(CMAKE_REQUIRED_LIBRARIES c++ c++abi)
-            set(CMAKE_REQUIRED_FLAGS -stdlib=libc++)
-
-            include(CheckCXXSourceCompiles)
-            check_cxx_source_compiles("
-            #include <iostream>
-            #include <algorithm>
-            #include <limits>
-            int main() {
-                std::cout<< __cplusplus<< std::endl;
-                return 0;
-            }
-            "
-            COMPILER_CLANG_TEST_LIBCXX)
-
-            set(CMAKE_REQUIRED_LIBRARIES ${COMPILER_CLANG_BACKUP_CMAKE_REQUIRED_LIBRARIES})
-            set(CMAKE_REQUIRED_FLAGS ${COMPILER_CLANG_BACKUP_CMAKE_REQUIRED_FLAGS})
-            unset(COMPILER_CLANG_BACKUP_CMAKE_REQUIRED_LIBRARIES)
-            unset(COMPILER_CLANG_BACKUP_CMAKE_REQUIRED_FLAGS)
-        else()
-            set(COMPILER_CLANG_TEST_LIBCXX FALSE)
-        endif ()
-        if(COMPILER_CLANG_TEST_LIBCXX)
-            list(APPEND CMAKE_CXX_FLAGS -stdlib=libc++ -Wno-unused-command-line-argument)
-            list(APPEND CMAKE_C_FLAGS -Wno-unused-command-line-argument)
+        # Test libc++ and libc++abi
+        include(CheckCXXSourceCompiles)
+        set(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+        set(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+        set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -stdlib=libc++")
+        list(APPEND CMAKE_REQUIRED_LIBRARIES c++ c++abi)
+        check_cxx_source_compiles("
+        #include <iostream>
+        int main() {
+            std::cout<< __cplusplus<< std::endl;
+            return 0;
+        }
+        " COMPILER_CLANG_TEST_LIBCXX)
+        set(CMAKE_REQUIRED_FLAGS ${COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_FLAGS})
+        set(CMAKE_REQUIRED_LIBRARIES ${COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_LIBRARIES})
+        unset(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_FLAGS)
+        unset(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_LIBRARIES)
+        if(COMPILER_OPTION_CLANG_ENABLE_LIBCXX AND COMPILER_CLANG_TEST_LIBCXX)
+            list(APPEND CMAKE_CXX_FLAGS -stdlib=libc++)
             message(STATUS "Clang use stdlib=libc++")
             list(APPEND COMPILER_OPTION_EXTERN_CXX_LIBS c++ c++abi)
         else()
@@ -183,12 +170,25 @@
             set(CMAKE_CXX_STANDARD 11)
         endif()
         message(STATUS "AppleClang Version ${CMAKE_CXX_COMPILER_VERSION} , using -std=c${CMAKE_C_STANDARD}/c++${CMAKE_CXX_STANDARD}.")
-        # 优先使用libc++和libc++abi
-        find_library (COMPILER_CLANG_HAS_LIBCXX NAMES c++ libc++)
-        find_library (COMPILER_CLANG_HAS_LIBCXXABI NAMES c++abi libc++abi)
-        if(COMPILER_OPTION_CLANG_ENABLE_LIBCXX AND COMPILER_CLANG_HAS_LIBCXX AND COMPILER_CLANG_HAS_LIBCXXABI)
-            list(APPEND CMAKE_CXX_FLAGS -stdlib=libc++ -Wno-unused-command-line-argument)
-            list(APPEND CMAKE_C_FLAGS -Wno-unused-command-line-argument)
+        # Test libc++ and libc++abi
+        include(CheckCXXSourceCompiles)
+        set(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_FLAGS ${CMAKE_REQUIRED_FLAGS})
+        set(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_LIBRARIES ${CMAKE_REQUIRED_LIBRARIES})
+        set(CMAKE_REQUIRED_FLAGS "${CMAKE_REQUIRED_FLAGS} -stdlib=libc++")
+        list(APPEND CMAKE_REQUIRED_LIBRARIES c++ c++abi)
+        check_cxx_source_compiles("
+        #include <iostream>
+        int main() {
+            std::cout<< __cplusplus<< std::endl;
+            return 0;
+        }
+        " COMPILER_CLANG_TEST_LIBCXX)
+        set(CMAKE_REQUIRED_FLAGS ${COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_FLAGS})
+        set(CMAKE_REQUIRED_LIBRARIES ${COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_LIBRARIES})
+        unset(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_FLAGS)
+        unset(COMPILER_CLANG_TEST_BAKCUP_CMAKE_REQUIRED_LIBRARIES)
+        if(COMPILER_OPTION_CLANG_ENABLE_LIBCXX AND COMPILER_CLANG_TEST_LIBCXX)
+            list(APPEND CMAKE_CXX_FLAGS -stdlib=libc++)
             message(STATUS "AppleClang use stdlib=libc++")
             list(APPEND COMPILER_OPTION_EXTERN_CXX_LIBS c++ c++abi)
         else()


windows: put qt platform plugin in the right place

--- projects/win32/qt.use.system.cmake
+++ projects/win32/qt.use.system.cmake
@@ -17,7 +17,6 @@
   UiTools
   Xml)
 find_package(Qt5 COMPONENTS ${tomvizQt5Libs})
-list(APPEND tomvizQt5Libs QWindowsIntegrationPlugin)
 set(qt5_libs_file_string "set(qt5_libdirs)\n")
 foreach (lib IN LISTS tomvizQt5Libs)
   set(qt5_libs_file_string
@@ -40,3 +39,8 @@
   endforeach()
 endforeach()
 " COMPONENT "tomviz")
+
+get_target_property(qtWindowsPluginLocation Qt5::QWindowsIntegrationPlugin LOCATION)
+install(FILES ${qtWindowsPluginLocation}
+        DESTINATION "bin/platforms"
+        COMPONENT "tomviz")


iox-#459 Suppress ubsan error in test_posh_runtime.cpp

Signed-off-by: Prasanna Bhat <e5bee0ecd0115ae065310834f9446360b4c750cd@gmail.com>

--- iceoryx_utils/cmake/IceoryxPlatform.cmake
+++ iceoryx_utils/cmake/IceoryxPlatform.cmake
@@ -58,6 +58,8 @@
         file(WRITE  ${BLACKLIST_FILE_PATH} "# This file is auto-generated from iceoryx_utils/cmake/IceoryxPlatform.cmake\n")
         file(APPEND ${BLACKLIST_FILE_PATH} "# src:*file_name.cpp*\n")
         file(APPEND ${BLACKLIST_FILE_PATH} "# fun:*Test_Name*\n")
+        file(APPEND ${BLACKLIST_FILE_PATH} "# posh_runtime.cpp:70:12: runtime error: reference binding to null pointer of type 'iox::runtime::PoshRuntime'\n")
+        file(APPEND ${BLACKLIST_FILE_PATH} "src:*posh_runtime.cpp\n")
         file(APPEND ${BLACKLIST_FILE_PATH} "# End of file\n")
     endif()
 endfunction()
@@ -99,7 +101,7 @@

 if(SANITIZE)
     if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang" OR CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
-        set(ICEORYX_SANITIZER_BLACKLIST_FILE ${CMAKE_BINARY_DIR}/sanitizer_blacklist/asan_compile_time.txt)
+        set(ICEORYX_SANITIZER_BLACKLIST_FILE ${CMAKE_BINARY_DIR}/sanitizer_blacklist/sanitizer_compile_time.txt)
         iox_create_asan_compile_time_blacklist(${ICEORYX_SANITIZER_BLACKLIST_FILE})

         set(ICEORYX_SANITIZER_BLACKLIST -fsanitize-blacklist=${ICEORYX_SANITIZER_BLACKLIST_FILE})


Fixing FindCGSI_GSOAP.cmake

Fixing FindCGSI_GSOAP.cmake

--- modules/FindCGSI_GSOAP.cmake
+++ modules/FindCGSI_GSOAP.cmake
@@ -21,7 +21,8 @@
     HINTS
         ${CGSI_GSOAP_LOCATION}
         ${STAGE_DIR}
-        ${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/
+        ${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/lib
+        ${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/lib64
     DOC "The main CGSI_GSOAP library"
 )

@@ -38,7 +39,8 @@
     NAMES cgsi_plugin.h
     HINTS ${CGSI_GSOAP_LOCATION}
           ${STAGE_DIR}/include
-          ${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/
+          ${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}
+          ${CMAKE_INSTALL_PREFIX}/cgsigsoap/*/${PLATFORM}/include
     DOC "The CGSI_GSOAP include directory"
 )
 if(CGSI_GSOAP_INCLUDE_DIRS)


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

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

--- src/vlc.desktop.cmake
+++ src/vlc.desktop.cmake
@@ -25,6 +25,7 @@
 Name[eu]=VLC
 Name[fa]=وی‌ال‌سی (VLC)
 Name[fi]=VLC
+Name[fr]=VLC
 Name[ga]=VLC
 Name[gl]=VLC
 Name[hu]=VLC
@@ -72,6 +73,7 @@
 Comment[eu]=Phonon-en VLC bizkarraldekoa
 Comment[fa]=پسانه‌ی وی‌ال‌سی برای فنون (Phonon VLC backend)
 Comment[fi]=Phonon VLC -taustajärjestelmä
+Comment[fr]=Module VLC pour Phonon
 Comment[ga]=Inneall VLC Phonon
 Comment[gl]=Infraestrutura de VLC para Phonon
 Comment[hu]=Phonon VLC-backend


--- plugins/sipe/ktpaccountskcm_plugin_sipe.desktop.cmake
+++ plugins/sipe/ktpaccountskcm_plugin_sipe.desktop.cmake
@@ -1,8 +1,26 @@
 [Desktop Entry]
 Encoding=UTF-8
 Comment=Custom account configuration user interface for accounts using the sipe connection manager.
+Comment[ca]=Interfície d'usuari de configuració de compte personalitzat per comptes que utilitzen el gestor de connexions Sipe.
+Comment[de]=Eigene Benutzeroberfläche zum Einrichten von Zugängen, die die Sipe-Verbindungsverwaltung verwenden.
+Comment[fi]=Sipe-yhteyshallintaa käyttävien tilien mukautettu hallintakäyttöliittymä.
+Comment[fr]=Interface utilisateur personnalisée pour la configuration de comptes en utilisant le gestionnaire de connexions « sipe ».
+Comment[nl]=Gebruikersinterface voor aangepaste accountconfiguratie voor accounts die de Sipe verbindingenbeheerder gebruiken.
+Comment[pl]=Własny interfejsu użytkownika konfiguracji kont dla kont wykorzystujących menadżera połączeń sipe.
+Comment[sv]=Användargränssnitt för anpassad kontoinställning av konton som använder anslutningshanteraren Sipe.
+Comment[uk]=Інтерфейс користувача для нетипового налаштовування облікового запису за допомогою керування з’єднаннями sipe.
+Comment[x-test]=xxCustom account configuration user interface for accounts using the sipe connection manager.xx
 Icon=blockdevice
 Name=Sipe Account Configuration User Interface
+Name[ca]=Interfície d'usuari de configuració de compte de Sipe
+Name[de]=Benutzeroberfläche zur Einrichtung von Sipe-Zugängen
+Name[fi]=Sipe-tilinmäärityksen käyttöliittymä
+Name[fr]=Interface utilisateur pour la configuration de comptes « sipe ».
+Name[nl]=Gebruikersinterface voor Sipe accountconfiguratie
+Name[pl]=Interfejs użytkownika konfiguracji konta Sipe
+Name[sv]=Användargränssnitt för inställning av Sipe-konton
+Name[uk]=Інтерфейс користувача для налаштовування sipe
+Name[x-test]=xxSipe Account Configuration User Interfacexx
 Type=Service
 ServiceTypes=KTpAccountsKCM/AccountUiPlugin


ENH: tipo in cmake configuration message

--- Modules/ThirdParty/Boost/otb-module-init.cmake
+++ Modules/ThirdParty/Boost/otb-module-init.cmake
@@ -10,7 +10,7 @@
   )

 # Optional components
-message(STATUS "Looking for optional Boost commponents : ${OTB_Boost_OPTIONAL_COMPONENTS}")
+message(STATUS "Looking for optional Boost components : ${OTB_Boost_OPTIONAL_COMPONENTS}")
 find_package ( Boost
   1.35.0
   COMPONENTS ${OTB_Boost_OPTIONAL_COMPONENTS}


Remove some extra deps that cause build to fail on travis CI.

--- sys/FindSYS-qt4.cmake
+++ sys/FindSYS-qt4.cmake
@@ -1,8 +1,8 @@
 FIND_SNAP_SYS_PACKAGE(
   NAME                  SYS-qt4
-  LIBRARY_NAMES
-  libQt3Support.so  libQt5ScriptTools.so  libQt5V8.so           libQtCLucene.so  libQtDBus.so         libQtDesignerComponents.so  libQtGui.so   libQtNetwork.so  libQtScript.so       libQtSql.so  libQtTest.so         libQtXml.so libQt5Script.so   libQt5Svg.so          libQt5XmlPatterns.so  libQtCore.so     libQtDeclarative.so  libQtDesigner.so            libQtHelp.so  libQtOpenGL.so   libQtScriptTools.so  libQtSvg.so  libQtXmlPatterns.so
-  LIBRARY_SEARCH_PATHS  /usr/lib/x86_64-linux-gnu
+  LIBRARY_NAMES         libQtCore.so  libQtGui.so   libQtNetwork.so   libQtXml.so
+                        #libQt3Support.so  libQtCLucene.so  libQtDBus.so libQtScript.so   libQtSql.so  libQtTest.so libQtDeclarative.so  libQtDesigner.so libQtDesignerComponents.so     libQtHelp.so  libQtOpenGL.so   libQtScriptTools.so  libQtSvg.so  libQtXmlPatterns.so
+  LIBRARY_SEARCH_PATHS  /usr/local/lib /usr/lib/x86_64-linux-gnu
   PATH_TO_A_HEADER      Qt/qwidget.h
   INCLUDE_SEARCH_PATHS  /usr/include/qt4/
 )


fix version check for cmake < 3.7

fix version check for cmake < 3.7

--- cMake/FindPyCXX.cmake
+++ cMake/FindPyCXX.cmake
@@ -116,7 +116,7 @@
         ${PYCXX_SOURCE_DIR}/cxxsupport.cxx
         ${PYCXX_SOURCE_DIR}/IndirectPythonInterface.cxx
     )
-    if(${PYCXX_VERSION} VERSION_GREATER_EQUAL 7.0.0)
+    if(NOT ${PYCXX_VERSION} VERSION_LESS 7.0.0)
         list(APPEND PYCXX_SOURCES
             ${PYCXX_SOURCE_DIR}/cxx_exceptions.cxx)
         add_definitions(-DPYCXX_6_2_COMPATIBILITY)


update eigen git repo

update eigen git repo

--- CMakeExternals.cmake
+++ CMakeExternals.cmake
@@ -40,8 +40,8 @@
     endif()

     add_external_headeronly_project(Eigen
-      GIT_REPOSITORY https://github.com/eigenteam/eigen-git-mirror.git
-      GIT_TAG "3.3.4")
+      GIT_REPOSITORY https://gitlab.com/libeigen/eigen.git
+      GIT_TAG "3.3.7")

   # glm
   elseif(NAME STREQUAL "glm")


Cmake. Removed unused script. (#907)

Cmake. Removed unused script. (#907)

--- sdks/cpp/cmake/Fetch_gRPC.cmake
+++ sdks/cpp/cmake/Fetch_gRPC.cmake
@@ -1,54 +0,0 @@
-# Copyright 2019 Google LLC All Rights Reserved.
-#
-# Licensed under the Apache License, Version 2.0 (the "License");
-# you may not use this file except in compliance with the License.
-# You may obtain a copy of the License at
-#
-#     http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# 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.
-
-cmake_minimum_required (VERSION 3.12.0)
-
-include(FetchContent)
-
-set(GRPC_GIT_REPO "https://github.com/grpc/grpc.git")
-set(GRPC_GIT_TAG "v${AGONES_GRPC_VERSION}")
-
-FetchContent_Declare(
-    grpc
-    GIT_REPOSITORY      "${GRPC_GIT_REPO}"
-    GIT_TAG             "${GRPC_GIT_TAG}"
-    PREFIX              grpc
-    SOURCE_DIR          "grpc/.src"
-    BINARY_DIR          "grpc/.bin"
-    INSTALL_DIR         "grpc/.install"
-    SUBBUILD_DIR        "grpc/.subbuild"
-    CONFIGURE_COMMAND   ""
-    BUILD_COMMAND       ""
-    INSTALL_COMMAND     ""
-    TEST_COMMAND        ""
-)
-FetchContent_GetProperties(grpc)
-if (NOT grpc_POPULATED)
-  message("Fetching gRPC ${AGONES_GRPC_VERSION}")
-  FetchContent_Populate(
-    grpc
-    QUIET
-    GIT_REPOSITORY      "${GRPC_GIT_REPO}"
-    GIT_TAG             "${GRPC_GIT_TAG}"
-    PREFIX              grpc
-    SOURCE_DIR          "grpc/.src"
-    BINARY_DIR          "grpc/.bin"
-    INSTALL_DIR         "grpc/.install"
-    SUBBUILD_DIR        "grpc/.subbuild"
-    CONFIGURE_COMMAND   ""
-    BUILD_COMMAND       ""
-    INSTALL_COMMAND     ""
-    TEST_COMMAND        ""
-  )
-endif()


+ Use OCC debug libs in debug build

+ Use OCC debug libs in debug build

--- cMake/UseLibPack9x.cmake
+++ cMake/UseLibPack9x.cmake
@@ -357,38 +357,72 @@
 set(OCC_INCLUDE_DIR ${FREECAD_LIBPACK_DIR}/include/oce-0.13)
 set(OCC_LIBRARY_DIR ${FREECAD_LIBPACK_DIR}/lib)
 set(OCC_LIBRARIES
-    TKFillet
-    TKMesh
-    TKernel
-    TKG2d
-    TKG3d
-    TKMath
-    TKIGES
-    TKSTL
-    TKShHealing
-    TKXSBase
-    TKBool
-    TKBO
-    TKBRep
-    TKTopAlgo
-    TKGeomAlgo
-    TKGeomBase
-    TKOffset
-    TKPrim
-    TKSTEP
-    TKSTEPBase
-    TKSTEPAttr
-    TKHLR
-    TKFeat
+    optimized TKFillet
+    optimized TKMesh
+    optimized TKernel
+    optimized TKG2d
+    optimized TKG3d
+    optimized TKMath
+    optimized TKIGES
+    optimized TKSTL
+    optimized TKShHealing
+    optimized TKXSBase
+    optimized TKBool
+    optimized TKBO
+    optimized TKBRep
+    optimized TKTopAlgo
+    optimized TKGeomAlgo
+    optimized TKGeomBase
+    optimized TKOffset
+    optimized TKPrim
+    optimized TKSTEP
+    optimized TKSTEPBase
+    optimized TKSTEPAttr
+    optimized TKHLR
+    optimized TKFeat
+)
+set(OCC_DEBUG_LIBRARIES
+    debug TKFilletd
+    debug TKMeshd
+    debug TKerneld
+    debug TKG2dd
+    debug TKG3dd
+    debug TKMathd
+    debug TKIGESd
+    debug TKSTLd
+    debug TKShHealingd
+    debug TKXSBased
+    debug TKBoold
+    debug TKBOd
+    debug TKBRepd
+    debug TKTopAlgod
+    debug TKGeomAlgod
+    debug TKGeomBased
+    debug TKOffsetd
+    debug TKPrimd
+    debug TKSTEPd
+    debug TKSTEPBased
+    debug TKSTEPAttrd
+    debug TKHLRd
+    debug TKFeatd
 )
 set(OCC_OCAF_LIBRARIES
-    TKCAF
-    TKXCAF
-    TKLCAF
-    TKXDESTEP
-    TKXDEIGES
-    TKMeshVS
-    TKAdvTools
+    optimized TKCAF
+    optimized TKXCAF
+    optimized TKLCAF
+    optimized TKXDESTEP
+    optimized TKXDEIGES
+    optimized TKMeshVS
+    optimized TKAdvTools
+)
+set(OCC_OCAF_DEBUG_LIBRARIES
+    debug TKCAFd
+    debug TKXCAFd
+    debug TKLCAFd
+    debug TKXDESTEPd
+    debug TKXDEIGESd
+    debug TKMeshVSd
+    debug TKAdvToolsd
 )
 set(OCC_FOUND TRUE)


HTCONDOR-782: Make python2 optional if boost is missing.

--- build/cmake/CondorConfigure.cmake
+++ build/cmake/CondorConfigure.cmake
@@ -77,6 +77,9 @@

 # To find python in Windows we will use alternate technique
 option(WANT_PYTHON_WHEELS "Build python bindings for python wheel packaging" OFF)
+option(WANT_PYTHON2_BINDINGS "Build python bindings for python2" ON)
+option(WANT_PYTHON3_BINDINGS "Build python bindings for python3" ON)
+
 if(NOT WINDOWS)
     if(WANT_PYTHON_WHEELS)
         include (FindPythonInterp)
@@ -103,7 +106,7 @@
         endif()

 message(STATUS "PYTHON_EXECUTABLE = ${PYTHON_EXECUTABLE}")
-        if (PYTHON_EXECUTABLE)
+        if (WANT_PYTHON2_BINDINGS AND PYTHON_EXECUTABLE)
             set(PYTHONINTERP_FOUND TRUE)
             set(PYTHON_QUERY_PART_01 "from distutils import sysconfig;")
             set(PYTHON_QUERY_PART_02 "import sys;")
@@ -167,7 +170,7 @@
             message(STATUS "PYTHON_VERSION_STRING = ${PYTHON_VERSION_STRING}")
         endif()
         find_program(PYTHON3_EXECUTABLE python3)
-        if (PYTHON3_EXECUTABLE)
+        if (WANT_PYTHON3_BINDINGS AND PYTHON3_EXECUTABLE)
             set(PYTHON3INTERP_FOUND TRUE)
             set(PYTHON_QUERY_PART_01 "from distutils import sysconfig;")
             set(PYTHON_QUERY_PART_02 "import sys;")


COMP: avoid configuration wraning with VC2010

See http://www.cmake.org/pipermail/cmake/2011-May/044166.html

--- CMake/OTBCPack.cmake
+++ CMake/OTBCPack.cmake
@@ -5,6 +5,11 @@
 MARK_AS_ADVANCED(OTB_USE_CPACK)

 IF(OTB_USE_CPACK)
+
+    # By default, do not warn when built on machines using only VS Express:
+    IF(NOT DEFINED CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS)
+      SET(CMAKE_INSTALL_SYSTEM_RUNTIME_LIBS_NO_WARNINGS ON)
+    ENDIF()

     INCLUDE(InstallRequiredSystemLibraries)


CMake fixes for apple

CMake fixes for apple

--- CMakeOlxCommon.cmake
+++ CMakeOlxCommon.cmake
@@ -150,7 +150,7 @@
 	SET(ALL_SRCS ${OLXROOTDIR}/libs/breakpad/src/client/mac/handler/exception_handler.cc ${ALL_SRCS})
 	SET(ALL_SRCS ${OLXROOTDIR}/libs/breakpad/src/client/mac/handler/minidump_generator.cc ${ALL_SRCS})
 	SET(ALL_SRCS ${OLXROOTDIR}/libs/breakpad/src/client/mac/handler/protected_memory_allocator.cc ${ALL_SRCS})
-	ELSE(APPLE)
+	ELSE(APPLE)
 	SET(ALL_SRCS ${OLXROOTDIR}/libs/breakpad/src/client/linux/handler/exception_handler.cc ${ALL_SRCS})
 	SET(ALL_SRCS ${OLXROOTDIR}/libs/breakpad/src/client/linux/handler/linux_thread.cc ${ALL_SRCS})
 	SET(ALL_SRCS ${OLXROOTDIR}/libs/breakpad/src/client/linux/minidump_writer/linux_dumper.cc ${ALL_SRCS})
@@ -305,7 +305,7 @@

 IF(OPTIM_PROJECTILES)
 	#Always optimize these files - they make debug build unusable otherwise
-	SET_SOURCE_FILES_PROPERTIES(	${OLXROOTDIR}/src/common/PhysicsLX56_Projectiles.cpp
+	SET_SOURCE_FILES_PROPERTIES(	${OLXROOTDIR}/src/common/PhysicsLX56_Projectiles.cpp
 						PROPERTIES COMPILE_FLAGS ${OPTIMIZE_COMPILER_FLAG})
 ENDIF(OPTIM_PROJECTILES)

@@ -364,8 +364,6 @@
 	SET(ALL_SRCS ${ALL_SRCS} ${OLXROOTDIR}/build/Xcode/freealut/src/alutUtil.c)
 	SET(ALL_SRCS ${ALL_SRCS} ${OLXROOTDIR}/build/Xcode/freealut/src/alutVersion.c)
 	SET(ALL_SRCS ${ALL_SRCS} ${OLXROOTDIR}/build/Xcode/freealut/src/alutWaveform.c)
-	link_directories(${OLXROOTDIR}/build/Xcode/Ogg.framework)
-	link_directories(${OLXROOTDIR}/build/Xcode/Vorbis.framework)
 	ADD_DEFINITIONS("-F ${OLXROOTDIR}/build/Xcode")
 ELSE(APPLE)
 	SET(LIBS ${LIBS} alut openal vorbisfile)
@@ -380,6 +378,7 @@
 	SET(LIBS ${LIBS} "-framework Cocoa" "-framework Carbon")
 	SET(LIBS ${LIBS} crypto)
 	SET(LIBS ${LIBS} "-framework OpenAL")
+	SET(LIBS ${LIBS} "-F${OLXROOTDIR}/build/Xcode" "-framework Ogg" "-framework Vorbis")
 else(APPLE)
 	SET(LIBS ${LIBS} SDL SDL_image)
 endif(APPLE)


external_git_repo: Set a variable packagename_TAG, which can be used in ExternalProject_Add() as the GIT_TAG parameter.

--- ExternalSource.cmake
+++ ExternalSource.cmake
@@ -121,6 +121,7 @@
     set (${ABBREV}_NAME         ${external_source_name})
     set (${ABBREV}_SRC_DIR      ${BUILDEM_DIR}/src/${external_source_name})
     set (${ABBREV}_URL          ${URL})
+    set (${ABBREV}_TAG          ${SRC_VERSION})
     set (${ABBREV}_INCLUDE_DIRS ${BUILDEM_DIR}/include)

 endmacro (external_git_repo)


CMake: SALOME_PACKAGE_REPORT_AND_CHECK now works if no OPTIONAL package was specified.

--- salome_adm/cmake_files/SalomeMacros.cmake
+++ salome_adm/cmake_files/SalomeMacros.cmake
@@ -292,25 +292,27 @@
   MESSAGE(STATUS "  Optional packages - Detection report ")
   MESSAGE(STATUS "  ==================================== ")
   MESSAGE(STATUS "")
-  LIST(LENGTH _SALOME_OPTIONAL_PACKAGES_names _list_len)
-  # Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
-  MATH(EXPR _range "${_list_len}-1")
-  FOREACH(_idx RANGE ${_range})
-    LIST(GET _SALOME_OPTIONAL_PACKAGES_names ${_idx} _pkg_name)
-    LIST(GET _SALOME_OPTIONAL_PACKAGES_found ${_idx} _pkg_found)
-    LIST(GET _SALOME_OPTIONAL_PACKAGES_flags ${_idx} _pkg_flag)
-    SALOME_JUSTIFY_STRING(${_pkg_name} ${_length} _pkg_name)
-    IF(_pkg_found)
-      SET(_found_msg "Found")
-      SET(_flag_msg "")
-    ELSE()
-      SET(_will_fail ON)
-      SET(_found_msg "NOT Found")
-      SET(_flag_msg " - ${_pkg_flag} can be switched OFF to skip this prerequisite.")
-    ENDIF()
-
-    MESSAGE(STATUS "  * ${_pkg_name}  ->  ${_found_msg}${_flag_msg}")
-  ENDFOREACH()
+  IF(DEFINED _SALOME_OPTIONAL_PACKAGES_names)
+    LIST(LENGTH _SALOME_OPTIONAL_PACKAGES_names _list_len)
+    # Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ...
+    MATH(EXPR _range "${_list_len}-1")
+    FOREACH(_idx RANGE ${_range})
+      LIST(GET _SALOME_OPTIONAL_PACKAGES_names ${_idx} _pkg_name)
+      LIST(GET _SALOME_OPTIONAL_PACKAGES_found ${_idx} _pkg_found)
+      LIST(GET _SALOME_OPTIONAL_PACKAGES_flags ${_idx} _pkg_flag)
+      SALOME_JUSTIFY_STRING(${_pkg_name} ${_length} _pkg_name)
+      IF(_pkg_found)
+        SET(_found_msg "Found")
+        SET(_flag_msg "")
+      ELSE()
+        SET(_will_fail ON)
+        SET(_found_msg "NOT Found")
+        SET(_flag_msg " - ${_pkg_flag} can be switched OFF to skip this prerequisite.")
+      ENDIF()
+
+      MESSAGE(STATUS "  * ${_pkg_name}  ->  ${_found_msg}${_flag_msg}")
+    ENDFOREACH()
+  ENDIF(DEFINED _SALOME_OPTIONAL_PACKAGES_names)
   MESSAGE(STATUS "")
   MESSAGE(STATUS "")


Correction FindCEGUI

Correction FindCEGUI

--- cmake/FindCEGUI.cmake
+++ cmake/FindCEGUI.cmake
@@ -70,6 +70,7 @@

 set(CEGUI_PREFIX_PATH
 	$ENV{CEGUI_HOME} $ENV{CEGUI_DIR} $ENV{CEGUI_ROOT}
+	${CEGUI_PREFIX_GUESSES}
 )

 create_search_paths(CEGUI)


Correction FindCEGUI

Correction FindCEGUI

--- cmake/FindCEGUI.cmake
+++ cmake/FindCEGUI.cmake
@@ -29,6 +29,7 @@
 include(FindPkgMacros)
 include(PreprocessorUtils)
 findpkg_begin(CEGUI)
+set(CEGUI_FIND_REQUIRED 1)

 # Get path, convert backslashes as ${ENV_${var}}
 getenv_path(CEGUI_HOME)


fixes #3

fixes #3

--- cmake/FindEigen.cmake
+++ cmake/FindEigen.cmake
@@ -1,82 +0,0 @@
-# - Try to find Eigen3 lib
-#
-# This module supports requiring a minimum version, e.g. you can do
-#   find_package(Eigen3 3.1.2)
-# to require version 3.1.2 or newer of Eigen3.
-#
-# Once done this will define
-#
-#  EIGEN_FOUND - system has eigen lib with correct version
-#  EIGEN_INCLUDE_DIR - the eigen include directory
-#  EIGEN_VERSION - eigen version
-
-# Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
-# Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
-# Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
-# Redistribution and use is allowed according to the terms of the 2-clause BSD license.
-
-if(NOT Eigen_FIND_VERSION)
-  if(NOT Eigen_FIND_VERSION_MAJOR)
-    set(Eigen_FIND_VERSION_MAJOR 2)
-  endif(NOT Eigen_FIND_VERSION_MAJOR)
-  if(NOT Eigen_FIND_VERSION_MINOR)
-    set(Eigen_FIND_VERSION_MINOR 91)
-  endif(NOT Eigen_FIND_VERSION_MINOR)
-  if(NOT Eigen_FIND_VERSION_PATCH)
-    set(Eigen_FIND_VERSION_PATCH 0)
-  endif(NOT Eigen_FIND_VERSION_PATCH)
-
-  set(Eigen_FIND_VERSION "${Eigen_FIND_VERSION_MAJOR}.${Eigen_FIND_VERSION_MINOR}.${Eigen_FIND_VERSION_PATCH}")
-endif(NOT Eigen_FIND_VERSION)
-
-macro(_eigen3_check_version)
-  file(READ "${EIGEN_INCLUDE_DIR}/Eigen/src/Core/util/Macros.h" _eigen3_version_header)
-
-  string(REGEX MATCH "define[ \t]+EIGEN_WORLD_VERSION[ \t]+([0-9]+)" _eigen3_world_version_match "${_eigen3_version_header}")
-  set(EIGEN_WORLD_VERSION "${CMAKE_MATCH_1}")
-  string(REGEX MATCH "define[ \t]+EIGEN_MAJOR_VERSION[ \t]+([0-9]+)" _eigen3_major_version_match "${_eigen3_version_header}")
-  set(EIGEN_MAJOR_VERSION "${CMAKE_MATCH_1}")
-  string(REGEX MATCH "define[ \t]+EIGEN_MINOR_VERSION[ \t]+([0-9]+)" _eigen3_minor_version_match "${_eigen3_version_header}")
-  set(EIGEN_MINOR_VERSION "${CMAKE_MATCH_1}")
-
-  set(EIGEN_VERSION ${EIGEN_WORLD_VERSION}.${EIGEN_MAJOR_VERSION}.${EIGEN_MINOR_VERSION})
-  if(${EIGEN_VERSION} VERSION_LESS ${Eigen_FIND_VERSION})
-    set(EIGEN_VERSION_OK FALSE)
-  else(${EIGEN_VERSION} VERSION_LESS ${Eigen_FIND_VERSION})
-    set(EIGEN_VERSION_OK TRUE)
-  endif(${EIGEN_VERSION} VERSION_LESS ${Eigen_FIND_VERSION})
-
-  if(NOT EIGEN_VERSION_OK)
-
-    message(STATUS "Eigen version ${EIGEN_VERSION} found in ${EIGEN_INCLUDE_DIR}, "
-                   "but at least version ${Eigen_FIND_VERSION} is required")
-  endif(NOT EIGEN_VERSION_OK)
-endmacro(_eigen3_check_version)
-
-if (EIGEN_INCLUDE_DIRS)
-
-  # in cache already
-  _eigen3_check_version()
-  set(EIGEN_FOUND ${EIGEN_VERSION_OK})
-
-else ()
-
-  find_path(EIGEN_INCLUDE_DIR NAMES signature_of_eigen3_matrix_library
-      PATHS
-      ${CMAKE_INSTALL_PREFIX}/include
-      ${KDE4_INCLUDE_DIR}
-      PATH_SUFFIXES eigen3 eigen
-    )
-
-  if(EIGEN_INCLUDE_DIR)
-    _eigen3_check_version()
-  endif(EIGEN_INCLUDE_DIR)
-
-  include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(Eigen DEFAULT_MSG EIGEN_INCLUDE_DIR EIGEN_VERSION_OK)
-
-  mark_as_advanced(EIGEN_INCLUDE_DIR)
-  SET(EIGEN_INCLUDE_DIRS ${EIGEN_INCLUDE_DIR} CACHE PATH "The Eigen include path.")
-
-endif()
-


Change CMake warning to simple message for old Metis versions

--- cmake/FindMetis.cmake
+++ cmake/FindMetis.cmake
@@ -26,7 +26,7 @@
   string(REGEX MATCH "define[ \t]+METIS_VER_SUBMINOR[ \t]+([0-9]+)" _metis_subminor_version_match "${_metis_version_header}")
   set(METIS_SUBMINOR_VERSION "${CMAKE_MATCH_1}")
   if(NOT METIS_MAJOR_VERSION)
-    message(WARNING "Could not determine Metis version. Assuming version 4.0.0")
+    message(STATUS "Could not determine Metis version. Assuming version 4.0.0")
     set(METIS_VERSION 4.0.0)
   else()
     set(METIS_VERSION ${METIS_MAJOR_VERSION}.${METIS_MINOR_VERSION}.${METIS_SUBMINOR_VERSION})


[cmake] handle multi-item path list when dependency not found (important now when axl_message splits the right part into lines)

--- cmake/axl_utils.cmake
+++ cmake/axl_utils.cmake
@@ -1245,13 +1245,18 @@
 			axl_filter_list (_FILTERED_PATH_LIST ${_FILTER} ${AXL_PATH_LIST})

 			if (_FILTERED_PATH_LIST)
-				set (_FILTERED_PATH_LIST "${_FILTERED_PATH_LIST} in ")
+				list (LENGTH _FILTERED_PATH_LIST _LENGTH)
+				if (${_LENGTH} LESS 2)
+					set (_FILTERED_PATH_LIST " ${_FILTERED_PATH_LIST} in")
+				else ()
+					set (_FILTERED_PATH_LIST " the following variables:;${_FILTERED_PATH_LIST} in")
+				endif ()
 			endif ()

 			if (_IS_OPTIONAL)
-				axl_message ("${_IMPORT}:" "NOT FOUND, adjust ${_FILTERED_PATH_LIST}paths.cmake (optional)")
+				axl_message ("${_IMPORT}:" "NOT FOUND, adjust${_FILTERED_PATH_LIST} paths.cmake (optional)")
 			else ()
-				message (FATAL_ERROR "${_IMPORT} is REQUIRED but NOT FOUND, adjust ${_FILTERED_PATH_LIST}paths.cmake")
+				message (FATAL_ERROR "${_IMPORT} is REQUIRED but NOT FOUND, adjust${_FILTERED_PATH_LIST} paths.cmake")
 			endif ()
 		endif ()
 	elseif (_IS_OPTIONAL)


r10894/sofa : push bce568c..1962b53

r10894/sofa : push bce568c..1962b53

* commit 1962b53880239977f15c56ffba75254242e21801
cmake: Redo the remove_duplicate from 10889; doesn't cause a weird bug.

Still, this reveals a bug: the first time I run cmake after enabling
SOFA-MISC_TESTS, the include directories for gtest are somehow
forgotten, and the compilation fails. The problem disappears if I run
cmake a second time. It was hidden until now because cmake choked on an
empty list when trying to REMOVE_DUPLICATE, and thus was always run a
second time.

   1 files changed, 1 insertions(+), 1 deletions(-)

Former-commit-id: 5e294f5f2e41955194a912837dba61db618470b4

--- cmake/functions.cmake
+++ cmake/functions.cmake
@@ -445,7 +445,7 @@

             # set the updated compiler definitions of the current project
             set(definitions_list ${dependenciesCompilerDefines} ${GLOBAL_PROJECT_OPTION_COMPILER_DEFINITIONS_${projectName}})
-            #sofa_remove_duplicates(definitions_list)
+            sofa_remove_duplicates(definitions_list)
             set(GLOBAL_PROJECT_REGISTERED_COMPILER_DEFINITIONS_${projectName} ${definitions_list} CACHE INTERNAL "${projectName} compiler definitions from option and dependencies options" FORCE)

             if(TARGET ${projectName})


changed download file to tar.bz2 for smaller downloads

--- cmake/get-cegui.cmake
+++ cmake/get-cegui.cmake
@@ -44,7 +44,7 @@
         #COMMAND ${CMAKE_COMMAND} -E copy_directory ${DEPENDENCY_EXTRACT_DIR}/src/fifechan/include ${DEPENDENCY_INSTALL_DIR}/include/fifechan
     #)

-  endif(MSVC)
+  #endif(MSVC)

 else() # build from source

@@ -90,8 +90,8 @@
     cegui
     PREFIX              ${DEPENDENCY_EXTRACT_DIR}
     DOWNLOAD_DIR        ${DEPENDENCY_DOWNLOAD_DIR}
-    URL                 https://downloads.sourceforge.net/project/crayzedsgui/CEGUI%20Mk-2/0.8/cegui-0.8.7.zip?r=http%3A%2F%2Fcegui.org.uk%2Fdownload&ts=1486380450&use_mirror=freefr
-    URL_MD5             1
+    URL                 https://downloads.sourceforge.net/project/crayzedsgui/CEGUI%20Mk-2/0.8/cegui-0.8.7.tar.bz2?r=http%3A%2F%2Fcegui.org.uk%2Fdownload%2Fcegui-087&ts=1486382058&use_mirror=kent
+    #URL_MD5             1
     #CONFIGURE_COMMAND <SOURCE_DIR>/configure --prefix=${DEPENDENCY_INSTALL_DIR}
     INSTALL_DIR         ${DEPENDENCY_INSTALL_DIR}
     CMAKE_ARGS          ${CEGUI_CMAKE_ARGS}


git-svn-id: https://ricamsvn.ricam.oeaw.ac.at/gismo/stable@4158 e128ff1e-fa79-4151-a8cb-522299a2c450

--- cmake/gsInstall.cmake
+++ cmake/gsInstall.cmake
@@ -15,7 +15,6 @@
 if(WIN32 AND NOT CYGWIN)
   set(DEF_INSTALL_CMAKE_DIR ${INSTALL_LIB_DIR}/cmake)
 else()
-  #set(DEF_INSTALL_CMAKE_DIR ${INSTALL_LIB_DIR}/cmake/gismo)
    set(DEF_INSTALL_CMAKE_DIR ${INSTALL_LIB_DIR})
 endif()
 set(INSTALL_CMAKE_DIR ${DEF_INSTALL_CMAKE_DIR} CACHE PATH
@@ -31,25 +30,18 @@

 # Add all targets to the build-tree export set
 if(GISMO_BUILD_LIB)
-export(TARGETS gismo
+export(TARGETS ${PROJECT_NAME}
   FILE "${PROJECT_BINARY_DIR}/gismoTargets.cmake" APPEND)
 endif()

-#if(GISMO_WITH_ONURBS)
-#  export(TARGETS gsOpennurbsExtension
+#if(GISMO_WITH_other)
+#  export(TARGETS other
 #    FILE "${PROJECT_BINARY_DIR}/gismoTargets.cmake" APPEND)
-#endif(GISMO_WITH_ONURBS)
+#endif()

 # Export the package for use from the build-tree
 # (this registers the build-tree with a global CMake-registry)
 export(PACKAGE gismo)
-
-# Get relative paths
-#file(RELATIVE_PATH REL_INCLUDE_DIR "${INSTALL_CMAKE_DIR}"
-#   "${INSTALL_INCLUDE_DIR}/${PROJECT_NAME}")
-#file(RELATIVE_PATH REL_LIB_DIR "${INSTALL_CMAKE_DIR}"
-#   "${INSTALL_LIB_DIR}")
-

 # Create the gismoConfig.cmake and gismoConfigVersion.cmake files

@@ -99,7 +91,7 @@
         PATTERN "*.h"
         PERMISSIONS OWNER_READ OWNER_WRITE GROUP_READ WORLD_READ)

-# For gsTemplate.h
+# For eiquadprog.hpp
 install(FILES ${PROJECT_SOURCE_DIR}/external/eiquadprog.hpp
         DESTINATION include/${PROJECT_NAME}/ )


Getting rid of lib64 from the LIB_INSTALL_DIR

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

--- cmake/pcl_utils.cmake
+++ cmake/pcl_utils.cmake
@@ -162,7 +162,7 @@
 macro(SET_INSTALL_DIRS)
     if(OS_IS_64BIT)
         if(NOT APPLE)
-            set(LIB_INSTALL_DIR "lib64")
+            set(LIB_INSTALL_DIR "lib")
         else(NOT APPLE)
             set(LIB_INSTALL_DIR "lib")
         endif(NOT APPLE)


Support root installations in non-system dirs

When calling ROOT_GENERATE_DICTIONARY in an external project after
a cmake include(${ROOT_USE_FILE}) and having installed ROOT in a
non-system location (e.g. in a home directory), the rootcling command is
missing its library path to find dynamic libraries. With the change in
this commit the correct environment for the rootcling command is set.

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -374,7 +374,7 @@
       set(command ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${CMAKE_BINARY_DIR}/lib:$ENV{LD_LIBRARY_PATH}" "ROOTIGNOREPREFIX=1" $<TARGET_FILE:rootcling> -rootbuild)
       set(ROOTCINTDEP rootcling)
     elseif(TARGET ROOT::rootcling)
-      set(command ROOT::rootcling)
+      set(command ${CMAKE_COMMAND} -E env "LD_LIBRARY_PATH=${ROOT_LIBRARY_DIR}:$ENV{LD_LIBRARY_PATH}" $<TARGET_FILE:ROOT::rootcling>)
     else()
       set(command rootcling)
     endif()


Specify subversion path on windows the same way as on unix: cmake -D SUBVERSION_INSTALL_PATH=...

--- cmakemodules/FindSubversion.cmake
+++ cmakemodules/FindSubversion.cmake
@@ -115,133 +115,133 @@

   # search for pathes
   FIND_PATH (SUBVERSION_BIN_DIR svn.exe
-    "$ENV{SubversionDir}/bin"
+    "${SUBVERSION_INSTALL_PATH}/bin"
     "$ENV{ProgramFiles}/Subversion/bin"
   )

   FIND_PATH (SUBVERSION_INCLUDE_DIR svn_client.h
-    "$ENV{SubversionDir}/include"
+    "${SUBVERSION_INSTALL_PATH}/include"
     "$ENV{ProgramFiles}/Subversion/include"
   )

   FIND_PATH(APR_INCLUDE_DIR apr.h
-    "$ENV{SubversionDir}/include/apr"
+    "${SUBVERSION_INSTALL_PATH}/include/apr"
     "$ENV{ProgramFiles}/Subversion/include/apr"
   )

   FIND_PATH(APU_INCLUDE_DIR apu.h
-    "$ENV{SubversionDir}/include/apr-util"
+    "${SUBVERSION_INSTALL_PATH}/include/apr-util"
     "$ENV{ProgramFiles}/Subversion/include/apr-util"
   )

   # search for libraries
   FIND_LIBRARY(APR_LIB libapr-1
-    "$ENV{SubversionDir}/lib/apr"
+    "${SUBVERSION_INSTALL_PATH}/lib/apr"
     "$ENV{ProgramFiles}/Subversion/lib/apr"
   )

   FIND_LIBRARY(APRICONV_LIB libapriconv-1
-    "$ENV{SubversionDir}/lib/apr-iconv"
+    "${SUBVERSION_INSTALL_PATH}/lib/apr-iconv"
     "$ENV{ProgramFiles}/Subversion/lib/apr-iconv"
   )

   FIND_LIBRARY(APU_LIB libaprutil-1
-    "$ENV{SubversionDir}/lib/apr-util"
+    "${SUBVERSION_INSTALL_PATH}/lib/apr-util"
     "$ENV{ProgramFiles}/Subversion/lib/apr-util"
   )

   FIND_LIBRARY(APU_XMLLIB xml
-    "$ENV{SubversionDir}/lib/apr-util"
+    "${SUBVERSION_INSTALL_PATH}/lib/apr-util"
     "$ENV{ProgramFiles}/Subversion/lib/apr-util"
   )

   FIND_LIBRARY(NEON_LIB libneon
-    "$ENV{SubversionDir}/lib/neon"
+    "${SUBVERSION_INSTALL_PATH}/lib/neon"
     "$ENV{ProgramFiles}/Subversion/lib/neon"
   )

   FIND_LIBRARY(NEON_ZLIBSTATLIB zlibstat
-    "$ENV{SubversionDir}/lib/neon"
+    "${SUBVERSION_INSTALL_PATH}/lib/neon"
     "$ENV{ProgramFiles}/Subversion/lib/neon"
   )

   FIND_LIBRARY(INTL3LIB intl3_svn
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(DB44_LIB libdb44
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_CLIENTLIB libsvn_client-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_DELTALIB libsvn_delta-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_DIFFLIB libsvn_diff-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_FSBASELIB libsvn_fs_base-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_FSFSLIB libsvn_fs_fs-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_FSUTILLIB libsvn_fs_util-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_FSLIB libsvn_fs-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_RALOCALLIB libsvn_ra_local-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_RANEONLIB libsvn_ra_neon-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_RASVNLIB libsvn_ra_svn-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_RALIB libsvn_ra-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_REPOSITORYLIB libsvn_repos-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_SUBRLIB libsvn_subr-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )

   FIND_LIBRARY(SUBVERSION_WCLIB libsvn_wc-1
-    "$ENV{SubversionDir}/lib"
+    "${SUBVERSION_INSTALL_PATH}/lib"
     "$ENV{ProgramFiles}/Subversion/lib"
   )


Fix compiler info cmake

Fix compiler info cmake

--- cmake/CompilerInfo.cmake
+++ cmake/CompilerInfo.cmake
@@ -19,6 +19,7 @@
 # Sets COMPILER_VERSION to the version
 execute_process(COMMAND "${CMAKE_CXX_COMPILER}" -v
                 ERROR_VARIABLE COMPILER_VERSION_FULL)
+message(INFO " ${COMPILER_VERSION_FULL}")

 # clang on Linux and Mac OS X before 10.9
 if("${COMPILER_VERSION_FULL}" MATCHES ".*clang version.*")
@@ -31,10 +32,10 @@
   string(REGEX REPLACE ".*based on LLVM ([0-9]+\\.[0.9]+).*" "\\1"
     COMPILER_VERSION "${COMPILER_VERSION_FULL}")

-# clang on Mac OS X, XCode 7. No version replacement is done
-# because Apple no longer advertises the upstream LLVM version.
-elseif("${COMPILER_VERSION_FULL}" MATCHES "clang-70[0-9]\\..*")
+# clang on Mac OS X, XCode 7.
+elseif("${COMPILER_VERSION_FULL}" MATCHES ".*clang-7")
   set(COMPILER_FAMILY "clang")
+  set(COMPILER_VERSION "3.7.0svn")

 # gcc
 elseif("${COMPILER_VERSION_FULL}" MATCHES ".*gcc version.*")
@@ -42,5 +43,6 @@
   string(REGEX REPLACE ".*gcc version ([0-9\\.]+).*" "\\1"
     COMPILER_VERSION "${COMPILER_VERSION_FULL}")
 else()
-  message(FATAL_ERROR "Unknown compiler. Version info:\n${COMPILER_VERSION_FULL}")
+  message(STATUS "Unknown compiler. Version info:\n${COMPILER_VERSION_FULL}")
 endif()
+message("Selected compiler ${COMPILER_FAMILY} ${COMPILER_VERSION}")


Bug 914: fix compiler detection on windows (grafted from d0828c602f7a055cbe51459e936741b5ff8e414c)

--- cmake/EigenTesting.cmake
+++ cmake/EigenTesting.cmake
@@ -359,22 +359,29 @@
       endif()
     else()
     # on all other system we rely on ${CMAKE_CXX_COMPILER}
-    # supporting a "--version" flag
+    # supporting a "--version" or "/version" flag
+
+    if(WIN32 AND NOT CYGWIN)
+      set(EIGEN_CXX_FLAG_VERSION "/version")
+    else()
+      set(EIGEN_CXX_FLAG_VERSION "--version")
+    endif()

     # check whether the head command exists
     find_program(HEAD_EXE head NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PATH NO_CMAKE_SYSTEM_PATH)
     if(HEAD_EXE)
-      execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
+      execute_process(COMMAND ${CMAKE_CXX_COMPILER} ${EIGEN_CXX_FLAG_VERSION}
                       COMMAND head -n 1
                       OUTPUT_VARIABLE eigen_cxx_compiler_version_string OUTPUT_STRIP_TRAILING_WHITESPACE)
     else()
-      execute_process(COMMAND ${CMAKE_CXX_COMPILER} --version
+      execute_process(COMMAND ${CMAKE_CXX_COMPILER}  ${EIGEN_CXX_FLAG_VERSION}
                       OUTPUT_VARIABLE eigen_cxx_compiler_version_string OUTPUT_STRIP_TRAILING_WHITESPACE)
       string(REGEX REPLACE "[\n\r].*"  ""  eigen_cxx_compiler_version_string  ${eigen_cxx_compiler_version_string})
     endif()

     ei_get_compilerver_from_cxx_version_string("${eigen_cxx_compiler_version_string}" CNAME CVER)
     set(${VAR} "${CNAME}-${CVER}")
+
   endif()
 endmacro(ei_get_compilerver)


Fix finding boost

Fix finding boost

--- cmake/FindPackages.cmake
+++ cmake/FindPackages.cmake
@@ -7,6 +7,8 @@
         option(Boost_USE_STATIC_RUNTIME "Boost uses static runtime" OFF)

         set(BOOST_ROOT "" CACHE PATH "Hint for finding boost root directory")
+
+        find_package(Boost REQUIRED)
     endif()

     set(missed_component "")
@@ -19,11 +21,9 @@
     if(missed_component)
         find_package(Boost REQUIRED ${missed_component})
     endif()
+endfunction()

-    if(NOT TARGET Boost::boost)
-        find_package(Boost REQUIRED)
-    endif()
-endfunction()
+_find_boost("")

 # find panda3d
 set(panda3d_ROOT "" CACHE PATH "Hint for finding panda3d root directory")


Help CMake resolve protobuf::protoc when not building it.

--- cmake/FindProtobuf.cmake
+++ cmake/FindProtobuf.cmake
@@ -24,3 +24,9 @@

 pkg_check_modules(PROTOBUF REQUIRED protobuf IMPORTED_TARGET GLOBAL)
 add_library(protobuf::libprotobuf ALIAS PkgConfig::PROTOBUF)
+
+find_program(PROTOC_EXEC protoc REQUIRED)
+add_executable(protobuf::protoc IMPORTED GLOBAL)
+set_target_properties(protobuf::protoc PROPERTIES
+  IMPORTED_LOCATION ${PROTOC_EXEC}
+)


name test executable consistent with ctest names

--- cmake/LibKMLHelper.cmake
+++ cmake/LibKMLHelper.cmake
@@ -57,8 +57,8 @@

 function(build_test)
   cmake_parse_arguments(TEST  "" "GROUP;NAME" "DEPENDS" ${ARGN} )
-  add_executable(test_${TEST_NAME} ${TEST_NAME}_test.cc)
-  add_dependencies(test_${TEST_NAME} ${TEST_DEPENDS})
+  add_executable(${TEST_GROUP}_${TEST_NAME}_test ${TEST_NAME}_test.cc)
+  add_dependencies(${TEST_GROUP}_${TEST_NAME}_test ${TEST_DEPENDS})
   set(TEST_LINKS)
   foreach(TEST_D ${TEST_DEPENDS})
     get_target_property(LINK_PROP ${TEST_D} LINK_INTERFACE_LIBRARIES)
@@ -66,8 +66,8 @@
       list(APPEND TEST_LINKS ${LINK_PROP})
     endif()
   endforeach()
-  target_link_libraries(test_${TEST_NAME} ${TEST_LINKS} ${TEST_DEPENDS} ${GTEST_LIBRARY})
-  add_test(${TEST_GROUP}_${TEST_NAME} ${CMAKE_BINARY_DIR}/bin/test_${TEST_NAME})
+  target_link_libraries(${TEST_GROUP}_${TEST_NAME}_test ${TEST_LINKS} ${TEST_DEPENDS} ${GTEST_LIBRARY})
+  add_test(${TEST_GROUP}_${TEST_NAME} ${CMAKE_BINARY_DIR}/bin/${TEST_GROUP}_${TEST_NAME}_test)
 endfunction(build_test)

 function(build_example)


fix unexpected commit...

fix unexpected commit...

--- cmake/SiconosSetup.cmake
+++ cmake/SiconosSetup.cmake
@@ -220,4 +220,4 @@
 endif()

 # ----- Required dependencies (whatever Siconos components are) -----
-find_package(BLASFull REQUIRED)
+#find_package(BLASFull REQUIRED)


fixed bug in compiler flags

fixed bug in compiler flags

--- cmake/compiler_gcc.cmake
+++ cmake/compiler_gcc.cmake
@@ -3,12 +3,12 @@

 if(CXX_GCC)
     exec_program(${CMAKE_CXX_COMPILER} ARGS --version OUTPUT_VARIABLE _compiler_output)
-    string(REGEX REPLACE ".* ([0-9]\\.[0-9]\\.[0-9]) .*" "\\1" gcc_compiler_version ${_compiler_output})
+    string(REGEX REPLACE ".* ([0-9]\\.[0-9]\\.[0-9])" "\\1" gcc_compiler_version ${_compiler_output})
     message(STATUS "C++ compiler version: ${gcc_compiler_version} [${CMAKE_CXX_COMPILER}]")

     if(${ENABLE_WARNINGS_ARE_ERRORS})
-        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -std=c++11 ")
-        set(CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -std=c++11 ")
+        set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Werror ")
+        set(CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -Werror ")
     endif()

     if(${ENABLE_C++11})
@@ -76,4 +76,4 @@
         set(CMAKE_C_FLAGS     "${CMAKE_C_FLAGS} -mopenmp ")
     endif()

-endif()+endif()


Cmake: Removed redundant code

Cmake: Removed redundant code

--- cmake/globalmacros.cmake
+++ cmake/globalmacros.cmake
@@ -300,10 +300,7 @@
             set(count 1)
             foreach(dir ${IVW_EXTERNAL_MODULES})
                 if(IS_DIRECTORY ${dir})
-                    if(NOT ${first} EQUAL "0")
-                        list(APPEND paths ", :")
-                    endif()
-                    set(first "1")
+                    list(APPEND paths ", :")
                     list(APPEND paths "\"${dir}\":")
                     MATH(EXPR count "${count}+1")
                 else()


enable SSE in debug mode

enable SSE in debug mode

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

--- cmake/pcl_find_sse.cmake
+++ cmake/pcl_find_sse.cmake
@@ -138,6 +138,7 @@
       endif ()

     endif()
+    set(CMAKE_CXX_FLAGS_DEBUG "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${SSE_FLAGS}")
     set(CMAKE_CXX_FLAGS_RELWITHDEBINFO "${CMAKE_CXX_FLAGS_RELWITHDEBINFO} ${SSE_FLAGS}")
     set(CMAKE_CXX_FLAGS_RELEASE "${CMAKE_CXX_FLAGS_RELEASE} ${SSE_FLAGS}")


Make Python autodetection run always.

Make Python autodetection run always.

Otherwise the output variables are incomplete when ChoosePython.cmake
runs for a second time.

--- ChoosePython.cmake
+++ ChoosePython.cmake
@@ -38,7 +38,7 @@

 set_property(CACHE USE_PYTHON_VERSION PROPERTY STRINGS 2 3 auto)

-if(NOT PYTHON_EXECUTABLE AND ${USE_PYTHON_VERSION} STREQUAL auto)
+if(${USE_PYTHON_VERSION} STREQUAL auto)
   # Finding Boost first if needed because if the Python3 interpreter is found
   # first there's no way back.
   if(CHOOSE_PYTHON_REQUIRE_BOOST)


Add some cross compile example (PocoLibrary, websocketpp, cpprestsdk)

--- PI.cmake
+++ PI.cmake
@@ -2,6 +2,18 @@
 ## Raspberry PI cmake toolchain
 ##
 ## Usage : cmake -DCMAKE_TOOLCHAIN_FILE=~/Workspace/rpi_rootfs/PI.cmake  -DCMAKE_BUILD_TYPE=Debug ..
+##
+##
+##
+## Poco Library Build example:
+##         cmake -DCMAKE_TOOLCHAIN_FILE=~/Workspace/rpi_rootfs/PI.cmake  -DCMAKE_BUILD_TYPE=Debug .. -DENABLE_MONGODB=OFF -DENABLE_DATA=OFF -DPOCO_STATIC=ON
+##
+## websocketpp Build example:
+##          cmake -DCMAKE_TOOLCHAIN_FILE=~/Workspace/rpi_rootfs/PI.cmake  -DCMAKE_BUILD_TYPE=Debug .. -DBUILD_EXAMPLES=ON -DENABLE_CPP11=ON
+##
+## cpprestsdk Build example:
+##          cmake -DCMAKE_TOOLCHAIN_FILE=~/Workspace/rpi_rootfs/PI.cmake  -DCMAKE_BUILD_TYPE=Debug ..
+##

 cmake_minimum_required(VERSION 3.0.0 FATAL_ERROR)

@@ -31,7 +43,6 @@
 #SET(CMAKE_C_FLAGS "${CMAKE_C_FLAGS}" CACHE INTERNAL "" FORCE)
 #SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}"  CACHE INTERNAL "" FORCE)
 #SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${CMAKE_DL_LIBS}"  CACHE INTERNAL "" FORCE)
-#SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ldl}"  CACHE INTERNAL "" FORCE)
 SET(CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -ldl"  CACHE INTERNAL "" FORCE)


removing -ftree-ter option from clang.cmake for debug mode

--- common/cmake/clang.cmake
+++ common/cmake/clang.cmake
@@ -25,7 +25,7 @@
 SET(CMAKE_CXX_COMPILER "clang++")
 SET(CMAKE_C_COMPILER "clang")
 SET(CMAKE_CXX_FLAGS "-fPIC")
-SET(CMAKE_CXX_FLAGS_DEBUG          "-DDEBUG  -g -O2 -ftree-ter")
+SET(CMAKE_CXX_FLAGS_DEBUG          "-DDEBUG  -g -O2")
 SET(CMAKE_CXX_FLAGS_RELEASE        "-DNDEBUG    -O3 -Wstrict-aliasing=0 -ffast-math ")
 SET(CMAKE_CXX_FLAGS_RELWITHDEBINFO "-DNDEBUG -g -O3 -Wstrict-aliasing=0 -ffast-math ")
 SET(CMAKE_EXE_LINKER_FLAGS "")


#5 don not forget the CTestCustom.cmakea

--- backup/CTestCustom.cmake
+++ backup/CTestCustom.cmake
@@ -9,6 +9,7 @@
  check_check2
  closedirfails_dest_dir
  copy_files
+ create_rename_race
  debug_coverage
  dest_no_permissions_10
  disable_race
@@ -48,6 +49,7 @@
  test6478_read_injection
  test6483_mkdir_injection
  throttle_6564
+ two_renames_race
  unlink
  unlink_create_close_race_6727
  unlink_copy_race


Fixed error in FindXerces.cmake

Fixed error in FindXerces.cmake

--- src/cmake/Modules/FindXerces.cmake
+++ src/cmake/Modules/FindXerces.cmake
@@ -6,7 +6,7 @@
 #  XERCES_FOUND.
 #

-find_path(XERCES_include_DIR NAMES xercesc/parsers/SAXParser.hpp)
+find_path(XERCES_INCLUDE_DIR NAMES xercesc/parsers/SAXParser.hpp)

 find_library(XERCES_LIBRARY NAMES xerces-c)

@@ -17,7 +17,7 @@

 if(XERCES_FOUND)
   set(XERCES_LIBRARIES ${XERCES_LIBRARY})
-  set(XERCES_include_DIRS ${XERCES_INCLUDE_DIR})
+  set(XERCES_INCLUDE_DIRS ${XERCES_INCLUDE_DIR})
 endif(XERCES_FOUND)

 mark_as_advanced(


minor fix

minor fix

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -145,10 +145,9 @@
 		# 4. descargo el fichero que se supone tienes los ficheros cmake
 		if(NOT "${NO_USE_CACHE_REMOTE}")
 			cmaki_download_file("${http_package_cmake_filename}" "${package_uncompressed_file}")
-			set(COPY_SUCCESFUL1 "${COPY_SUCCESFUL}")
 		endif()
 		# Si no puede descargar el artefacto ya hecho (es que necesito compilarlo y subirlo)
-		if(NOT "${COPY_SUCCESFUL1}" OR "${NO_USE_CACHE_REMOTE}")
+		if(NOT "${COPY_SUCCESFUL}" OR "${NO_USE_CACHE_REMOTE}")

 			file(REMOVE_RECURSE "${depends_bin_package}")
 			file(REMOVE_RECURSE "${depends_package}")


Update facts.cmake

Update facts.cmake

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -522,6 +522,7 @@
 					CONFIGURATIONS ${BUILD_TYPE})
 	endforeach()
 	if (CMAKE_BUILD_TYPE STREQUAL "Release")
+		message("-- Launch ${_TEST_NAME}_exe with valgrind")
 		add_test(
 			NAME ${_TEST_NAME}_exe
 			COMMAND valgrind --tool=callgrind ${_TEST_NAME}_exe --gtest_repeat=1 --gtest_break_on_failure --gtest_shuffle --gmock_verbose=info


fix include path for leveldb

fix include path for leveldb

--- ext/leveldb.cmake
+++ ext/leveldb.cmake
@@ -12,7 +12,7 @@

     set(ABBREV "LevelDB")
     set(${ABBREV}_NAME         ${ABBREV})
-    set(${ABBREV}_INCLUDE_DIRS ${EXT_PREFIX}/include)
+    set(${ABBREV}_INCLUDE_DIRS ${EXT_PREFIX}/src/LevelDB/include)
     set(APP_DEPENDENCIES ${APP_DEPENDENCIES} ${ABBREV})

     message("Installing ${LevelDB_NAME} into ext build area: ${EXT_PREFIX} ...")


mindor change to VTKData search

mindor change to VTKData search

--- vtkCMakeOptions.cmake
+++ vtkCMakeOptions.cmake
@@ -167,5 +167,5 @@
 #
 # try to find the data files for VTKData
 #
-FIND_PATH(VTK_DATA_ROOT README.txt ${VTK_SOURCE_DIR}/../VTKData)
+FIND_PATH(VTK_DATA_ROOT ReadMe.txt ${VTK_SOURCE_DIR}/../VTKData)


move marker code

move marker code

--- facts/facts.cmake
+++ facts/facts.cmake
@@ -112,7 +112,7 @@
 	set(depends_bin_package "${depends_dir}/${PACKAGE}-${VERSION}")
 	set(depends_package "${CMAKE_PREFIX_PATH}/${PACKAGE}-${VERSION}")
 	set(package_marker "${depends_bin_package}/${CMAKI_IDENTIFIER}.cache")
-	if(NOT EXISTS "${package_marker}" OR "${NO_USE_CACHE_LOCAL}")
+	if("${NO_USE_CACHE_LOCAL}")
 		# pido un paquete, en funcion de:
 		#		- paquete
 		#		- version
@@ -122,7 +122,7 @@
 		# Otra opcion es enviar todos los ficheros de cmake de todas las versiones
 		set(package_uncompressed_file "${CMAKE_PREFIX_PATH}/${PACKAGE}.tmp")
 		set(package_binary_filename "${CMAKE_PREFIX_PATH}/${PACKAGE}-${VERSION}-${CMAKI_IDENTIFIER}.tar.gz")
-		IF(NOT EXISTS "${package_binary_filename}")
+		IF(NOT EXISTS "${package_marker}" OR NOT EXISTS "${package_binary_filename}")
 			set(package_cmake_filename "${PACKAGE}-${VERSION}-${CMAKI_IDENTIFIER}-cmake.tar.gz")
 			set(http_package_cmake_filename "${CMAKI_REPOSITORY}/download.php?file=${package_cmake_filename}")
 			# message("download from ${http_package_cmake_filename}")


[build] re-enable setting soname for Android shared libraries, as in #30020

--- stdlib/cmake/modules/AddSwiftStdlib.cmake
+++ stdlib/cmake/modules/AddSwiftStdlib.cmake
@@ -1324,14 +1324,8 @@
       list(APPEND swiftlib_link_flags_all "-Wl,-z,defs")
     endif()
     # Setting back linker flags which are not supported when making Android build on macOS cross-compile host.
-    if(SWIFTLIB_SHARED)
-      if(sdk IN_LIST SWIFT_APPLE_PLATFORMS)
-        list(APPEND swiftlib_link_flags_all "-dynamiclib -Wl,-headerpad_max_install_names")
-      elseif(${sdk} STREQUAL ANDROID)
-        list(APPEND swiftlib_link_flags_all "-shared")
-        # TODO: Instead of `lib${name}.so` find variable or target property which already have this value.
-        list(APPEND swiftlib_link_flags_all "-Wl,-soname,lib${name}.so")
-      endif()
+    if(SWIFTLIB_SHARED AND sdk IN_LIST SWIFT_APPLE_PLATFORMS)
+      list(APPEND swiftlib_link_flags_all "-dynamiclib -Wl,-headerpad_max_install_names")
     endif()

     set(sdk_supported_archs
@@ -1471,6 +1465,13 @@
       endif()

      list(APPEND swiftlib_c_compile_flags_all "-DSWIFT_TARGET_LIBRARY_NAME=${name}")
+
+      # Setting back linker flags which are not supported when making Android build on macOS cross-compile host.
+      if(SWIFTLIB_SHARED AND ${sdk} STREQUAL ANDROID)
+        list(APPEND swiftlib_link_flags_all "-shared")
+        # TODO: Instead of `lib${name}.so` find variable or target property which already have this value.
+        list(APPEND swiftlib_link_flags_all "-Wl,-soname,lib${name}.so")
+      endif()

       # Add this library variant.
       _add_swift_target_library_single(


cmake: fix DTS handling of multiple overlay files

This commit fixes an issue where providing a list of overlay files for
dts was not handled correctly.
The means that using `-DDTC_OVERLAY_FILE="file1.overlay;file2.overlay"`
would fail as those two file names would be concatenated into a single
file name.

This is fixed by properly quote the `DTC_OVERLAY_FILE` variable.

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

--- cmake/dts.cmake
+++ cmake/dts.cmake
@@ -61,7 +61,7 @@
 if(SUPPORTS_DTS)
   if(DTC_OVERLAY_FILE)
     # Convert from space-separated files into file list
-    string(REPLACE " " ";" DTC_OVERLAY_FILE_RAW_LIST ${DTC_OVERLAY_FILE})
+    string(REPLACE " " ";" DTC_OVERLAY_FILE_RAW_LIST "${DTC_OVERLAY_FILE}")
     foreach(file ${DTC_OVERLAY_FILE_RAW_LIST})
       file(TO_CMAKE_PATH "${file}" cmake_path_file)
       list(APPEND DTC_OVERLAY_FILE_AS_LIST ${cmake_path_file})


ENH: MetaDataDictionary doesn't seem to  use classes with very long name so wrap it again

--- Wrapping/WrapITK/Modules/Base/wrap_ITKCommonBase.cmake
+++ Wrapping/WrapITK/Modules/Base/wrap_ITKCommonBase.cmake
@@ -14,10 +14,5 @@
 WRAP_NON_TEMPLATE_CLASS("itk::SimpleFilterWatcher")
 WRAP_NON_TEMPLATE_CLASS("itk::XMLFilterWatcher")
 WRAP_NON_TEMPLATE_CLASS("itk::StringStream")
+WRAP_NON_TEMPLATE_CLASS("itk::MetaDataDictionary")

-#
-# disabled to fix too long name on some systems with java
-# see http://public.kitware.com/pipermail/insight-users/2006-July/018785.html
-#
-# WRAP_NON_TEMPLATE_CLASS("itk::MetaDataDictionary")
-


cmake: minor fix in FindOpenCascade.cmake

Writing a variable to the cache would prevent it from changing in
subsequent runs of CMake.  If OpenCascade was not installed when
find_package(OpenCascade) was called for the first time, then
find_package(OpenCascade) would keep failing even after installing
OpenCascade (unless the cache entry was manually removed).

Former-commit-id: 5ecbee2cc6f33326f5f3cf20941d00d82dad7cae

--- cmake/Modules/FindOpenCascade.cmake
+++ cmake/Modules/FindOpenCascade.cmake
@@ -15,7 +15,7 @@
     find_path(OPENCASCADE_INCLUDE_DIR BRep_Tool.hxx PATH_SUFFIXES oce opencascade)
     find_library(OPENCASCADE_LIBRARIES TKBRep)
     mark_as_advanced(OPENCASCADE_LIBRARIES)
-    get_filename_component(OPENCASCADE_LIBRARIES_DIR ${OPENCASCADE_LIBRARIES} PATH CACHE)
+    get_filename_component(OPENCASCADE_LIBRARIES_DIR ${OPENCASCADE_LIBRARIES} PATH)
 endif()
 mark_as_advanced(OPENCASCADE_INCLUDE_DIR)
 mark_as_advanced(OPENCASCADE_LIBRARIES_DIR)


[clang-fuzzer] Include ExternalProject before using it.

Some versions of CMake require ExternalProject to be included before we
can use ExternalProject_Add.

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

--- cmake/modules/ProtobufMutator.cmake
+++ cmake/modules/ProtobufMutator.cmake
@@ -1,3 +1,4 @@
+include(ExternalProject)
 set(PBM_PREFIX protobuf_mutator)
 set(PBM_PATH ${CMAKE_CURRENT_BINARY_DIR}/${PBM_PREFIX}/src/${PBM_PREFIX})
 set(PBM_LIB_PATH ${PBM_PATH}-build/src/libprotobuf-mutator.a)


Add random string to HUNTER_BINARY_DIR

Add random string to HUNTER_BINARY_DIR

--- cmake/modules/hunter_download.cmake
+++ cmake/modules/hunter_download.cmake
@@ -128,7 +128,6 @@
       HUNTER_PACKAGE_DOWNLOAD_DIR
   )

-
   # Check that only one scheme is set to 1
   set(all_schemes "")
   set(all_schemes "${all_schemes}${HUNTER_PACKAGE_SCHEME_DOWNLOAD}")
@@ -170,9 +169,14 @@
     )
   endif()
   if(hunter_has_binary_dir)
+    # When cross-compiling we may need two build directories for
+    # the package - one for host and one for target. To avoid conflicts
+    # add random string.
+    string(RANDOM random)
+    set(helper_dir_to_remove "${HUNTER_BINARY_DIR}/${random}")
     set(
         HUNTER_PACKAGE_BUILD_DIR
-        "${HUNTER_BINARY_DIR}/${HUNTER_PACKAGE_NAME}"
+        "${helper_dir_to_remove}/${HUNTER_PACKAGE_NAME}"
     )
     if(hunter_has_component)
       set(
@@ -180,8 +184,12 @@
           "${HUNTER_PACKAGE_BUILD_DIR}/__${HUNTER_PACKAGE_COMPONENT}"
       )
     endif()
+    if(EXISTS ${HUNTER_PACKAGE_BUILD_DIR})
+      hunter_internal_error("Not so random...")
+    endif()
   else()
     set(HUNTER_PACKAGE_BUILD_DIR "${HUNTER_PACKAGE_HOME_DIR}/Build")
+    set(helper_dir_to_remove "${HUNTER_PACKAGE_BUILD_DIR}")
   endif()

   if(HUNTER_PACKAGE_CACHEABLE)
@@ -673,6 +681,8 @@

   hunter_status_debug("Cleaning up build directories...")

+  file(REMOVE_RECURSE "${helper_dir_to_remove}")
+
   file(REMOVE_RECURSE "${HUNTER_PACKAGE_BUILD_DIR}")
   if(HUNTER_PACKAGE_SCHEME_INSTALL)
     if(_hunter_keep_package_sources)


making EMBREE_NEON_AVX2_EMULATION configurable

--- common/cmake/platforms/darwin.cmake
+++ common/cmake/platforms/darwin.cmake
@@ -5,6 +5,7 @@
 IF (CMAKE_SYSTEM_PROCESSOR STREQUAL "arm64" OR CMAKE_OSX_ARCHITECTURES MATCHES "arm64")
     MESSAGE(STATUS "Building for Apple silicon")
     SET(EMBREE_ARM ON)
-    SET(EMBREE_NEON_AVX2_EMULATION ON)
+#    SET(EMBREE_NEON_AVX2_EMULATION ON)
+    OPTION(EMBREE_NEON_AVX2_EMULATION "Enables NEON AVX2 emulation." ON)
 ENDIF()


Fix a bug in the UIC CMake macro

Fix a bug in the UIC CMake macro

The wrong output directory was created (${DIRECTORY} instead of
include/source/UIC)

--- cmake/BALLMacros.cmake
+++ cmake/BALLMacros.cmake
@@ -32,7 +32,7 @@

 	### BALL ###
   # create output directory (will not exist for out-of-source builds)
-  FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/${DIRECTORY})
+  FILE(MAKE_DIRECTORY ${PROJECT_BINARY_DIR}/include/BALL/VIEW/UIC/)

   FOREACH (it ${ui_files})
     GET_FILENAME_COMPONENT(outfile ${it} NAME_WE)


Remove cmake_minimum_required call from FindLibzip

Find<package>.cmake script do not contain tipically the `cmake_minum_required_version` call, see for example:
* https://github.com/Kitware/CMake/blob/master/Modules/FindPNG.cmake
* https://github.com/KDE/extra-cmake-modules/blob/master/find-modules/FindOpenEXR.cmake

Furthermore, `CMAKE_MINIMUM_REQUIRED_VERSION` was removed in https://github.com/SFI-Mechatronics/FMI4cpp/commit/784db15863e7a07b3681dca3289caf638aa92a11

--- cmake/FindLibzip.cmake
+++ cmake/FindLibzip.cmake
@@ -5,8 +5,6 @@
 #   LIBZIP_INCLUDE_DIRS   - libzip include dirs
 #   LIBZIP_LIBRARIES      - List of libraries to link when using libzip.
 #   LIBZIP_FOUND          - True if libzip found.
-
-cmake_minimum_required (VERSION ${CMAKE_MINIMUM_REQUIRED_VERSION})

 find_path(LIBZIP_INCLUDE_DIR NAMES zip.h)
 mark_as_advanced(LIBZIP_INCLUDE_DIR)


cmake: Use the FindWaffle.cmake script provided by Waffle itself.

--- cmake/FindWaffle.cmake
+++ cmake/FindWaffle.cmake
@@ -1,33 +0,0 @@
-# - try to find Waffle include dirs and library
-
-if (ANDROID)
-    set (Android_root_path "$ENV{OUT}")
-	if (Android_root_path)
-		set (Waffle_INC_SEARCH_PATH "$ENV{OUT}/obj/include/waffle-1"
-			"$ENV{OUT}/obj/lib"
-			"$ENV{ANDROID_BUILD_TOP}/external/waffle"
-		)
-
-		set (Waffle_LIB_SEARCH_PATH "$ENV{OUT}/obj/lib")
-	endif ()
-
-	find_path (Waffle_INCLUDE_DIRS waffle.h
-		PATHS ${Waffle_INC_SEARCH_PATH}
-		DOC "The directory where waffle.h resides"
-		NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH
-		)
-
-	find_library (Waffle_LIBRARIES waffle-1
-		PATHS ${Waffle_LIB_SEARCH_PATH}
-		DOC "The directory where libwaffle-1 resides"
-		NO_CMAKE_FIND_ROOT_PATH NO_DEFAULT_PATH
-		)
-else ()
-	find_package (PkgConfig)
-	if (PKG_CONFIG_FOUND)
-		pkg_search_module (Waffle waffle-1)
-	endif ()
-endif ()
-
-include (FindPackageHandleStandardArgs)
-find_package_handle_standard_args (Waffle DEFAULT_MSG Waffle_LIBRARIES Waffle_INCLUDE_DIRS)


cmake: use correct C++17 flag

cmake: use correct C++17 flag

--- cmake/build/core.cmake
+++ cmake/build/core.cmake
@@ -17,7 +17,7 @@
 # Core setup
 #
 #set(CMAKE_CXX_STANDARD 11)
-add_compile_options(-std=c++1y)
+add_compile_options(-std=c++1z)

 set(CMAKE_CXX_STANDARD_REQUIRED ON)
 set(CMAKE_CXX_EXTENSIONS OFF)


Re-enable ASAN for Xcode 8.

Re-enable ASAN for Xcode 8.

Only UBSAN is broken.

--- prosoft/core/config/cmake/config_sanitizer.cmake
+++ prosoft/core/config/cmake/config_sanitizer.cmake
@@ -49,7 +49,7 @@
         endif()
     endif()

-    # WARNING: For bundled Apple apps this will not copy the ASan lib to the bundle as Xcode schemes do.
+    # WARNING: For bundled Apple apps this will not copy the ASAN lib to the bundle as Xcode schemes do.
     # So the app will only run on machines where Xcode is installed.
     if(HAVE_ADDRESS_SANITIZER)
         target_compile_options(${TARGET_NAME} PRIVATE "-fsanitize=address" "-fno-omit-frame-pointer")
@@ -96,14 +96,15 @@
     #
     # break on __asan_report_error to catch ASan asserts in the debugger.

-    # Xcode 8.0 has a few different linker errors when turning on the sanitizer, so disable until it's fixed
-    if(NOT CMAKE_GENERATOR STREQUAL "Xcode" OR "${XCODE_VERSION}" VERSION_LESS "8.0")
-        # ASan on PPC is broken (internal crash) as of GCC 4.8.1. It may be fixed in 4.8.2 or 4.9.
-        # HOST_SYSTEM_PROCESSOR may technically not be the same as the target CPU, but it's the best we have.
-        if(NOT ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "(ppc|powerpc)(32|64)?")
-            ps_core_config_asan(${TARGET_NAME})
-        endif()
-
+    # ASan on PPC is broken (internal crash) as of GCC 4.8.1. It may be fixed in 4.8.2 or 4.9.
+    # HOST_SYSTEM_PROCESSOR may technically not be the same as the target CPU, but it's the best we have.
+    if(NOT ${CMAKE_HOST_SYSTEM_PROCESSOR} MATCHES "(ppc|powerpc)(32|64)?")
+        ps_core_config_asan(${TARGET_NAME})
+    endif()
+
+    # Xcode 8.0 supports the ubsan compiler flags but does not have the support lib
+    # This results in link errors. When asked, Apple said "behaves as expected".
+    if(NOT CMAKE_GENERATOR STREQUAL "Xcode")
         ps_core_config_ubsan(${TARGET_NAME})
     endif()


android apk file name change

android apk file name change

--- cmake/CEGUIAndroid.cmake
+++ cmake/CEGUIAndroid.cmake
@@ -88,7 +88,7 @@

         add_custom_command(
             TARGET ${ANDROID_PROJECT_TARGET} POST_BUILD COMMAND ${ANDROID_EXECUTABLE}
-            update project --subprojects --target ${ANDROID_TARGET} --path "${NDKOUT}" WORKING_DIRECTORY ${NDKOUT})
+            update project --name ${ANDROID_MOD_NAME} --subprojects --target ${ANDROID_TARGET} --path "${NDKOUT}" WORKING_DIRECTORY ${NDKOUT})

         if(DEBUG)
             add_custom_command( TARGET ${ANDROID_PROJECT_TARGET} POST_BUILD COMMAND


Bug 891: Determine sizeof(void*) via CMAKE variable instead of test program
(transplanted from 9e52b49b3a5801ce508121dc799edfb2cdeea468)

--HG--
branch : 3.2

--- cmake/EigenTesting.cmake
+++ cmake/EigenTesting.cmake
@@ -452,20 +452,12 @@
 endmacro(ei_set_build_string)

 macro(ei_is_64bit_env VAR)
-
-  file(WRITE "${CMAKE_CURRENT_BINARY_DIR}/is64.cpp"
-      "int main() { return (sizeof(int*) == 8 ? 1 : 0); }
-      ")
-  try_run(run_res compile_res
-         ${CMAKE_CURRENT_BINARY_DIR} "${CMAKE_CURRENT_BINARY_DIR}/is64.cpp"
-          RUN_OUTPUT_VARIABLE run_output)
-
-  if(compile_res AND run_res)
-    set(${VAR} ${run_res})
-  elseif(CMAKE_CL_64)
+  if(CMAKE_SIZEOF_VOID_P EQUAL 8)
     set(${VAR} 1)
-  elseif("$ENV{Platform}" STREQUAL "X64") # nmake 64 bit
-    set(${VAR} 1)
+  elseif(CMAKE_SIZEOF_VOID_P EQUAL 4)
+    set(${VAR} 0)
+  else()
+    message(WARNING "Unsupported pointer size. Please contact the authors.")
   endif()
 endmacro(ei_is_64bit_env)


Fix linking with OpenBLAS on Windows

Fix linking with OpenBLAS on Windows

--- cmake/FindOpenBLAS.cmake
+++ cmake/FindOpenBLAS.cmake
@@ -1,9 +1,9 @@
 if(WIN32)
     # Which compilers to use for C and C++, and location of target
     # environment.
-    execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCH)
+    execute_process(COMMAND uname -m OUTPUT_VARIABLE ARCH OUTPUT_STRIP_TRAILING_WHITESPACE)
     message("ARCH IS ${ARCH} and PROCESSOR ${CMAKE_SYSTEM_PROCESSOR}")
-    if( ${ARCH} EQUAL "x86_64")
+    if( ${ARCH} STREQUAL "x86_64")
         # First look in standard location as used by Debian/Ubuntu/etc.
         set(MINGW_ROOT /mingw64)
         message("64 bit!")
@@ -16,6 +16,7 @@

     SET(Open_BLAS_INCLUDE_SEARCH_PATHS
             ${MINGW_ROOT}/include
+            ${MINGW_ROOT}/include/OpenBLAS
             )

     SET(Open_BLAS_LIB_SEARCH_PATHS
@@ -56,10 +57,10 @@
 SET(OpenBLAS_FOUND ON)

 #    Check include files
-IF(NOT OpenBLAS_INCLUDE_DIR)
-    SET(OpenBLAS_FOUND OFF)
-    MESSAGE(STATUS "Could not find OpenBLAS include. Turning OpenBLAS_FOUND off")
-ENDIF()
+#IF(NOT OpenBLAS_INCLUDE_DIR)
+#    SET(OpenBLAS_FOUND OFF)
+#    MESSAGE(STATUS "Could not find OpenBLAS include. Turning OpenBLAS_FOUND off")
+#ENDIF()

 #    Check libraries
 IF(NOT OpenBLAS_LIB)


CMake link lib package fix.

CMake link lib package fix.

--- cmake/globalmacros.cmake
+++ cmake/globalmacros.cmake
@@ -1053,6 +1053,14 @@

       #--------------------------------------------------------------------
       # Link library
+      if(NOT DEFINED ${u_package}_LIBRARIES  AND DEFINED ${u_package}_LIBRARY)
+        if(DEFINED ${u_package}_LIBRARY_DEBUG)
+            set(${u_package}_LIBRARIES optimized "${${u_package}_LIBRARY}" debug "${${u_package}_LIBRARY_DEBUG}")
+        else()
+            set(${u_package}_LIBRARIES "${${u_package}_LIBRARY}")
+        endif()
+      endif()
+
        target_link_libraries(${_projectName} ${${u_package}_LIBRARIES})

       #--------------------------------------------------------------------


Link to ROS libs (ugly!)

Link to ROS libs (ugly!)

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

--- cmake/pcl_find_ros.cmake
+++ cmake/pcl_find_ros.cmake
@@ -1,5 +1,15 @@
 # Look for ROS.
 # This is a temporary and ugly hack.
+
+macro(link_ros_libs _target)
+    if(USE_ROS)
+        target_link_libraries(${_target} sensor_msgs rosbag topic_tools ros
+            boost_thread-mt boost_signals-mt roscpp_serialization XmlRpc
+            rosconsole boost_thread-mt log4cxx rostime cpp_common roslib
+            rospack rosstack)
+    endif(USE_ROS)
+endmacro(link_ros_libs)
+

 macro(get_ros_inc_path _dest _pkg)
     execute_process(COMMAND rospack find ${_pkg}
@@ -10,6 +20,7 @@
         message(STATUS "Found ROS package ${_pkg} path: ${${_dest}}")
     endif(RESULT_VARIABLE)
 endmacro(get_ros_inc_path)
+

 if(ENV{ROS_ROOT})
     option(USE_ROS "Integrate with ROS rather than using native files" ON)


fix finding gflags in the CMake build (#957)

Summary:
This reverts D7505908 (github commit ad3177263 / issue #805), which broke
finding gflags through it's installed CMake configuration file.

The comment from the original diff indicates that they thought this line was
supposed to find folly's `CMake/FindGFlags.cmake` file.  However, this line is
intended to find the `gflags-config.cmake` file installed by gflags.
The `find_package(GFlags MODULE)` check several lines later will be used to
find folly's `FindGFlags.cmake` module if no installed configuration file is
found.

The change in D7505908 caused the code to never use the cmake config file
installed by gflags, due to the case mistmatch with the `gflags_FOUND` check
on the line below.

Closes https://github.com/facebook/folly/pull/957

Reviewed By: yfeldblum

Differential Revision: D13151340

fbshipit-source-id: 0c7234d264dd26ae028a0ae1155c9ddc3f04ea1e

--- CMake/folly-deps.cmake
+++ CMake/folly-deps.cmake
@@ -22,7 +22,7 @@
 list(APPEND FOLLY_INCLUDE_DIRECTORIES ${DOUBLE_CONVERSION_INCLUDE_DIR})

 set(FOLLY_HAVE_LIBGFLAGS OFF)
-find_package(GFlags CONFIG QUIET)
+find_package(gflags CONFIG QUIET)
 if (gflags_FOUND)
   message(STATUS "Found gflags from package config")
   set(FOLLY_HAVE_LIBGFLAGS ON)


Increment version to VTK 6.3.0

Increment version to VTK 6.3.0

Change-Id: I618606e72fe6b65dfbeb265d5835270f85ad2711

--- CMake/vtkVersion.cmake
+++ CMake/vtkVersion.cmake
@@ -1,4 +1,4 @@
 # VTK version number components.
 set(VTK_MAJOR_VERSION 6)
-set(VTK_MINOR_VERSION 2)
+set(VTK_MINOR_VERSION 3)
 set(VTK_BUILD_VERSION 0)


Fix FindLibCrypto for list-typed CMAKE_PREFIX_PATH (#3067)

CMAKE_PREFIX_PATH is a semicolon-separated list, so when multiple paths
are specified, appending the subdirectories here is not correct.

We can instead use find_*'s builtin PATH_SUFFIXES functionality.
Paths in CMAKE_PREFIX_PATH are automatically searched.

Co-authored-by: DougCh <c956b590db3486559df237caaafa0fba0a5d5447@users.noreply.github.com>
Co-authored-by: Lindsay Stewart <3d515c73ee9f67a5a49fadbbb1826c77f73c8e47@amazon.com>

--- cmake/modules/FindLibCrypto.cmake
+++ cmake/modules/FindLibCrypto.cmake
@@ -26,37 +26,18 @@
 else()
     find_path(LibCrypto_INCLUDE_DIR
         NAMES openssl/crypto.h
-        HINTS
-            ${CMAKE_PREFIX_PATH}/include
-            ${CMAKE_INSTALL_PREFIX}/include
+        HINTS "${CMAKE_INSTALL_PREFIX}"
+        PATH_SUFFIXES include
         )
     find_library(LibCrypto_SHARED_LIBRARY
         NAMES libcrypto.so libcrypto.dylib
-        HINTS
-        ${CMAKE_PREFIX_PATH}/build/crypto
-        ${CMAKE_PREFIX_PATH}/build
-        ${CMAKE_PREFIX_PATH}
-        ${CMAKE_PREFIX_PATH}/lib64
-        ${CMAKE_PREFIX_PATH}/lib
-        ${CMAKE_INSTALL_PREFIX}/build/crypto
-        ${CMAKE_INSTALL_PREFIX}/build
-        ${CMAKE_INSTALL_PREFIX}
-        ${CMAKE_INSTALL_PREFIX}/lib64
-        ${CMAKE_INSTALL_PREFIX}/lib
+        HINTS "${CMAKE_INSTALL_PREFIX}"
+        PATH_SUFFIXES build/crypto build lib64 lib
         )
     find_library(LibCrypto_STATIC_LIBRARY
         NAMES libcrypto.a
-        HINTS
-        ${CMAKE_PREFIX_PATH}/build/crypto
-        ${CMAKE_PREFIX_PATH}/build
-        ${CMAKE_PREFIX_PATH}
-        ${CMAKE_PREFIX_PATH}/lib64
-        ${CMAKE_PREFIX_PATH}/lib
-        ${CMAKE_INSTALL_PREFIX}/build/crypto
-        ${CMAKE_INSTALL_PREFIX}/build
-        ${CMAKE_INSTALL_PREFIX}
-        ${CMAKE_INSTALL_PREFIX}/lib64
-        ${CMAKE_INSTALL_PREFIX}/lib
+        HINTS "${CMAKE_INSTALL_PREFIX}"
+        PATH_SUFFIXES build/crypto build lib64 lib
         )

     if (NOT LibCrypto_LIBRARY)


Install the modules, pcms, and rootmap files in the bin directory on Windows

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -210,6 +210,20 @@
   endif()
   SET(${result} "${library_output_dir}" PARENT_SCOPE)
 endfunction(ROOT_GET_LIBRARY_OUTPUT_DIR)
+
+#---------------------------------------------------------------------------------------------------
+#---ROOT_GET_INSTALL_DIR( result_var )
+# Returns the path to the shared libraries installation directory. On Windows the pcms and rootmap
+# files must go in the $ROOTSYS/bin folder.
+function(ROOT_GET_INSTALL_DIR result)
+  set(shared_lib_install_dir)
+  if(MSVC)
+    set(shared_lib_install_dir ${CMAKE_INSTALL_BINDIR})
+  else()
+    set(shared_lib_install_dir ${CMAKE_INSTALL_LIBDIR})
+  endif()
+  SET(${result} "${shared_lib_install_dir}" PARENT_SCOPE)
+endfunction(ROOT_GET_INSTALL_DIR)

 #---------------------------------------------------------------------------------------------------
 #---ROOT_GENERATE_DICTIONARY( dictionary headerfiles NODEPHEADERS ghdr1 ghdr2 ...
@@ -435,18 +449,19 @@
     set_property(GLOBAL APPEND PROPERTY ROOT_DICTIONARY_TARGETS ${dictname})
     set_property(GLOBAL APPEND PROPERTY ROOT_DICTIONARY_FILES ${CMAKE_CURRENT_BINARY_DIR}/${dictionary}.cxx)

+    ROOT_GET_INSTALL_DIR(shared_lib_install_dir)
     # Install the C++ module if we generated one.
     if (cpp_module_file)
       install(FILES ${cpp_module_file}
-                    DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
+                    DESTINATION ${shared_lib_install_dir} COMPONENT libraries)
     endif()

     if(ARG_STAGE1)
       install(FILES ${rootmap_name}
-                    DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
+                    DESTINATION ${shared_lib_install_dir} COMPONENT libraries)
     else()
       install(FILES ${pcm_name} ${rootmap_name}
-                    DESTINATION ${CMAKE_INSTALL_LIBDIR} COMPONENT libraries)
+                    DESTINATION ${shared_lib_install_dir} COMPONENT libraries)
     endif()
   endif()


Fix more warnings

Fix more warnings

--- cmake/modules/RootNewMacros.cmake
+++ cmake/modules/RootNewMacros.cmake
@@ -404,7 +404,10 @@
 function(ROOT_MODULE_LIBRARY library)
   CMAKE_PARSE_ARGUMENTS(ARG "" "" "LIBRARIES" ${ARGN})
   ROOT_GET_SOURCES(lib_srcs src ${ARG_UNPARSED_ARGUMENTS})
-  include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc ${CMAKE_BINARY_DIR}/include )
+  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+    include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+  endif()
+  include_directories(${CMAKE_BINARY_DIR}/include)
   add_library( ${library} SHARED ${lib_srcs})
   set_target_properties(${library}  PROPERTIES ${ROOT_LIBRARY_PROPERTIES})
   target_link_libraries(${library} ${ARG_LIBRARIES})
@@ -529,7 +532,10 @@
     message("Target ${executable} already exists. Renaming target name to ${executable}_new")
     set(executable ${executable}_new)
   endif()
-  include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc ${CMAKE_BINARY_DIR}/include )
+  if(EXISTS ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+    include_directories(BEFORE ${CMAKE_CURRENT_SOURCE_DIR}/inc)
+  endif()
+  include_directories(${CMAKE_BINARY_DIR}/include)
   add_executable( ${executable} ${exe_srcs})
   target_link_libraries(${executable} ${ARG_LIBRARIES} )
   if(WIN32 AND ${executable} MATCHES .exe)


Small fixes for FindRapidJson.cmake

Small fixes for FindRapidJson.cmake

This tiny fix cleans up the FindRapidJson.cmake file, which wasn't
actually searching for the rapidjson.h header correctly but instead
assuming a particular location for it, making some of the other code in
the file redundant.

Change-Id: I5fe3c664b8a078b6610440a8ae4173f38d57a84b
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/3631
Reviewed-by: Alex Behm <fe1626037acfc2dc542d2aa723a6d14f2464a20c@cloudera.com>
Tested-by: jenkins
(cherry picked from commit 438d1512cc78899473d6684b9ca07a6a9b7b100a)
Reviewed-on: http://gerrit.sjc.cloudera.com:8080/3649
Tested-by: Henry Robinson <3eca10f30041813f045165784e24b5a950a6cc7e@cloudera.com>
Reviewed-by: Henry Robinson <3eca10f30041813f045165784e24b5a950a6cc7e@cloudera.com>

--- cmake_modules/FindRapidJson.cmake
+++ cmake_modules/FindRapidJson.cmake
@@ -1,13 +1,12 @@
 # - Find rapidjson headers and lib.
-# This module defines RAPIDJSON_INCLUDE_DIR, directory containing headers
+# This module defines RAPIDJSON_INCLUDE_DIR, the directory containing headers

 set(RAPIDJSON_SEARCH_HEADER_PATHS
-  ${CMAKE_SOURCE_DIR}/thirdparty/rapidjson/include/rapidjson
+  ${CMAKE_SOURCE_DIR}/thirdparty/rapidjson/include/
 )

-set(RAPIDJSON_INCLUDE_DIR
-  ${CMAKE_SOURCE_DIR}/thirdparty/rapidjson/include
-)
+find_path(RAPIDJSON_INCLUDE_DIR rapidjson/rapidjson.h HINTS
+  ${RAPIDJSON_SEARCH_HEADER_PATHS})

 if (RAPIDJSON_INCLUDE_DIR)
   set(RAPIDJSON_FOUND TRUE)


include needed files

include needed files

--- cmakemodules/FindSubversion.cmake
+++ cmakemodules/FindSubversion.cmake
@@ -1,5 +1,7 @@
 SET(SUBVERSIONFOUND)
 SET(SUBVERSION_ALL_LIBS)
+
+INCLUDE (CheckIncludeFiles)

 #search libraries for UNIX
 IF (UNIX)


[FIX] FindScilab.cmake doesn't detect Scilab under Mac OS X. Missing the library libscicore to link the toolbox under Mac OS X (symbol _com_ missing).

git-svn-id: ed06c97986a68fa016311908f99ed1538fbb9b5d@317 93be6e1e-6fcc-11de-baec-69240fdc299a

--- CMake/FindScilab.cmake
+++ CMake/FindScilab.cmake
@@ -22,13 +22,26 @@
 IF(WIN32)
   GET_FILENAME_COMPONENT(SCILAB_VER  "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scilab;LASTINSTALL]" NAME)
   FIND_PATH(SCILAB_ROOT "etc/scilab.start" "[HKEY_LOCAL_MACHINE\\SOFTWARE\\Scilab\\${SCILAB_VER};SCIPATH]")
+  SET(SCILAB_MODULE_PATHS "${SCILAB_ROOT}/modules")
+  SET(SCILAB_LIBRARIES_PATHS "${SCILAB_ROOT}/bin")
+  SET(SCILAB_MODULES_MEXLIB_PATHS "${SCILAB_MODULE_PATHS}/mexlib/includes")
+  SET(SCILAB_MODULES_CORE_PATHS "${SCILAB_MODULE_PATHS}/core/includes")
+  SET(SCILAB_BINARY_PATHS "${SCILAB_ROOT}/bin")
   # LIBMEX, LIBMX names
   SET(LIBMEX "libmex.dll")
   SET(LIBMX "libmx.dll")
   SET(LIBSCILAB "LibScilab")
+  SET(LIBSCICORE "")
   SET(SCILAB_BIN "Scilex")
+  SET(SCILAB_SCICORE_LIBRARY "NOTUSED")
 ELSEIF(APPLE)
   FILE(GLOB SCILAB_PATHS "/Applications/Scilab*")
+  FIND_PATH(SCILAB_ROOT "Contents/MacOS/share/scilab/etc/scilab.start" ${SCILAB_PATHS})
+  SET(SCILAB_MODULE_PATHS "${SCILAB_ROOT}/Contents/MacOS/share/scilab/modules")
+  SET(SCILAB_LIBRARIES_PATHS "${SCILAB_ROOT}/Contents/MacOS/lib/scilab")
+  SET(SCILAB_MODULES_MEXLIB_PATHS "${SCILAB_ROOT}/Contents/MacOS/include/scilab")
+  SET(SCILAB_MODULES_CORE_PATHS "${SCILAB_ROOT}/Contents/MacOS/include/scilab")
+  SET(SCILAB_BINARY_PATHS "${SCILAB_ROOT}/Contents/MacOS//bin")
   SET(LIBMEX "libmex.dylib")
   SET(LIBMX "libmx.dylib")
   SET(LIBSCILAB "scilab")
@@ -58,27 +71,18 @@
     "/usr/bin"
     "/usr/local/bin"
     "/opt/local/bin")
+  FIND_PATH(SCILAB_ROOT "etc/scilab.start" ${SCILAB_PATHS})
   SET(LIBMEX "libmex.so")
   SET(LIBMX "libmx.so")
   SET(LIBSCILAB "scilab")
+  SET(LIBSCICORE "")
   SET(SCILAB_BIN "scilab")
 ENDIF(WIN32)
-
-FIND_PATH(SCILAB_ROOT "etc/scilab.start" ${SCILAB_PATHS})
-
-IF(WIN32 OR APPLE)
-  FIND_PATH(SCILAB_ROOT "etc/scilab.start" ${SCILAB_PATHS})
-  SET(SCILAB_MODULE_PATHS "${SCILAB_ROOT}/modules")
-  SET(SCILAB_LIBRARIES_PATHS "${SCILAB_ROOT}/bin")
-  SET(SCILAB_MODULES_MEXLIB_PATHS "${SCILAB_MODULE_PATHS}/mexlib/includes")
-  SET(SCILAB_MODULES_CORE_PATHS "${SCILAB_MODULE_PATHS}/core/includes")
-  SET(SCILAB_BINARY_PATHS "${SCILAB_ROOT}/bin")
-ENDIF(WIN32 OR APPLE)

 FIND_PROGRAM(SCILAB_BINARY
   ${SCILAB_BIN}
   ${SCILAB_BINARY_PATHS})
-FIND_LIBRARY(SCILAB_IMPL_LIBRARY
+FIND_LIBRARY(SCILAB_SCILAB_LIBRARY
   ${LIBSCILAB}
   ${SCILAB_LIBRARIES_PATHS} NO_DEFAULT_PATH)
 FIND_FILE(SCILAB_MEX_LIBRARY
@@ -89,25 +93,35 @@
   ${SCILAB_LIBRARIES_PATHS} NO_DEFAULT_PATH)
 FIND_PATH(SCILAB_MEX_INCLUDE_DIR
   "mex.h"
-  ${SCILAB_MODULES_MEXLIB_PATHS} NO_DEFAULT_PATH)
+  ${SCILAB_MODULES_MEXLIB_PATHS} "${SCILAB_MODULES_MEXLIB_PATHS}/mexlib" NO_DEFAULT_PATH)
 FIND_PATH(SCILAB_CORE_INCLUDE_DIR
   "core_math.h"
-  ${SCILAB_MODULES_CORE_PATHS} NO_DEFAULT_PATH
+  ${SCILAB_MODULES_CORE_PATHS} "${SCILAB_MODULES_CORE_PATHS}/core" NO_DEFAULT_PATH
   )

 SET(SCILAB_LIBRARIES
-  ${SCILAB_IMPL_LIBRARY}
-  ${SCILAB_MEX_LIBRARY}
-  ${SCILAB_MX_LIBRARY}
+  ${SCILAB_SCILAB_LIBRARY}
 )
+
+#only used by Mac and Linux
+IF(NOT WIN32)
+  FIND_LIBRARY(SCILAB_SCICORE_LIBRARY "scicore" ${SCILAB_LIBRARIES_PATHS} NO_DEFAULT_PATH)
+  SET(SCILAB_LIBRARIES
+    ${SCILAB_LIBRARIES}
+    ${SCILAB_MEX_LIBRARY}
+    ${SCILAB_MX_LIBRARY}
+    ${SCILAB_SCICORE_LIBRARY}
+  )
+ENDIF(NOT WIN32)

 IF(SCILAB_ROOT)
   INCLUDE(FindPackageHandleStandardArgs)
-  FIND_PACKAGE_HANDLE_STANDARD_ARGS(Scilab DEFAULT_MSG SCILAB_ROOT SCILAB_MEX_INCLUDE_DIR SCILAB_CORE_INCLUDE_DIR SCILAB_IMPL_LIBRARY SCILAB_MEX_LIBRARY SCILAB_MX_LIBRARY)
+  FIND_PACKAGE_HANDLE_STANDARD_ARGS(Scilab DEFAULT_MSG SCILAB_ROOT SCILAB_BINARY SCILAB_MEX_INCLUDE_DIR SCILAB_CORE_INCLUDE_DIR SCILAB_SCILAB_LIBRARY SCILAB_SCICORE_LIBRARY SCILAB_MEX_LIBRARY SCILAB_MX_LIBRARY)
 ENDIF(SCILAB_ROOT)

 MARK_AS_ADVANCED(
-  SCILAB_IMPL_LIBRARY
+  SCILAB_SCILAB_LIBRARY
+  SCILAB_SCICORE_LIBRARY
   SCILAB_MEX_LIBRARY
   SCILAB_MX_LIBRARY
   SCILAB_LIBRARIES


if we determine that GCC is too old it is not an error - the opposite would be, but I have no idea how to flag that in the dashboard

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -21,6 +21,7 @@
    )

 set(CTEST_CUSTOM_ERROR_EXCEPTION ${CTEST_CUSTOM_ERROR_EXCEPTION}
+   "Vc 1\\.x requires C\\+\\+11 support\\. This requires at least GCC 4\\.6\\."
    "^make\\[[1-9]\\]: "
    "^collect2: ld returned . exit status"
    "^make: \\*\\*\\* \\[all\\] Error ")


Increasing output sizes for better reporting.

--- CTestCustom.cmake
+++ CTestCustom.cmake
@@ -14,8 +14,8 @@

 # do not take mapm into the coverage analysis
 SET (CTEST_CUSTOM_COVERAGE_EXCLUDE "mapm.*")
-SET (CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 8192)
-SET (CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 8192)
+SET (CTEST_CUSTOM_MAXIMUM_PASSED_TEST_OUTPUT_SIZE 1048576)
+SET (CTEST_CUSTOM_MAXIMUM_FAILED_TEST_OUTPUT_SIZE 102400)

 # other possible options
 #  CTEST_CUSTOM_ERROR_MATCH  Regular expression for errors during build process


Use "pyd" extension for PythonQt module

Use "pyd" extension for PythonQt module

See http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll

--- CMake/ctkMacroBuildLibWrapper.cmake
+++ CMake/ctkMacroBuildLibWrapper.cmake
@@ -30,7 +30,7 @@
 #! On the other hand, when CTK is built statically, it creates a
 #! static library providing a initialization function that will allow to load
 #! both (1) and (2).
-
+
 #! \ingroup CMakeAPI
 MACRO(ctkMacroBuildLibWrapper)
   ctkMacroParseArguments(MY
@@ -120,6 +120,13 @@
   IF(MY_WRAPPER_LIBRARY_TYPE STREQUAL "MODULE")
     # Make sure that no prefix is set on the library
     set_target_properties(${lib_name}PythonQt PROPERTIES PREFIX "")
+    # Python extension modules on Windows must have the extension ".pyd"
+    # instead of ".dll" as of Python 2.5.  Older python versions do support
+    # this suffix.
+    # See http://docs.python.org/faq/windows.html#is-a-pyd-file-the-same-as-a-dll
+    IF(WIN32 AND NOT CYGWIN)
+      set_target_properties(${lib_name}PythonQt PROPERTIES SUFFIX ".pyd")
+    ENDIF()
   ENDIF()
   set_target_properties(${lib_name}PythonQt PROPERTIES
     RUNTIME_OUTPUT_DIRECTORY "${MY_RUNTIME_OUTPUT_DIRECTORY}"


Ensure module files are generated in the build tree

The ExternalMoleculeMacros should ensure that the module data files are
generated in the build tree of the external module, rather than
polluting the VTK tree they are building against. This relies on the
vtkModuleAPI using CMAKE_MODULE_PATH for the original module files.

Change-Id: If134458e014d29f2cd432e2f9248b5c13b50c96b

--- CMake/vtkExternalModuleMacros.cmake
+++ CMake/vtkExternalModuleMacros.cmake
@@ -42,8 +42,12 @@
 if(NOT VTK_INSTALL_EXPORT_NAME)
   set(VTK_INSTALL_EXPORT_NAME VTKTargets)
 endif()
-if(NOT VTK_MODULES_DIR)
-  set(VTK_MODULES_DIR "${VTK_BINARY_DIR}/${VTK_INSTALL_PACKAGE_DIR}/Modules")
+
+# Add the VTK_MODULES_DIR to the CMAKE_MODULE_PATH and then use the binary
+# directory for the project to write out new ones to.
+if(VTK_MODULES_DIR)
+  set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${VTK_MODULES_DIR})
 endif()
+set(VTK_MODULES_DIR "${CMAKE_BINARY_DIR}/${VTK_INSTALL_PACKAGE_DIR}/Modules")

 include(vtkModuleMacros)


Corrected library's pkg-config after boost removal

--- liblomse.pc.cmake
+++ liblomse.pc.cmake
@@ -7,7 +7,7 @@
 Description: LenMus open music score edition library
 Version: @LOMSE_VERSION_STRING@
 Requires: @LOMSE_REQUIRES@
-Libs: -L${libdir} -llomse -lboost_system -lboost_thread -lboost_date_time
+Libs: -L${libdir} -llomse -lpthread
 Cflags: -I${includedir}


Work on packaging system, implement standard behaviour for all packaging types on linux

--- deploy/packages/pack-template.cmake
+++ deploy/packages/pack-template.cmake
@@ -13,22 +13,9 @@
 #

 # Output packages
-if (OPTION_SELFCONTAINED_INSTALL)
-    # Create a self-contained installation package with all dependencies
-    if("${CMAKE_SYSTEM_NAME}" MATCHES "Windows")
-        # Windows installer
-        set(OPTION_PACK_GENERATOR "NSIS" CACHE STRING "Package targets")
-    elseif("${CMAKE_SYSTEM_NAME}" MATCHES "Darwin")
-        # MacOS X installer
-        set(OPTION_PACK_GENERATOR "PackageMaker" CACHE STRING "Package targets")
-    else()
-        # Linux installer and archive
-        set(OPTION_PACK_GENERATOR "STGZ;TGZ" CACHE STRING "Package targets")
-    endif()
-    set(OPTION_COMPONENT_INSTALL OFF)
-elseif(OPTION_PORTABLE_INSTALL)
+if(OPTION_PORTABLE_INSTALL)
     # Create a relocatable installation without any dependencies
-    set(OPTION_PACK_GENERATOR "ZIP;TGZ" CACHE STRING "Package targets")
+    set(OPTION_PACK_GENERATOR "ZIP;TGZ;STGZ" CACHE STRING "Package targets")
     set(OPTION_COMPONENT_INSTALL OFF)
 else()
     # Create a system installation package
@@ -41,6 +28,12 @@
     else()
         # Linux package
         set(OPTION_PACK_GENERATOR "DEB;RPM" CACHE STRING "Package targets")
+    endif()
+
+    # Install component-wise?
+    if(OPTION_SELFCONTAINED_INSTALL)
+        set(OPTION_COMPONENT_INSTALL OFF)
+    else()
         set(OPTION_COMPONENT_INSTALL ON)
     endif()
 endif()
@@ -84,7 +77,9 @@

 # Set install prefix
 if(OPTION_PORTABLE_INSTALL)
-    set(CPACK_INSTALL_PREFIX ".")
+    set(CPACK_PACKAGING_INSTALL_PREFIX "")
+else()
+    set(CPACK_PACKAGING_INSTALL_PREFIX "${CMAKE_INSTALL_PREFIX}")
 endif()

 # Package project
@@ -219,6 +214,8 @@
 #set(CPACK_INSTALL_CMAKE_PROJECTS        "${PROJECT_BINARY_DIR};${project_root};ALL;/")
 set(CPACK_PACKAGE_INSTALL_DIRECTORY     "${package_name}")
 set(CPACK_PACKAGE_INSTALL_REGISTRY_KEY  "${package_name}")
+set(CPACK_INCLUDE_TOPLEVEL_DIRECTORY           OFF)
+set(CPACK_COMPONENT_INCLUDE_TOPLEVEL_DIRECTORY OFF)

 # Set component installation mode
 set(CPACK_DEB_COMPONENT_INSTALL         ${OPTION_COMPONENT_INSTALL})


MS:

MS:

-STYLE: spaces

--- src/Testing/Dashboard/elxDashboardCommon.cmake
+++ src/Testing/Dashboard/elxDashboardCommon.cmake
@@ -36,40 +36,41 @@
 # Note: this script is based on the vxl_common.cmake script.
 #

-cmake_minimum_required(VERSION 2.8)
+cmake_minimum_required( VERSION 2.8 )

-set(CTEST_PROJECT_NAME elastix)
+set( CTEST_PROJECT_NAME elastix )

 # Select the top dashboard directory.
-if(NOT DEFINED CTEST_DASHBOARD_ROOT)
-  get_filename_component(CTEST_DASHBOARD_ROOT "${CTEST_SCRIPT_DIRECTORY}/../MyTests" ABSOLUTE)
+if( NOT DEFINED CTEST_DASHBOARD_ROOT )
+  get_filename_component( CTEST_DASHBOARD_ROOT
+    "${CTEST_SCRIPT_DIRECTORY}/../MyTests" ABSOLUTE )
 endif()

 # Select the model (Nightly, Experimental, Continuous).
-if(NOT DEFINED dashboard_model)
-  set(dashboard_model Nightly)
+if( NOT DEFINED dashboard_model )
+  set( dashboard_model Nightly )
 endif()

 # Default to a Release build.
-if(NOT DEFINED CTEST_BUILD_CONFIGURATION)
-  set(CTEST_BUILD_CONFIGURATION Release)
+if( NOT DEFINED CTEST_BUILD_CONFIGURATION )
+  set( CTEST_BUILD_CONFIGURATION Release )
 endif()

 # Select svn source to use.
-if(NOT DEFINED dashboard_url)
-  set(dashboard_url "https://svn.bigr.nl/elastix/trunkpublic")
+if( NOT DEFINED dashboard_url )
+  set( dashboard_url "https://svn.bigr.nl/elastix/trunkpublic" )
 endif()

 # Select a source directory name.
-if(NOT DEFINED CTEST_SOURCE_DIRECTORY)
-  set(CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/src")
+if( NOT DEFINED CTEST_SOURCE_DIRECTORY )
+  set( CTEST_SOURCE_DIRECTORY "${CTEST_DASHBOARD_ROOT}/src" )
 endif()

 # Select a build directory name.
-if(NOT DEFINED CTEST_BINARY_DIRECTORY)
-  set(CTEST_BINARY_DIRECTORY ${CTEST_DASHBOARD_ROOT}/bin)
+if( NOT DEFINED CTEST_BINARY_DIRECTORY )
+  set( CTEST_BINARY_DIRECTORY ${CTEST_DASHBOARD_ROOT}/bin )
 endif()
-make_directory(${CTEST_BINARY_DIRECTORY})
+make_directory( ${CTEST_BINARY_DIRECTORY} )

 # Look for a Subversion command-line client.
 if( NOT DEFINED CTEST_UPDATE_COMMAND )
@@ -79,111 +80,110 @@

 # Support initial checkout if necessary;
 # dashboard_root is working dir.
-if(NOT EXISTS "${CTEST_SOURCE_DIRECTORY}"
+if( NOT EXISTS "${CTEST_SOURCE_DIRECTORY}"
     AND NOT DEFINED CTEST_CHECKOUT_COMMAND
     AND CTEST_UPDATE_COMMAND)
-  set(CTEST_CHECKOUT_COMMAND "\"${CTEST_UPDATE_COMMAND}\" co --username elastixguest --password elastixguest \"${dashboard_url}\" .")
+  set( CTEST_CHECKOUT_COMMAND "\"${CTEST_UPDATE_COMMAND}\" co --username elastixguest --password elastixguest \"${dashboard_url}\" ." )
 endif()

 # Send the main script as a note, and this script
-list(APPEND CTEST_NOTES_FILES
+list( APPEND CTEST_NOTES_FILES
   "${CTEST_SCRIPT_DIRECTORY}/${CTEST_SCRIPT_NAME}"
-  "${CMAKE_CURRENT_LIST_FILE}"
-  )
+  "${CMAKE_CURRENT_LIST_FILE}" )

 # Check for required variables.
-foreach(req
-    CTEST_CMAKE_GENERATOR
-    CTEST_SITE
-    CTEST_BUILD_NAME
-    )
-  if(NOT DEFINED ${req})
-    message(FATAL_ERROR "The containing script must set ${req}")
+foreach( req
+  CTEST_CMAKE_GENERATOR
+  CTEST_SITE
+  CTEST_BUILD_NAME
+  )
+  if( NOT DEFINED ${req} )
+    message( FATAL_ERROR "The containing script must set ${req}" )
   endif()
-endforeach(req)
+endforeach()

 # Print summary information.
-foreach(v
-    CTEST_SITE
-    CTEST_BUILD_NAME
-    CTEST_SOURCE_DIRECTORY
-    CTEST_BINARY_DIRECTORY
-    CTEST_CMAKE_GENERATOR
-    CTEST_BUILD_CONFIGURATION
-    CTEST_UPDATE_COMMAND
-    CTEST_CHECKOUT_COMMAND
-    CTEST_SCRIPT_DIRECTORY
-    dashboard_model
-    )
-  set(vars "${vars}  ${v}=[${${v}}]\n")
-endforeach(v)
-message("Configuration:\n${vars}\n")
+foreach( v
+  CTEST_SITE
+  CTEST_BUILD_NAME
+  CTEST_SOURCE_DIRECTORY
+  CTEST_BINARY_DIRECTORY
+  CTEST_CMAKE_GENERATOR
+  CTEST_BUILD_CONFIGURATION
+  CTEST_UPDATE_COMMAND
+  CTEST_CHECKOUT_COMMAND
+  CTEST_SCRIPT_DIRECTORY
+  dashboard_model
+  )
+  set( vars "${vars}  ${v}=[${${v}}]\n" )
+endforeach()
+message( "Configuration:\n${vars}\n" )

 # Avoid non-ascii characters in tool output.
-set(ENV{LC_ALL} C)
+set( ENV{LC_ALL} C )

 # Helper macro to write the initial cache.
-macro(write_cache)
-  if(CTEST_CMAKE_GENERATOR MATCHES "Make")
-    set(cache_build_type CMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION})
+macro( write_cache )
+  if( CTEST_CMAKE_GENERATOR MATCHES "Make" )
+    set( cache_build_type CMAKE_BUILD_TYPE:STRING=${CTEST_BUILD_CONFIGURATION} )
   endif()
-  file(WRITE ${CTEST_BINARY_DIRECTORY}/CMakeCache.txt "
+  file( WRITE ${CTEST_BINARY_DIRECTORY}/CMakeCache.txt "
 SITE:STRING=${CTEST_SITE}
 BUILDNAME:STRING=${CTEST_BUILD_NAME}
 ${cache_build_type}
 ${dashboard_cache}
 ")
-endmacro(write_cache)
+endmacro()

 # Start with a fresh build tree.
-message("Clearing build tree...")
-ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
+message( "Clearing build tree..." )
+ctest_empty_binary_directory( ${CTEST_BINARY_DIRECTORY} )

 # Support each testing model
-if(dashboard_model STREQUAL Continuous)
+if( dashboard_model STREQUAL Continuous )
   # Build once and then when updates are found.
-  while(${CTEST_ELAPSED_TIME} LESS 43200)
-    set(START_TIME ${CTEST_ELAPSED_TIME})
-    ctest_start(Continuous)
+  while( ${CTEST_ELAPSED_TIME} LESS 43200 )
+    set( START_TIME ${CTEST_ELAPSED_TIME} )
+    ctest_start( Continuous )

     # always build if the tree is missing
-    if(NOT EXISTS "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt")
-      message("Starting fresh build...")
+    if( NOT EXISTS "${CTEST_BINARY_DIRECTORY}/CMakeCache.txt" )
+      message( "Starting fresh build..." )
       write_cache()
-      set(res 1)
+      set( res 1 )
     endif()

-    ctest_update(RETURN_VALUE res)
-    message("Found ${res} changed files")
-    if(res GREATER 0)
+    ctest_update( RETURN_VALUE res )
+    message( "Found ${res} changed files" )
+    if( res GREATER 0 )
       # run cmake twice; this seems to be necessary, otherwise the
       # KNN lib is not built
       ctest_configure()
       ctest_configure()
-      ctest_read_custom_files(${CTEST_BINARY_DIRECTORY})
+      ctest_read_custom_files( ${CTEST_BINARY_DIRECTORY} )
       ctest_build()
       ctest_test()
       ctest_submit()
     endif()

     # Delay until at least 5 minutes past START_TIME
-    ctest_sleep(${START_TIME} 300 ${CTEST_ELAPSED_TIME})
+    ctest_sleep( ${START_TIME} 300 ${CTEST_ELAPSED_TIME} )
   endwhile()
 else()
   write_cache()
-  ctest_start(${dashboard_model})
+  ctest_start( ${dashboard_model} )
   ctest_update()
   # run cmake twice; this seems to be necessary, otherwise the
   # KNN lib is not built
   ctest_configure()
   ctest_configure()
-  ctest_read_custom_files(${CTEST_BINARY_DIRECTORY})
+  ctest_read_custom_files( ${CTEST_BINARY_DIRECTORY} )
   ctest_build()
   ctest_test()
-  if(dashboard_do_coverage)
+  if( dashboard_do_coverage )
     ctest_coverage()
   endif()
-  if(dashboard_do_memcheck)
+  if( dashboard_do_memcheck )
     ctest_memcheck()
   endif()
   ctest_submit()


[FIX] fixed wrong copy target

[FIX] fixed wrong copy target

--- util/travis/linux-cibuild.cmake
+++ util/travis/linux-cibuild.cmake
@@ -25,16 +25,16 @@
 # we want makefiles
 set(CTEST_CMAKE_GENERATOR "Unix Makefiles")

-# run the classical ctest suite without update
-# travis-ci handles this for us
-ctest_start     (Continuous)
-
 # Copying the CTestConfig.cmake here is not optimal.  You might have to call
 # ctest twice to get an actual build since ctest expects it to be present
 # at the first time and will fail.
 CONFIGURE_FILE (${CTEST_SOURCE_DIRECTORY}/util/cmake/CTestConfig.cmake
-                ${CTEST_SOURCE_ROOT_DIRECTORY}/CTestConfig.cmake
+                ${CTEST_SOURCE_DIRECTORY}/CTestConfig.cmake
                 COPYONLY)
+
+# run the classical ctest suite without update
+# travis-ci handles this for us
+ctest_start     (Continuous)

 ctest_configure (BUILD "${CTEST_BINARY_DIRECTORY}" RETURN_VALUE _configure_ret)
 ctest_build     (BUILD "${CTEST_BINARY_DIRECTORY}" NUMBER_ERRORS _build_errors)


PolysquareCommon: Get linker flags for coverage and pass them

--- PolysquareCommon.cmake
+++ PolysquareCommon.cmake
@@ -113,11 +113,15 @@
 macro (psq_coverage_bootstrap)

     include ("cmake/gcov-cmake/GCovUtilities")
-    gcov_get_compile_flags (PSQ_CB_CFLAGS)
+    gcov_get_compile_flags (PSQ_CB_CFLAGS PSQ_CB_LDFLAGS)

     get_property (PSQ_CB_PSQ_CFLAGS GLOBAL PROPERTY PSQ_CFLAGS)
     set_property (GLOBAL PROPERTY PSQ_CFLAGS
                   "${PSQ_CB_PSQ_CFLAGS} ${PSQ_CB_CFLAGS}")
+
+    get_property (PSQ_CB_PSQ_LDFLAGS GLOBAL PROPERTY PSQ_LDFLAGS)
+    set_property (GLOBAL PROPERTY PSQ_LDFLAGS
+                  "${PSQ_CB_PSQ_LDFLAGS} ${PSQ_CB_LDFLAGS}")

 endmacro ()

@@ -754,9 +758,11 @@

     get_property (PSQ_CFLAGS GLOBAL PROPERTY PSQ_CFLAGS)
     get_property (PSQ_CXXFLAGS GLOBAL PROPERTY PSQ_CXXFLAGS)
+    get_property (PSQ_LDFLAGS GLOBAL PROPERTY PSQ_LDFLAGS)

     set_target_properties ("${TARGET}" PROPERTIES
-                           COMPILE_FLAGS "${PSQ_CFLAGS} ${PSQ_CXXFLAGS}")
+                           COMPILE_FLAGS "${PSQ_CFLAGS} ${PSQ_CXXFLAGS}"
+                           LINK_FLAGS "${PSQ_LDFLAGS}")

     if (TARGET_LIBRARIES)