Tweak generalized .github.com doc generation

--- DoxygenRule.cmake
+++ DoxygenRule.cmake
@@ -3,6 +3,7 @@
 if(NOT DOXYGEN_FOUND)
   return()
 endif()
+find_package(Git)

 configure_file(doc/DoxygenLayout.xml ${CMAKE_BINARY_DIR}/doc/DoxygenLayout.xml
   @ONLY)
@@ -22,7 +23,7 @@
 if(GIT_EXECUTABLE)
   execute_process(COMMAND ${GIT_EXECUTABLE} config --get remote.origin.url
     WORKING_DIRECTORY ${CMAKE_SOURCE_DIR} OUTPUT_VARIABLE GIT_ORIGIN_URL)
-  string(REGEX REPLACE ".*github.com\\/(.*)\\/.*" "\\1" GIT_ORIGIN_ORG
+  string(REGEX REPLACE ".*github.com[\\/:](.*)\\/.*" "\\1" GIT_ORIGIN_ORG
     ${GIT_ORIGIN_URL})
   string(TOLOWER ${GIT_ORIGIN_ORG} GIT_ORIGIN_ORG)
 endif()


modify option doc

modify option doc

--- modules/cblas.cmake
+++ modules/cblas.cmake
@@ -17,7 +17,7 @@
 #   docopt: --cblas Detect and link to CBLAS [default: False].
 #   define: '-DENABLE_CBLAS=%s' % arguments['--cblas']

-option(ENABLE_CBLAS "Enable CBLAS" OFF)
+option(ENABLE_CBLAS "Detect and link to CBLAS" OFF)

 if(ENABLE_CBLAS)
     if(ENABLE_STATIC_LINKING)


removing WKFind dependencies

removing WKFind dependencies

--- dist/WkBuild.cmake
+++ dist/WkBuild.cmake
@@ -34,7 +34,6 @@

 #To setup the compiler
 include ( CMake/WkCompilerSetup.cmake )
-include ( CMake/WkFind.cmake )

 macro(WKProject project_name_arg)
 CMAKE_POLICY(PUSH)
@@ -239,13 +238,7 @@
 	#

 	WkGenConfig( )
-
-	#
-	# Generating the findProject.cmake in case external projects want to use it...
-	#
-
-	WkGenFind( )
-
+
 CMAKE_POLICY(POP)
 endmacro (WkBuild)


Don't apply visibility settings to statically built samples.  Fixes linking problems with Xcode 4 and iOS.

--- CMake/Utils/OgreConfigTargets.cmake
+++ CMake/Utils/OgreConfigTargets.cmake
@@ -293,14 +293,17 @@
       endif()
     endif(NOT OGRE_BUILD_PLATFORM_APPLE_IOS)
   endif (APPLE)
-  if (CMAKE_COMPILER_IS_GNUCXX)
-    # add GCC visibility flags to shared library build
-    set_target_properties(${SAMPLENAME} PROPERTIES COMPILE_FLAGS "${OGRE_GCC_VISIBILITY_FLAGS}")
-    set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN}")
-    set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN}")
-    # disable "lib" prefix on Unix
-    set_target_properties(${SAMPLENAME} PROPERTIES PREFIX "")
-  endif (CMAKE_COMPILER_IS_GNUCXX)
+  if (NOT OGRE_STATIC)
+    if (CMAKE_COMPILER_IS_GNUCXX)
+      # add GCC visibility flags to shared library build
+      set_target_properties(${SAMPLENAME} PROPERTIES COMPILE_FLAGS "${OGRE_GCC_VISIBILITY_FLAGS}")
+      set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_SYMBOLS_PRIVATE_EXTERN}")
+      set_target_properties(${SAMPLENAME} PROPERTIES XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN "${XCODE_ATTRIBUTE_GCC_INLINES_ARE_PRIVATE_EXTERN}")
+      # disable "lib" prefix on Unix
+      set_target_properties(${SAMPLENAME} PROPERTIES PREFIX "")
+    endif (CMAKE_COMPILER_IS_GNUCXX)
+  endif()
+
   if (OGRE_INSTALL_SAMPLES)
 	ogre_install_target(${SAMPLENAME} ${OGRE_SAMPLE_PATH} FALSE)
   endif()


When testing the MITK-ProjectTemplate, enable all apps.

--- CMake/mitkTestProjectTemplate.cmake
+++ CMake/mitkTestProjectTemplate.cmake
@@ -19,6 +19,7 @@
       -DMITK_DIR:PATH=${MITK_BINARY_DIR}
       -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE}
       -DAwesomeProject_BUILD_ALL_PLUGINS:BOOL=ON
+      -DAwesomeProject_BUILD_ALL_APPS:BOOL=ON
   )

   if(CMAKE_CONFIGURATION_TYPES)


MSVC compiler setting to avoid defintion of min() and max() macros

--- CMakeModules/CompilerSettings.cmake
+++ CMakeModules/CompilerSettings.cmake
@@ -18,7 +18,7 @@
 endif()

 if(MSVC OR MSVC90 OR MSVC10)
-    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /W1")
+    set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} /EHsc /MP /W1 -DNOMINMAX")
 endif(MSVC OR MSVC90 OR MSVC10)

 if(CMAKE_CXX_COMPILER_ID STREQUAL "Intel")


Removed obsolete CMake module for 'GeneralTools'.

--- CMakeModules/FindGeneralTools.cmake
+++ CMakeModules/FindGeneralTools.cmake
@@ -1,103 +0,0 @@
- #    Copyright (c) 2010-2013, Delft University of Technology
- #    All rights reserved.
- #
- #    Redistribution and use in source and binary forms, with or without modification, are
- #    permitted provided that the following conditions are met:
- #      - Redistributions of source code must retain the above copyright notice, this list of
- #        conditions and the following disclaimer.
- #      - Redistributions in binary form must reproduce the above copyright notice, this list of
- #        conditions and the following disclaimer in the documentation and/or other materials
- #        provided with the distribution.
- #      - Neither the name of the Delft University of Technology nor the names of its contributors
- #        may be used to endorse or promote products derived from this software without specific
- #        prior written permission.
- #
- #    THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS
- #    OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
- #    MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
- #    COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
- #    EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE
- #    GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED
- #    AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
- #    NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED
- #    OF THE POSSIBILITY OF SUCH DAMAGE.
- #
- #    Changelog
- #      YYMMDD    Author            Comment
- #      12xxxx    B. Tong Minh      File created based on FindEigen3.cmake.
- #      130211    K. Kumar          Updated for General Tools project.
- #
- #    References
- #      FindEigen3.cmake.
- #
- #    Notes
- #      This script tries to find the General Tools library (part of the suite of applications for
- #      planetary rings). This module supports requiring a minimum version, e.g. you can do version,
- #      e.g. you can do find_package(GeneralTools 3.1.2) to require version 3.1.2 or newer of
- #      Tudat.
- #
- #      Once done, this will define:
- #
- #          GENERAL_TOOLS_FOUND - system has GeneralTools lib with correct version;
- #          GENERAL_TOOLS_INCLUDE_DIR - the GeneralTools include directory.
- #
- #      Original copyright statements (from FindEigen3.cmake:
- #          Copyright (c) 2006, 2007 Montel Laurent, <montel@kde.org>
- #          Copyright (c) 2008, 2009 Gael Guennebaud, <g.gael@free.fr>
- #          Copyright (c) 2009 Benoit Jacob <jacob.benoit.1@gmail.com>
- #
- #      FindEigen3.cmake states that redistribution and use is allowed according to the terms of
- #      the 2-clause BSD license.
- #
-
-macro(_general_tools_check_version)
-  file(READ "${GENERAL_TOOLS_INCLUDE_DIR}/GeneralTools/generalToolsVersion.h" _general_tools_header)
-
-  string(REGEX MATCH "define[ \t]+GENERAL_TOOLS_VERSION_MAJOR[ \t]+([0-9]+)" _general_tools_major_version_match "${_general_tools_header}")
-  set(GENERAL_TOOLS_MAJOR_VERSION "${CMAKE_MATCH_1}")
-  string(REGEX MATCH "define[ \t]+GENERAL_TOOLS_VERSION_MINOR[ \t]+([0-9]+)" _general_tools_minor_version_match "${_general_tools_header}")
-  set(GENERAL_TOOLS_MINOR_VERSION "${CMAKE_MATCH_1}")
-
-  set(GENERAL_TOOLS_VERSION ${GENERAL_TOOLS_MAJOR_VERSION}.${GENERAL_TOOLS_MINOR_VERSION})
-  if(${GENERAL_TOOLS_VERSION} VERSION_LESS ${GeneralTools_FIND_VERSION})
-    set(GENERAL_TOOLS_VERSION_OK FALSE)
-  else(${GENERAL_TOOLS_VERSION} VERSION_LESS ${GeneralTools_FIND_VERSION})
-    set(GENERAL_TOOLS_VERSION_OK TRUE)
-  endif(${GENERAL_TOOLS_VERSION} VERSION_LESS ${GeneralTools_FIND_VERSION})
-
-  if(NOT GENERAL_TOOLS_VERSION_OK)
-
-    message(STATUS "Tudat version ${GENERAL_TOOLS_VERSION} found in ${GENERAL_TOOLS_INCLUDE_DIR}, "
-                   "but at least version ${GeneralTools_FIND_VERSION} is required")
-  endif(NOT GENERAL_TOOLS_VERSION_OK)
-
-  set(GENERAL_TOOLS_LIBRARIES "general_tools")
-  link_directories(${GENERAL_TOOLS_LIBRARIES_DIR})
-endmacro(_general_tools_check_version)
-
-if (GENERAL_TOOLS_INCLUDE_DIR)
-
-  # in cache already
-  _general_tools_check_version()
-  set(GENERAL_TOOLS_FOUND ${GENERAL_TOOLS_VERSION_OK})
-
-else (GENERAL_TOOLS_INCLUDE_DIR)
-
-  find_path(GENERAL_TOOLS_BASE_PATH NAMES generalToolsVersion.h
-      PATHS
-      ${PROJECT_SOURCE_DIR}/../../generalTools
-      PATH_SUFFIXES GeneralTools
-    )
-  set(GENERAL_TOOLS_INCLUDE_DIR ${GENERAL_TOOLS_BASE_PATH}/../)
-  set(GENERAL_TOOLS_LIBRARIES_DIR ${GENERAL_TOOLS_BASE_PATH}/../lib)
-
-  if(GENERAL_TOOLS_INCLUDE_DIR)
-    _general_tools_check_version()
-  endif(GENERAL_TOOLS_INCLUDE_DIR)
-
-  include(FindPackageHandleStandardArgs)
-  find_package_handle_standard_args(GeneralTools DEFAULT_MSG GENERAL_TOOLS_INCLUDE_DIR GENERAL_TOOLS_VERSION_OK)
-
-  mark_as_advanced(GENERAL_TOOLS_INCLUDE_DIR)
-
-endif(GENERAL_TOOLS_INCLUDE_DIR)


fix FTBFS on Mac OS X without Prosilica libraries installed

--- CMakeModules/FindProsilicaGigE.cmake
+++ CMakeModules/FindProsilicaGigE.cmake
@@ -66,16 +66,16 @@

 FIND_LIBRARY(PROSILICA_GIGE_LIBRARY PvAPI ${PROSILICA_TEST_LIB_PATHS})

-IF(APPLE)
-  SET(PROSILICA_GIGE_LIBRARY
-    ${PROSILICA_GIGE_LIBRARY}
-    "-framework CoreFoundation"
-    )
-ENDIF(APPLE)
-
 INCLUDE(FindPackageHandleStandardArgs)
-FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROSILICA_GIGE DEFAULT_MSG
+FIND_PACKAGE_HANDLE_STANDARD_ARGS(PROSILICA_GIGE DEFAULT_MSG
                                                  PROSILICA_GIGE_INCLUDE_PATH
                                                  PROSILICA_GIGE_LIBRARY)
 SET(PROSILICA_GIGE_LIBRARIES ${PROSILICA_GIGE_LIBRARY})
 SET(PROSILICA_GIGE_INCLUDE_DIRS ${PROSILICA_GIGE_INCLUDE_PATH})
+
+IF(APPLE)
+  SET(PROSILICA_GIGE_LIBRARIES
+    ${PROSILICA_GIGE_LIBRARIES}
+    "-framework CoreFoundation"
+    )
+ENDIF(APPLE)


[FEATURE] Added contrib package including vs15 contribs.

--- util/cmake/SeqAnContribs.cmake
+++ util/cmake/SeqAnContribs.cmake
@@ -36,7 +36,7 @@

 if (WIN32)
   # For all contrib versions...
-  foreach (_SEQAN_CONTRIB_VERSION D20160115)
+  foreach (_SEQAN_CONTRIB_VERSION D20170601 D20160115)
     set (_SEQAN_CONTRIB_DIR "seqan-contrib-${_SEQAN_CONTRIB_VERSION}")

 	  # Determine architecture for the precompiled contribs.


refactor static suffixing strategy (#4450)

--- Code/cmake/Modules/RDKitUtils.cmake
+++ Code/cmake/Modules/RDKitUtils.cmake
@@ -55,13 +55,24 @@
       add_library(${RDKLIB_NAME}_static ${RDKLIB_SOURCES})

       foreach(linkLib ${RDKLIB_LINK_LIBRARIES})
-        if(${linkLib} MATCHES "^(Boost)|(Thread)|(boost)|^(optimized)|^(debug)|(libz)")
-          set(rdk_static_link_libraries "${rdk_static_link_libraries}${linkLib};")
-        else()
-          set(rdk_static_link_libraries "${rdk_static_link_libraries}${linkLib}_static;")
+        if(TARGET "${linkLib}")
+          get_target_property(linkLib_IMPORTED "${linkLib}" IMPORTED)
+          if (linkLib_IMPORTED)
+            # linkLib is an imported target: use it as-is
+            target_link_libraries(${RDKLIB_NAME}_static PUBLIC "${linkLib}")
+            continue()
+          endif()
+        elseif(EXISTS "${linkLib}")
+          # linkLib is a file, so keep it as-is
+          target_link_libraries(${RDKLIB_NAME}_static PUBLIC "${linkLib}")
+          continue()
         endif()
+
+        # We haven't seen linkLib yet. This probably means it is a target
+        # we will be creating at some point (if not, then we are missing a find_package).
+        # Add the "_static" suffix to link against its static variant
+        target_link_libraries(${RDKLIB_NAME}_static PUBLIC "${linkLib}_static")
       endforeach()
-      target_link_libraries(${RDKLIB_NAME}_static PUBLIC ${rdk_static_link_libraries})
       target_link_libraries(${RDKLIB_NAME}_static PUBLIC rdkit_base)
       if(RDK_INSTALL_DEV_COMPONENT)
         INSTALL(TARGETS ${RDKLIB_NAME}_static EXPORT ${RDKit_EXPORTED_TARGETS}


Remove slicer_cli client tests

Remove slicer_cli client tests

--- plugin.cmake
+++ plugin.cmake
@@ -61,14 +61,6 @@

 # front-end tests
 add_web_client_test(
-    HistomicsTK_schema "${PROJECT_SOURCE_DIR}/plugins/HistomicsTK/plugin_tests/client/parser.js"
-    ENABLEDPLUGINS "HistomicsTK")
-
-add_web_client_test(
-    HistomicsTK_widget "${PROJECT_SOURCE_DIR}/plugins/HistomicsTK/plugin_tests/client/widget.js"
-    ENABLEDPLUGINS "HistomicsTK")
-
-add_web_client_test(
     HistomicsTK_visualization "${PROJECT_SOURCE_DIR}/plugins/HistomicsTK/plugin_tests/client/visualization.js"
     ENABLEDPLUGINS "HistomicsTK" "large_image")


Reverted back to Android NDK version r11c.

--- toolchains/android.toolchain.cmake
+++ toolchains/android.toolchain.cmake
@@ -71,7 +71,7 @@
 if ( NOT ANDROID_NDK )
     set( ANDROID_NDK "$ENV{ANDROID_NDK}" )
     if ( NOT ANDROID_NDK )
-        set( android_ndk_default_version r12-beta2 )
+        set( android_ndk_default_version r11c )
         if ( ANDROID_NDK_ROOT )
             set( ANDROID_NDK "${ANDROID_NDK_ROOT}/android-ndk-${android_ndk_default_version}" )
         else()


Fix wrong option name

Fix wrong option name

--- CMake/mitkFunctionGetVersion.cmake
+++ CMake/mitkFunctionGetVersion.cmake
@@ -33,7 +33,7 @@
       WORKING_DIRECTORY "${source_dir}"
       RESULT_VARIABLE _result_var
       OUTPUT_VARIABLE ${prefix}_WC_REVISION_HASH
-      OUTPUT_STRIP_TRAILING_SPACE
+      OUTPUT_STRIP_TRAILING_WHITESPACE
       ERROR_QUIET)

     if(NOT _result_var)
@@ -42,7 +42,7 @@
       execute_process(COMMAND ${GIT_EXECUTABLE} name-rev --name-only ${${prefix}_WC_REVISION_HASH}
         WORKING_DIRECTORY "${source_dir}"
         OUTPUT_VARIABLE ${prefix}_WC_REVISION_NAME
-        OUTPUT_STRIP_TRAILING_SPACE)
+        OUTPUT_STRIP_TRAILING_WHITESPACE)

       set(_wc_id ${${prefix}_WC_REVISION_HASH})
       set(_wc_name ${${prefix}_WC_REVISION_NAME})


Disable treeview in Doxygen documentation

The layout with treeview did not work well with mobile browsers

--- doc/Doxyfile.cmake
+++ doc/Doxyfile.cmake
@@ -1136,7 +1136,7 @@
 # navigation tree you can set this option to NO if you already set
 # GENERATE_TREEVIEW to YES.

-DISABLE_INDEX          = YES
+DISABLE_INDEX          = NO

 # The GENERATE_TREEVIEW tag is used to specify whether a tree-like index
 # structure should be generated to display hierarchical information.
@@ -1148,7 +1148,7 @@
 # Since the tree basically has the same information as the tab index you
 # could consider to set DISABLE_INDEX to NO when enabling this option.

-GENERATE_TREEVIEW      = YES
+GENERATE_TREEVIEW      = NO

 # The ENUM_VALUES_PER_LINE tag can be used to set the number of enum values
 # (range [0,1..20]) that doxygen will group on one line in the generated HTML


android-arm: Add CMake 3.7 toolchain file support

See:

  https://cmake.org/cmake/help/v3.7/manual/cmake-toolchains.7.html#cross-compiling-for-android-with-a-standalone-toolchain

--- android-arm/Toolchain.cmake
+++ android-arm/Toolchain.cmake
@@ -2,6 +2,9 @@
 set(CMAKE_SYSTEM_VERSION 1)

 set(cross_triple arm-linux-androideabi)
+set(CMAKE_ANDROID_STANDALONE_TOOLCHAIN /usr/${cross_triple}/)
+set(CMAKE_ANDROID_ARM_MODE 1)
+set(CMAKE_ANDROID_ARM_NEON 1)

 set(CMAKE_C_COMPILER /usr/${cross_triple}/bin/${cross_triple}-gcc)
 set(CMAKE_CXX_COMPILER /usr/${cross_triple}/bin/${cross_triple}-g++)


Add args back to valgrind tests

Add args back to valgrind tests

--- ValgrindTest.cmake
+++ ValgrindTest.cmake
@@ -67,9 +67,13 @@
 	endif()

 	if (ADD_VALGRIND_PROFILE_TEST_PROFILING)
-		add_valgrind_profile(PROFILING ${ADD_VALGRIND_PROFILE_TEST_PROFILING} TARGET ${ADD_VALGRIND_PROFILE_TEST_TARGET} EXECUTABLE ${ADD_VALGRIND_PROFILE_TEST_EXECUTABLE})
+		add_valgrind_profile(PROFILING ${ADD_VALGRIND_PROFILE_TEST_PROFILING} TARGET ${ADD_VALGRIND_PROFILE_TEST_TARGET}
+			EXECUTABLE ${ADD_VALGRIND_PROFILE_TEST_EXECUTABLE} VALGRIND_ARGS ${ADD_VALGRIND_PROFILE_TEST_VALGRIND_ARGS}
+			EXECUTABLE_ARGS ${ADD_VALGRIND_PROFILE_TEST_EXECUTABLE_ARGS})
 	else()
-		add_valgrind_test(MEMCHECK ${ADD_VALGRIND_PROFILE_TEST_MEMCHECK} TARGET ${ADD_VALGRIND_PROFILE_TEST_TARGET} EXECUTABLE ${ADD_VALGRIND_PROFILE_TEST_EXECUTABLE})
+		add_valgrind_test(MEMCHECK ${ADD_VALGRIND_PROFILE_TEST_MEMCHECK} TARGET ${ADD_VALGRIND_PROFILE_TEST_TARGET}
+			EXECUTABLE ${ADD_VALGRIND_PROFILE_TEST_EXECUTABLE} VALGRIND_ARGS ${ADD_VALGRIND_PROFILE_TEST_VALGRIND_ARGS}
+			EXECUTABLE_ARGS ${ADD_VALGRIND_PROFILE_TEST_EXECUTABLE_ARGS})
 	endif()

 endfunction()


update luap-openssl

update luap-openssl

--- deps/lua-openssl.cmake
+++ deps/lua-openssl.cmake
@@ -30,8 +30,9 @@
 endif()

 add_library(lua_openssl
+  ${LUA_OPENSSL_DIR}/deps/auxiliar/auxiliar.c
+  ${LUA_OPENSSL_DIR}/deps/auxiliar/subsidiar.c
   ${LUA_OPENSSL_DIR}/src/asn1.c
-  ${LUA_OPENSSL_DIR}/deps/auxiliar/auxiliar.c
   ${LUA_OPENSSL_DIR}/src/bio.c
   ${LUA_OPENSSL_DIR}/src/callback.c
   ${LUA_OPENSSL_DIR}/src/cipher.c


fix CUDA_VERSION handling

fix CUDA_VERSION handling

--- alpakaConfig.cmake
+++ alpakaConfig.cmake
@@ -280,6 +280,7 @@
             SET(ALPAKA_ACC_GPU_CUDA_ENABLE OFF CACHE BOOL "Enable the CUDA GPU back-end" FORCE)

         ELSE()
+            SET(ALPAKA_CUDA_VERSION "${CUDA_VERSION}")
             SET(ALPAKA_CUDA_ARCH sm_20 CACHE STRING "GPU architecture")
             STRING(COMPARE EQUAL "${ALPAKA_CUDA_ARCH}" "sm_10" IS_CUDA_ARCH_UNSUPPORTED)
             STRING(COMPARE EQUAL "${ALPAKA_CUDA_ARCH}" "sm_11" IS_CUDA_ARCH_UNSUPPORTED)
@@ -329,11 +330,11 @@

                 SET(CUDA_PROPAGATE_HOST_FLAGS ON)

-                IF(ALPAKA_CUDA_VERSION VERSION_EQUAL 8.0)
+                IF(CUDA_VERSION VERSION_EQUAL 8.0)
                     LIST(APPEND CUDA_NVCC_FLAGS "-Wno-deprecated-gpu-targets")
                 ENDIF()

-                IF(NOT ALPAKA_CUDA_VERSION VERSION_LESS 7.5)
+                IF(NOT CUDA_VERSION VERSION_LESS 7.5)
                     LIST(APPEND CUDA_NVCC_FLAGS "--expt-extended-lambda")
                 ENDIF()


Re-arranged where update our CMake policies (we still had the warnings on Windows) [ci skip].

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -1,10 +1,3 @@
-# Make sure that all the CMake policies that have been introduced since our
-# minimum required CMake version (i.e. 2.8.9) are compatible with it
-
-IF(NOT CMAKE_VERSION VERSION_LESS 2.8.11)
-    CMAKE_POLICY(SET CMP0020 OLD)
-ENDIF()
-
 # Determine the effective build directory

 SET(PROJECT_BUILD_DIR ${CMAKE_BINARY_DIR})
@@ -15,9 +8,24 @@

 #===============================================================================

+MACRO(UPDATE_POLICIES)
+    # Make sure that all the CMake policies that have been introduced since our
+    # minimum required CMake version (i.e. 2.8.9) are compatible with it
+
+    IF(NOT CMAKE_VERSION VERSION_LESS 2.8.11)
+        CMAKE_POLICY(SET CMP0020 OLD)
+    ENDIF()
+ENDMACRO()
+
+#===============================================================================
+
 MACRO(INITIALISE_PROJECT)
 #    SET(CMAKE_VERBOSE_MAKEFILE ON)
     SET(CMAKE_INCLUDE_CURRENT_DIR ON)
+
+    # Make sure that our policies are up to date
+
+    UPDATE_POLICIES()

     # Make sure that we are building on a supported architecture
     # Note #1: normally, we would check the value of CMAKE_SIZEOF_VOID_P, but
@@ -247,6 +255,10 @@
 #===============================================================================

 MACRO(ADD_PLUGIN PLUGIN_NAME)
+    # Make sure that our policies are up to date
+
+    UPDATE_POLICIES()
+
     # Various initialisations

     SET(PLUGIN_NAME ${PLUGIN_NAME})


Yet some more work on supporting MSVC (#87).

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -500,6 +500,7 @@
                 QT4_WRAP_CPP(TEST_SOURCES_MOC
                     ../../plugin.h

+                    ${HEADERS_MOC}
                     ${TEST_HEADER_MOC_FILE}
                 )


Clang-Tidy: only show issues for libCellML's headers.

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -167,15 +167,16 @@
       set(_CLANG_TIDY_WARNINGS_AS_ERRORS ";-warnings-as-errors=${_CLANG_TIDY_CHECKS}")
     endif()

-    file(RELATIVE_PATH _RELATIVE_SOURCE_PATH ${CMAKE_BINARY_DIR} ${CMAKE_SOURCE_DIR})
-    set(_RELATIVE_SOURCE_PATH "${CMAKE_BINARY_DIR}/${_RELATIVE_SOURCE_PATH}src/")
+    set(_HEADER_FILTER_DIR "${CMAKE_SOURCE_DIR}/src/")
+    string(REPLACE "//" "/"
+           _HEADER_FILTER_DIR "${_HEADER_FILTER_DIR}")
     string(REPLACE "." "\\\."
-           _RELATIVE_SOURCE_PATH "${_RELATIVE_SOURCE_PATH}")
+           _HEADER_FILTER_DIR "${_HEADER_FILTER_DIR}")
     string(REPLACE "/" "\\\/"
-           _RELATIVE_SOURCE_PATH "${_RELATIVE_SOURCE_PATH}")
+           _HEADER_FILTER_DIR "${_HEADER_FILTER_DIR}")

     set_target_properties(${_TARGET} PROPERTIES
-      CXX_CLANG_TIDY "${CLANG_TIDY_EXE};-checks=${_CLANG_TIDY_CHECKS};-header-filter=${_RELATIVE_SOURCE_PATH}.*${_CLANG_TIDY_WARNINGS_AS_ERRORS}"
+      CXX_CLANG_TIDY "${CLANG_TIDY_EXE};-checks=${_CLANG_TIDY_CHECKS};-header-filter=${_HEADER_FILTER_DIR}.*${_CLANG_TIDY_WARNINGS_AS_ERRORS}"
     )
   endif()
 endfunction()


Some minor cleaning up.

Some minor cleaning up.

Not sure why it was (still?) there, but we don’t need access to the
plugin manager within a test, so removed it, thus making it ‘easier’ to
build OpenCOR.

--- cmake/common.cmake
+++ cmake/common.cmake
@@ -716,23 +716,11 @@
                 #       build...

                 QT5_WRAP_CPP(TEST_SOURCES_MOC
-                    ../../../misc/cliutils.h
-
-                    ../../plugin.h
-                    ../../pluginmanager.h
-
                     ${TEST_HEADER_MOC}
                 )

                 ADD_EXECUTABLE(${TEST_NAME}
-                    ../../../misc/cliapplication.cpp
-                    ../../../misc/cliutils.cpp
-
                     ../../../tests/src/testsutils.cpp
-
-                    ../../plugin.cpp
-                    ../../plugininfo.cpp
-                    ../../pluginmanager.cpp

                     ${SOURCES}
                     ${SOURCES_MOC}
@@ -750,7 +738,7 @@

                 # Plugins

-                FOREACH(PLUGIN ${PLUGINS} ${PLUGIN_NAME} Core)
+                FOREACH(PLUGIN ${PLUGINS} ${PLUGIN_NAME})
                     TARGET_LINK_LIBRARIES(${TEST_NAME}
                         ${PLUGIN}Plugin
                     )
@@ -766,7 +754,7 @@

                 # Qt modules

-                FOREACH(QT_MODULE ${QT_MODULES} Network Test Xml XmlPatterns)
+                FOREACH(QT_MODULE ${QT_MODULES} Test)
                     TARGET_LINK_LIBRARIES(${TEST_NAME}
                         Qt5::${QT_MODULE}
                     )