mirror of https://github.com/triqs/dft_tools
Merge remote-tracking branch 'app4triqs-remote/unstable' into unstable
This commit is contained in:
commit
0c65844c7b
|
@ -28,7 +28,7 @@ jobs:
|
|||
run: >
|
||||
sudo apt-get update &&
|
||||
sudo apt-get install lsb-release wget software-properties-common &&
|
||||
wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh && sudo chmod +x /tmp/llvm.sh && sudo /tmp/llvm.sh 13 &&
|
||||
wget -O /tmp/llvm.sh https://apt.llvm.org/llvm.sh && sudo chmod +x /tmp/llvm.sh && sudo /tmp/llvm.sh 15 &&
|
||||
sudo apt-get install
|
||||
clang-15
|
||||
g++-12
|
||||
|
@ -67,6 +67,11 @@ jobs:
|
|||
pip3 install mako numpy scipy mpi4py
|
||||
pip3 install -r requirements.txt
|
||||
|
||||
- name: add clang cxxflags
|
||||
if: ${{ contains(matrix.cxx, 'clang') }}
|
||||
run:
|
||||
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
|
||||
|
||||
- name: Build & Install TRIQS
|
||||
env:
|
||||
CC: ${{ matrix.cc }}
|
||||
|
|
|
@ -1,2 +1,3 @@
|
|||
compile_commands.json
|
||||
doc/_autosummary
|
||||
doc/cpp2rst_generated
|
||||
|
|
|
@ -74,7 +74,7 @@ endif()
|
|||
|
||||
# Documentation
|
||||
option(Build_Documentation "Build documentation" OFF)
|
||||
if(Build_Documentation AND NOT PythonSupport)
|
||||
if(NOT IS_SUBPROJECT AND (Build_Documentation AND NOT PythonSupport))
|
||||
message(FATAL_ERROR "Build_Documentation=ON requires PythonSupport to be enabled")
|
||||
endif()
|
||||
|
||||
|
@ -111,16 +111,18 @@ target_compile_options(${PROJECT_NAME}_warnings
|
|||
$<$<CXX_COMPILER_ID:GNU>:-Wno-comma-subscript>
|
||||
$<$<CXX_COMPILER_ID:GNU>:-Wshadow=local>
|
||||
$<$<CXX_COMPILER_ID:GNU>:-Wno-attributes>
|
||||
$<$<CXX_COMPILER_ID:Clang>:-Wno-deprecated-comma-subscript>
|
||||
$<$<CXX_COMPILER_ID:Clang>:-Wno-unknown-warning-option>
|
||||
$<$<CXX_COMPILER_ID:Clang>:-Wshadow>
|
||||
$<$<CXX_COMPILER_ID:Clang>:-Wno-gcc-compat>
|
||||
$<$<CXX_COMPILER_ID:Clang>:-Wno-c++20-extensions>
|
||||
$<$<CXX_COMPILER_ID:Clang,IntelLLVM>:-Wno-deprecated-comma-subscript>
|
||||
$<$<CXX_COMPILER_ID:Clang,IntelLLVM>:-Wno-unknown-warning-option>
|
||||
$<$<CXX_COMPILER_ID:Clang,IntelLLVM>:-Wshadow>
|
||||
$<$<CXX_COMPILER_ID:Clang,IntelLLVM>:-Wno-gcc-compat>
|
||||
$<$<CXX_COMPILER_ID:Clang,IntelLLVM>:-Wno-c++20-extensions>
|
||||
$<$<CXX_COMPILER_ID:Clang,IntelLLVM>:-Wno-c++20-compat>
|
||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-deprecated-comma-subscript>
|
||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-unknown-warning-option>
|
||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wshadow>
|
||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-gcc-compat>
|
||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-c++20-extensions>
|
||||
$<$<CXX_COMPILER_ID:AppleClang>:-Wno-c++20-compat>
|
||||
)
|
||||
|
||||
# #############
|
||||
|
@ -148,7 +150,7 @@ if(PythonSupport)
|
|||
endif()
|
||||
|
||||
# Docs
|
||||
if(Build_Documentation)
|
||||
if(NOT IS_SUBPROJECT AND Build_Documentation)
|
||||
add_subdirectory(doc)
|
||||
endif()
|
||||
|
||||
|
|
|
@ -49,7 +49,7 @@ if(ANALYZE_SOURCES)
|
|||
TARGET ${PROJECT_NAME}_c
|
||||
COMMAND ${CPPCHECK_EXECUTABLE}
|
||||
--enable=warning,style,performance,portability
|
||||
--std=c++20
|
||||
--std=c++23
|
||||
--template=gcc
|
||||
--verbose
|
||||
--force
|
||||
|
@ -64,21 +64,36 @@ if(ANALYZE_SOURCES)
|
|||
|
||||
endif()
|
||||
|
||||
|
||||
# ========= Dynamic Analyzer Checks ==========
|
||||
|
||||
option(ASAN OFF "Compile library and executables with LLVM Address Sanitizer")
|
||||
option(UBSAN OFF "Compile library and executables with LLVM Undefined Behavior Sanitizer")
|
||||
|
||||
if(ASAN)
|
||||
if(NOT TARGET asan)
|
||||
find_package(sanitizer REQUIRED "asan")
|
||||
find_package(sanitizer REQUIRED COMPONENTS asan)
|
||||
endif()
|
||||
target_link_libraries(${PROJECT_NAME}_c PUBLIC $<BUILD_INTERFACE:asan>)
|
||||
endif()
|
||||
|
||||
option(UBSAN OFF "Compile library and executables with LLVM Undefined Behavior Sanitizer")
|
||||
if(UBSAN)
|
||||
if(NOT TARGET ubsan)
|
||||
find_package(sanitizer REQUIRED "ubsan")
|
||||
find_package(sanitizer REQUIRED COMPONENTS ubsan)
|
||||
endif()
|
||||
target_link_libraries(${PROJECT_NAME}_c PUBLIC $<BUILD_INTERFACE:ubsan>)
|
||||
endif()
|
||||
|
||||
option(MSAN OFF "Compile library and executables with LLVM Memory Sanitizer")
|
||||
if(MSAN)
|
||||
if(NOT TARGET msan)
|
||||
find_package(sanitizer REQUIRED COMPONENTS msan)
|
||||
endif()
|
||||
target_link_libraries(${PROJECT_NAME}_c PUBLIC $<BUILD_INTERFACE:msan>)
|
||||
endif()
|
||||
|
||||
option(TSAN OFF "Compile library and executables with LLVM Thread Sanitizer")
|
||||
if(TSAN)
|
||||
if(NOT TARGET tsan)
|
||||
find_package(sanitizer REQUIRED COMPONENTS tsan)
|
||||
endif()
|
||||
target_link_libraries(${PROJECT_NAME}_c PUBLIC $<BUILD_INTERFACE:tsan>)
|
||||
endif()
|
||||
|
|
|
@ -48,7 +48,7 @@ else()
|
|||
endif()
|
||||
|
||||
# -- Cpp2Py --
|
||||
if(PythonSupport OR Build_Documentation)
|
||||
if(PythonSupport OR (NOT IS_SUBPROJECT AND Build_Documentation))
|
||||
external_dependency(Cpp2Py
|
||||
GIT_REPO https://github.com/TRIQS/cpp2py
|
||||
VERSION 2.0
|
||||
|
|
|
@ -1,70 +0,0 @@
|
|||
easyblock = 'CMakeMake'
|
||||
|
||||
name = 'TRIQS-dft_tools'
|
||||
version = '3.0.0'
|
||||
versionsuffix = '-Python-%(pyver)s'
|
||||
|
||||
homepage = 'https://triqs.github.io/dft_tools/'
|
||||
description = """
|
||||
TRIQS (Toolbox for Research on Interacting Quantum Systems) is a
|
||||
scientific project providing a set of C++ and Python libraries to
|
||||
develop new tools for the study of interacting quantum systems.
|
||||
|
||||
This TRIQS-based-based application is aimed at ab-initio calculations
|
||||
for correlated materials, combining realistic DFT band-structure calculation
|
||||
with the dynamical mean-field theory. Together with the necessary tools to
|
||||
perform the DMFT self-consistency loop for realistic multi-band problems,
|
||||
the package provides a full-fledged charge self-consistent interface to the
|
||||
Wien2K package. In addition, if Wien2k is not available, it provides a generic
|
||||
interface for one-shot DFT+DMFT calculations, where only the single-particle
|
||||
Hamiltonian in orbital space has to be provided.
|
||||
"""
|
||||
|
||||
docurls = ['https://triqs.github.io/dft_tools/%(version_major_minor)s.x/']
|
||||
software_license = 'LicenseGPLv3'
|
||||
|
||||
toolchain = {'name': 'foss', 'version': '2019a'}
|
||||
toolchainopts = {'pic': True, 'usempi': True}
|
||||
|
||||
source_urls = ['https://github.com/TRIQS/dft_tools/releases/download/%(version)s/']
|
||||
sources = ['dft_tools-%(version)s.tar.gz']
|
||||
checksums = ['PUT HERE THE SHA256 OF THE RELEASE TARBALL']
|
||||
|
||||
dependencies = [
|
||||
('Python', '3.7.2'),
|
||||
('SciPy-bundle', '2019.03'),
|
||||
('Boost', '1.70.0'),
|
||||
('Clang', '8.0.0'),
|
||||
('GMP', '6.1.2'),
|
||||
('Mako', '1.0.8'),
|
||||
('h5py', '2.9.0'),
|
||||
('TRIQS', '3.0.0', versionsuffix),
|
||||
]
|
||||
|
||||
builddependencies = [
|
||||
('CMake', '3.13.3')
|
||||
]
|
||||
|
||||
separate_build_dir = True
|
||||
|
||||
runtest = 'test'
|
||||
|
||||
sanity_check_paths = {
|
||||
'files': ['bin/dmftproj', 'lib/libtriqs_dft_tools_c.a'],
|
||||
'dirs': ['include/triqs_dft_tools', 'bin', 'lib', 'share',
|
||||
'lib/python%(pyshortver)s/site-packages/triqs_dft_tools'],
|
||||
}
|
||||
|
||||
sanity_check_commands = ["python -c 'import triqs_dft_tools'"]
|
||||
|
||||
modextrapaths = {
|
||||
'CPLUS_INCLUDE_PATH': 'include',
|
||||
'PYTHONPATH': 'lib/python%(pyshortver)s/site-packages',
|
||||
'CMAKE_PREFIX_PATH': 'lib/cmake/triqs_dft_tools',
|
||||
}
|
||||
modextravars = {
|
||||
'TRIQS_DFT_TOOLS_ROOT': '%(installdir)s',
|
||||
'TRIQS_DFT_TOOLS_VERSION': '%(version)s',
|
||||
}
|
||||
|
||||
moduleclass = 'phys'
|
|
@ -1,7 +1,7 @@
|
|||
easyblock = 'CMakeMake'
|
||||
|
||||
name = 'TRIQS-dft_tools'
|
||||
version = '3.1.0'
|
||||
version = '3.2.0'
|
||||
|
||||
homepage = 'https://triqs.github.io/dft_tools/'
|
||||
description = """
|
||||
|
@ -27,7 +27,7 @@ toolchainopts = {'pic': True, 'usempi': True}
|
|||
|
||||
source_urls = ['https://github.com/TRIQS/dft_tools/releases/download/%(version)s/']
|
||||
sources = ['dft_tools-%(version)s.tar.gz']
|
||||
checksums = ['57b7d0fe5a96c5a42bb684c60ca8e136a33e1385bf6cd7e9d1371fa507dc2ec4']
|
||||
checksums = ['PUT HERE THE SHA256 OF THE RELEASE TARBALL']
|
||||
|
||||
dependencies = [
|
||||
('Python', '3.9.6'),
|
||||
|
@ -38,7 +38,7 @@ dependencies = [
|
|||
('GMP', '6.2.1'),
|
||||
('HDF5', '1.10.7'),
|
||||
('Mako', '1.1.4'),
|
||||
('TRIQS', '3.1.0'),
|
||||
('TRIQS', '3.2.0'),
|
||||
]
|
||||
|
||||
builddependencies = [
|
|
@ -60,7 +60,9 @@ macro(extract_flags)
|
|||
endforeach()
|
||||
|
||||
get_property_recursive(cxx_features TARGET ${target} PROPERTY INTERFACE_COMPILE_FEATURES)
|
||||
if(cxx_std_20 IN_LIST cxx_features)
|
||||
if(cxx_std_23 IN_LIST cxx_features)
|
||||
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} -std=c++2b")
|
||||
elseif(cxx_std_20 IN_LIST cxx_features)
|
||||
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} -std=c++20")
|
||||
elseif(cxx_std_17 IN_LIST cxx_features)
|
||||
set(${target}_CXXFLAGS "${${target}_CXXFLAGS} -std=c++17")
|
||||
|
|
Loading…
Reference in New Issue