Merge remote-tracking branch 'app4triqs-remote/3.0.x' into unstable
89
.github/workflows/build.yml
vendored
Normal file
@ -0,0 +1,89 @@
|
|||||||
|
name: build
|
||||||
|
|
||||||
|
on:
|
||||||
|
push:
|
||||||
|
branches: [ unstable ]
|
||||||
|
pull_request:
|
||||||
|
branches: [ unstable ]
|
||||||
|
|
||||||
|
jobs:
|
||||||
|
build:
|
||||||
|
|
||||||
|
strategy:
|
||||||
|
matrix:
|
||||||
|
include:
|
||||||
|
- {os: ubuntu-20.04, cc: gcc-10, cxx: g++-10}
|
||||||
|
- {os: ubuntu-20.04, cc: clang-10, cxx: clang++-10}
|
||||||
|
- {os: macos-10.15, cc: gcc-10, cxx: g++-10}
|
||||||
|
- {os: macos-10.15, cc: /usr/local/opt/llvm/bin/clang, cxx: /usr/local/opt/llvm/bin/clang++}
|
||||||
|
|
||||||
|
runs-on: ${{ matrix.os }}
|
||||||
|
|
||||||
|
steps:
|
||||||
|
- uses: actions/checkout@v2
|
||||||
|
|
||||||
|
- name: Install ubuntu dependencies
|
||||||
|
if: matrix.os == 'ubuntu-20.04'
|
||||||
|
run: >
|
||||||
|
sudo apt-get install
|
||||||
|
clang-10
|
||||||
|
g++-10
|
||||||
|
gfortran
|
||||||
|
hdf5-tools
|
||||||
|
libblas-dev
|
||||||
|
libboost-dev
|
||||||
|
libclang-10-dev
|
||||||
|
libc++-10-dev
|
||||||
|
libc++abi-10-dev
|
||||||
|
libfftw3-dev
|
||||||
|
libgfortran4
|
||||||
|
libgmp-dev
|
||||||
|
libhdf5-dev
|
||||||
|
liblapack-dev
|
||||||
|
libopenmpi-dev
|
||||||
|
openmpi-bin
|
||||||
|
openmpi-common
|
||||||
|
openmpi-doc
|
||||||
|
python3-clang-10
|
||||||
|
python3-dev
|
||||||
|
python3-mako
|
||||||
|
python3-matplotlib
|
||||||
|
python3-mpi4py
|
||||||
|
python3-numpy
|
||||||
|
python3-pip
|
||||||
|
python3-scipy
|
||||||
|
python3-sphinx
|
||||||
|
python3-nbsphinx
|
||||||
|
|
||||||
|
- name: Install homebrew dependencies
|
||||||
|
if: matrix.os == 'macos-10.15'
|
||||||
|
run: |
|
||||||
|
brew install gcc@10 llvm@10 boost fftw hdf5 open-mpi openblas numpy scipy mpi4py
|
||||||
|
pip3 install mako
|
||||||
|
pip3 install -r requirements.txt
|
||||||
|
|
||||||
|
- name: Build & Install TRIQS
|
||||||
|
env:
|
||||||
|
CC: ${{ matrix.cc }}
|
||||||
|
CXX: ${{ matrix.cxx }}
|
||||||
|
run: |
|
||||||
|
git clone https://github.com/TRIQS/triqs --branch unstable
|
||||||
|
mkdir triqs/build && cd triqs/build
|
||||||
|
cmake .. -DBuild_Tests=OFF -DCMAKE_INSTALL_PREFIX=$HOME/install
|
||||||
|
make -j1 install VERBOSE=1
|
||||||
|
cd ../
|
||||||
|
|
||||||
|
- name: Build dft_tools
|
||||||
|
env:
|
||||||
|
CC: ${{ matrix.cc }}
|
||||||
|
CXX: ${{ matrix.cxx }}
|
||||||
|
run: |
|
||||||
|
source $HOME/install/share/triqsvars.sh
|
||||||
|
mkdir build && cmake -B build
|
||||||
|
cmake --build build -j2
|
||||||
|
|
||||||
|
- name: Test dft_tools
|
||||||
|
run: |
|
||||||
|
source $HOME/install/share/triqsvars.sh
|
||||||
|
cd build
|
||||||
|
ctest -j2 --output-on-failure
|
34
.travis.yml
@ -1,34 +0,0 @@
|
|||||||
|
|
||||||
language: cpp
|
|
||||||
sudo: required
|
|
||||||
dist: bionic
|
|
||||||
|
|
||||||
compiler:
|
|
||||||
- gcc
|
|
||||||
- clang
|
|
||||||
|
|
||||||
before_install:
|
|
||||||
- sudo apt-get update
|
|
||||||
- sudo apt-get install -y --allow-unauthenticated libblas-dev libboost-all-dev libfftw3-dev libgfortran3 libhdf5-serial-dev libgmp-dev liblapack-dev libopenmpi-dev libclang-dev python-clang-6.0 python-dev python-h5py python-mako python-matplotlib python-mpi4py python-numpy python-scipy python-sphinx libjs-mathjax libnfft3-dev
|
|
||||||
|
|
||||||
install: true
|
|
||||||
|
|
||||||
script:
|
|
||||||
- export INSTALL_DIR=$HOME/root_install # We install outside the repository
|
|
||||||
# ===== Set up TRIQS
|
|
||||||
- cd $TRAVIS_BUILD_DIR
|
|
||||||
- git clone https://github.com/TRIQS/triqs --branch unstable
|
|
||||||
- mkdir triqs/build && cd triqs/build
|
|
||||||
- cmake .. -DBuild_Tests=OFF -DCMAKE_INSTALL_PREFIX=$INSTALL_DIR
|
|
||||||
- make -j2 install
|
|
||||||
- source $INSTALL_DIR/share/triqsvars.sh
|
|
||||||
# ===== Set up triqs_dft_tools and test
|
|
||||||
- cd $TRAVIS_BUILD_DIR
|
|
||||||
- mkdir build && cd build
|
|
||||||
- cmake .. -DASAN=ON -DUBSAN=ON
|
|
||||||
- export UBSAN_SYMBOLIZER_PATH=$(which llvm-symbolizer)
|
|
||||||
- export ASAN_SYMBOLIZER_PATH=$(which llvm-symbolizer)
|
|
||||||
- export UBSAN_OPTIONS=symbolize=1:print_stacktrace=1
|
|
||||||
- export ASAN_OPTIONS=symbolize=1:detect_leaks=0
|
|
||||||
- export CTEST_OUTPUT_ON_FAILURE=1
|
|
||||||
- make -j2 && make test
|
|
11
Jenkinsfile
vendored
@ -102,6 +102,7 @@ for (int i = 0; i < osxPlatforms.size(); i++) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/****************** wrap-up */
|
/****************** wrap-up */
|
||||||
|
def error = null
|
||||||
try {
|
try {
|
||||||
parallel platforms
|
parallel platforms
|
||||||
if (keepInstall) { node("docker") {
|
if (keepInstall) { node("docker") {
|
||||||
@ -150,13 +151,13 @@ try {
|
|||||||
} }
|
} }
|
||||||
} }
|
} }
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
|
error = err
|
||||||
|
} finally {
|
||||||
/* send email on build failure (declarative pipeline's post section would work better) */
|
/* send email on build failure (declarative pipeline's post section would work better) */
|
||||||
if (env.BRANCH_NAME != "jenkins") emailext(
|
if ((error != null || currentBuild.currentResult != 'SUCCESS') && env.BRANCH_NAME != "jenkins") emailext(
|
||||||
subject: "\$PROJECT_NAME - Build # \$BUILD_NUMBER - FAILED",
|
subject: "\$PROJECT_NAME - Build # \$BUILD_NUMBER - FAILED",
|
||||||
body: """\$PROJECT_NAME - Build # \$BUILD_NUMBER - FAILED
|
body: """\$PROJECT_NAME - Build # \$BUILD_NUMBER - FAILED
|
||||||
|
|
||||||
$err
|
|
||||||
|
|
||||||
Check console output at \$BUILD_URL to view full results.
|
Check console output at \$BUILD_URL to view full results.
|
||||||
|
|
||||||
Building \$BRANCH_NAME for \$CAUSE
|
Building \$BRANCH_NAME for \$CAUSE
|
||||||
@ -168,11 +169,11 @@ Changes:
|
|||||||
End of build log:
|
End of build log:
|
||||||
\${BUILD_LOG,maxLines=60}
|
\${BUILD_LOG,maxLines=60}
|
||||||
""",
|
""",
|
||||||
to: 'mzingl@flatironinstitute.org, hstrand@flatironinstitute.org, nwentzell@flatironinstitute.org, dsimon@flatironinstitute.org',
|
to: 'mzingl@flatironinstitute.org, ahampel@flatironinstitute.org, nwentzell@flatironinstitute.org, dsimon@flatironinstitute.org',
|
||||||
recipientProviders: [
|
recipientProviders: [
|
||||||
[$class: 'DevelopersRecipientProvider'],
|
[$class: 'DevelopersRecipientProvider'],
|
||||||
],
|
],
|
||||||
replyTo: '$DEFAULT_REPLYTO'
|
replyTo: '$DEFAULT_REPLYTO'
|
||||||
)
|
)
|
||||||
throw err
|
if (error != null) throw error
|
||||||
}
|
}
|
||||||
|
5
deps/CMakeLists.txt
vendored
@ -17,7 +17,8 @@ include(external_dependency.cmake)
|
|||||||
# to locate the package in the system.
|
# to locate the package in the system.
|
||||||
# Skip this step if Build_Deps option is set.
|
# Skip this step if Build_Deps option is set.
|
||||||
# 2. Try to find a directory containing the sources
|
# 2. Try to find a directory containing the sources
|
||||||
# at ${PROJECT_SOURCE_DIR}/deps/name. If found
|
# at ${CMAKE_CURRENT_SOURCE_DIR}/name and
|
||||||
|
# ${CMAKE_SOURCE_DIR}/deps/name. If found
|
||||||
# build it as a cmake sub-project.
|
# build it as a cmake sub-project.
|
||||||
# 3. If GIT_REPO is provided, git clone the sources,
|
# 3. If GIT_REPO is provided, git clone the sources,
|
||||||
# and build them as a cmake sub-project.
|
# and build them as a cmake sub-project.
|
||||||
@ -34,7 +35,7 @@ include(external_dependency.cmake)
|
|||||||
# In particular the dependency will not be installed.
|
# In particular the dependency will not be installed.
|
||||||
|
|
||||||
if(NOT DEFINED Build_Deps)
|
if(NOT DEFINED Build_Deps)
|
||||||
set(Build_Deps "Never" CACHE STRING "Do we build dependencies from source? [Never/Always/IfNotFound]")
|
set(Build_Deps "IfNotFound" CACHE STRING "Do we build dependencies from source? [Never/Always/IfNotFound]")
|
||||||
else()
|
else()
|
||||||
set(Build_Deps_Opts "Never" "Always" "IfNotFound")
|
set(Build_Deps_Opts "Never" "Always" "IfNotFound")
|
||||||
if(NOT ${Build_Deps} IN_LIST Build_Deps_Opts)
|
if(NOT ${Build_Deps} IN_LIST Build_Deps_Opts)
|
||||||
|
52
deps/external_dependency.cmake
vendored
@ -1,25 +1,38 @@
|
|||||||
###################################################################################
|
# Copyright (c) 2020 Simons Foundation
|
||||||
#
|
#
|
||||||
# TRIQS_DFT_TOOLS: a Toolbox for Research in Interacting Quantum Systems
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2020 Simons Foundation
|
# This program is distributed in the hope that it will be useful,
|
||||||
# authors: N. Wentzell
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# TRIQS_DFT_TOOLS is free software: you can redistribute it and/or modify it under the
|
# You may obtain a copy of the License at
|
||||||
# terms of the GNU General Public License as published by the Free Software
|
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||||
# Foundation, either version 3 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# TRIQS_DFT_TOOLS is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
||||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
# details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along with
|
|
||||||
# TRIQS_DFT_TOOLS. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
###################################################################################
|
|
||||||
|
|
||||||
|
|
||||||
|
# Consider ROOT env variables in find_package
|
||||||
|
if(POLICY CMP0074)
|
||||||
|
cmake_policy(SET CMP0074 NEW)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Make sure that imported targets are always global
|
||||||
|
get_property(IMPORTED_ALWAYS_GLOBAL GLOBAL PROPERTY IMPORTED_ALWAYS_GLOBAL)
|
||||||
|
if(NOT IMPORTED_ALWAYS_GLOBAL)
|
||||||
|
function(add_library)
|
||||||
|
set(_args ${ARGN})
|
||||||
|
if ("${_args}" MATCHES ";IMPORTED")
|
||||||
|
list(APPEND _args GLOBAL)
|
||||||
|
endif()
|
||||||
|
_add_library(${_args})
|
||||||
|
endfunction()
|
||||||
|
set_property(GLOBAL PROPERTY IMPORTED_ALWAYS_GLOBAL TRUE)
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Define External Dependency Function
|
||||||
function(external_dependency)
|
function(external_dependency)
|
||||||
cmake_parse_arguments(ARG "EXCLUDE_FROM_ALL;BUILD_ALWAYS" "VERSION;GIT_REPO;GIT_TAG" "" ${ARGN})
|
cmake_parse_arguments(ARG "EXCLUDE_FROM_ALL;BUILD_ALWAYS" "VERSION;GIT_REPO;GIT_TAG" "" ${ARGN})
|
||||||
|
|
||||||
@ -51,6 +64,9 @@ function(external_dependency)
|
|||||||
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0})
|
if(IS_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0})
|
||||||
message(STATUS "Found sources for dependency ${ARGV0} at ${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0}")
|
message(STATUS "Found sources for dependency ${ARGV0} at ${CMAKE_CURRENT_SOURCE_DIR}/${ARGV0}")
|
||||||
add_subdirectory(${ARGV0} ${subdir_opts})
|
add_subdirectory(${ARGV0} ${subdir_opts})
|
||||||
|
elseif(IS_DIRECTORY ${CMAKE_SOURCE_DIR}/deps/${ARGV0})
|
||||||
|
message(STATUS "Found sources for dependency ${ARGV0} at ${CMAKE_SOURCE_DIR}/deps/${ARGV0}")
|
||||||
|
add_subdirectory(${ARGV0} ${subdir_opts})
|
||||||
elseif(ARG_GIT_REPO)
|
elseif(ARG_GIT_REPO)
|
||||||
set(bin_dir ${CMAKE_CURRENT_BINARY_DIR}/${ARGV0})
|
set(bin_dir ${CMAKE_CURRENT_BINARY_DIR}/${ARGV0})
|
||||||
set(src_dir ${bin_dir}_src)
|
set(src_dir ${bin_dir}_src)
|
||||||
|
@ -48,13 +48,6 @@ Installation steps
|
|||||||
|
|
||||||
$ git clone https://github.com/TRIQS/dft_tools dft_tools.src
|
$ git clone https://github.com/TRIQS/dft_tools dft_tools.src
|
||||||
|
|
||||||
#. Make sure that all additional dependencies are installed on your system and available in your environment.
|
|
||||||
Alternatively build the dependencies from source instead with::
|
|
||||||
|
|
||||||
$ (cd deps && ./download.sh)
|
|
||||||
|
|
||||||
In this case they will be installed together with your application.
|
|
||||||
|
|
||||||
#. Create and move to a new directory where you will compile the code::
|
#. Create and move to a new directory where you will compile the code::
|
||||||
|
|
||||||
$ mkdir dft_tools.build && cd dft_tools.build
|
$ mkdir dft_tools.build && cd dft_tools.build
|
||||||
|
BIN
doc/themes/agogo/static/bgfooter.png
vendored
Normal file
After Width: | Height: | Size: 434 B |
BIN
doc/themes/agogo/static/bgtop.png
vendored
Normal file
After Width: | Height: | Size: 430 B |
BIN
doc/themes/triqs/static/bodybg.png
vendored
Normal file
After Width: | Height: | Size: 602 B |
BIN
doc/themes/triqs/static/footerbg.png
vendored
Normal file
After Width: | Height: | Size: 313 B |
BIN
doc/themes/triqs/static/headerbg.png
vendored
Normal file
After Width: | Height: | Size: 344 B |
BIN
doc/themes/triqs/static/listitem.png
vendored
Normal file
After Width: | Height: | Size: 207 B |
BIN
doc/themes/triqs/static/relbg.png
vendored
Normal file
After Width: | Height: | Size: 332 B |
@ -0,0 +1,70 @@
|
|||||||
|
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.%s' % SHLIB_EXT],
|
||||||
|
'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'
|
22
packaging/conda/build.sh
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
#!/usr/bin/env bash
|
||||||
|
|
||||||
|
mkdir build
|
||||||
|
cd build
|
||||||
|
|
||||||
|
# Openmpi Specific environment setup - Cf. https://github.com/conda-forge/libnetcdf-feedstock/pull/80
|
||||||
|
export OMPI_MCA_btl=self,tcp
|
||||||
|
export OMPI_MCA_plm=isolated
|
||||||
|
export OMPI_MCA_rmaps_base_oversubscribe=yes
|
||||||
|
export OMPI_MCA_btl_vader_single_copy_mechanism=none
|
||||||
|
mpiexec="mpiexec --allow-run-as-root"
|
||||||
|
|
||||||
|
source $PREFIX/share/triqsvars.sh
|
||||||
|
|
||||||
|
cmake \
|
||||||
|
-DCMAKE_INSTALL_PREFIX=$PREFIX \
|
||||||
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
|
..
|
||||||
|
|
||||||
|
make -j${CPU_COUNT} VERBOSE=1
|
||||||
|
CTEST_OUTPUT_ON_FAILURE=1 ctest
|
||||||
|
make install
|
3
packaging/conda/conda_build_config.yaml
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
mpi:
|
||||||
|
- mpich
|
||||||
|
- openmpi
|
55
packaging/conda/meta.yaml
Normal file
@ -0,0 +1,55 @@
|
|||||||
|
{% set version = "3.0.0" %}
|
||||||
|
|
||||||
|
package:
|
||||||
|
name: triqs_dft_tools
|
||||||
|
version: {{ version }}
|
||||||
|
|
||||||
|
source:
|
||||||
|
url: https://github.com/TRIQS/dft_tools/releases/download/{{ version }}/dft_tools-{{ version }}.tar.gz
|
||||||
|
sha256: PUT HERE THE SHA256 OF YOUR RELEASE TARBALL
|
||||||
|
|
||||||
|
build:
|
||||||
|
number: 0
|
||||||
|
skip: True # [win or py<30]
|
||||||
|
|
||||||
|
requirements:
|
||||||
|
build:
|
||||||
|
- cmake
|
||||||
|
- make
|
||||||
|
- {{ compiler('c') }}
|
||||||
|
- {{ compiler('cxx') }}
|
||||||
|
- {{ compiler('fortran') }}
|
||||||
|
host:
|
||||||
|
- triqs {{ '.'.join(version.split('.')[:2]) }}
|
||||||
|
- boost-cpp
|
||||||
|
- {{ mpi }}
|
||||||
|
- libblas
|
||||||
|
- liblapack
|
||||||
|
- python
|
||||||
|
run:
|
||||||
|
- {{ pin_compatible("triqs", max_pin="x.x") }}
|
||||||
|
- {{ mpi }}
|
||||||
|
- libblas
|
||||||
|
- liblapack
|
||||||
|
- python
|
||||||
|
|
||||||
|
test:
|
||||||
|
commands:
|
||||||
|
- export OMPI_MCA_btl=self,tcp
|
||||||
|
- export OMPI_MCA_plm=isolated
|
||||||
|
- export OMPI_MCA_rmaps_base_oversubscribe=yes
|
||||||
|
- export OMPI_MCA_btl_vader_single_copy_mechanism=none
|
||||||
|
- export mpiexec="mpiexec --allow-run-as-root"
|
||||||
|
- python -c "import triqs_dft_tools"
|
||||||
|
|
||||||
|
about:
|
||||||
|
home: https://triqs.github.io/dft_tools
|
||||||
|
license: GPL-3.0-or-later
|
||||||
|
license_family: GPL
|
||||||
|
license_file: LICENSE.txt
|
||||||
|
summary: 'Toolbox for ab initio calculations of correlated materials'
|
||||||
|
|
||||||
|
extra:
|
||||||
|
recipe-maintainers:
|
||||||
|
- wentzell
|
||||||
|
- pgunn
|
@ -1,24 +1,18 @@
|
|||||||
###################################################################################
|
# Copyright (c) 2019-2020 Simons Foundation
|
||||||
#
|
#
|
||||||
# TRIQS: a Toolbox for Research in Interacting Quantum Systems
|
# This program is free software: you can redistribute it and/or modify
|
||||||
|
# it under the terms of the GNU General Public License as published by
|
||||||
|
# the Free Software Foundation, either version 3 of the License, or
|
||||||
|
# (at your option) any later version.
|
||||||
#
|
#
|
||||||
# Copyright (C) 2019-2020 Simons Foundation
|
# This program is distributed in the hope that it will be useful,
|
||||||
# author: N. Wentzell
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||||
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||||
|
# GNU General Public License for more details.
|
||||||
#
|
#
|
||||||
# TRIQS is free software: you can redistribute it and/or modify it under the
|
# You may obtain a copy of the License at
|
||||||
# terms of the GNU General Public License as published by the Free Software
|
# https://www.gnu.org/licenses/gpl-3.0.txt
|
||||||
# Foundation, either version 3 of the License, or (at your option) any later
|
|
||||||
# version.
|
|
||||||
#
|
|
||||||
# TRIQS is distributed in the hope that it will be useful, but WITHOUT ANY
|
|
||||||
# WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
|
|
||||||
# FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
|
|
||||||
# details.
|
|
||||||
#
|
|
||||||
# You should have received a copy of the GNU General Public License along with
|
|
||||||
# TRIQS. If not, see <http://www.gnu.org/licenses/>.
|
|
||||||
#
|
|
||||||
###################################################################################
|
|
||||||
|
|
||||||
# Recursively fetch all targets that the interface of a target depends upon
|
# Recursively fetch all targets that the interface of a target depends upon
|
||||||
macro(get_all_interface_targets name target)
|
macro(get_all_interface_targets name target)
|
||||||
@ -89,7 +83,8 @@ macro(extract_flags)
|
|||||||
endif()
|
endif()
|
||||||
endforeach()
|
endforeach()
|
||||||
|
|
||||||
# We have to replace generator expressions explicitly
|
# ==== We have to replace generator expressions explicitly ====
|
||||||
|
|
||||||
if(ARG_BUILD_INTERFACE)
|
if(ARG_BUILD_INTERFACE)
|
||||||
string(REGEX REPLACE "\\$<BUILD_INTERFACE:([^ ]*)>" "\\1" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
string(REGEX REPLACE "\\$<BUILD_INTERFACE:([^ ]*)>" "\\1" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
||||||
string(REGEX REPLACE "\\$<BUILD_INTERFACE:([^ ]*)>" "\\1" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
string(REGEX REPLACE "\\$<BUILD_INTERFACE:([^ ]*)>" "\\1" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
@ -97,6 +92,25 @@ macro(extract_flags)
|
|||||||
string(REGEX REPLACE "\\$<INSTALL_INTERFACE:([^ ]*)>" "\\1" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
string(REGEX REPLACE "\\$<INSTALL_INTERFACE:([^ ]*)>" "\\1" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
||||||
string(REGEX REPLACE "\\$<INSTALL_INTERFACE:([^ ]*)>" "\\1" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
string(REGEX REPLACE "\\$<INSTALL_INTERFACE:([^ ]*)>" "\\1" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
endif()
|
endif()
|
||||||
|
|
||||||
|
if(CMAKE_CXX_COMPILER_ID STREQUAL "GNU")
|
||||||
|
string(REGEX REPLACE "\\$<\\$<CXX_COMPILER_ID:GNU>:([^ ]*)>" "\\1" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
||||||
|
string(REGEX REPLACE "\\$<\\$<CXX_COMPILER_ID:GNU>:([^ ]*)>" "\\1" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
|
||||||
|
string(REGEX REPLACE "\\$<\\$<CXX_COMPILER_ID:Clang>:([^ ]*)>" "\\1" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
||||||
|
string(REGEX REPLACE "\\$<\\$<CXX_COMPILER_ID:Clang>:([^ ]*)>" "\\1" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
|
elseif(CMAKE_CXX_COMPILER_ID STREQUAL "AppleClang")
|
||||||
|
string(REGEX REPLACE "\\$<\\$<CXX_COMPILER_ID:AppleClang>:([^ ]*)>" "\\1" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
||||||
|
string(REGEX REPLACE "\\$<\\$<CXX_COMPILER_ID:AppleClang>:([^ ]*)>" "\\1" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
|
endif()
|
||||||
|
|
||||||
|
# Remove all remaining generator expressions
|
||||||
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
||||||
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
|
|
||||||
|
# Filter out system directories from LDFLAGS and CXXFLAGS
|
||||||
|
string(REGEX REPLACE " -L/usr/lib " " " ${target}_LDFLAGS "${${target}_LDFLAGS}")
|
||||||
|
string(REGEX REPLACE " -I/usr/include " " " ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
|
string(REGEX REPLACE " -isystem/usr/include " " " ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
|
||||||
|
|
||||||
endmacro()
|
endmacro()
|
||||||
|
@ -15,13 +15,18 @@ set(@PROJECT_NAME@_GIT_HASH @PROJECT_GIT_HASH@ CACHE STRING "@PROJECT_NAME@ git
|
|||||||
set(@PROJECT_NAME@_ROOT @CMAKE_INSTALL_PREFIX@ CACHE STRING "@PROJECT_NAME@ root directory")
|
set(@PROJECT_NAME@_ROOT @CMAKE_INSTALL_PREFIX@ CACHE STRING "@PROJECT_NAME@ root directory")
|
||||||
|
|
||||||
## Find the target dependencies
|
## Find the target dependencies
|
||||||
#include(CMakeFindDependencyMacro)
|
#function(find_dep)
|
||||||
#find_dependency(... HINTS @CMAKE_INSTALL_PREFIX@)
|
# get_property(${ARGV0}_FOUND GLOBAL PROPERTY ${ARGV0}_FOUND)
|
||||||
|
# if(NOT ${ARGV0}_FOUND)
|
||||||
|
# find_package(${ARGN} REQUIRED HINTS @CMAKE_INSTALL_PREFIX@)
|
||||||
|
# endif()
|
||||||
|
#endfunction()
|
||||||
|
#find_dep(depname 1.0)
|
||||||
|
|
||||||
# Include the exported targets of this project
|
# Include the exported targets of this project
|
||||||
include(@CMAKE_INSTALL_PREFIX@/lib/cmake/@PROJECT_NAME@/@PROJECT_NAME@-targets.cmake)
|
include(@CMAKE_INSTALL_PREFIX@/lib/cmake/@PROJECT_NAME@/@PROJECT_NAME@-targets.cmake)
|
||||||
|
|
||||||
message(STATUS "Found @PROJECT_NAME@-config.cmake with version @PROJECT_VERSION@, hash = @PROJECT_GIT_HASH@")
|
message(STATUS "Found @PROJECT_NAME@-config.cmake with version @PROJECT_VERSION@, hash = @PROJECT_GIT_HASH@, root = @CMAKE_INSTALL_PREFIX@")
|
||||||
|
|
||||||
# Was the Project built with Documentation?
|
# Was the Project built with Documentation?
|
||||||
set(@PROJECT_NAME@_WITH_DOCUMENTATION @Build_Documentation@ CACHE BOOL "Was @PROJECT_NAME@ build with documentation?")
|
set(@PROJECT_NAME@_WITH_DOCUMENTATION @Build_Documentation@ CACHE BOOL "Was @PROJECT_NAME@ build with documentation?")
|
||||||
|