From 8e0e13063280a1a953124c795a6ba9dab386c171 Mon Sep 17 00:00:00 2001 From: fouriaux Date: Thu, 8 Feb 2018 15:30:17 +0100 Subject: [PATCH 1/3] fix clang-format finder to: -- support specific version -- support path containing multiple clang-format --- CMake/packages/FindClangFormat.cmake | 30 ++++++++++++++++++++-------- CMakeLists.txt | 4 +++- 2 files changed, 25 insertions(+), 9 deletions(-) diff --git a/CMake/packages/FindClangFormat.cmake b/CMake/packages/FindClangFormat.cmake index d77d514a4..45d43f860 100644 --- a/CMake/packages/FindClangFormat.cmake +++ b/CMake/packages/FindClangFormat.cmake @@ -25,16 +25,30 @@ # THE POSSIBILITY OF SUCH DAMAGE. string(REPLACE ":" ";" _PATH $ENV{PATH}) +set(CLANG_FORMAT_FOUND OFF) foreach(p ${_PATH}) - file(GLOB cand ${p}/clang-format*) - if(cand) - set(CLANG_FORMAT_EXECUTABLE ${cand}) - set(CLANG_FORMAT_FOUND ON) + file(GLOB cand ${p}/clang-format ${p}/clang-format-[0-9].[0-9]) + foreach(candidate ${cand}) + set(CLANG_FORMAT_EXECUTABLE ${candidate}) execute_process(COMMAND ${CLANG_FORMAT_EXECUTABLE} -version OUTPUT_VARIABLE clang_out ) - string(REGEX MATCH .*\(version[^\n]*\)\n version ${clang_out}) + string(REGEX MATCH "version \([0-9]\\.[0-9]\)" VERSION_OUTPUT ${clang_out}) set(CLANG_FORMAT_VERSION ${CMAKE_MATCH_1}) - break() - else() - set(CLANG_FORMAT_FOUND OFF) + if ((${CLANG_FORMAT_VERSION} VERSION_GREATER ${CLANG_FORMAT_MIN_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MIN_VERSION})) + set (FIT_MIN_REQUIRED true) + else () + set (FIT_MIN_REQUIRED false) + endif() + if ((${CLANG_FORMAT_VERSION} VERSION_LESS ${CLANG_FORMAT_MAX_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MAX_VERSION})) + set (FIT_MAX_REQUIRED true) + else () + set (FIT_MAX_REQUIRED false) + endif() + if ( ${FIT_MIN_REQUIRED} AND ${FIT_MAX_REQUIRED}) + set(CLANG_FORMAT_FOUND ON) + break() + endif() + endforeach() + if (${CLANG_FORMAT_FOUND}) + break() endif() endforeach() diff --git a/CMakeLists.txt b/CMakeLists.txt index fd46dc920..04aa4eaa2 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -164,12 +164,14 @@ add_definitions(-DCORENEURON_BUILD) option (ENABLE_SELECTIVE_GPU_PROFILING "Enable GPU profiling only for Solver" ON) option (ENABLE_OPENACC "Enable use of OpenACC" OFF) +set(CLANG_FORMAT_MIN_VERSION "4.0") +set(CLANG_FORMAT_MAX_VERSION "4.9") find_package(ClangFormat) if(CLANG_FORMAT_FOUND) message("clang-format : ${CLANG_FORMAT_EXECUTABLE} : ${CLANG_FORMAT_VERSION}") else() - message("clang-format executable not found") + message("clang-format executable with appropriate version (min: ${CLANG_FORMAT_MIN_VERSION}, max: ${CLANG_FORMAT_MAX_VERSION}) not found") endif() if(CLANG_FORMAT_FOUND) From 9e91d527fe3015e1ce993ccf18d72d15488fbf43 Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Fri, 9 Feb 2018 11:07:45 +0100 Subject: [PATCH 2/3] Add cmake info messages for boost/tests --- CMakeLists.txt | 2 ++ tests/CMakeLists.txt | 28 ++++++++++++++-------------- 2 files changed, 16 insertions(+), 14 deletions(-) diff --git a/CMakeLists.txt b/CMakeLists.txt index 04aa4eaa2..d5cf0faf9 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -257,6 +257,8 @@ endif(CORENEURON_MAIN) # Tests if(Boost_FOUND) add_subdirectory(tests) +else() + message(STATUS "Boost not found, disabling tests") endif(Boost_FOUND) diff --git a/tests/CMakeLists.txt b/tests/CMakeLists.txt index 030b5b26c..6c2bdcbb5 100644 --- a/tests/CMakeLists.txt +++ b/tests/CMakeLists.txt @@ -36,21 +36,21 @@ endif() if(UNIT_TESTS) - -add_subdirectory(unit/endian) -add_subdirectory(unit/sdprintf) -add_subdirectory(unit/mechbuild) -add_subdirectory(unit/omp) -add_subdirectory(unit/cmdline_interface) -add_subdirectory(unit/interleave_info) -add_subdirectory(unit/alignment) -add_subdirectory(unit/queueing) - + add_subdirectory(unit/endian) + add_subdirectory(unit/sdprintf) + add_subdirectory(unit/mechbuild) + add_subdirectory(unit/omp) + add_subdirectory(unit/cmdline_interface) + add_subdirectory(unit/interleave_info) + add_subdirectory(unit/alignment) + add_subdirectory(unit/queueing) +else() + message(STATUS "Unit tests disabled") endif() if(FUNCTIONAL_TESTS) - -add_subdirectory(integration) -add_subdirectory(regression) - + add_subdirectory(integration) + add_subdirectory(regression) +else() + message(STATUS "Functional tests disabled") endif() From 97bde62abc8cbb4aa1064db61f5796dc7d6f9415 Mon Sep 17 00:00:00 2001 From: Pramod Kumbhar Date: Fri, 9 Feb 2018 11:14:39 +0100 Subject: [PATCH 3/3] Re-indent cmake clang-format module --- CMake/packages/FindClangFormat.cmake | 46 ++++++++++++++-------------- 1 file changed, 23 insertions(+), 23 deletions(-) diff --git a/CMake/packages/FindClangFormat.cmake b/CMake/packages/FindClangFormat.cmake index 45d43f860..63885bb66 100644 --- a/CMake/packages/FindClangFormat.cmake +++ b/CMake/packages/FindClangFormat.cmake @@ -27,28 +27,28 @@ string(REPLACE ":" ";" _PATH $ENV{PATH}) set(CLANG_FORMAT_FOUND OFF) foreach(p ${_PATH}) - file(GLOB cand ${p}/clang-format ${p}/clang-format-[0-9].[0-9]) - foreach(candidate ${cand}) - set(CLANG_FORMAT_EXECUTABLE ${candidate}) - execute_process(COMMAND ${CLANG_FORMAT_EXECUTABLE} -version OUTPUT_VARIABLE clang_out ) - string(REGEX MATCH "version \([0-9]\\.[0-9]\)" VERSION_OUTPUT ${clang_out}) - set(CLANG_FORMAT_VERSION ${CMAKE_MATCH_1}) - if ((${CLANG_FORMAT_VERSION} VERSION_GREATER ${CLANG_FORMAT_MIN_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MIN_VERSION})) - set (FIT_MIN_REQUIRED true) - else () - set (FIT_MIN_REQUIRED false) - endif() - if ((${CLANG_FORMAT_VERSION} VERSION_LESS ${CLANG_FORMAT_MAX_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MAX_VERSION})) - set (FIT_MAX_REQUIRED true) - else () - set (FIT_MAX_REQUIRED false) - endif() - if ( ${FIT_MIN_REQUIRED} AND ${FIT_MAX_REQUIRED}) - set(CLANG_FORMAT_FOUND ON) - break() - endif() - endforeach() - if (${CLANG_FORMAT_FOUND}) - break() + file(GLOB cand ${p}/clang-format ${p}/clang-format-[0-9].[0-9]) + foreach(candidate ${cand}) + set(CLANG_FORMAT_EXECUTABLE ${candidate}) + execute_process(COMMAND ${CLANG_FORMAT_EXECUTABLE} -version OUTPUT_VARIABLE clang_out ) + string(REGEX MATCH "version \([0-9]\\.[0-9]\)" VERSION_OUTPUT ${clang_out}) + set(CLANG_FORMAT_VERSION ${CMAKE_MATCH_1}) + if ((${CLANG_FORMAT_VERSION} VERSION_GREATER ${CLANG_FORMAT_MIN_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MIN_VERSION})) + set (FIT_MIN_REQUIRED true) + else () + set (FIT_MIN_REQUIRED false) endif() + if ((${CLANG_FORMAT_VERSION} VERSION_LESS ${CLANG_FORMAT_MAX_VERSION}) OR (${CLANG_FORMAT_VERSION} VERSION_EQUAL ${CLANG_FORMAT_MAX_VERSION})) + set (FIT_MAX_REQUIRED true) + else () + set (FIT_MAX_REQUIRED false) + endif() + if ( ${FIT_MIN_REQUIRED} AND ${FIT_MAX_REQUIRED}) + set(CLANG_FORMAT_FOUND ON) + break() + endif() + endforeach() + if (${CLANG_FORMAT_FOUND}) + break() + endif() endforeach()