mirror of
https://github.com/triqs/dft_tools
synced 2025-01-08 20:33:16 +01:00
Further cleanining, switching to static library
-Disable LINTing in test macros with comment // NOLINT -Enable static analyzers for c++ tests -Switch app4triqs_c to static library Dynamic was pickung up previously installed libapp4triqs_c.so in tests Also there is no need to be dynamic for applications -Fix previous change in HeaderFilterRegex: 'app4triqs/c++' was blocking all headers for clang-tidy checks. 'app4triqs' works well, but we cannot install any other headers into app4triqs folder structure. We thus had to create INSTALL_DIR in travis.yml
This commit is contained in:
parent
e3c4366d54
commit
f65e5bfbad
@ -1,2 +1,2 @@
|
|||||||
Checks: '-*,modernize-*,cppcoreguidelines-*'
|
Checks: '-*,modernize-*,cppcoreguidelines-*'
|
||||||
HeaderFilterRegex: 'c++/app4triqs'
|
HeaderFilterRegex: 'app4triqs'
|
||||||
|
17
.travis.yml
17
.travis.yml
@ -21,25 +21,24 @@ before_install:
|
|||||||
install: true
|
install: true
|
||||||
|
|
||||||
script:
|
script:
|
||||||
|
- export INSTALL_DIR=$HOME/root_install # We should install outside the repository
|
||||||
# ===== Set up Cpp2Py
|
# ===== Set up Cpp2Py
|
||||||
- git clone https://github.com/triqs/cpp2py
|
- git clone https://github.com/triqs/cpp2py
|
||||||
- mkdir cpp2py/build && cd cpp2py/build
|
- mkdir cpp2py/build && cd cpp2py/build
|
||||||
- git checkout master
|
- cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/${CXX} -DPYTHON_INTERPRETER=/usr/bin/python -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
|
||||||
- cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/${CXX} -DPYTHON_INTERPRETER=/usr/bin/python -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/root_install
|
|
||||||
- make -j8 install
|
- make -j8 install
|
||||||
- cd $TRAVIS_BUILD_DIR
|
- source $INSTALL_DIR/share/cpp2pyvars.sh
|
||||||
- source root_install/share/cpp2pyvars.sh
|
|
||||||
# ===== Set up TRIQS
|
# ===== Set up TRIQS
|
||||||
|
- cd $TRAVIS_BUILD_DIR
|
||||||
- git clone https://github.com/TRIQS/triqs --branch unstable
|
- git clone https://github.com/TRIQS/triqs --branch unstable
|
||||||
- mkdir triqs/build && cd triqs/build
|
- mkdir triqs/build && cd triqs/build
|
||||||
- git checkout unstable
|
- cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/${CXX} -DBuild_Tests=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
|
||||||
- cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/${CXX} -DBuild_Tests=OFF -DCMAKE_INSTALL_PREFIX=$TRAVIS_BUILD_DIR/root_install -DCMAKE_BUILD_TYPE=Debug
|
|
||||||
- make -j8 install
|
- make -j8 install
|
||||||
- cd $TRAVIS_BUILD_DIR
|
- source $INSTALL_DIR/share/triqsvars.sh
|
||||||
- source root_install/share/triqsvars.sh
|
|
||||||
# ===== Set up CTINT and Test with Sanitizer Checks
|
# ===== Set up CTINT and Test with Sanitizer Checks
|
||||||
|
- cd $TRAVIS_BUILD_DIR
|
||||||
- mkdir build && cd build
|
- mkdir build && cd build
|
||||||
- cmake .. -DCMAKE_BUILD_TYPE=Debug -DCMAKE_CXX_COMPILER=/usr/bin/${CXX} -DASAN=ON -DUBSAN=ON
|
- cmake .. -DCMAKE_CXX_COMPILER=/usr/bin/${CXX} -DASAN=ON -DUBSAN=ON
|
||||||
- export UBSAN_SYMBOLIZER_PATH=/usr/lib/llvm-5.0/bin/llvm-symbolizer
|
- export UBSAN_SYMBOLIZER_PATH=/usr/lib/llvm-5.0/bin/llvm-symbolizer
|
||||||
- export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-5.0/bin/llvm-symbolizer
|
- export ASAN_SYMBOLIZER_PATH=/usr/lib/llvm-5.0/bin/llvm-symbolizer
|
||||||
- export ASAN_OPTIONS=symbolize=1:detect_leaks=0
|
- export ASAN_OPTIONS=symbolize=1:detect_leaks=0
|
||||||
|
@ -11,11 +11,11 @@ if(NOT CMAKE_BUILD_TYPE)
|
|||||||
endif()
|
endif()
|
||||||
message( STATUS "-------- BUILD-TYPE: ${CMAKE_BUILD_TYPE} --------")
|
message( STATUS "-------- BUILD-TYPE: ${CMAKE_BUILD_TYPE} --------")
|
||||||
|
|
||||||
# Use shared libraries
|
# Build static libraries
|
||||||
set(BUILD_SHARED_LIBS ON)
|
set(BUILD_SHARED_LIBS OFF)
|
||||||
|
|
||||||
# Enable compiler warnings for the whole project
|
# Enable compiler warnings for the whole project
|
||||||
add_definitions(-Wall)
|
add_definitions(-Wall -fPIC)
|
||||||
|
|
||||||
# Load Dependencies
|
# Load Dependencies
|
||||||
find_package(TRIQS ${APP4TRIQS_VERSION} EXACT REQUIRED)
|
find_package(TRIQS ${APP4TRIQS_VERSION} EXACT REQUIRED)
|
||||||
@ -32,9 +32,6 @@ message(STATUS "-------- INSTALL_PREFIX: ${CMAKE_INSTALL_PREFIX} --------")
|
|||||||
triqs_get_git_hash_of_source_dir(APP4TRIQS_GIT_HASH)
|
triqs_get_git_hash_of_source_dir(APP4TRIQS_GIT_HASH)
|
||||||
message(STATUS "app4triqs git hash: ${APP4TRIQS_GIT_HASH}")
|
message(STATUS "app4triqs git hash: ${APP4TRIQS_GIT_HASH}")
|
||||||
|
|
||||||
# Set up the rpath for all compiled executables
|
|
||||||
triqs_set_rpath_for_all_targets()
|
|
||||||
|
|
||||||
# Build and install the app4triqs library
|
# Build and install the app4triqs library
|
||||||
add_subdirectory(c++/app4triqs)
|
add_subdirectory(c++/app4triqs)
|
||||||
|
|
||||||
|
@ -1,10 +1,12 @@
|
|||||||
file(GLOB_RECURSE sources *.cpp *.hpp)
|
file(GLOB_RECURSE sources *.cpp)
|
||||||
add_library(app4triqs_c ${sources})
|
add_library(app4triqs_c ${sources})
|
||||||
|
|
||||||
|
# Link against triqs and use headers with SYSTEM flag for better warning messages
|
||||||
target_link_libraries(app4triqs_c PUBLIC triqs)
|
target_link_libraries(app4triqs_c PUBLIC triqs)
|
||||||
target_compile_options(app4triqs_c PUBLIC -std=c++17)
|
|
||||||
target_include_directories(app4triqs_c PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/c++>)
|
|
||||||
target_include_directories(app4triqs_c SYSTEM PUBLIC ${TRIQS_ROOT}/include)
|
target_include_directories(app4triqs_c SYSTEM PUBLIC ${TRIQS_ROOT}/include)
|
||||||
|
|
||||||
|
target_compile_options(app4triqs_c PUBLIC -std=c++17 -fPIC)
|
||||||
|
target_include_directories(app4triqs_c PUBLIC $<BUILD_INTERFACE:${CMAKE_SOURCE_DIR}/c++>)
|
||||||
target_compile_definitions(app4triqs_c PRIVATE
|
target_compile_definitions(app4triqs_c PRIVATE
|
||||||
APP4TRIQS_GIT_HASH=${APP4TRIQS_GIT_HASH}
|
APP4TRIQS_GIT_HASH=${APP4TRIQS_GIT_HASH}
|
||||||
TRIQS_GIT_HASH=${TRIQS_GIT_HASH}
|
TRIQS_GIT_HASH=${TRIQS_GIT_HASH}
|
||||||
@ -36,7 +38,6 @@ if(CPPCHECK_EXECUTABLE)
|
|||||||
message(STATUS "cppcheck found: ${CPPCHECK_EXECUTABLE}")
|
message(STATUS "cppcheck found: ${CPPCHECK_EXECUTABLE}")
|
||||||
add_custom_command(
|
add_custom_command(
|
||||||
TARGET app4triqs_c
|
TARGET app4triqs_c
|
||||||
COMMAND echo "--- Running cppcheck ---\n"
|
|
||||||
COMMAND ${CPPCHECK_EXECUTABLE}
|
COMMAND ${CPPCHECK_EXECUTABLE}
|
||||||
--enable=warning,style,performance,portability
|
--enable=warning,style,performance,portability
|
||||||
--std=c++14
|
--std=c++14
|
||||||
@ -44,8 +45,7 @@ if(CPPCHECK_EXECUTABLE)
|
|||||||
--verbose
|
--verbose
|
||||||
--quiet
|
--quiet
|
||||||
${sources}
|
${sources}
|
||||||
COMMAND echo "------------------------\n"
|
)
|
||||||
)
|
|
||||||
else()
|
else()
|
||||||
message(STATUS "cppcheck not found in $PATH. Please consider installing cppcheck for additional checks!")
|
message(STATUS "cppcheck not found in $PATH. Please consider installing cppcheck for additional checks!")
|
||||||
endif()
|
endif()
|
||||||
|
@ -9,20 +9,20 @@ foreach(t ${all_tests})
|
|||||||
target_link_libraries(${t} app4triqs_c gtest)
|
target_link_libraries(${t} app4triqs_c gtest)
|
||||||
add_test(${t} ${CMAKE_CURRENT_BINARY_DIR}/${t})
|
add_test(${t} ${CMAKE_CURRENT_BINARY_DIR}/${t})
|
||||||
# Run clang-tidy if found
|
# Run clang-tidy if found
|
||||||
#if(CLANG_TIDY_EXECUTABLE)
|
if(CLANG_TIDY_EXECUTABLE)
|
||||||
#set_target_properties(${t} PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}")
|
set_target_properties(${t} PROPERTIES CXX_CLANG_TIDY "${CLANG_TIDY_EXECUTABLE}")
|
||||||
#endif()
|
endif()
|
||||||
## Run cppcheck if found
|
# Run cppcheck if found
|
||||||
#if(CPPCHECK_EXECUTABLE)
|
if(CPPCHECK_EXECUTABLE)
|
||||||
#add_custom_command(
|
add_custom_command(
|
||||||
#TARGET ${t}
|
TARGET ${t}
|
||||||
#COMMAND ${CPPCHECK_EXECUTABLE}
|
COMMAND ${CPPCHECK_EXECUTABLE}
|
||||||
#--enable=warning,style,performance,portability
|
--enable=warning,style,performance,portability
|
||||||
#--std=c++14
|
--std=c++14
|
||||||
#--template=gcc
|
--template=gcc
|
||||||
#--verbose
|
--verbose
|
||||||
#--quiet
|
--quiet
|
||||||
#${CMAKE_CURRENT_SOURCE_DIR}/${t}.cpp
|
${CMAKE_CURRENT_SOURCE_DIR}/${t}.cpp
|
||||||
#)
|
)
|
||||||
#endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
@ -3,16 +3,16 @@
|
|||||||
|
|
||||||
using namespace app4triqs;
|
using namespace app4triqs;
|
||||||
|
|
||||||
TEST(Toto, Add) {
|
TEST(Toto, Add) { // NOLINT
|
||||||
|
|
||||||
toto a(0);
|
toto a(0);
|
||||||
toto b(2);
|
toto b(2);
|
||||||
|
|
||||||
auto c = a + b;
|
auto c = a + b;
|
||||||
EXPECT_EQ(c, b);
|
EXPECT_EQ(c, b); // NOLINT
|
||||||
}
|
}
|
||||||
|
|
||||||
TEST(Toto, H5) {
|
TEST(Toto, H5) { // NOLINT
|
||||||
|
|
||||||
toto a(0);
|
toto a(0);
|
||||||
{ // Local scope for file
|
{ // Local scope for file
|
||||||
@ -26,7 +26,7 @@ TEST(Toto, H5) {
|
|||||||
h5_read(f, "a", a2);
|
h5_read(f, "a", a2);
|
||||||
}
|
}
|
||||||
|
|
||||||
EXPECT_EQ(a, a2);
|
EXPECT_EQ(a, a2); // NOLINT
|
||||||
}
|
}
|
||||||
|
|
||||||
MAKE_MAIN;
|
MAKE_MAIN; // NOLINT
|
||||||
|
@ -20,7 +20,7 @@ class test_toto(unittest.TestCase):
|
|||||||
def test_h5(self):
|
def test_h5(self):
|
||||||
|
|
||||||
a=Toto(0)
|
a=Toto(0)
|
||||||
with HDFArchive("f.h5",'a') as A:
|
with HDFArchive("f.h5",'w') as A:
|
||||||
A["a"] = a
|
A["a"] = a
|
||||||
with HDFArchive("f.h5",'r') as A:
|
with HDFArchive("f.h5",'r') as A:
|
||||||
a_read = A["a"]
|
a_read = A["a"]
|
||||||
|
Loading…
Reference in New Issue
Block a user