Skip to content
Snippets Groups Projects
Commit 9ae12195 authored by Lars Bilke's avatar Lars Bilke
Browse files

[hooks] Added cmake-format hook.

Requires cmake-format pip package.
parent 84aa9562
No related branches found
No related tags found
No related merge requests found
......@@ -32,5 +32,11 @@ repos:
entry: scripts/hooks/pre-commit-git-lfs.sh
language: system
stages: [commit, manual]
- id: cmake-format
name: Format CMake files
entry: scripts/hooks/pre-commit-cmake-format.sh
language: system
files: 'CMakeLists.txt'
stages: [commit, manual]
exclude: 'ThirdParty/*|Tests/Data/*|web/static/images/xsd'
......@@ -181,10 +181,7 @@ set(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES
"Default"
CACHE STRING "Use dynamically allocated shape matrices")
set_property(CACHE OGS_EIGEN_DYNAMIC_SHAPE_MATRICES
PROPERTY STRINGS
"Default"
"ON"
"OFF")
PROPERTY STRINGS "Default" "ON" "OFF")
if(OGS_EIGEN_DYNAMIC_SHAPE_MATRICES STREQUAL "Default")
if(CMAKE_BUILD_TYPE STREQUAL "Release"
......
include(${PROJECT_SOURCE_DIR}/scripts/cmake/OGSEnabledElements.cmake)
# VS2012 doesn't support correctly the tuples yet
# See http://code.google.com/p/googletest/issues/detail?id=412
# VS2012 doesn't support correctly the tuples yet See
# http://code.google.com/p/googletest/issues/detail?id=412
if(MSVC)
add_definitions(/D_VARIADIC_MAX=10)
endif()
APPEND_SOURCE_FILES(TEST_SOURCES)
APPEND_SOURCE_FILES(TEST_SOURCES BaseLib)
APPEND_SOURCE_FILES(TEST_SOURCES FileIO)
APPEND_SOURCE_FILES(TEST_SOURCES GeoLib)
APPEND_SOURCE_FILES(TEST_SOURCES GeoLib/IO)
APPEND_SOURCE_FILES(TEST_SOURCES MaterialLib)
APPEND_SOURCE_FILES(TEST_SOURCES MathLib)
APPEND_SOURCE_FILES(TEST_SOURCES MeshLib)
APPEND_SOURCE_FILES(TEST_SOURCES MeshGeoToolsLib)
APPEND_SOURCE_FILES(TEST_SOURCES NumLib)
APPEND_SOURCE_FILES(TEST_SOURCES ParameterLib)
APPEND_SOURCE_FILES(TEST_SOURCES ProcessLib)
append_source_files(TEST_SOURCES)
append_source_files(TEST_SOURCES BaseLib)
append_source_files(TEST_SOURCES FileIO)
append_source_files(TEST_SOURCES GeoLib)
append_source_files(TEST_SOURCES GeoLib/IO)
append_source_files(TEST_SOURCES MaterialLib)
append_source_files(TEST_SOURCES MathLib)
append_source_files(TEST_SOURCES MeshLib)
append_source_files(TEST_SOURCES MeshGeoToolsLib)
append_source_files(TEST_SOURCES NumLib)
append_source_files(TEST_SOURCES ParameterLib)
append_source_files(TEST_SOURCES ProcessLib)
if(OGS_BUILD_GUI)
APPEND_SOURCE_FILES(TEST_SOURCES FileIO_Qt)
append_source_files(TEST_SOURCES FileIO_Qt)
endif()
if(OGS_BUILD_SWMM)
APPEND_SOURCE_FILES(TEST_SOURCES FileIO_SWMM)
append_source_files(TEST_SOURCES FileIO_SWMM)
endif()
if(OGS_BUILD_PROCESS_LIE)
APPEND_SOURCE_FILES(TEST_SOURCES ProcessLib/LIE)
append_source_files(TEST_SOURCES ProcessLib/LIE)
endif()
if(OGS_USE_PETSC)
......@@ -39,17 +39,16 @@ add_executable(testrunner ${TEST_SOURCES})
set_target_properties(testrunner PROPERTIES FOLDER Testing)
target_link_libraries(testrunner
ApplicationsFileIO
gtest
MeshGeoToolsLib
MaterialLib
MeshLib
NumLib
ParameterLib
ProcessLib
Threads::Threads
${VTK_LIBRARIES}
)
ApplicationsFileIO
gtest
MeshGeoToolsLib
MaterialLib
MeshLib
NumLib
ParameterLib
ProcessLib
Threads::Threads
${VTK_LIBRARIES})
if(OGS_BUILD_PROCESS_LIE)
target_link_libraries(testrunner LIE)
......@@ -72,7 +71,13 @@ if(OGS_INSITU)
endif()
if(OGS_BUILD_GUI)
target_link_libraries(testrunner Qt5::Core Qt5::Gui Qt5::Xml Qt5::Network VtkVis QtDataView)
target_link_libraries(testrunner
Qt5::Core
Qt5::Gui
Qt5::Xml
Qt5::Network
VtkVis
QtDataView)
if(GEOTIFF_FOUND)
target_link_libraries(testrunner ${GEOTIFF_LIBRARIES})
endif()
......@@ -82,6 +87,7 @@ if(OGS_USE_PCH)
cotire(testrunner)
endif()
# cmake-format: off
# Add make-target tests which runs the testrunner
if(IS_CI AND NOT OGS_COVERAGE)
set(TESTRUNNER_ADDITIONAL_ARGUMENTS ${TESTRUNNER_ADDITIONAL_ARGUMENTS}
......@@ -114,8 +120,11 @@ else()
DEPENDS testrunner tests-cleanup
)
endif()
# cmake-format: on
set_target_properties(tests PROPERTIES FOLDER Testing)
# Creates one ctest entry for every googletest
#ADD_GOOGLE_TESTS ( ${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/testrunner ${TEST_SOURCES})
# ~~~
# ADD_GOOGLE_TESTS (${EXECUTABLE_OUTPUT_PATH}/${CMAKE_CFG_INTDIR}/testrunner ${TEST_SOURCES})
# ~~~
#!/usr/bin/env bash
EXE=$(command -v cmake-format)
if [ -z "$EXE" ]; then
echo "cmake-format not found; skipping check."
exit 0
fi
MOD_FILES=""
MOD_FILES=()
for FILE in "$@"
do
cmake-format -i "$FILE"
MODIFIED=$(git status --porcelain "$FILE" | head -c 2 | tail -c 1)
# echo $FILE: $MODIFIED
if [ "$MODIFIED" = "M" ]; then
MOD_FILES+=("$FILE")
echo "Fixed $FILE"
fi
done
if [ -z "$MOD_FILES" ]; then
exit 0
fi
echo "CMake files have been modified."
echo "Add them to the commit!"
exit 1
#!/usr/bin/env bash
set -e
BINARY_FILES=""
LFS_FILES=""
LFS_FILES=()
for FILE in "$@"
do
echo FILE: $FILE
LFS_FILE=$(git check-attr filter "$FILE" | grep 'filter: lfs$' | sed -e 's/: filter: lfs//')
if [ ! -z "$LFS_FILE" ]; then
LFS_FILES+=("$LFS_FILE")
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment