Allow compiling/installing generated Python files

Modify ctkMacroCompilePythonScript to accept SCRIPTS and/or RESOURCES
that are generated files, rather than requiring them to exist at
configure time. Also, modify ctkFunctionAddCompilePythonScriptTargets to
accept additional arguments that are passed to add_custom_target. (The
second change allows passing e.g. 'DEPENDS <other targets>', which is
required to make the targets depend on other targets which generate the
aforementioned generated files, so that copying of the files will
succeed.)

--- CMake/ctkMacroCompilePythonScript.cmake
+++ CMake/ctkMacroCompilePythonScript.cmake
@@ -60,7 +60,11 @@
       set(file "${file}.py")
     endif()

-    set(src "${MY_SOURCE_DIR}/${file}")
+    if(NOT IS_ABSOLUTE ${file})
+      set(src "${MY_SOURCE_DIR}/${file}")
+    else()
+      set(src "${file}")
+    endif()
     set(tgt_file ${file})
     if(IS_ABSOLUTE ${file})
       set(src ${file})
@@ -73,7 +77,11 @@
   if(DEFINED MY_RESOURCES)
     set(resource_input_files)
     foreach(file ${MY_RESOURCES})
-      set(src "${CMAKE_CURRENT_SOURCE_DIR}/${file}")
+      if(NOT IS_ABSOLUTE ${file})
+        set(src "${MY_SOURCE_DIR}/${file}")
+      else()
+        set(src "${file}")
+      endif()
       set_property(GLOBAL APPEND PROPERTY
       _CTK_${target}_PYTHON_RESOURCES "${src}|${file}|${MY_DESTINATION_DIR}")
     endforeach()
@@ -117,10 +125,7 @@
       list(APPEND copied_files ${tgt})
     endforeach()
     if(entries)
-      add_custom_target(${target_name} ALL
-        DEPENDS
-          ${copied_files}
-          )
+      add_custom_target(${target_name} ALL DEPENDS ${copied_files} ${ARGN})
     endif()
   endif()
 endfunction()
@@ -173,8 +178,8 @@
 endfunction()

 function(ctkFunctionAddCompilePythonScriptTargets target)
-  _ctk_add_copy_python_files_target(${target} Script)
-  _ctk_add_copy_python_files_target(${target} Resource)
+  _ctk_add_copy_python_files_target(${target} Script ${ARGN})
+  _ctk_add_copy_python_files_target(${target} Resource ${ARGN})
   _ctk_add_compile_python_directories_target(${target})
 endfunction()


Fixing build on Windows

Fixing build on Windows

--- cmake/OpenCVCRTLinkage.cmake
+++ cmake/OpenCVCRTLinkage.cmake
@@ -1,5 +1,5 @@
 if(NOT MSVC)
-  message(FATAL_ERROR "CRT options are available only for MSVC"
+  message(FATAL_ERROR "CRT options are available only for MSVC")
 endif()

 if(NOT BUILD_SHARED_LIBS AND BUILD_WITH_STATIC_CRT)


[build] Change the library output dir for export core (#4880)

* Change the library output dir for export core

* limit the change to the target

--- cmake/TaichiExportCore.cmake
+++ cmake/TaichiExportCore.cmake
@@ -4,3 +4,5 @@

 add_library(${TAICHI_EXPORT_CORE_NAME} SHARED)
 target_link_libraries(${TAICHI_EXPORT_CORE_NAME} taichi_isolated_core)
+set_target_properties(${TAICHI_EXPORT_CORE_NAME} PROPERTIES
+    CMAKE_LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/build")


Update libxml2.cmake

Update libxml2.cmake

--- cmake/external/libxml2.cmake
+++ cmake/external/libxml2.cmake
@@ -33,8 +33,8 @@
 include (ExternalProject)
 ExternalProject_Add(${LIBXML2_TARGET}
     PREFIX ${LIBXML2_TARGET}
-    GIT_REPOSITORY https://gitlab.gnome.org/vitalybuka/libxml2
-    GIT_TAG patch-2
+    GIT_REPOSITORY GIT_REPOSITORY https://gitlab.gnome.org/GNOME/libxml2
+    GIT_TAG master
     UPDATE_COMMAND ""
     CONFIGURE_COMMAND ${LIBXML2_SRC_DIR}/autogen.sh --without-python
                                                     --prefix=${LIBXML2_INSTALL_DIR}


Update AddSwift.cmake

Update AddSwift.cmake

--- cmake/modules/AddSwift.cmake
+++ cmake/modules/AddSwift.cmake
@@ -1094,7 +1094,7 @@
   # conformance sections. This wouldn't be necessary if the link was done by
   # the swift binary: rdar://problem/19007002
   if("${CMAKE_SYSTEM_NAME}" STREQUAL "Linux" OR
-    "${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
+     "${CMAKE_SYSTEM_NAME}" STREQUAL "FreeBSD")
     list(APPEND link_flags
         "-Xlinker" "-T"
         "-Xlinker" "${SWIFTLIB_DIR}/${SWIFTLIB_SINGLE_SUBDIR}/swift.ld")


[CMake] Simplify consecutive identical if statements

--- cmake/modules/AddSwift.cmake
+++ cmake/modules/AddSwift.cmake
@@ -215,13 +215,12 @@
       endif()
     endif()

-    # MSVC/clang-cl don't support -fno-pic.
+    # MSVC/clang-cl don't support -fno-pic or -fms-compatability-version.
     if(NOT SWIFT_COMPILER_IS_MSVC_LIKE)
       list(APPEND result -fno-pic)
-    endif()
-  endif()
-
-  if("${CFLAGS_SDK}" STREQUAL "WINDOWS")
+      list(APPEND result "-fms-compatibility-version=1900")
+    endif()
+
     list(APPEND result "-DLLVM_ON_WIN32")
     list(APPEND result "-D_CRT_SECURE_NO_WARNINGS")
     list(APPEND result "-D_CRT_NONSTDC_NO_WARNINGS")
@@ -229,10 +228,6 @@
     list(APPEND result "-D_CRT_USE_WINAPI_FAMILY_DESKTOP_APP")
     # TODO(compnerd) handle /MT
     list(APPEND result "-D_DLL")
-
-    if(NOT "${CMAKE_C_COMPILER_ID}" STREQUAL "MSVC")
-      list(APPEND result "-fms-compatibility-version=1900")
-    endif()
   endif()

   if(CFLAGS_ENABLE_ASSERTIONS)


fix typo

fix typo

--- cmake/modules/FindROSE.cmake
+++ cmake/modules/FindROSE.cmake
@@ -3,7 +3,7 @@
 # ROSE_FOUND = true if ROSE is found

 FIND_PATH(ROSE_INCLUDE_DIR rose.h NO_SYSTEM_ENVIRONMENT_PATH)
-FIND_LIBRARY(ROAE_LIBRARIES rose  NO_SYSTEM_ENVIRONMENT_PATH)
+FIND_LIBRARY(ROSE_LIBRARIES rose  NO_SYSTEM_ENVIRONMENT_PATH)
 FIND_LIBRARY(ROSE_LIBRARIES rose)

 SET(ROSE_FOUND FALSE)


Fix a typo noticed by Peter Collingbourne. No one depends on this
working today, but it shouldn't corrupt state for some poor soul to
debug later.

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

--- cmake/modules/TableGen.cmake
+++ cmake/modules/TableGen.cmake
@@ -79,7 +79,7 @@
   set(${target}_OLD_LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS})
   set(LLVM_LINK_COMPONENTS ${LLVM_LINK_COMPONENTS} TableGen)
   add_llvm_utility(${target} ${ARGN})
-  set(LLVM_LINK_COMPONENTS ${target}_OLD_LLVM_LINK_COMPONENTS)
+  set(LLVM_LINK_COMPONENTS ${${target}_OLD_LLVM_LINK_COMPONENTS})

   set(${project}_TABLEGEN "${target}" CACHE
       STRING "Native TableGen executable. Saves building one when cross-compiling.")


Update compiler.cmake

Update compiler.cmake

Added final flags missed in regex

--- cmake_modules/compiler.cmake
+++ cmake_modules/compiler.cmake
@@ -207,6 +207,8 @@
                      " -Wno-exit-time-destructors"
                      " -Wno-undefined-func-template"
                      " -Wno-c++98-compat"
+                     " -Wno-shorten-64-to-32"
+                     " -Wno-c++98-compat-pedantic"
                      )
              string(CONCAT CMAKE_CXX_FLAGS ${CMAKE_CXX_FLAGS})
              #endif ()


Support CMake 3.14

Support CMake 3.14

--- CMake/mitkFunctionGetMSVCVersion.cmake
+++ CMake/mitkFunctionGetMSVCVersion.cmake
@@ -10,7 +10,7 @@
     message(WARNING "Unknown Visual Studio version ${MSVC_VERSION} (CMake/mitkFunctionGetMSVCVersion.cmake)")
   endif()

-  if("${CMAKE_GENERATOR}" MATCHES ".*Win64")
+  if(CMAKE_VS_PLATFORM_NAME STREQUAL x64)
     set(CMAKE_LIBRARY_ARCHITECTURE x64 PARENT_SCOPE)
   else()
     set(CMAKE_LIBRARY_ARCHITECTURE x86 PARENT_SCOPE)


ENH: Bump ITKUltrasound to 2018-06-15

ENH: Bump ITKUltrasound to 2018-06-15

--- SuperBuild/External_ITKUltrasound.cmake
+++ SuperBuild/External_ITKUltrasound.cmake
@@ -9,8 +9,8 @@

 set(${proj}_BINARY_DIR ${CMAKE_BINARY_DIR}/${proj}-build)

-# disable-wrapping 2016-10-24
-set(${proj}_GIT_TAG 8642d8dd8101e3a855b0265c4849da66da26cd6c)
+# disable-wrapping 2018-06-15
+set(${proj}_GIT_TAG ec34fd1d22aef70b28c34605638b0df95ea8e03c)
 ExternalProject_Add(${proj}
   ${${proj}_EP_ARGS}
   GIT_REPOSITORY ${git_protocol}://github.com/thewtex/ITKUltrasound.git


Remove unnessary definition

Remove unnessary definition

--- config.h.cmake
+++ config.h.cmake
@@ -4,6 +4,4 @@
 #define PACKAGE "${PROJECT_NAME}"
 #define VERSION "${PROJECT_VERSION}"

-#cmakedefine DISCID_FOUND
-
 #endif


ql: pp3: install pinmap csv

ql: pp3: install pinmap csv

Signed-off-by: Paweł Czarnecki <be3a62494a976d1435cc0900bd9adf3fa1029787@antmicro.com>

--- quicklogic/common/cmake/quicklogic_board.cmake
+++ quicklogic/common/cmake/quicklogic_board.cmake
@@ -96,18 +96,13 @@
       CLKMAP ${CMAKE_CURRENT_SOURCE_DIR}/${CLKMAP_CSV}
     )

-    # FIXME: Disable installation of PP3 targets
-    if(NOT "${FAMILY}" STREQUAL "pp3")
-        define_ql_pinmap_csv_install_target(
-          PART ${PART}
-          BOARD ${BOARD}
-          DEVICE_TYPE ${DEVICE_TYPE}
-          DEVICE ${DEVICE}
-          PACKAGE ${PACKAGE}
-          )
-    else()
-        message(WARNING "FIXME: Skipping installation of ${FAMILY} '${BOARD}' board")
-    endif()
+    define_ql_pinmap_csv_install_target(
+      PART ${PART}
+      BOARD ${BOARD}
+      DEVICE_TYPE ${DEVICE_TYPE}
+      DEVICE ${DEVICE}
+      PACKAGE ${PACKAGE}
+    )

   # For AP3 architecture generate pinmap and clkmap CSV files using the techfile
   # and VPR grid map which is generated along rr graph patching


add release flag for building neulib

add release flag for building neulib

--- neulib_com.cmake
+++ neulib_com.cmake
@@ -21,7 +21,7 @@
     DEPENDS             ${depends_args}
     GIT_REPOSITORY      ${libneurolabi_URL}
     CONFIGURE_COMMAND   git checkout master
-    BUILD_COMMAND       ${BUILDEM_ENV_STRING} ${libneurolabi_SRC_DIR}/neurolabi/update_library ${config_args}
+    BUILD_COMMAND       ${BUILDEM_ENV_STRING} ${libneurolabi_SRC_DIR}/neurolabi/update_library --release ${config_args}
     BUILD_IN_SOURCE     1
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} ${libneurolabi_SRC_DIR}/neurolabi/install_library ${BUILDEM_DIR} ${libname}
     )


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


Fixing some issues when ParaView is compiled against the system HDF5 library

--- Resources/CMake/ParaViewPluginIncludeMXADataModel.cmake
+++ Resources/CMake/ParaViewPluginIncludeMXADataModel.cmake
@@ -5,7 +5,8 @@
 SET(MXA_EXTERNAL_HDF5_LIBRARY ${PARAVIEW_HDF5_LIBRARIES})
 SET(HDF5_FOUND 1)
 SET(HDF5_LIBRARIES ${PARAVIEW_HDF5_LIBRARIES})
-SET(HDF5_INCLUDE_DIRS "${ParaView_SOURCE_DIR}/Utilities/hdf5" ${ParaView_BINARY_DIR}/Utilities/hdf5)
+INCLUDE_DIRECTORIES( ${HDF5_INCLUDE_DIR} )
+#SET(HDF5_INCLUDE_DIRS "${ParaView_SOURCE_DIR}/Utilities/hdf5" ${ParaView_BINARY_DIR}/Utilities/hdf5)

 # ------- Add support for Expat and XML parsing
 SET (MXA_USE_XML  ON)
@@ -32,11 +33,11 @@

    # MESSAGE (STATUS "Plugin: [${MODULE_NAME}] adding MXADataModel Library")
 set (MXA_BUILD_TESTING_SAVE ${MXA_BUILD_TESTING})
-#set (MXA_BUILD_TESTING ON)
-set (MXA_OUTPUT_DIRS_DEFINED 1)
+#SET (MXA_BUILD_TESTING ON)
+SET (MXA_OUTPUT_DIRS_DEFINED 1)
 ADD_SUBDIRECTORY("${MXADataModel_SOURCE_DIR}" ${ParaView_BINARY_DIR}/MXADataModel)
 INCLUDE_DIRECTORIES(${Boost_INCLUDE_DIRS})  # Include the Boost Headers
-set (MXA_BUILD_TESTING ${MXA_BUILD_TESTING_SAVE})
+SET (MXA_BUILD_TESTING ${MXA_BUILD_TESTING_SAVE})
 SET (MXADATAMODEL_TARGET_ADDED TRUE )


Use CommonPackage in PackageConfig (#240)

--- PackageConfig.cmake
+++ PackageConfig.cmake
@@ -49,6 +49,7 @@

 # Write the ProjectConfig.cmake.in file for configure_package_config_file
 # this will be copied eventually into the install directory
+file(READ "${CMAKE_CURRENT_LIST_DIR}/CommonPackage.cmake" COMMON_PACKAGE_MACRO)
 set(_config_file_prefix
   "\n"
 # add helper stuff from CMakePackageConfigHelpers
@@ -59,6 +60,7 @@
   "  get_filename_component(CMAKE_CURRENT_LIST_DIR \${CMAKE_CURRENT_LIST_FILE} PATH)\n"
   "endif()\n"
   "list(APPEND CMAKE_MODULE_PATH \${CMAKE_CURRENT_LIST_DIR})\n"
+  "${COMMON_PACKAGE_MACRO}\n"
 )

 set(_config_file_body
@@ -286,6 +288,7 @@
 )

 # 2. add code to find each individual dependency
+list(REMOVE_DUPLICATES ${UPPER_PROJECT_NAME}_DEPENDENT_LIBRARIES)
 foreach(_dependent ${${UPPER_PROJECT_NAME}_DEPENDENT_LIBRARIES})
   string(TOUPPER ${_dependent} _DEPENDENT)
   # Check if the dependant project uses mixed case or upper case for its name
@@ -325,7 +328,7 @@
     # Reset previously found dependent libraries
     "set(${${_dependent}_name}_LIBRARIES)\n"
     "set(${${_dependent}_name}_FOUND)\n"
-    "find_package(${_dependent} ${_FIND_VERSION} QUIET \${_req} ${_components})\n"
+    "common_package(${_dependent} ${_FIND_VERSION} QUIET \${_req} ${_components})\n"
     "if(${${_dependent}_name}_FOUND)\n"
     "  set(${UPPER_PROJECT_NAME}_${${_dependent}_name}_LIBRARIES \${${${_dependent}_name}_LIBRARIES})\n"
     "  set(${UPPER_PROJECT_NAME}_${${_dependent}_name}_FOUND TRUE)\n"


boards: holybro can-gps-v1 fix bosch bmm150 path

--- boards/holybro/can-gps-v1/default.cmake
+++ boards/holybro/can-gps-v1/default.cmake
@@ -35,7 +35,7 @@
 		gps
 		imu/bosch/bmi088
 		lights/rgbled_ncp5623c
-		magnetometer/bmm150
+		magnetometer/bosch/bmm150
 		uavcannode
 	MODULES
 		load_mon


Fixed shader compilation for vulkan 1.2.

--- cmake/CompileSpirvShader.cmake
+++ cmake/CompileSpirvShader.cmake
@@ -24,7 +24,7 @@
         DEPENDS ${SHADER_FILE} COMMAND_EXPAND_LISTS)
     add_custom_command(
         OUTPUT ${COMPILE_OUTPUT}
-        COMMAND ${GLSLANG_EXECUTABLE} -V ${PREPROCESSOR_OUTPUT} -o ${COMPILE_OUTPUT}
+        COMMAND ${GLSLANG_EXECUTABLE} -V ${PREPROCESSOR_OUTPUT} --target-env vulkan1.2 -o ${COMPILE_OUTPUT}
         DEPENDS ${PREPROCESSOR_OUTPUT})
     set(COMPILE_SPIRV_SHADER_RETURN ${COMPILE_OUTPUT} PARENT_SCOPE)
 endfunction()


cmake/FindWaffle: Don't expose WAFFLE_VERSION_H

Signed-off-by: Chad Versace <a557f7f75bf28dc19ac99107f5cc7cd6b3fbdb1a@linux.intel.com>

--- cmake/Modules/FindWaffle.cmake
+++ cmake/Modules/FindWaffle.cmake
@@ -78,7 +78,9 @@
 unset(WAFFLE_FIND_VERSION_MAJOR CACHE)
 unset(WAFFLE_INCLUDE_DIR CACHE)
 unset(WAFFLE_PREFIX_INCLUDE_DIR CACHE)
+unset(WAFFLE_VERSION_H CACHE)

 unset(WAFFLE_FIND_VERSION_MAJOR)
 unset(WAFFLE_INCLUDE_DIR)
 unset(WAFFLE_PREFIX_INCLUDE_DIR)
+unset(WAFFLE_VERSION_H)


Use cmake included function instead of cotire

--- cmake/Modules/PCHSupport.cmake
+++ cmake/Modules/PCHSupport.cmake
@@ -1,13 +1,5 @@
-include(cotire)
-
 function(GEN_CXX_PCH TARGET_LIST PCH_HEADERS)
-  # iterate through targets
   foreach(TARGET_HEADER ${TARGET_LIST})
-    # unity builds disabled
-    set_target_properties(${TARGET_HEADER} PROPERTIES COTIRE_ADD_UNITY_BUILD OFF)
-
-    # prefix header
-    set_target_properties(${TARGET_HEADER} PROPERTIES COTIRE_CXX_PREFIX_HEADER_INIT ${PCH_HEADERS})
+    target_precompile_headers(${TARGET_HEADER} PRIVATE ${PCH_HEADERS})
   endforeach()
-  cotire(${TARGET_LIST})
 endfunction(GEN_CXX_PCH)


Fix from FindGpgme.cmake applies here, too.

svn path=/branches/work/kdab-post-4.0/kdepim/; revision=711054

--- cmake/modules/FindAssuan.cmake
+++ cmake/modules/FindAssuan.cmake
@@ -222,7 +222,7 @@
           endif()
         endforeach()

-        if ( _assuan_config_libs OR _assuan_config_pthread_libs OR _assuan_config_pth_libs )
+        if ( _assuan_config_vanilla_libs OR _assuan_config_pthread_libs OR _assuan_config_pth_libs )

           exec_program( ${_ASSUANCONFIG_EXECUTABLE} ARGS --cflags OUTPUT_VARIABLE _ASSUAN_CFLAGS )


Cleanup - mark OpenCV library as advanced.

--- cmake/modules/FindOpenCL.cmake
+++ cmake/modules/FindOpenCL.cmake
@@ -34,5 +34,5 @@
 INCLUDE(FindPackageHandleStandardArgs)
 FIND_PACKAGE_HANDLE_STANDARD_ARGS(OpenCL DEFAULT_MSG OPENCL_INCLUDE_DIR OPENCL_LIBRARY)

-MARK_AS_ADVANCED(OPENCL_INCLUDE_DIR OPENCL_LIBRARY_DIR)
+MARK_AS_ADVANCED(OPENCL_INCLUDE_DIR OPENCL_LIBRARY_DIR OPENCL_LIBRARY)


Ticket #3136 fix copy past issue on dependencies

--- build/cmake/macros/CondorUnitTest.cmake
+++ build/cmake/macros/CondorUnitTest.cmake
@@ -41,7 +41,7 @@
 		add_executable( ${LOCAL_${_CNDR_TARGET}} ${_SRCS})

 		if (BOOST_REF)
-		    add_dependencies( classads ${BOOST_REF} )
+		    add_dependencies( ${LOCAL_${_CNDR_TARGET}} ${BOOST_REF} )
 		endif()

 		if ( WINDOWS )


sets appropriate variable when csharp is found

--- build/modules/FindProtocolBuffers.cmake
+++ build/modules/FindProtocolBuffers.cmake
@@ -43,7 +43,7 @@
       # FIXME we should have a better way to determine this, e.g. by running the compiler
       FIND_FILE(PROTOCOLBUFFERS_CSHARP_LIB NAMES Google.ProtocolBuffers.dll PATHS ${PROTOCOLBUFFERS_BIN_DIRS} NO_DEFAULT_PATH)
       IF(PROTOCOLBUFFERS_CSHARP_LIB)
-        SET(PROTCOLBUFFERS_SUPPORTS_CSHARP TRUE)
+        SET(PROTOCOLBUFFERS_SUPPORTS_CSHARP TRUE)
       ENDIF()
     ENDIF()


COMP Fixed DCMTK path in dashboard setup script

--- CMake/MITKDashboardSetup.cmake
+++ CMake/MITKDashboardSetup.cmake
@@ -73,11 +73,12 @@
   set(ITK_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/ITK-build/bin/${CTEST_BUILD_CONFIGURATION}")
   set(BOOST_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/Boost-install/lib")
   set(GDCM_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/GDCM-build/bin/${CTEST_BUILD_CONFIGURATION}")
+  set(DCMTK_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/DCMTK-install/bin/${CTEST_BUILD_CONFIGURATION}")
   set(OPENCV_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/OpenCV-build/bin/${CTEST_BUILD_CONFIGURATION}")
   set(POCO_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/Poco-install/lib")
   set(SOFA_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/SOFA-build/bin/${CTEST_BUILD_CONFIGURATION}")
   set(BLUEBERRY_OSGI_DIR "${CTEST_BINARY_DIRECTORY}/MITK-build/bin/BlueBerry/org.blueberry.osgi/bin/${CTEST_BUILD_CONFIGURATION}")
-  set(CTEST_PATH "${CTEST_PATH};${CPPUNIT_BINARY_DIR};${QT_BINARY_DIR};${VTK_BINARY_DIR};${ANN_BINARY_DIR};${GLUT_BINARY_DIR};${GLEW_BINARY_DIR};${TINYXML_BINARY_DIR};${QWT_BINARY_DIR};${QXT_BINARY_DIR};${ACVD_BINARY_DIR};${ITK_BINARY_DIR};${BOOST_BINARY_DIR};${GDCM_BINARY_DIR};${OPENCV_BINARY_DIR};${POCO_BINARY_DIR};${SOFA_BINARY_DIR};${BLUEBERRY_OSGI_DIR}")
+  set(CTEST_PATH "${CTEST_PATH};${CPPUNIT_BINARY_DIR};${QT_BINARY_DIR};${VTK_BINARY_DIR};${ANN_BINARY_DIR};${GLUT_BINARY_DIR};${GLEW_BINARY_DIR};${TINYXML_BINARY_DIR};${QWT_BINARY_DIR};${QXT_BINARY_DIR};${ACVD_BINARY_DIR};${ITK_BINARY_DIR};${BOOST_BINARY_DIR};${GDCM_BINARY_DIR};${DCMTK_BINARY_DIR};${OPENCV_BINARY_DIR};${POCO_BINARY_DIR};${SOFA_BINARY_DIR};${BLUEBERRY_OSGI_DIR}")
 endif()
 set(ENV{PATH} "${CTEST_PATH}")


COMP: Corrected boost path for tests.

COMP: Corrected boost path for tests.

--- CMake/MITKDashboardSetup.cmake
+++ CMake/MITKDashboardSetup.cmake
@@ -36,7 +36,7 @@
   set(VTK_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/VTK-build/bin/${CTEST_BUILD_CONFIGURATION}")
   set(ACVD_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/ACVD-build/bin/${CTEST_BUILD_CONFIGURATION}")
   set(ITK_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/ITK-build/bin/${CTEST_BUILD_CONFIGURATION}")
-  set(BOOST_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/Boost-src/stage/lib")
+  set(BOOST_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/Boost-install/lib")
   set(GDCM_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/GDCM-build/bin/${CTEST_BUILD_CONFIGURATION}")
   set(OPENCV_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/OpenCV-build/bin/${CTEST_BUILD_CONFIGURATION}")
   set(SOFA_BINARY_DIR "${CTEST_BINARY_DIRECTORY}/SOFA-build/bin/${CTEST_BUILD_CONFIGURATION}")


Add pre-js script to process request parameters as app's arguments. Fix #1747. [ci only: Web]

--- CMake/Modules/UrhoCommon.cmake
+++ CMake/Modules/UrhoCommon.cmake
@@ -1477,6 +1477,12 @@
                         install (FILES ${SHARED_JS} ${SHARED_RESOURCE_JS}.data DESTINATION ${DEST_BUNDLE_DIR})
                     endif ()
                 endif ()
+                # If not using EMRUN then we need to include the emrun_prejs.js manually in order to process the request parameters as arguments correctly
+                if (NOT URHO3D_TESTING)
+                    set (EMRUN_PREJS ${EMSCRIPTEN_ROOT_PATH}/src/emrun_prejs.js)
+                    list (APPEND SOURCE_FILES ${EMRUN_PREJS})
+                    set_source_files_properties (${EMRUN_PREJS} PROPERTIES EMCC_OPTION pre-js)
+                endif ()
             endif ()
         endif ()
     endif ()


From Nico Kruithof, "I found that Collada wasn't found correctly with visual studio 2010."

--- CMakeModules/FindCOLLADA.cmake
+++ CMakeModules/FindCOLLADA.cmake
@@ -28,6 +28,8 @@
     SET(COLLADA_BUILDNAME "mac")
 ELSEIF(MINGW)
     SET(COLLADA_BUILDNAME "mingw")
+ELSEIF(MSVC10)
+    SET(COLLADA_BUILDNAME "vc10")
 ELSEIF(MSVC90)
     SET(COLLADA_BUILDNAME "vc9")
 ELSEIF(MSVC80)


build BUGFIX incorrectly removed libyang CPP bindings cmake search

--- CMakeModules/FindLibYANG.cmake
+++ CMakeModules/FindLibYANG.cmake
@@ -5,6 +5,10 @@
 #  LIBYANG_INCLUDE_DIRS - the LibYANG include directory
 #  LIBYANG_LIBRARIES - Link these to use LibYANG
 #  LIBYANG_VERSION - SO version of the found libyang library
+#
+#  LIBYANG_CPP_FOUND - system has LibYANG C++ bindings
+#  LIBYANG_CPP_INCLUDE_DIRS - the LibYANG C++ include directory
+#  LIBYANG_CPP_LIBRARIES - Link these to use LibYANG C++ bindings
 #
 #  Author Radek Krejci <rkrejci@cesnet.cz>
 #  Copyright (c) 2015 CESNET, z.s.p.o.
@@ -82,3 +86,48 @@
         REQUIRED_VARS LIBYANG_LIBRARY LIBYANG_INCLUDE_DIR
         VERSION_VAR LIBYANG_VERSION)
 endif()
+
+#C++ bindings
+if (LIBYANG_CPP_LIBRARIES AND LIBYANG_CPP_INCLUDE_DIRS)
+    # in cache already
+    set(LIBYANG_CPP_FOUND TRUE)
+else ()
+    find_path(LIBYANG_CPP_INCLUDE_DIR
+        NAMES
+        libyang/Libyang.hpp
+        PATHS
+        /usr/include
+        /usr/local/include
+        /opt/local/include
+        /sw/include
+        ${CMAKE_INCLUDE_PATH}
+        ${CMAKE_INSTALL_PREFIX}/include
+    )
+
+    find_library(LIBYANG_CPP_LIBRARY
+        NAMES
+        yang-cpp
+        libyang-cpp
+        PATHS
+        /usr/lib
+        /usr/lib64
+        /usr/local/lib
+        /usr/local/lib64
+        /opt/local/lib
+        /sw/lib
+        ${CMAKE_LIBRARY_PATH}
+        ${CMAKE_INSTALL_PREFIX}/lib
+    )
+
+    if (LIBYANG_CPP_INCLUDE_DIR AND LIBYANG_CPP_LIBRARY)
+        set(LIBYANG_CPP_FOUND TRUE)
+    else ()
+        set(LIBYANG_CPP_FOUND FALSE)
+    endif ()
+
+    set(LIBYANG_CPP_INCLUDE_DIRS ${LIBYANG_CPP_INCLUDE_DIR})
+    set(LIBYANG_CPP_LIBRARIES ${LIBYANG_CPP_LIBRARY})
+
+    # show the LIBYANG_CPP_INCLUDE_DIRS and LIBYANG_CPP_LIBRARIES variables only in the advanced view
+    mark_as_advanced(LIBYANG_CPP_INCLUDE_DIRS LIBYANG_CPP_LIBRARIES)
+endif()


Use dynamic project source dir [set (INTERNAL_MODULE_DIR ${PROJECT_SOURCE_DIR})] instead of hard-coded dir [set (INTERNAL_MODULE_DIR "..")]. This way the cmake finds libs nicely from e.g. trunk/EntityComponents/EC_XXX, and EC_XXX finds the other include directories correctly.

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

--- CMakeModules/ModuleSetup.cmake
+++ CMakeModules/ModuleSetup.cmake
@@ -102,9 +102,9 @@
 # include local module headers
 macro (use_modules)
     message (STATUS "-- using modules:")
-    set (INTERNAL_MODULE_DIR "..")
+    set (INTERNAL_MODULE_DIR ${PROJECT_SOURCE_DIR})
     foreach (module_ ${ARGN})
-		message (STATUS "       " ${module_})
+        message (STATUS "       " ${module_})
         include_directories (${INTERNAL_MODULE_DIR}/${module_})
         link_directories (${INTERNAL_MODULE_DIR}/${module_})
     endforeach ()


COMP: CDash clients should build all apps by default.

--- CMake/MITKDashboardSetup.cmake
+++ CMake/MITKDashboardSetup.cmake
@@ -92,6 +92,7 @@
 BLUEBERRY_BUILD_TESTING:BOOL=TRUE
 BLUEBERRY_BUILD_ALL_PLUGINS:BOOL=TRUE
 MITK_BUILD_ALL_PLUGINS:BOOL=TRUE
+MITK_BUILD_ALL_APPS:BOOL=TRUE
 SUPERBUILD_EXCLUDE_MITKBUILD_TARGET:BOOL=TRUE
 MITK_USE_Boost:BOOL=${MITK_USE_Boost}
 MITK_USE_OpenCV:BOOL=${MITK_USE_OpenCV}


STYLE: Removed the $ so you can copy/paste the block.

--- CMake/vtkCheckSourceTree.cmake
+++ CMake/vtkCheckSourceTree.cmake
@@ -9,10 +9,10 @@
     message(FATAL_ERROR "
  Please initialize your local Git hooks, paste the following into a shell:

- $ cd ${VTK_SOURCE_DIR}/.git/hooks
- $ git init
- $ git pull .. remotes/origin/hooks
- $ cd ../..
+ cd ${VTK_SOURCE_DIR}/.git/hooks
+ git init
+ git pull .. remotes/origin/hooks
+ cd ../..

  See http://www.vtk.org/Wiki/VTK/Git#Hooks for more details.


- improve detection of libSBML

- improve detection of libSBML

--- CMakeModules/FindLIBSBML.cmake
+++ CMakeModules/FindLIBSBML.cmake
@@ -1,4 +1,9 @@
-# Copyright (C) 2012 - 2013 by Pedro Mendes, Virginia Tech Intellectual
+# Copyright (C) 2017 by Pedro Mendes, Virginia Tech Intellectual
+# Properties, Inc., University of Heidelberg, and University of
+# of Connecticut School of Medicine.
+# All rights reserved.
+
+# Copyright (C) 2012 - 2016 by Pedro Mendes, Virginia Tech Intellectual
 # Properties, Inc., University of Heidelberg, and The University
 # of Manchester.
 # All rights reserved.
@@ -8,19 +13,48 @@
 # LIBSBML_INCLUDE_DIR, where to find the headers
 #
 # LIBSBML_LIBRARY, LIBSBML_LIBRARY_DEBUG
-# LIBSBML_FOUND
-#
-# $LIBSBML_DIR is an environment variable that would
-# correspond to the ./configure --prefix=$LIBSBML_DIR
-#
-# Created by Robert Osfield.
-# Modified by Ralph Gauges
+# LIBSBML_FOUND, LIBSBML_LIBRARY_NAME

-message (STATUS "$ENV{LIBSBML_DIR}")
+
+if(UNIX OR CYGWIN OR MINGW)
+  set(LIBSBML_LIBRARY_NAME sbml)
+else()
+  set(LIBSBML_LIBRARY_NAME libsbml)
+endif()
+
+if (NOT LIBSBML_SHARED)
+  set(LIBSBML_LIBRARY_NAME "${LIBSBML_LIBRARY_NAME}-static")
+endif()
+
+message (STATUS "Looking for ${LIBSBML_LIBRARY_NAME}")
+
+find_package(${LIBSBML_LIBRARY_NAME} CONFIG QUIET)
+
+if (NOT ${LIBSBML_LIBRARY_NAME}_FOUND)
+  find_package(${LIBSBML_LIBRARY_NAME} CONFIG QUIET
+    PATHS /usr/lib/cmake
+          /usr/local/lib/cmake
+          /opt/lib/cmake
+          /opt/local/lib/cmake
+          /sw/lib/cmake
+  )
+endif()
+
+if (${LIBSBML_LIBRARY_NAME}_FOUND)
+
+  get_target_property(LIBSBML_LIBRARY ${LIBSBML_LIBRARY_NAME} LOCATION)
+  get_filename_component(LIB_PATH ${LIBSBML_LIBRARY} DIRECTORY)
+  file(TO_CMAKE_PATH ${LIB_PATH}/../include LIBSBML_INCLUDE_DIR)
+  get_filename_component (LIBSBML_INCLUDE_DIR ${LIBSBML_INCLUDE_DIR} REALPATH)
+  get_target_property(LIBSBML_VERSION ${LIBSBML_LIBRARY_NAME} VERSION)
+
+else()

 find_path(LIBSBML_INCLUDE_DIR sbml/SBase.h
     PATHS $ENV{LIBSBML_DIR}/include
           $ENV{LIBSBML_DIR}
+          ${COPASI_DEPENDENCY_DIR}
+          ${COPASI_DEPENDENCY_DIR}/include
           ~/Library/Frameworks
           /Library/Frameworks
           /sw/include        # Fink
@@ -31,12 +65,14 @@
     NO_DEFAULT_PATH)

 if (NOT LIBSBML_INCLUDE_DIR)
+    find_path(LIBSBML_INCLUDE_DIR sbml/SBase.h)
+endif (NOT LIBSBML_INCLUDE_DIR)
+
+
+if (NOT LIBSBML_INCLUDE_DIR)
     message(FATAL_ERROR "libsbml include dir not found not found!")
 endif (NOT LIBSBML_INCLUDE_DIR)

-if (NOT LIBSBML_INCLUDE_DIR)
-    find_path(LIBSBML_INCLUDE_DIR sbml/SBase.h)
-endif (NOT LIBSBML_INCLUDE_DIR)

 find_library(LIBSBML_LIBRARY
     NAMES sbml-static
@@ -45,6 +81,8 @@
           libsbml
     PATHS $ENV{LIBSBML_DIR}/lib
           $ENV{LIBSBML_DIR}
+          ${COPASI_DEPENDENCY_DIR}
+          ${COPASI_DEPENDENCY_DIR}/lib
           ~/Library/Frameworks
           /Library/Frameworks
           /sw/lib        # Fink
@@ -64,9 +102,16 @@
     message(FATAL_ERROR "LIBSBML library not found!")
 endif (NOT LIBSBML_LIBRARY)

+  add_library(${LIBSBML_LIBRARY_NAME} UNKNOWN IMPORTED)
+  set_target_properties(${LIBSBML_LIBRARY_NAME} PROPERTIES IMPORTED_LOCATION ${LIBSBML_LIBRARY})
+
+endif()
+
+
+
 set(LIBSBML_FOUND "NO")
 if(LIBSBML_LIBRARY)
-    if   (LIBSBML_INCLUDE_DIR)
+    if (LIBSBML_INCLUDE_DIR)
         SET(LIBSBML_FOUND "YES")
     endif(LIBSBML_INCLUDE_DIR)
 endif(LIBSBML_LIBRARY)
@@ -74,6 +119,7 @@
 # handle the QUIETLY and REQUIRED arguments and set LIBSBML_FOUND to TRUE if
 # all listed variables are TRUE
 include(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSBML DEFAULT_MSG LIBSBML_LIBRARY LIBSBML_INCLUDE_DIR)
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(LIBSBML DEFAULT_MSG LIBSBML_LIBRARY_NAME LIBSBML_LIBRARY LIBSBML_INCLUDE_DIR)

-mark_as_advanced(LIBSBML_INCLUDE_DIR LIBSBML_LIBRARY)
+mark_as_advanced(LIBSBML_INCLUDE_DIR LIBSBML_LIBRARY LIBSBML_LIBRARY_NAME)
+


Add FreeImage CMake Variables to build_forge

--- CMakeModules/build_forge.cmake
+++ CMakeModules/build_forge.cmake
@@ -56,11 +56,15 @@
     -DCMAKE_CXX_COMPILER:FILEPATH=${CMAKE_CXX_COMPILER}
     -DCMAKE_C_COMPILER:FILEPATH=${CMAKE_C_COMPILER}
     -DCMAKE_BUILD_TYPE:STRING=${CMAKE_BUILD_TYPE}
+    -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
+    -DBUILD_EXAMPLES:BOOL=OFF
     -DUSE_SYSTEM_GLBINDING:BOOL=TRUE
     -Dglbinding_DIR:STRING=${glbinding_DIR}
     -DGLFW_ROOT_DIR:STRING=${GLFW_ROOT_DIR}
-    -DCMAKE_INSTALL_PREFIX:PATH=<INSTALL_DIR>
-    -DBUILD_EXAMPLES:BOOL=OFF
+    -DFREEIMAGE_INCLUDE_PATH:PATH=${FREEIMAGE_INCLUDE_PATH}
+    -DFREEIMAGE_DYNAMIC_LIBRARY:PATH=${FREEIMAGE_DYNAMIC_LIBRARY}
+    -DFREEIMAGE_STATIC_LIBRARY:PATH=${FREEIMAGE_STATIC_LIBRARY}
+    -DUSE_FREEIMAGE_STATIC:BOOL=${USE_FREEIMAGE_STATIC}
     BUILD_COMMAND ${CMAKE_COMMAND} --build . --config ${forge_lib_config}
     ${byproducts}
     )


ENH: upgrade libsvm is superbuild to 3.22

--- SuperBuild/CMake/External_libsvm.cmake
+++ SuperBuild/CMake/External_libsvm.cmake
@@ -4,8 +4,8 @@

 ExternalProject_Add(LIBSVM
   PREFIX LIBSVM
-  URL "http://www.csie.ntu.edu.tw/~cjlin/libsvm/libsvm-3.20.tar.gz"
-  URL_MD5 5f088e5f89da1c65b642300c9c5ea772
+  URL "https://github.com/cjlin1/libsvm/archive/v322.tar.gz"
+  URL_MD5 d9617d29efad013573f63ca9a517f490
   BINARY_DIR ${LIBSVM_SB_BUILD_DIR}
   DOWNLOAD_DIR ${DOWNLOAD_LOCATION}
   INSTALL_DIR ${SB_INSTALL_PREFIX}


Speed up event production in DiscardWriter so we're more sure of seeing discards.

--- testing/adios2/engine/staging-common/TestSupp.cmake
+++ testing/adios2/engine/staging-common/TestSupp.cmake
@@ -119,7 +119,7 @@
 set (LatestReader_PROPERTIES "RUN_SERIAL;1")

 # A faster writer and a queue policy that will cause timesteps to be discarded
-set (DiscardWriter_CMD "run_multi_test -test_protocol one_to_one -verbose -nw 1 -nr 1 -warg --engine_params -warg QueueLimit:1,QueueFullPolicy:discard,ENGINE_PARAMS -warg --ms_delay -warg 500 -rarg --discard")
+set (DiscardWriter_CMD "run_multi_test -test_protocol one_to_one -verbose -nw 1 -nr 1 -warg --engine_params -warg QueueLimit:1,QueueFullPolicy:discard,ENGINE_PARAMS -warg --ms_delay -warg 250 -rarg --discard")

 function(remove_engine_params_placeholder dst_str src_str )
     string(REGEX REPLACE "([^ 		  ]*),ENGINE_PARAMS" "\\1" src_str "${src_str}")


remove forgottten functionparser cmake file

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

--- deal.II/cmake/configure/configure_functionparser.cmake
+++ deal.II/cmake/configure/configure_functionparser.cmake
@@ -1,41 +0,0 @@
-## ---------------------------------------------------------------------
-## $Id$
-##
-## Copyright (C) 2012 - 2014 by the deal.II authors
-##
-## This file is part of the deal.II library.
-##
-## The deal.II library is free software; you can use it, redistribute
-## it, and/or modify it under the terms of the GNU Lesser General
-## Public License as published by the Free Software Foundation; either
-## version 2.1 of the License, or (at your option) any later version.
-## The full text of the license can be found in the file LICENSE at
-## the top level of the deal.II distribution.
-##
-## ---------------------------------------------------------------------
-
-#
-# Configuration for functionparser
-#
-
-MACRO(FEATURE_FUNCTIONPARSER_FIND_EXTERNAL var)
-  MESSAGE(STATUS
-    "No module available for finding functionparser externally."
-    )
-ENDMACRO()
-
-
-MACRO(FEATURE_FUNCTIONPARSER_CONFIGURE_BUNDLED)
-  SET(FUNCTIONPARSER_BUNDLED_INCLUDE_DIRS ${FUNCTIONPARSER_FOLDER})
-ENDMACRO()
-
-
-MACRO(FEATURE_FUNCTIONPARSER_ERROR_MESSAGE)
-  MESSAGE(FATAL_ERROR "\n"
-    "No module available for finding functionparser externally.\n"
-    "Disable DEAL_II_WITH_FUNCTIONPARSER, or enable DEAL_II_ALLOW_BUNDLED.\n\n"
-    )
-ENDMACRO()
-
-
-CONFIGURE_FEATURE(FUNCTIONPARSER)


fixed missing boost dlls issue

fixed missing boost dlls issue

--- SuperBuild/External_SIRF.cmake
+++ SuperBuild/External_SIRF.cmake
@@ -56,6 +56,12 @@

   message(STATUS "HDF5_ROOT in External_SIRF: " ${HDF5_ROOT})
   set(CMAKE_LIBRARY_PATH ${CMAKE_LIBRARY_PATH} ${SUPERBUILD_INSTALL_DIR})
+
+  if (WIN32)
+    set(extra_args "-DSIRF_INSTALL_DEPENDENCIES=ON")
+  else()
+    set(extra_args "")
+  endif()

   ExternalProject_Add(${proj}
     ${${proj}_EP_ARGS}
@@ -88,6 +94,7 @@
         -DPYTHON_DEST_DIR=${PYTHON_DEST_DIR}
         -DPYTHON_STRATEGY=${PYTHON_STRATEGY}
         -DNiftyReg_Binary_DIR=${NiftyReg_Binary_DIR}
+		${extra_args}
 	INSTALL_DIR ${SIRF_Install_Dir}
     DEPENDS
         ${${proj}_DEPENDENCIES}


Update VMTK to latest version

Update VMTK to latest version

Fixes build with C++ 17

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

   ExternalProject_SetIfNotDefined(
     ${CMAKE_PROJECT_NAME}_${proj}_GIT_TAG
-    "1373d5b841a49f376f5f21bd3aeb21e831f7571c"
+    "30b0fdad5674d6f134e8a8b601bcef7917671b0a"
     QUIET
     )


Fix check to use a clean build

Fix check to use a clean build

--- scripts/dashboard/common.cmake
+++ scripts/dashboard/common.cmake
@@ -357,9 +357,9 @@
 endif()

 if(dashboard_fresh)
-  if(EXISTS CTEST_BINARY_DIRECTORY)
+  if(EXISTS "${CTEST_BINARY_DIRECTORY}")
     message("Clearing build tree...")
-    ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
+    ctest_empty_binary_directory("${CTEST_BINARY_DIRECTORY}")
   else()
     file(MAKE_DIRECTORY "${CTEST_BINARY_DIRECTORY}")
   endif()


ctest: get build type from AppVeyor & set CTEST_SITE

Signed-off-by: Matthias Kretz <372ea4eca737a13cd010ee806d4ce7b98ee71550@kde.org>

--- test.cmake
+++ test.cmake
@@ -16,9 +16,14 @@

 # Set CMAKE_BUILD_TYPE from environment variable
 ################################################################################
-set(build_type "$ENV{build_type}")
-if(NOT build_type)
-   set(build_type "Release")
+set(appveyor $ENV{APPVEYOR})
+if(appveyor)
+   set(build_type "$ENV{CONFIGURATION}")
+else()
+   set(build_type "$ENV{build_type}")
+   if(NOT build_type)
+      set(build_type "Release")
+   endif()
 endif()

 # better make sure we get english output (this is vital for the implicit_type_conversion_failures tests)
@@ -45,6 +50,8 @@
 set(travis_os $ENV{TRAVIS_OS_NAME})
 if(travis_os)
    set(CTEST_SITE "Travis CI")
+elseif(appveyor)
+   set(CTEST_SITE "AppVeyor CI")
 else()
    execute_process(COMMAND hostname -s RESULT_VARIABLE ok OUTPUT_VARIABLE CTEST_SITE ERROR_QUIET OUTPUT_STRIP_TRAILING_WHITESPACE)
    if(NOT ok EQUAL 0)


Changed path ordering and fixed typos

Changed path ordering and fixed typos

--- src/ibp/cmake/FindOpenSSL.cmake
+++ src/ibp/cmake/FindOpenSSL.cmake
@@ -66,15 +66,15 @@

    FIND_LIBRARY(OPENSSL_LIBRARIES NAMES ssl ssleay32 ssleay32MD libeay32 libeay32MD
       PATHS
-      $ENV{CMAKE_PREFIX_PATH}/include/
-      $ENV{HOME}/include/
+      $ENV{CMAKE_PREFIX_PATH}/lib/
+      $ENV{HOME}/lib/
       /usr/lib
       /usr/local/lib
    )
    FIND_LIBRARY(CRYPTO_LIBRARIES crypto
       PATHS
-      $ENV{CMAKE_PREFIX_PATH}/include/
-      $ENV{HOME}/include/
+      $ENV{CMAKE_PREFIX_PATH}/lib/
+      $ENV{HOME}/lib/
       /usr/lib
       /usr/local/lib
    )


Fixes #140. Seems Apple has bumped the minimum required target to 13.1 in newer versions of Xcode for Mac Catalyst.

--- ios.toolchain.cmake
+++ ios.toolchain.cmake
@@ -245,14 +245,14 @@
     set(DEPLOYMENT_TARGET "11.0")
   elseif(PLATFORM STREQUAL "MAC_CATALYST" OR PLATFORM STREQUAL "MAC_CATALYST_ARM64")
     # Unless specified, SDK version 13.0 is used by default as minimum target version (mac catalyst minimum requirement).
-    set(DEPLOYMENT_TARGET "13.0")
+    set(DEPLOYMENT_TARGET "13.1")
   else()
     # Unless specified, SDK version 11.0 is used by default as minimum target version (iOS, tvOS).
     set(DEPLOYMENT_TARGET "11.0")
   endif()
   message(STATUS "[DEFAULTS] Using the default min-version since DEPLOYMENT_TARGET not provided!")
-elseif(DEFINED DEPLOYMENT_TARGET AND PLATFORM MATCHES "^MAC_CATALYST" AND ${DEPLOYMENT_TARGET} VERSION_LESS "13.0")
-  message(FATAL_ERROR "Mac Catalyst builds requires a minimum deployment target of 13.0!")
+elseif(DEFINED DEPLOYMENT_TARGET AND PLATFORM MATCHES "^MAC_CATALYST" AND ${DEPLOYMENT_TARGET} VERSION_LESS "13.1")
+  message(FATAL_ERROR "Mac Catalyst builds requires a minimum deployment target of 13.1!")
 endif()

 # Store the DEPLOYMENT_TARGET in the cache


not necessary anymore (removed cmake error) -thomas

--- CMake/BuildConfigurations/camiPhotoacousticsSetup.cmake
+++ CMake/BuildConfigurations/camiPhotoacousticsSetup.cmake
@@ -1,10 +1,4 @@
 message(STATUS "Configuring MITK Photoacoustics Setup Build")
-
-set(MITK_CONFIG_PACKAGES
-  ACVD
-  QT
-  BLUEBERRY
-)

 # Enable open cv and open igt link, which is a necessary configuration
 set(MITK_USE_OpenCV ON CACHE BOOL "MITK Use OpenCV Library" FORCE)


[GLES2] Improve PowerVR SDK discovery on Windows and add support for the paths in the 3.0 sdk.

--- CMake/Packages/FindOpenGLES2.cmake
+++ CMake/Packages/FindOpenGLES2.cmake
@@ -30,27 +30,27 @@
     IF(BORLAND)
       SET (OPENGLES2_gl_LIBRARY import32 CACHE STRING "OpenGL ES 2.x library for win32")
     ELSE(BORLAND)
-		#MS compiler - todo - fix the following line:
-		SET (OPENGLES2_gl_LIBRARY ${OGRE_DEPENDENCIES_DIR}/lib/release/libGLESv2.lib CACHE STRING "OpenGL ES 2.x library for win32")
-		SET (EGL_egl_LIBRARY      ${OGRE_DEPENDENCIES_DIR}/lib/release/libEGL.lib CACHE STRING "EGL library for win32")
-
-		SET(POWERVR_SDK_PATH "C:/Imagination Technologies/PowerVR Insider SDK/OGLES2_WINDOWS_X86EMULATION_2.10/Builds/OGLES2")
+		SET(POWERVR_SDK_PATH "C:/Imagination/PowerVR/GraphicsSDK/SDK_3.0/Builds/OGLES2")
 		FIND_PATH(OPENGLES2_INCLUDE_DIR GLES2/gl2.h
 			${POWERVR_SDK_PATH}/Include
-		)
-
+            "C:/Imagination Technologies/PowerVR Insider SDK/OGLES2_WINDOWS_X86EMULATION_2.10/Builds/OGLES2/Include"
+		)
+
 	    FIND_PATH(EGL_INCLUDE_DIR EGL/egl.h
-			${POWERVR_SDK_PATH}/Include
+			${POWERVR_SDK_PATH}/Include
+            "C:/Imagination Technologies/PowerVR Insider SDK/OGLES2_WINDOWS_X86EMULATION_2.10/Builds/OGLES2/Include"
 		)
-
+
 		FIND_LIBRARY(OPENGLES2_gl_LIBRARY
-			NAMES GLESv2
-			PATHS ${POWERVR_SDK_PATH}/WindowsX86/Lib
+			NAMES libGLESv2
+			PATHS ${POWERVR_SDK_PATH}/Windows_x86_32/Lib
+            "C:/Imagination Technologies/PowerVR Insider SDK/OGLES2_WINDOWS_X86EMULATION_2.10/Builds/OGLES2/WindowsX86/Lib"
 		)
-
+
 		FIND_LIBRARY(EGL_egl_LIBRARY
-			NAMES EGL
-			PATHS ${POWERVR_SDK_PATH}/WindowsX86/Lib
+			NAMES libEGL
+			PATHS ${POWERVR_SDK_PATH}/Windows_x86_32/Lib
+            "C:/Imagination Technologies/PowerVR Insider SDK/OGLES2_WINDOWS_X86EMULATION_2.10/Builds/OGLES2/WindowsX86/Lib"
 		)
     ENDIF(BORLAND)


CMake: sync with KERNEL file

CMake: sync with KERNEL file

--- adm_local_without_kernel/cmake_files/SalomeMacros.cmake
+++ adm_local_without_kernel/cmake_files/SalomeMacros.cmake
@@ -246,7 +246,9 @@
       # Hope to find direclty a CMake config file, indicating the SALOME CMake file
       # paths (the command already look in places like "share/cmake", etc ... by default)
       # Note the options NO_CMAKE_BUILDS_PATH, NO_CMAKE_PACKAGE_REGISTRY to avoid (under Windows)
-      # looking into a previous CMake build done via a GUI, or into the Win registry.
+      # looking into a previous CMake build done via a GUI, or into the Win registry.
+      # NO_CMAKE_SYSTEM_PATH and NO_SYSTEM_ENVIRONMENT_PATH ensure any _system_ files like 'xyz-config.cmake'
+      # don't get loaded (typically Boost). To force their loading, set the XYZ_ROOT_DIR variable to '/usr'.
       # See documentation of FIND_PACKAGE() for full details.

       # Do we need to call the signature using components?
@@ -254,12 +256,14 @@
         FIND_PACKAGE(${stdPkg} ${${englobPkg}_FIND_VERSION} ${_tmp_exact}
               NO_MODULE ${_tmp_quiet} ${_tmp_req} COMPONENTS ${${englobPkg}_FIND_COMPONENTS}
               PATH_SUFFIXES "salome_adm/cmake_files" "adm_local/cmake_files"
-              NO_CMAKE_BUILDS_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH)
+              NO_CMAKE_BUILDS_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH
+                NO_SYSTEM_ENVIRONMENT_PATH)
       ELSE()
         FIND_PACKAGE(${stdPkg} ${${englobPkg}_FIND_VERSION} ${_tmp_exact}
               NO_MODULE ${_tmp_quiet} ${_tmp_req}
               PATH_SUFFIXES "salome_adm/cmake_files" "adm_local/cmake_files"
-              NO_CMAKE_BUILDS_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH)
+              NO_CMAKE_BUILDS_PATH NO_CMAKE_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PACKAGE_REGISTRY NO_CMAKE_SYSTEM_PATH
+                 NO_SYSTEM_ENVIRONMENT_PATH)
       ENDIF()
       MARK_AS_ADVANCED(${stdPkg}_DIR)

@@ -347,13 +351,13 @@
   # Override the variable - don't append to it, as it would give precedence
   # to what was stored there before!
   SET(CMAKE_PREFIX_PATH "${${pkg_UC}_ROOT_DIR}")
-
+
   # Try find_package in config mode. This has the priority, but is
   # performed QUIET and not REQUIRED:
   SALOME_FIND_PACKAGE("Salome${pkg}" ${pkg} NO_MODULE TRUE)

   IF (${pkg_UC}_FOUND OR ${pkg}_FOUND)
-     MESSAGE(STATUS "Found ${pkg} in CONFIG mode!")
+    MESSAGE(STATUS "Found ${pkg} in CONFIG mode!")
   ENDIF()

   # Otherwise try the standard way (module mode, with the standard CMake Find*** macro):


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


KWSys Nightly Date Stamp

KWSys Nightly Date Stamp

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

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


testing building as extension

testing building as extension

--- AutoTract.cmake
+++ AutoTract.cmake
@@ -10,7 +10,7 @@
   set(MODULE_NAME ${LOCAL_PROJECT_NAME} )
   set(EXTENSION_HOMEPAGE "https://github.com/NIRALUser/AutoTract")
   set(EXTENSION_CATEGORY "Tractography")
-  set(EXTENSION_CONTRIBUTORS "Jean-Yves Yang, Francois Budin, Juan Carlos prieto (UNC), Adrien Boucaud (UNC), Mateo Lopez (UNC)")
+  set(EXTENSION_CONTRIBUTORS "Jean-Yves Yang (NIRAL, UNC), Francois Budin (NIRAL, UNC), Juan Carlos prieto (NIRAL, UNC), Adrien Boucaud (NIRAL, UNC), Mateo Lopez (NIRAL, UNC)")
   set(EXTENSION_DESCRIPTION "An automatic tractography tool featuring advanced processing tools to clean fiber tracts after the initial tractography. ")
   set(EXTENSION_ICONURL "https://www.nitrc.org/project/screenshot.php?group_id=948&screenshot_id=935")
   set(EXTENSION_SCREENSHOTURLS "")
@@ -36,9 +36,9 @@

 set(CMAKE_MODULE_PATH
+  ${CMAKE_MODULE_PATH}
   ${${PROJECT_NAME}_SOURCE_DIR}/CMake
   ${${PROJECT_NAME}_BINARY_DIR}/CMake
-  ${CMAKE_MODULE_PATH}
   )

 IF(Qt4_SUPPORT)


esp32/boards/UM_TINYPICO: Fix include of sdkconfig fragment.

This was broken by 32ec07a3504d6dcbfc53997197a3c53e8c03497f

--- ports/esp32/boards/UM_TINYPICO/mpconfigboard.cmake
+++ ports/esp32/boards/UM_TINYPICO/mpconfigboard.cmake
@@ -3,7 +3,7 @@
     boards/sdkconfig.ble
     boards/sdkconfig.240mhz
     boards/sdkconfig.spiram
-    boards/TINYPICO/sdkconfig.board
+    boards/UM_TINYPICO/sdkconfig.board
 )

 if(NOT MICROPY_FROZEN_MANIFEST)


ci: Force serial builds for static

ci: Force serial builds for static

--- scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc-static.cmake
+++ scripts/ci/cmake/ci-el7-gnu8-openmpi-ohpc-static.cmake
@@ -46,6 +46,7 @@
   # Unclear why this test currently dies.  Disabling until it can be addressed.
   EXCLUDE "Install.Make.Fortran"
 )
+set(CTEST_BUILD_FLAGS "-k -j1")
 set(CTEST_CMAKE_GENERATOR "Unix Makefiles")
 list(APPEND CTEST_UPDATE_NOTES_FILES "${CMAKE_CURRENT_LIST_FILE}")
 include(${CMAKE_CURRENT_LIST_DIR}/ci-common.cmake)


Fixing glog searching in conda directories on static builds

Former-commit-id: e084c24d9de282b618d3a616ea301f01f3eaac98

--- cmake-modules/Fetch_glog.cmake
+++ cmake-modules/Fetch_glog.cmake
@@ -30,15 +30,20 @@
     if(TARGET unwind::unwind AND LZMA_LIB AND GCC_EH_LIB)
         target_link_libraries(unwind::full INTERFACE gcc_eh unwind::unwind lzma)
     endif()
-
+    message(STATUS "Looking for glog config")
     # Glog should only look in conda on shared builds! Conda does not give us the static version
-    if(NOT BUILD_SHARED_LIBS AND DMRG_PREFER_CONDA_LIBS)
+    if(DMRG_PREFER_CONDA_LIBS AND NOT BUILD_SHARED_LIBS)
         # Static case - conda should not be searched
-        find_package(glog 0.4 HINTS ${CMAKE_INSTALL_PREFIX} PATHS $ENV{EBROOTGLOG} NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH)
+        message(STATUS "Excluding conda from glog search in static builds")
+        find_package(glog 0.4 HINTS ${CMAKE_INSTALL_PREFIX} PATHS $ENV{EBROOTGLOG} NO_CMAKE_PATH NO_CMAKE_ENVIRONMENT_PATH NO_CMAKE_PACKAGE_REGISTRY)
     else()
         find_package(glog 0.4 NO_CMAKE_PACKAGE_REGISTRY)
     endif()
-
+    if(TARGET glog::glog)
+        message(STATUS "Looking for glog config - found")
+    else()
+        message(STATUS "Looking for glog config - not found")
+    endif()
     if(NOT TARGET glog::glog)
         message(STATUS "Looking for glog in system")
         find_library(GLOG_LIBRARIES     glog           )
@@ -56,14 +61,10 @@
         endif()

     endif()
-
-    if(TARGET glog::glog)
-        message(STATUS "Found glog")
-    endif()
 endif()

-if(NOT TARGET glog::glog AND DMRG_DOWNLOAD_METHOD MATCHES "fetch|native")
+if(NOT TARGET glog::glog AND DMRG_DOWNLOAD_METHOD MATCHES "fetch")
     message(STATUS "glog will be installed into ${CMAKE_INSTALL_PREFIX}")
     include(${PROJECT_SOURCE_DIR}/cmake-modules/BuildDependency.cmake)
     list(APPEND GLOG_CMAKE_OPTIONS -Dgflags_DIR:PATH=${CMAKE_INSTALL_PREFIX}/gflags/lib/cmake/gflags)


cmake: remove deprecated usage of CMAKE_COMPILER_IS_GNUCXX

--- cmake/HextEnableWarnings.cmake
+++ cmake/HextEnableWarnings.cmake
@@ -9,7 +9,7 @@
 endif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")

 # G++
-if(CMAKE_COMPILER_IS_GNUCXX)
+if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
   add_definitions(
     "-pedantic" "-pedantic-errors" "-Wall" "-Wcast-align" "-Wcast-qual"
     "-Wchar-subscripts" "-Wcomment" "-Wconversion" "-Wctor-dtor-privacy"
@@ -38,5 +38,5 @@
     #   Since it's only complaining about a missed optimization, this warning
     #   can safely be disabled.
   )
-endif(CMAKE_COMPILER_IS_GNUCXX)
+endif(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")


Find `cppcms`: Reformat CMake code

Find `cppcms`: Reformat CMake code

--- cmake/Modules/FindCppCMS.cmake
+++ cmake/Modules/FindCppCMS.cmake
@@ -1,3 +1,4 @@
+# ~~~
 # Script created on basis of
 # https://theogit.fmi.uni-stuttgart.de/bahrdtdl/oscar/blob/8c6d602d044d726aa3d56138100a14f3d6f4c22a/cmake/FindCPPCMS.cmake
 #
@@ -9,10 +10,10 @@
 #  BOOSTER_INCLUDE_DIR - Where to find booster include sub-directory.
 #  BOOSTER_LIBRARIES   - List of libraries when using BOOSTER.
 #  BOOSTER_FOUND       - True if BOOSTER found.
+# ~~~

 if (CPPCMS_INCLUDE_DIR)
-  # Already in cache, be silent.
-  set (CPPCMS_FIND_QUIETLY TRUE)
+	set (CPPCMS_FIND_QUIETLY TRUE) # Already in cache, be silent.
 endif (CPPCMS_INCLUDE_DIR)

 find_path (CPPCMS_INCLUDE_DIR cppcms/application.h PATHS /usr/include /usr/local/include)
@@ -21,24 +22,16 @@
 find_library (CPPCMS_LIBRARY NAMES cppcms PATHS /usr/lib /usr/lib64 /usr/local/lib DOC "version 1.0 or greater is required")
 find_library (BOOSTER_LIBRARY NAMES booster PATHS /usr/lib /usr/lib64 /usr/local/lib DOC "version 1.45 or greater is required")

+# Handle the QUIETLY and REQUIRED arguments and set CPPCMS_FOUND to TRUE if all listed variables are TRUE.
+include (FindPackageHandleStandardArgs)
+find_package_handle_standard_args (CppCMS DEFAULT_MSG CPPCMS_LIBRARY CPPCMS_INCLUDE_DIR)

-# Handle the QUIETLY and REQUIRED arguments and set CPPCMS_FOUND to
-# TRUE if all listed variables are TRUE.
-include (FindPackageHandleStandardArgs)
-find_package_handle_standard_args (
-  CppCMS DEFAULT_MSG
-  CPPCMS_LIBRARY CPPCMS_INCLUDE_DIR
-)
-
-find_package_handle_standard_args (
-  BOOSTER DEFAULT_MSG
-  BOOSTER_LIBRARY BOOSTER_INCLUDE_DIR
-)
+find_package_handle_standard_args (BOOSTER DEFAULT_MSG BOOSTER_LIBRARY BOOSTER_INCLUDE_DIR)

 if (CPPCMS_FOUND)
-  set (CPPCMS_LIBRARIES ${CPPCMS_LIBRARY} ${BOOSTER_LIBRARY})
+	set (CPPCMS_LIBRARIES ${CPPCMS_LIBRARY} ${BOOSTER_LIBRARY})
 else (CPPCMS_FOUND)
-  set (CPPCMS_LIBRARIES)
+	set (CPPCMS_LIBRARIES)
 endif (CPPCMS_FOUND)

 mark_as_advanced (CPPCMS_LIBRARY CPPCMS_INCLUDE_DIR BOOSTER_LIBRARY BOOSTER_INCLUDE_DIR)


one more ugly commit to fix libusb related problems in MacOS

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

--- cmake/Modules/FindOpenNI.cmake
+++ cmake/Modules/FindOpenNI.cmake
@@ -28,7 +28,11 @@
              PATHS "$ENV{PROGRAMFILES}/OpenNI/Lib${OPENNI_SUFFIX}" "$ENV{PROGRAMW6432}/OpenNI/Lib${OPENNI_SUFFIX}")

 set(OPENNI_INCLUDE_DIRS ${OPENNI_INCLUDE_DIR})
-set(OPENNI_LIBRARIES ${OPENNI_LIBRARY})
+if(APPLE)
+  set(OPENNI_LIBRARIES ${OPENNI_LIBRARY} usb-1.0)
+else()
+  set(OPENNI_LIBRARIES ${OPENNI_LIBRARY})
+endif()

 include(FindPackageHandleStandardArgs)
 find_package_handle_standard_args(OpenNI DEFAULT_MSG


more robustness against weird lib names returned from 3rd party packages

--- cmakemodules/UtilsMacros.cmake
+++ cmakemodules/UtilsMacros.cmake
@@ -19,14 +19,14 @@
 # For usage below. Checks whether we have to add the "general" prefix.
 # ------------------------------------------------------------------------
 MACRO(APPEND_MRPT_LIBS )
-	IF(NOT ARGV STREQUAL "")  # Do nothing for an empty string
+	IF(NOT "${ARGV}" STREQUAL "")  # Do nothing for an empty string
 		IF(${ARGV0} STREQUAL "debug" OR ${ARGV0} STREQUAL "optimized")
 			set(_libs ${ARGV})
 		ELSE(${ARGV0} STREQUAL "debug" OR ${ARGV0} STREQUAL "optimized")
 			set(_libs general ${ARGV})
 		ENDIF(${ARGV0} STREQUAL "debug" OR ${ARGV0} STREQUAL "optimized")
 		LIST(APPEND MRPT_LINKER_LIBS ${_libs})
-	ENDIF(NOT ARGV STREQUAL "")
+	ENDIF(NOT "${ARGV}" STREQUAL "")
 ENDMACRO(APPEND_MRPT_LIBS)


only persist the rmw impl if it was explicitly set

--- rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake
+++ rmw_implementation_cmake/cmake/get_default_rmw_implementation.cmake
@@ -29,13 +29,23 @@
   endif()

   # option()
-  if(NOT "${ROS_MIDDLEWARE_IMPLEMENTATION} " STREQUAL " ")
-    set(_middleware_implementation "${ROS_MIDDLEWARE_IMPLEMENTATION}")
-  elseif(NOT "$ENV{ROS_MIDDLEWARE_IMPLEMENTATION} " STREQUAL " ")
-    set(_middleware_implementation "$ENV{ROS_MIDDLEWARE_IMPLEMENTATION}")
-  else()
+  if("${ROS_MIDDLEWARE_IMPLEMENTATION} " STREQUAL " " AND
+    "$ENV{ROS_MIDDLEWARE_IMPLEMENTATION} " STREQUAL " "
+  )
     # TODO detemine "default" implementation based on the available ones
     list(GET _middleware_implementations 0 _middleware_implementation)
+  else()
+    if(NOT "${ROS_MIDDLEWARE_IMPLEMENTATION} " STREQUAL " ")
+      set(_middleware_implementation "${ROS_MIDDLEWARE_IMPLEMENTATION}")
+    else()
+      set(_middleware_implementation "$ENV{ROS_MIDDLEWARE_IMPLEMENTATION}")
+    endif()
+    # persist implementation decision in cache
+    # if it was not determined dynamically
+    set(
+      ROS_MIDDLEWARE_IMPLEMENTATION "${_middleware_implementation}"
+      CACHE STRING "Select ROS middleware implementation to link against" FORCE
+    )
   endif()

   # verify that the selection one is available
@@ -46,11 +56,5 @@
   endif()
   find_package("${_middleware_implementation}" REQUIRED)

-  # persist implementation decision in cache
-  set(
-    ROS_MIDDLEWARE_IMPLEMENTATION "${_middleware_implementation}"
-    CACHE STRING "Select ROS middleware implementation to link against" FORCE
-  )
-
   set(${var} ${_middleware_implementation})
 endmacro()


BUG: Wrong classpath separator on Windows

Updated the SCIFIO remote commit that is checked out. This new commit
contains logic to select the correct path separator on Windows and
OSX/Linux.

Previously this was hard-coded to the OSX path separator, which would
cause the itk-bridge-pipes jar to not be found.

Also includes cquammen's fixes for the ImageInfo test and reading
newlines on Windows.

Change-Id: I4c4a864443fedbe6439c18e8a18469c8560a9541

--- Modules/Remote/SCIFIO.remote.cmake
+++ Modules/Remote/SCIFIO.remote.cmake
@@ -1,5 +1,5 @@
 itk_fetch_module(SCIFIO
   "SCIFIO (Bioformats) ImageIO plugin for ITK"
   GIT_REPOSITORY https://github.com/scifio/scifio-imageio.git
-  GIT_TAG b4fe2d2ba4b5f0116a89cf3705e2900b0de926ee
+  GIT_TAG d096456994e0ac0e0cde7f3356e5fdbfac55c95f
   )


find QExtSerialPort library under ArchLinux

--- cmake/modules/FindQextSerialPort.cmake
+++ cmake/modules/FindQextSerialPort.cmake
@@ -6,8 +6,8 @@
   set(QEXTSERIALPORT_FOUND TRUE)
 else(QEXTSERIALPORT_INCLUDE_DIR AND QEXTSERIALPORT_LIBRARIES)

-  find_path(QEXTSERIALPORT_INCLUDE_DIR NAMES qextserialport.h PATH_SUFFIXES QtExtSerialPort)
-  find_library(QEXTSERIALPORT_LIBRARIES NAMES qextserialport)
+  find_path(QEXTSERIALPORT_INCLUDE_DIR NAMES qextserialport.h PATH_SUFFIXES QtExtSerialPort HINTS ${QT_INCLUDE_DIR})
+  find_library(QEXTSERIALPORT_LIBRARIES NAMES qextserialport HINTS ${QT_LIBRARY_DIR})

   include(FindPackageHandleStandardArgs)
   find_package_handle_standard_args(QextSerialPort DEFAULT_MSG QEXTSERIALPORT_INCLUDE_DIR QEXTSERIALPORT_LIBRARIES)


Propagate to parent scope changes made to CMAKE_CXX_FLAGS.

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

--- cmake/modules/LLVMProcessSources.cmake
+++ cmake/modules/LLVMProcessSources.cmake
@@ -54,6 +54,7 @@
     endif()
   endif()

+  set( CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS}" PARENT_SCOPE )
   set( ${OUT_VAR} ${sources} PARENT_SCOPE )
 endfunction(llvm_process_sources)


use 'Zc:preprocessor' instead of 'experimental:preprocessor'

option 'experimental:preprocessor' has been deprecated and will be removed in a future release

--- toolchains/msvc.toolchain.cmake
+++ toolchains/msvc.toolchain.cmake
@@ -41,7 +41,7 @@
 # w4324: 'structure was padded due to alignment specifier'
 # w5104: 'found 'L#x' in macro replacement list, did you mean 'L""#x'?' @ windows.h + experimental PP
 # w5105: 'macro expansion producing 'defined' has undefined behavior' @ windows.h + experimental PP
-add_compile_options( /std:c++latest /permissive- /experimental:preprocessor -MP -Oi -wd4324 -wd4373 -wd5104 -wd5105 )
+add_compile_options( /std:c++latest /permissive- /Zc:preprocessor -MP -Oi -wd4324 -wd4373 -wd5104 -wd5105 )
 add_definitions(
   -D_CRT_SECURE_NO_WARNINGS
   -D_SCL_SECURE_NO_WARNINGS


[Conf] More robust way to derive Boost.Python component

--- config/project_config_embeddable.cmake
+++ config/project_config_embeddable.cmake
@@ -70,6 +70,8 @@
 #  * INSTALL_INCLUDE_DIR  - Installation directory for the header files
 #  * INSTALL_DATA_DIR     - Installation directory for the data files
 #  * INSTALL_SAMPLE_DIR   - Installation directory for the (CSV) sample files
+#  * NEED_PYTHON          - Whether Python libraries are needed
+#                           That paremeter is derived from the required libraries
 #  * RUN_GCOV             - Whether or not to perform code coverage
 #
 macro (set_project_options _build_doc _enable_tests _run_gcov)
@@ -106,6 +108,7 @@
   set (CSS_ALL_TARGETS)
   set (IMG_ALL_TARGETS)
   set (MAN_ALL_TARGETS)
+  set (NEED_PYTHON OFF)

   # Set the library installation directory (either 32 or 64 bits)
   set (LIBDIR "lib${LIB_SUFFIX}" CACHE PATH
@@ -335,6 +338,7 @@
     endif (${_arg_lower} STREQUAL "lcov")

     if (${_arg_lower} STREQUAL "python")
+      set (NEED_PYTHON ON)
       get_python (${_arg_version})
     endif (${_arg_lower} STREQUAL "python")

@@ -616,19 +620,37 @@
   #         On some platform/Boost version combinations, the Python version
   #         may be just the major version (2 or 3 as of 2020) or the major
   #         and minor versions (e.g., 27, 28, 34, 36, 37, 38, 39 as of 2020)
-  set (python_cpt_name1 "python${Python3_VERSION_MAJOR}")
-  set (python_cpt_name2 "python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}")
+  # Note 3: Boot.Python has is reuired only for Python extensions. It should
+  #         not be linked with other regular (non-Python) libraries/binaries,
+  #         as it pulls with it symbols from the Python interpreter, which are
+  #         available only when launched from a Python interpreter.
   set (Boost_USE_STATIC_LIBS OFF)
   set (Boost_USE_MULTITHREADED ON)
   set (Boost_USE_STATIC_RUNTIME OFF)
+  # Boost.Python - Depending on the platforms, the component name
+  # differs. We try all of them, and the find_package() will retrieve
+  # just one
+  if (NEED_PYTHON)
+    set (python_cpt_name0 "python")
+    #
+    if (Python3_VERSION_MAJOR)
+      set (python_cpt_name1 "python${Python3_VERSION_MAJOR}")
+    endif (Python3_VERSION_MAJOR)
+    #
+    if (Python3_VERSION_MINOR)
+      set (python_cpt_name2 "python${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}")
+    endif (Python3_VERSION_MINOR)
+  endif (NEED_PYTHON)

   # Boost components for (non-Python) libraries
   set (BOOST_REQUIRED_COMPONENTS_FOR_LIB
     date_time random iostreams serialization filesystem system locale regex)

   # Boost components for Python extensions
-  set (BOOST_REQUIRED_COMPONENTS_FOR_PYEXT
-	${python_cpt_name1} ${python_cpt_name2})
+  if (NEED_PYTHON)
+    set (BOOST_REQUIRED_COMPONENTS_FOR_PYEXT
+      ${python_cpt_name0} ${python_cpt_name1} ${python_cpt_name2})
+  endif (NEED_PYTHON)

   # Boost components for main (non-test) binaries
   set (BOOST_REQUIRED_COMPONENTS_FOR_BIN program_options)
@@ -655,54 +677,61 @@
   find_package (BoostWrapper ${_required_version} REQUIRED)

   if (Boost_FOUND)
-    # Boost.Python library
-	if (${Boost_PYTHON3_FOUND})
-      message (STATUS "  + Boost_PYTHON3_FOUND: ${Boost_PYTHON3_FOUND}")
-	endif (${Boost_PYTHON3_FOUND})
-	#
-	if (${Boost_PYTHON38_FOUND})
-      message (STATUS "  + Boost_PYTHON38_FOUND: ${Boost_PYTHON38_FOUND}")
-	endif (${Boost_PYTHON38_FOUND})
-	#
-	if (${Boost_PYTHON_VERSION})
+
+    if (NEED_PYTHON)
+      # Boost has a single Python library, but its name depends on the
+      # distribution, it can be libboost_python3 or libboost_python3x
+      if (Boost_PYTHON_LIBRARY)
+	set (BOOST_REQUIRED_COMPONENTS_FOR_PYEXT ${python_cpt_name0})
+	if (Python3_VERSION_MAJOR)
+	  list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name1})
+	endif (Python3_VERSION_MAJOR)
+	if (Python3_VERSION_MINOR)
+	  list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name2})
+	endif (Python3_VERSION_MINOR)
+      endif (Boost_PYTHON_LIBRARY)
+
+      #
+      if (Boost_PYTHON${Python3_VERSION_MAJOR}_LIBRARY)
+	set (BOOST_REQUIRED_COMPONENTS_FOR_PYEXT ${python_cpt_name1})
+	list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name0})
+	if (Python3_VERSION_MINOR)
+	  list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name2})
+	endif (Python3_VERSION_MINOR)
+      endif (Boost_PYTHON${Python3_VERSION_MAJOR}_LIBRARY)
+
+      #
+      if (Boost_PYTHON${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}_LIBRARY)
+	set (BOOST_REQUIRED_COMPONENTS_FOR_PYEXT ${python_cpt_name2})
+	list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name0})
+	if (Python3_VERSION_MAJOR)
+	  list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name1})
+	endif (Python3_VERSION_MAJOR)
+      endif (Boost_PYTHON${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}_LIBRARY)
+
+      # Reporting
+      message (STATUS "  + Retained Boost Python component: ${BOOST_REQUIRED_COMPONENTS_FOR_PYEXT}")
+
+      # Derive the Boost.Python component name (amoung Boost_PYTHON,
+      # Boost_PYTHON3, Boost_PYTHON3X)
+      string (TOUPPER ${BOOST_REQUIRED_COMPONENTS_FOR_PYEXT} _python_cpt)
+
+      # Reporting
+      message (STATUS "  + Boost Python component: Boost_${_python_cpt}")
+
+      # Derive the Python version used by Boost.Python
+      if (${Boost_${_python_cpt}_LIBRARY} MATCHES "python([1-9])\\.?([0-9])?")
+	set (Boost_PYTHON_VERSION "${CMAKE_MATCH_1}${CMAKE_MATCH_2}")
+      endif (${Boost_${_python_cpt}_LIBRARY} MATCHES "python([1-9])\\.?([0-9])?")
+
+      # Reporting
       message (STATUS "  + Boost_PYTHON_VERSION: ${Boost_PYTHON_VERSION}")
-	endif (${Boost_PYTHON_VERSION})
-	#
-	if (${Boost_PYTHON_LIBRARY})
-      message (STATUS "  + Boost_PYTHON_LIBRARY: ${Boost_PYTHON_LIBRARY}")
-	endif (${Boost_PYTHON_LIBRARY})
-	#
-	if (${Boost_PYTHON3_LIBRARY})
-      message (STATUS "  + Boost_PYTHON3_LIBRARY: ${Boost_PYTHON3_LIBRARY}")
-	endif (${Boost_PYTHON3_LIBRARY})
-	#
-	if (${Boost_PYTHON36_LIBRARY})
-      message (STATUS "  + Boost_PYTHON36_LIBRARY: ${Boost_PYTHON36_LIBRARY}")
-	endif (${Boost_PYTHON36_LIBRARY})
-	#
-	if (${Boost_PYTHON37_LIBRARY})
-      message (STATUS "  + Boost_PYTHON37_LIBRARY: ${Boost_PYTHON37_LIBRARY}")
-	endif (${Boost_PYTHON37_LIBRARY})
-	#
-	if (${Boost_PYTHON38_LIBRARY})
-      message (STATUS "  + Boost_PYTHON38_LIBRARY: ${Boost_PYTHON38_LIBRARY}")
-	endif (${Boost_PYTHON38_LIBRARY})
-	#
-	if (${Boost_PYTHON39_LIBRARY})
-      message (STATUS "  + Boost_PYTHON39_LIBRARY: ${Boost_PYTHON39_LIBRARY}")
-	endif (${Boost_PYTHON39_LIBRARY})
-
-	# Boost has a single Python library, but its name depends on the
-	# distribution, it can be libboost_python3 or libboost_python3x
-	if (${Boost_PYTHON3_FOUND})
-	  set (BOOST_REQUIRED_COMPONENTS_FOR_PYEXT ${python_cpt_name1})
-	  list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name2})
-	endif (${Boost_PYTHON3_FOUND})
-
-	if (${Boost_PYTHON${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}_FOUND})
-	  set (BOOST_REQUIRED_COMPONENTS_FOR_PYEXT ${python_cpt_name2})
-	  list (REMOVE_ITEM BOOST_REQUIRED_COMPONENTS ${python_cpt_name1})
-	endif (${Boost_PYTHON${Python3_VERSION_MAJOR}${Python3_VERSION_MINOR}_FOUND})
+
+      # Boost.Python library
+      if (Boost_${_python_cpt}_LIBRARY)
+	message (STATUS "  + Boost_${_python_cpt}_LIBRARY: ${Boost_${_python_cpt}_LIBRARY}")
+      endif (Boost_${_python_cpt}_LIBRARY)
+    endif (NEED_PYTHON)

     # Update the list of include directories for the project
     include_directories (${Boost_INCLUDE_DIRS})
@@ -715,8 +744,10 @@
       "${BOOST_REQUIRED_COMPONENTS_FOR_LIB}")

     # Update the list of Python library dependencies for the project
-    register_boost_lib ("PROJ_DEP_LIBS_FOR_PYEXT"
-      "${BOOST_REQUIRED_COMPONENTS_FOR_PYEXT}")
+    if (NEED_PYTHON)
+      register_boost_lib ("PROJ_DEP_LIBS_FOR_PYEXT"
+	"${BOOST_REQUIRED_COMPONENTS_FOR_PYEXT}")
+    endif (NEED_PYTHON)

     # Update the list of binary dependencies for the project
     register_boost_lib ("PROJ_DEP_LIBS_FOR_BIN"
@@ -772,22 +803,22 @@

   set (${_proto_srcs})
   foreach (FIL ${ARGN})
-	# Extract the file-path and the extension of the Protobuf specification file
+    # Extract the file-path and the extension of the Protobuf specification file
     get_filename_component (ABS_FIL ${FIL} ABSOLUTE)
     get_filename_component (FIL_WE ${FIL} NAME_WE)

-	# With Python, Protobuf adds "_pb2"
-	set (_proto_gen_src ${FIL_WE}_pb2.py)
-
-	message (STATUS
-	  "Adding ${CMAKE_CURRENT_BINARY_DIR}/${_proto_gen_src} to Python sources")
+    # With Python, Protobuf adds "_pb2"
+    set (_proto_gen_src ${FIL_WE}_pb2.py)
+
+    message (STATUS
+      "Adding ${CMAKE_CURRENT_BINARY_DIR}/${_proto_gen_src} to Python sources")

     list (APPEND ${_proto_srcs} "${CMAKE_CURRENT_BINARY_DIR}/${_proto_gen_src}")

-	# Add a specific command for the Protobuf stub/skeleton generation
+    # Add a specific command for the Protobuf stub/skeleton generation
     add_custom_command (OUTPUT "${CMAKE_CURRENT_BINARY_DIR}/${_proto_gen_src}"
       COMMAND  ${PROTOBUF_PROTOC_EXECUTABLE}
-	  --python_out ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL}
+      --python_out ${CMAKE_CURRENT_BINARY_DIR} ${_protobuf_include_path} ${ABS_FIL}
       DEPENDS ${ABS_FIL} ${PROTOBUF_PROTOC_EXECUTABLE}
       COMMENT "Running Python protocol buffer compiler on ${FIL}, generating ${CMAKE_CURRENT_BINARY_DIR}/${_proto_gen_src}"
       VERBATIM)
@@ -1852,10 +1883,10 @@
   endif (${_lib_short_name} STREQUAL ${MODULE_NAME})

   ##
-  # Python extension libraries hase some peculiarities
+  # Python extension libraries has some peculiarities
   if ("${_lib_prefix}" STREQUAL "py")
-	message (STATUS "${_lib_short_name} is assumed to be a Python library:")
-	message (STATUS "  -> Following libraries will be weakly linked: ${Python3_LIBRARIES} ${PROJ_DEP_LIBS_FOR_PYEXT}")
+    message (STATUS "${_lib_short_name} is assumed to be a Python library:")
+    message (STATUS "  -> Following libraries will be weakly linked: ${Python3_LIBRARIES} ${PROJ_DEP_LIBS_FOR_PYEXT}")

     # no 'lib' prefix
     set_target_properties (${_lib_target} PROPERTIES PREFIX "")
@@ -1863,34 +1894,34 @@
     # The suffix must be .so (even on MacOS, not .dylib)
     set_target_properties (${_lib_target} PROPERTIES SUFFIX ".so")

-	# Add the dependencies for Python extensions.
-	#
-	# Python extensions (which are also libraries per se) must not be linked
-	# against libpython3.x.so (which includes the interpreter). On Linux, it is
-	# fine not to link against libpython3.x.so, but on OS X, the compiler
-	# fails, unless the -undefined dynamic_lookup option is passed, which is
-	# what target_link_libraries_with_dynamic_lookup() is doing. That function
-	# is specified in the targetLinkLibrariesWithDynamicLookup.cmake file.
-	#
-	# See also:
-	#  https://blog.tim-smith.us/2015/09/python-extension-modules-os-x/
-	#  https://github.com/scikit-build/scikit-build/blob/master/skbuild/resources/cmake/targetLinkLibrariesWithDynamicLookup.cmake
-	target_link_libraries_with_dynamic_lookup (${_lib_target}
-	  ${Python3_LIBRARIES} ${PROJ_DEP_LIBS_FOR_PYEXT})
-	#python_extension_module (${_lib_target})
+    # Add the dependencies for Python extensions.
+    #
+    # Python extensions (which are also libraries per se) must not be linked
+    # against libpython3.x.so (which includes the interpreter). On Linux, it is
+    # fine not to link against libpython3.x.so, but on OS X, the compiler
+    # fails, unless the -undefined dynamic_lookup option is passed, which is
+    # what target_link_libraries_with_dynamic_lookup() is doing. That function
+    # is specified in the targetLinkLibrariesWithDynamicLookup.cmake file.
+    #
+    # See also:
+    #  https://blog.tim-smith.us/2015/09/python-extension-modules-os-x/
+    #  https://github.com/scikit-build/scikit-build/blob/master/skbuild/resources/cmake/targetLinkLibrariesWithDynamicLookup.cmake
+    target_link_libraries_with_dynamic_lookup (${_lib_target}
+      ${Python3_LIBRARIES} ${PROJ_DEP_LIBS_FOR_PYEXT})
+    #python_extension_module (${_lib_target})

   endif ("${_lib_prefix}" STREQUAL "py")

   ##
   # Library name (and soname)
   if (WIN32)
-	# MS Windows
+    # MS Windows
     set_target_properties (${_lib_target} PROPERTIES
       OUTPUT_NAME ${_lib_short_name}
       VERSION ${GENERIC_LIB_VERSION})

   else (WIN32)
-	# Linux and MacOS
+    # Linux and MacOS
     set_target_properties (${_lib_target} PROPERTIES
       OUTPUT_NAME ${_lib_short_name}
       VERSION ${GENERIC_LIB_VERSION} SOVERSION ${GENERIC_LIB_SOVERSION})
@@ -1907,15 +1938,15 @@
   ##
   # Installation of the library
   if ("${_lib_prefix}" STREQUAL "py")
-	# If the library is Python, install it into a dedicated directory
-	message (STATUS "${_lib_short_name} is assumed to be a Python library")
-	install (TARGETS ${_lib_target}
+    # If the library is Python, install it into a dedicated directory
+    message (STATUS "${_lib_short_name} is assumed to be a Python library")
+    install (TARGETS ${_lib_target}
       EXPORT ${LIB_DEPENDENCY_EXPORT}
       LIBRARY DESTINATION "${INSTALL_PY_LIB_DIR}" COMPONENT runtime)
-
+
   else ("${_lib_prefix}" STREQUAL "py")
-	# Install the library in the standard location
-	install (TARGETS ${_lib_target}
+    # Install the library in the standard location
+    install (TARGETS ${_lib_target}
       EXPORT ${LIB_DEPENDENCY_EXPORT}
       LIBRARY DESTINATION "${INSTALL_LIB_DIR}" COMPONENT runtime)
   endif ("${_lib_prefix}" STREQUAL "py")
@@ -2673,7 +2704,7 @@

 # Python
 macro (display_python)
-  if (Python3_FOUND)
+  if (NEED_PYTHON)
     message (STATUS)
     message (STATUS "* Python:")
     message (STATUS "  - Python3_VERSION ............... : ${Python3_VERSION}")
@@ -2682,7 +2713,10 @@
     message (STATUS "  - Python3_LIBRARIES ............. : ${Python3_LIBRARIES}")
     message (STATUS "  - Python3_LIBRARY_DIRS .......... : ${Python3_LIBRARY_DIRS}")
     message (STATUS "  - Python3_RUNTIME_LIBRARY_DIRS .. : ${Python3_RUNTIME_LIBRARY_DIRS}")
-  endif (Python3_FOUND)
+  else (NEED_PYTHON)
+    message (STATUS)
+    message (STATUS "* Python not required")
+  endif (NEED_PYTHON)
 endmacro (display_python)

 # ICU
@@ -2717,7 +2751,9 @@
     message (STATUS "  - Boost_LIB_VERSION ............. : ${Boost_LIB_VERSION}")
     message (STATUS "  - Boost_HUMAN_VERSION ........... : ${Boost_HUMAN_VERSION}")
     message (STATUS "  - Boost_INCLUDE_DIRS ............ : ${Boost_INCLUDE_DIRS}")
-    message (STATUS "  - Boost_PYTHON_VERSION .......... : ${Boost_PYTHON_VERSION}")
+    if (NEED_PYTHON)
+      message (STATUS "  - Boost_PYTHON_VERSION .......... : ${Boost_PYTHON_VERSION}")
+    endif (NEED_PYTHON)
     message (STATUS "  - Boost required components ..... : ${BOOST_REQUIRED_COMPONENTS}")
     message (STATUS "  - Boost required libraries ...... : ${BOOST_REQUIRED_LIBS}")
     message (STATUS "  - Boost required libs for Py ext. : ${PROJ_DEP_LIBS_FOR_PYEXT}")


[Build] Added full support for SEvMgr, TraDemGen, TravelCCM, AirSched, AvlCal, SimFQT, SimLFS and SimCRS.

--- config/project_config_embeddable.cmake
+++ config/project_config_embeddable.cmake
@@ -590,6 +590,134 @@

 endmacro (get_stdair)

+# ~~~~~~~~~~ SEvMgr ~~~~~~~~~
+macro (get_sevmgr)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SEvMgr-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SEvMgr without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SEvMgr ${_required_version} REQUIRED
+	HINTS ${WITH_SEVMGR_PREFIX})
+  if (SEvMgr_FOUND)
+    #
+    message (STATUS "Found SEvMgr version: ${SEVMGR_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SEVMGR_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SEVMGR_LIBRARIES})
+
+  else (SEvMgr_FOUND)
+    set (ERROR_MSG "The SEvMgr library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SEVMGR_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SEvMgr install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SEvMgr_FOUND)
+
+endmacro (get_sevmgr)
+
+# ~~~~~~~~~~ TraDemGen ~~~~~~~~~
+macro (get_trademgen)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires TraDemGen-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires TraDemGen without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (TraDemGen ${_required_version} REQUIRED
+	HINTS ${WITH_TRADEMGEN_PREFIX})
+  if (TraDemGen_FOUND)
+    #
+    message (STATUS "Found TraDemGen version: ${TRADEMGEN_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${TRADEMGEN_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${TRADEMGEN_LIBRARIES})
+
+  else (TraDemGen_FOUND)
+    set (ERROR_MSG "The TraDemGen library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_TRADEMGEN_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<TraDemGen install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (TraDemGen_FOUND)
+
+endmacro (get_trademgen)
+
+# ~~~~~~~~~~ TravelCCM ~~~~~~~~~
+macro (get_travelccm)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires TravelCCM-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires TravelCCM without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (TravelCCM ${_required_version} REQUIRED
+	HINTS ${WITH_TRAVELCCM_PREFIX})
+  if (TravelCCM_FOUND)
+    #
+    message (STATUS "Found TravelCCM version: ${TRAVELCCM_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${TRAVELCCM_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${TRAVELCCM_LIBRARIES})
+
+  else (TravelCCM_FOUND)
+    set (ERROR_MSG "The TravelCCM library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_TRAVELCCM_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<TravelCCM install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (TravelCCM_FOUND)
+
+endmacro (get_travelccm)
+
+# ~~~~~~~~~~ AirSched ~~~~~~~~~
+macro (get_airsched)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires AirSched-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires AirSched without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (AirSched ${_required_version} REQUIRED
+	HINTS ${WITH_AIRSCHED_PREFIX})
+  if (AirSched_FOUND)
+    #
+    message (STATUS "Found AirSched version: ${AIRSCHED_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${AIRSCHED_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${AIRSCHED_LIBRARIES})
+
+  else (AirSched_FOUND)
+    set (ERROR_MSG "The AirSched library cannot be found. If it is installed")
+    set (ERROR_MSG "${ERROR_MSG} in a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_AIRSCHED_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<AirSched install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (AirSched_FOUND)
+
+endmacro (get_airsched)
+
 # ~~~~~~~~~~ AirRAC ~~~~~~~~~
 macro (get_airrac)
   unset (_required_version)
@@ -654,21 +782,21 @@

 endmacro (get_rmol)

-# ~~~~~~~~~~ Airinv ~~~~~~~~~
+# ~~~~~~~~~~ AirInv ~~~~~~~~~
 macro (get_airinv)
   unset (_required_version)
   if (${ARGC} GREATER 0)
     set (_required_version ${ARGV0})
-    message (STATUS "Requires Airinv-${_required_version}")
+    message (STATUS "Requires AirInv-${_required_version}")
   else (${ARGC} GREATER 0)
-    message (STATUS "Requires Airinv without specifying any version")
+    message (STATUS "Requires AirInv without specifying any version")
   endif (${ARGC} GREATER 0)

-  find_package (Airinv ${_required_version} REQUIRED
+  find_package (AirInv ${_required_version} REQUIRED
 	HINTS ${WITH_AIRINV_PREFIX})
-  if (Airinv_FOUND)
+  if (AirInv_FOUND)
     #
-    message (STATUS "Found Airinv version: ${AIRINV_VERSION}")
+    message (STATUS "Found AirInv version: ${AIRINV_VERSION}")

     # Update the list of include directories for the project
     include_directories (${AIRINV_INCLUDE_DIRS})
@@ -676,15 +804,143 @@
     # Update the list of dependencies for the project
     set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${AIRINV_LIBRARIES})

-  else (Airinv_FOUND)
-    set (ERROR_MSG "The Airinv library cannot be found. If it is installed in")
+  else (AirInv_FOUND)
+    set (ERROR_MSG "The AirInv library cannot be found. If it is installed in")
     set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
     set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_AIRINV_PREFIX=")
-    set (ERROR_MSG "${ERROR_MSG}<Airinv install path> variable.")
+    set (ERROR_MSG "${ERROR_MSG}<AirInv install path> variable.")
     message (FATAL_ERROR "${ERROR_MSG}")
-  endif (Airinv_FOUND)
+  endif (AirInv_FOUND)

 endmacro (get_airinv)
+
+# ~~~~~~~~~~ AvlCal ~~~~~~~~~
+macro (get_avlcal)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires AvlCal-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires AvlCal without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (AvlCal ${_required_version} REQUIRED
+	HINTS ${WITH_AVLCAL_PREFIX})
+  if (AvlCal_FOUND)
+    #
+    message (STATUS "Found AvlCal version: ${AVLCAL_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${AVLCAL_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${AVLCAL_LIBRARIES})
+
+  else (AvlCal_FOUND)
+    set (ERROR_MSG "The AvlCal library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_AVLCAL_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<AvlCal install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (AvlCal_FOUND)
+
+endmacro (get_avlcal)
+
+# ~~~~~~~~~~ SimFQT ~~~~~~~~~
+macro (get_simfqt)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SimFQT-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SimFQT without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SimFQT ${_required_version} REQUIRED
+	HINTS ${WITH_SIMFQT_PREFIX})
+  if (SimFQT_FOUND)
+    #
+    message (STATUS "Found SimFQT version: ${SIMFQT_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SIMFQT_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SIMFQT_LIBRARIES})
+
+  else (SimFQT_FOUND)
+    set (ERROR_MSG "The SimFQT library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SIMFQT_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SimFQT install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SimFQT_FOUND)
+
+endmacro (get_simfqt)
+
+# ~~~~~~~~~~ SimLFS ~~~~~~~~~
+macro (get_simlfs)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SimLFS-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SimLFS without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SimLFS ${_required_version} REQUIRED
+	HINTS ${WITH_SIMLFS_PREFIX})
+  if (SimLFS_FOUND)
+    #
+    message (STATUS "Found SimLFS version: ${SIMLFS_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SIMLFS_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SIMLFS_LIBRARIES})
+
+  else (SimLFS_FOUND)
+    set (ERROR_MSG "The SimLFS library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SIMLFS_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SimLFS install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SimLFS_FOUND)
+
+endmacro (get_simlfs)
+
+# ~~~~~~~~~~ SimCRS ~~~~~~~~~
+macro (get_simcrs)
+  unset (_required_version)
+  if (${ARGC} GREATER 0)
+    set (_required_version ${ARGV0})
+    message (STATUS "Requires SimCRS-${_required_version}")
+  else (${ARGC} GREATER 0)
+    message (STATUS "Requires SimCRS without specifying any version")
+  endif (${ARGC} GREATER 0)
+
+  find_package (SimCRS ${_required_version} REQUIRED
+	HINTS ${WITH_SIMCRS_PREFIX})
+  if (SimCRS_FOUND)
+    #
+    message (STATUS "Found SimCRS version: ${SIMCRS_VERSION}")
+
+    # Update the list of include directories for the project
+    include_directories (${SIMCRS_INCLUDE_DIRS})
+
+    # Update the list of dependencies for the project
+    set (PROJ_DEP_LIBS_FOR_LIB ${PROJ_DEP_LIBS_FOR_LIB} ${SIMCRS_LIBRARIES})
+
+  else (SimCRS_FOUND)
+    set (ERROR_MSG "The SimCRS library cannot be found. If it is installed in")
+    set (ERROR_MSG "${ERROR_MSG} a in a non standard directory, just invoke")
+    set (ERROR_MSG "${ERROR_MSG} 'cmake' specifying the -DWITH_SIMCRS_PREFIX=")
+    set (ERROR_MSG "${ERROR_MSG}<SimCRS install path> variable.")
+    message (FATAL_ERROR "${ERROR_MSG}")
+  endif (SimCRS_FOUND)
+
+endmacro (get_simcrs)

 ##############################################
@@ -1667,6 +1923,62 @@
   endif (StdAir_FOUND)
 endmacro (display_stdair)

+# SEvMgr
+macro (display_sevmgr)
+  if (SEvMgr_FOUND)
+    message (STATUS)
+    message (STATUS "* SEvMgr:")
+    message (STATUS "  - SEVMGR_VERSION ............. : ${SEVMGR_VERSION}")
+    message (STATUS "  - SEVMGR_BINARY_DIRS ......... : ${SEVMGR_BINARY_DIRS}")
+    message (STATUS "  - SEVMGR_EXECUTABLES ......... : ${SEVMGR_EXECUTABLES}")
+    message (STATUS "  - SEVMGR_LIBRARY_DIRS ........ : ${SEVMGR_LIBRARY_DIRS}")
+    message (STATUS "  - SEVMGR_LIBRARIES ........... : ${SEVMGR_LIBRARIES}")
+    message (STATUS "  - SEVMGR_INCLUDE_DIRS ........ : ${SEVMGR_INCLUDE_DIRS}")
+  endif (SEvMgr_FOUND)
+endmacro (display_sevmgr)
+
+# TraDemGen
+macro (display_trademgen)
+  if (TraDemGen_FOUND)
+    message (STATUS)
+    message (STATUS "* TraDemGen:")
+    message (STATUS "  - TRADEMGEN_VERSION .......... : ${TRADEMGEN_VERSION}")
+    message (STATUS "  - TRADEMGEN_BINARY_DIRS ...... : ${TRADEMGEN_BINARY_DIRS}")
+    message (STATUS "  - TRADEMGEN_EXECUTABLES ...... : ${TRADEMGEN_EXECUTABLES}")
+    message (STATUS "  - TRADEMGEN_LIBRARY_DIRS ..... : ${TRADEMGEN_LIBRARY_DIRS}")
+    message (STATUS "  - TRADEMGEN_LIBRARIES ........ : ${TRADEMGEN_LIBRARIES}")
+    message (STATUS "  - TRADEMGEN_INCLUDE_DIRS ..... : ${TRADEMGEN_INCLUDE_DIRS}")
+  endif (TraDemGen_FOUND)
+endmacro (display_trademgen)
+
+# TravelCCM
+macro (display_travelccm)
+  if (TravelCCM_FOUND)
+    message (STATUS)
+    message (STATUS "* TravelCCM:")
+    message (STATUS "  - TRAVELCCM_VERSION .......... : ${TRAVELCCM_VERSION}")
+    message (STATUS "  - TRAVELCCM_BINARY_DIRS ...... : ${TRAVELCCM_BINARY_DIRS}")
+    message (STATUS "  - TRAVELCCM_EXECUTABLES ...... : ${TRAVELCCM_EXECUTABLES}")
+    message (STATUS "  - TRAVELCCM_LIBRARY_DIRS ..... : ${TRAVELCCM_LIBRARY_DIRS}")
+    message (STATUS "  - TRAVELCCM_LIBRARIES ........ : ${TRAVELCCM_LIBRARIES}")
+    message (STATUS "  - TRAVELCCM_INCLUDE_DIRS ..... : ${TRAVELCCM_INCLUDE_DIRS}")
+  endif (TravelCCM_FOUND)
+endmacro (display_travelccm)
+
+# AirSched
+macro (display_airsched)
+  if (AirSched_FOUND)
+    message (STATUS)
+    message (STATUS "* AirSched:")
+    message (STATUS "  - AIRSCHED_VERSION ........... : ${AIRSCHED_VERSION}")
+    message (STATUS "  - AIRSCHED_BINARY_DIRS ....... : ${AIRSCHED_BINARY_DIRS}")
+    message (STATUS "  - AIRSCHED_EXECUTABLES ....... : ${AIRSCHED_EXECUTABLES}")
+    message (STATUS "  - AIRSCHED_LIBRARY_DIRS ...... : ${AIRSCHED_LIBRARY_DIRS}")
+    message (STATUS "  - AIRSCHED_LIBRARIES ......... : ${AIRSCHED_LIBRARIES}")
+    message (STATUS "  - AIRSCHED_INCLUDE_DIRS ...... : ${AIRSCHED_INCLUDE_DIRS}")
+  endif (AirSched_FOUND)
+endmacro (display_airsched)
+
 # AirRAC
 macro (display_airrac)
   if (AirRAC_FOUND)
@@ -1695,19 +2007,75 @@
   endif (RMOL_FOUND)
 endmacro (display_rmol)

-# Airinv
+# AirInv
 macro (display_airinv)
-  if (Airinv_FOUND)
+  if (AirInv_FOUND)
     message (STATUS)
-    message (STATUS "* Airinv:")
+    message (STATUS "* AirInv:")
     message (STATUS "  - AIRINV_VERSION ............. : ${AIRINV_VERSION}")
     message (STATUS "  - AIRINV_BINARY_DIRS ......... : ${AIRINV_BINARY_DIRS}")
     message (STATUS "  - AIRINV_EXECUTABLES ......... : ${AIRINV_EXECUTABLES}")
     message (STATUS "  - AIRINV_LIBRARY_DIRS ........ : ${AIRINV_LIBRARY_DIRS}")
     message (STATUS "  - AIRINV_LIBRARIES ........... : ${AIRINV_LIBRARIES}")
     message (STATUS "  - AIRINV_INCLUDE_DIRS ........ : ${AIRINV_INCLUDE_DIRS}")
-  endif (Airinv_FOUND)
+  endif (AirInv_FOUND)
 endmacro (display_airinv)
+
+# AvlCal
+macro (display_avlcal)
+  if (AvlCal_FOUND)
+    message (STATUS)
+    message (STATUS "* AvlCal:")
+    message (STATUS "  - AVLCAL_VERSION ............. : ${AVLCAL_VERSION}")
+    message (STATUS "  - AVLCAL_BINARY_DIRS ......... : ${AVLCAL_BINARY_DIRS}")
+    message (STATUS "  - AVLCAL_EXECUTABLES ......... : ${AVLCAL_EXECUTABLES}")
+    message (STATUS "  - AVLCAL_LIBRARY_DIRS ........ : ${AVLCAL_LIBRARY_DIRS}")
+    message (STATUS "  - AVLCAL_LIBRARIES ........... : ${AVLCAL_LIBRARIES}")
+    message (STATUS "  - AVLCAL_INCLUDE_DIRS ........ : ${AVLCAL_INCLUDE_DIRS}")
+  endif (AvlCal_FOUND)
+endmacro (display_avlcal)
+
+# SimFQT
+macro (display_simfqt)
+  if (SimFQT_FOUND)
+    message (STATUS)
+    message (STATUS "* SimFQT:")
+    message (STATUS "  - SIMFQT_VERSION ............. : ${SIMFQT_VERSION}")
+    message (STATUS "  - SIMFQT_BINARY_DIRS ......... : ${SIMFQT_BINARY_DIRS}")
+    message (STATUS "  - SIMFQT_EXECUTABLES ......... : ${SIMFQT_EXECUTABLES}")
+    message (STATUS "  - SIMFQT_LIBRARY_DIRS ........ : ${SIMFQT_LIBRARY_DIRS}")
+    message (STATUS "  - SIMFQT_LIBRARIES ........... : ${SIMFQT_LIBRARIES}")
+    message (STATUS "  - SIMFQT_INCLUDE_DIRS ........ : ${SIMFQT_INCLUDE_DIRS}")
+  endif (SimFQT_FOUND)
+endmacro (display_simfqt)
+
+# SimLFS
+macro (display_simlfs)
+  if (SimLFS_FOUND)
+    message (STATUS)
+    message (STATUS "* SimLFS:")
+    message (STATUS "  - SIMLFS_VERSION ............. : ${SIMLFS_VERSION}")
+    message (STATUS "  - SIMLFS_BINARY_DIRS ......... : ${SIMLFS_BINARY_DIRS}")
+    message (STATUS "  - SIMLFS_EXECUTABLES ......... : ${SIMLFS_EXECUTABLES}")
+    message (STATUS "  - SIMLFS_LIBRARY_DIRS ........ : ${SIMLFS_LIBRARY_DIRS}")
+    message (STATUS "  - SIMLFS_LIBRARIES ........... : ${SIMLFS_LIBRARIES}")
+    message (STATUS "  - SIMLFS_INCLUDE_DIRS ........ : ${SIMLFS_INCLUDE_DIRS}")
+  endif (SimLFS_FOUND)
+endmacro (display_simlfs)
+
+# SimCRS
+macro (display_simcrs)
+  if (SimCRS_FOUND)
+    message (STATUS)
+    message (STATUS "* SimCRS:")
+    message (STATUS "  - SIMCRS_VERSION ............. : ${SIMCRS_VERSION}")
+    message (STATUS "  - SIMCRS_BINARY_DIRS ......... : ${SIMCRS_BINARY_DIRS}")
+    message (STATUS "  - SIMCRS_EXECUTABLES ......... : ${SIMCRS_EXECUTABLES}")
+    message (STATUS "  - SIMCRS_LIBRARY_DIRS ........ : ${SIMCRS_LIBRARY_DIRS}")
+    message (STATUS "  - SIMCRS_LIBRARIES ........... : ${SIMCRS_LIBRARIES}")
+    message (STATUS "  - SIMCRS_INCLUDE_DIRS ........ : ${SIMCRS_INCLUDE_DIRS}")
+  endif (SimCRS_FOUND)
+endmacro (display_simcrs)

 ##
 macro (display_status_all_modules)
@@ -1793,9 +2161,17 @@
   display_mysql ()
   display_soci ()
   display_stdair ()
+  display_sevmgr ()
+  display_trademgen ()
+  display_travelccm ()
+  display_airsched ()
   display_airrac ()
   display_rmol ()
   display_airinv ()
+  display_avlcal ()
+  display_simfqt ()
+  display_simlfs ()
+  display_simcrs ()
   #
   message (STATUS)
   message (STATUS "Change a value with: cmake -D<Variable>=<Value>" )


[Config] (hopefully) better detection of Boost.Python across platforms

--- config/project_config_embeddable.cmake
+++ config/project_config_embeddable.cmake
@@ -504,7 +504,7 @@
 	  set (PY_MINOR_VERSION "${CMAKE_MATCH_2}")
 	  set (PY_PATCH_VERSION "${CMAKE_MATCH_3}")
 	endif (${PYTHONLIBS_VERSION_STRING} MATCHES "([0-9]).([0-9]).([0-9])")
-
+
 	message (STATUS "Found PythonLibs ${PYTHONLIBS_VERSION} (${PYTHONLIBS_VERSION_STRING} / ${PY_MAJOR_VERSION}.${PY_MINOR_VERSION}.${PY_PATCH_VERSION})")

 	# Set the Python installation directory
@@ -585,15 +585,15 @@
 macro (register_boost_lib _boost_lib_list_name _boost_lib_list)
   # Update the list of library dependencies for the project
   foreach (_lib_cpt ${_boost_lib_list})
-	string (TOUPPER ${_lib_cpt} _lib_cpt_up)
-
-	if (Boost_${_lib_cpt_up}_LIBRARY)
-	  # Update the list of dependencies for the project
-	  list (APPEND ${_boost_lib_list_name} ${Boost_${_lib_cpt_up}_LIBRARY})
-
-	  # Update the list of libraries to be displayed
-	  list (APPEND BOOST_REQUIRED_LIBS ${Boost_${_lib_cpt_up}_LIBRARY})
-	endif (Boost_${_lib_cpt_up}_LIBRARY)
+    string (TOUPPER ${_lib_cpt} _lib_cpt_up)
+
+    if (Boost_${_lib_cpt_up}_LIBRARY)
+      # Update the list of dependencies for the project
+      list (APPEND ${_boost_lib_list_name} ${Boost_${_lib_cpt_up}_LIBRARY})
+
+      # Update the list of libraries to be displayed
+      list (APPEND BOOST_REQUIRED_LIBS ${Boost_${_lib_cpt_up}_LIBRARY})
+    endif (Boost_${_lib_cpt_up}_LIBRARY)
   endforeach (_lib_cpt ${_boost_lib_list})
 endmacro (register_boost_lib _boost_lib_list_name _boost_lib_list)

@@ -606,18 +606,26 @@
   else (${ARGC} GREATER 0)
     message (STATUS "Requires Boost without specifying any version")
   endif (${ARGC} GREATER 0)
-
+
   #
-  # Note: ${Boost_DATE_TIME_LIBRARY} and ${Boost_PROGRAM_OPTIONS_LIBRARY}
-  # are already set by ${SOCIMYSQL_LIBRARIES} and/or ${SOCI_LIBRARIES}.
-  #
-  set (python_component_name "python${PY_MAJOR_VERSION}${PY_MINOR_VERSION}")
+  # Note 1: ${Boost_DATE_TIME_LIBRARY} and ${Boost_PROGRAM_OPTIONS_LIBRARY}
+  #         are already set by ${SOCIMYSQL_LIBRARIES} and/or ${SOCI_LIBRARIES}.
+  # Note 2: Boost libraries are not installed in a consistent way across the
+  #         the different platforms and versions of Boost.
+  #         For a while, the Boost.Python library component was just called
+  #         'python'. It is now suffixed with the version of Python, and
+  #         on some Linux distributions, there is even a '-py' suffix.
+  #         On some platform/Boost version combinations, the Python version
+  #         may be just the major version (2 or 3 as of 2019) or the major
+  #         and minor versions (e.g., 27, 28, 34, 36, 37 as of 2019)
+  set (python_cpt_name1 "python${PY_MAJOR_VERSION}")
+  set (python_cpt_name2 "python${PY_MAJOR_VERSION}${PY_MINOR_VERSION}")
   set (Boost_USE_STATIC_LIBS OFF)
   set (Boost_USE_MULTITHREADED ON)
   set (Boost_USE_STATIC_RUNTIME OFF)
   set (BOOST_REQUIRED_COMPONENTS_FOR_LIB
     date_time random iostreams serialization filesystem system
-	locale ${python_component_name} regex)
+    locale ${python_cpt_name1} ${python_cpt_name2} regex)
   set (BOOST_REQUIRED_COMPONENTS_FOR_BIN program_options)
   set (BOOST_REQUIRED_COMPONENTS_FOR_TST unit_test_framework)
   set (BOOST_REQUIRED_COMPONENTS ${BOOST_REQUIRED_COMPONENTS_FOR_LIB}
@@ -637,23 +645,28 @@
   find_package (BoostWrapper ${_required_version} REQUIRED)

   if (Boost_FOUND)
+    # Boost.Python library
+    message (STATUS "  + Boost_PYTHON_LIBRARY: ${Boost_PYTHON_LIBRARY}")
+    message (STATUS "  + Boost_PYTHON3_LIBRARY: ${Boost_PYTHON3_LIBRARY}")
+    message (STATUS "  + Boost_PYTHON37_LIBRARY: ${Boost_PYTHON37_LIBRARY}")
+
     # Update the list of include directories for the project
     include_directories (${Boost_INCLUDE_DIRS})

-	# For display purposes
+    # For display purposes
     set (BOOST_REQUIRED_LIBS "")

     # Update the list of library dependencies for the project
-	register_boost_lib ("PROJ_DEP_LIBS_FOR_LIB"
-	  "${BOOST_REQUIRED_COMPONENTS_FOR_LIB}")
+    register_boost_lib ("PROJ_DEP_LIBS_FOR_LIB"
+      "${BOOST_REQUIRED_COMPONENTS_FOR_LIB}")

     # Update the list of binary dependencies for the project
-	register_boost_lib ("PROJ_DEP_LIBS_FOR_BIN"
-	  "${BOOST_REQUIRED_COMPONENTS_FOR_BIN}")
+    register_boost_lib ("PROJ_DEP_LIBS_FOR_BIN"
+      "${BOOST_REQUIRED_COMPONENTS_FOR_BIN}")

     # Update the list of test dependencies for the project
-	register_boost_lib ("PROJ_DEP_LIBS_FOR_TST"
-	  "${BOOST_REQUIRED_COMPONENTS_FOR_TST}")
+    register_boost_lib ("PROJ_DEP_LIBS_FOR_TST"
+      "${BOOST_REQUIRED_COMPONENTS_FOR_TST}")

   endif (Boost_FOUND)


libjansson fix

libjansson fix

--- libjansson.cmake
+++ libjansson.cmake
@@ -23,7 +23,7 @@
     UPDATE_COMMAND      ""
     PATCH_COMMAND       ""
     CONFIGURE_COMMAND ${BUILDEM_ENV_STRING} ${libjansson_SRC_DIR}/configure --prefix=${BUILDEM_DIR} --enable-shared
-    URL      ${libjansson_URL}
+    URL      http://www.digip.org/jansson/releases/jansson-2.4.tar.gz
     BUILD_COMMAND       ${BUILDEM_ENV_STRING} make
     INSTALL_COMMAND     ${BUILDEM_ENV_STRING} make install
 )


+ Fix variable name.

+ Fix variable name.

--- src/rezplugins/build_system/cmake_files/RezInstallCMake.cmake
+++ src/rezplugins/build_system/cmake_files/RezInstallCMake.cmake
@@ -123,7 +123,7 @@
     endif()
 	install(CODE "
 		set(REZ_BUILD_ENV 1)
-		list(APPEND CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH})
+		list(APPEND CMAKE_MODULE_PATH ${POSIX_CMAKE_MODULE_PATH})
 		include(RezInstallCMake)
 		_rez_install_auto_cmake(${auto_args})
 	    set(REZ_BUILD_ENV 0)


cleaned up quite a bit of GObjectIntrospection.cmake install the gir and typelib into the directory pointed to by pkg-config, we might want to change that later, but right now it seems appropriate

--- cmake/Modules/GObjectIntrospection.cmake
+++ cmake/Modules/GObjectIntrospection.cmake
@@ -1,15 +1,25 @@
 include(CMakeParseArguments)
 include(FindPkgConfig)

-pkg_check_modules(GOBJECT_INTROSPECTION REQUIRED gobject-introspection-1.0)
-
-find_program(GIR_SCANNER NAMES g-ir-scanner DOC "g-ir-scanner executable")
-mark_as_advanced(GIR_SCANNER)
-find_program(GIR_COMPILER NAMES g-ir-compiler DOC "g-ir-compiler executable")
-mark_as_advanced(GIR_COMPILER)
-find_program(GIR_GENERATE NAMES g-ir-generate DOC "g-ir-generate executable")
-mark_as_advanced(GIR_GENERATE)
-
+set(_PKG_CONFIG_MODULE "gobject-introspection-1.0")
+
+pkg_check_modules(GOBJECT_INTROSPECTION REQUIRED ${_PKG_CONFIG_MODULE})
+
+###############################################################################
+# Helpers
+###############################################################################
+# this macro will run "pkg-config --variable=VARIABLE ${_PKG_CONFIG_MODULE}"
+# and store the result in OUTPUT_VARIABLE
+macro(_pkg_config_variable VARIABLE OUTPUT_VARIABLE)
+	execute_process(
+		COMMAND ${PKG_CONFIG_EXECUTABLE} --variable=${VARIABLE} ${_PKG_CONFIG_MODULE}
+		OUTPUT_VARIABLE ${OUTPUT_VARIABLE}
+		OUTPUT_STRIP_TRAILING_WHITESPACE
+	)
+endmacro(_pkg_config_variable)
+
+# this macro will prefix every item in _list with _prefix and return it in
+# _newlist.
 macro(_gir_list_prefix _newlist _list _prefix)
 	set(${_newlist})
 	foreach(_item IN LISTS ${_list})
@@ -17,6 +27,18 @@
 	endforeach(_item)
 endmacro(_gir_list_prefix)

+###############################################################################
+# use the pkg-config to grab a bunch of variables from the
+# gobject-introspection.pc file
+###############################################################################
+_pkg_config_variable(g_ir_scanner GIR_SCANNER)
+_pkg_config_variable(g_ir_compiler GIR_COMPILER)
+_pkg_config_variable(girdir GIR_GIRDIR)
+_pkg_config_variable(typelibdir GIR_TYPELIBDIR)
+
+###############################################################################
+# The main function
+###############################################################################
 function(gobject_introspection _FIRST_ARG)
 	set(options QUIET VERBOSE)
 	set(oneValueArgs
@@ -147,6 +169,7 @@
 		COMMAND ${GIR_SCANNER} ${GIR_SCANNER_ARGS}
 			--namespace=${GIR_NAMESPACE}
 			--nsversion=${GIR_NSVERSION}
+			--warn-all
 			${GIR_REAL_CFLAGS}
 			${GIR_FORMAT}
 			${GIR_REAL_LIBRARY}
@@ -167,6 +190,11 @@

 	add_custom_target("${GIR_LIBRARY} gir" ALL DEPENDS ${GIR_LIBRARY} ${GIR_FILENAME})

+	install(
+		FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_FILENAME}
+		DESTINATION ${GIR_GIRDIR}
+	)
+
 	# create the name of the typelib
 	string(REPLACE ".gir" ".typelib" GIR_TYPELIB "${GIR_FILENAME}")

@@ -180,5 +208,10 @@
 	)

 	add_custom_target("${GIR_LIBRARY} typelib" ALL DEPENDS ${GIR_LIBRARY} ${GIR_FILENAME} ${GIR_TYPELIB})
+	install(
+		FILES ${CMAKE_CURRENT_BINARY_DIR}/${GIR_TYPELIB}
+		DESTINATION ${GIR_TYPELIBDIR}
+	)
+
 endfunction(gobject_introspection)


Disable annoying MSVC bool/integer warnings

This disables warnings about 'performance' regarding casting int to bool.
It also disables the integer truncation warning. This isn't something
we can detect in code - and much of our code is full of integer truncations
anyway.

Change-Id: Idf47262a7cab160d9edf3c9e40c47ab47d6bad80
Reviewed-on: http://review.couchbase.org/69927
Tested-by: buildbot <80754af91bfb6d1073585b046fe0a474ce868509@couchbase.com>
Reviewed-by: Sergey Avseyev <87f6d5e4fd3644c3c20800cde7fd3ad1569370b3@gmail.com>

--- cmake/Modules/GetLibcouchbaseFlags.cmake
+++ cmake/Modules/GetLibcouchbaseFlags.cmake
@@ -63,6 +63,7 @@

 #MSVC-specific flags for C/C++
 LIST(APPEND LCB_CL_CPPFLAGS /nologo /W3 /MP /EHsc)
+LIST(APPEND LCB_CL_CPPFLAGS /wd4800 /wd4244)
 list2args(LCB_CL_CPPFLAGS)

 # Common flags for DEBUG