3
0
mirror of https://github.com/triqs/dft_tools synced 2025-04-30 20:25:06 +02:00

Merge remote-tracking branch 'app4triqs-remote/3.3.x' into 3.3.x

This commit is contained in:
Nils Wentzell 2025-04-21 12:16:31 -04:00
commit 62ac241c70
2 changed files with 24 additions and 21 deletions

View File

@ -26,10 +26,10 @@ jobs:
fail-fast: false
matrix:
include:
- {os: ubuntu-22.04, cc: gcc-12, cxx: g++-12}
- {os: ubuntu-22.04, cc: clang-15, cxx: clang++-15}
- {os: macos-12, cc: gcc-12, cxx: g++-12}
- {os: macos-12, cc: clang, cxx: clang++}
- {os: ubuntu-24.04, cc: gcc, cxx: g++}
- {os: ubuntu-24.04, cc: clang, cxx: clang++}
- {os: macos-14, cc: gcc-14, cxx: g++-14}
- {os: macos-14, cc: clang, cxx: clang++}
runs-on: ${{ matrix.os }}
@ -44,11 +44,10 @@ jobs:
ccache-${{ matrix.os }}-${{ matrix.cc }}-
- name: Install ubuntu dependencies
if: matrix.os == 'ubuntu-22.04'
if: ${{ contains(matrix.os, 'ubuntu') }}
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 15 &&
sudo apt-get install
ccache
clang-15
@ -57,10 +56,10 @@ jobs:
hdf5-tools
libblas-dev
libboost-dev
libclang-15-dev
libc++-15-dev
libc++abi-15-dev
libomp-15-dev
libclang-dev
libc++-dev
libc++abi-dev
libomp-dev
libfftw3-dev
libgfortran5
libgmp-dev
@ -70,7 +69,7 @@ jobs:
openmpi-bin
openmpi-common
openmpi-doc
python3-clang-15
python3-clang
python3-dev
python3-mako
python3-matplotlib
@ -82,29 +81,34 @@ jobs:
python3-nbsphinx
- name: Install homebrew dependencies
if: matrix.os == 'macos-12'
if: ${{ contains(matrix.os, 'macos') }}
run: |
brew install ccache gcc@12 llvm boost fftw hdf5 open-mpi openblas
brew update
brew install ccache gcc llvm boost fftw hdf5 open-mpi openblas
mkdir $HOME/.venv
python3 -m venv $HOME/.venv/my_python
source $HOME/.venv/my_python/bin/activate
pip install mako numpy scipy mpi4py
pip install -r requirements.txt
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
echo "PATH=$PATH" >> $GITHUB_ENV
echo "PATH=$(brew --prefix llvm)/bin:$(brew --prefix gcc)/bin:$PATH" >> $GITHUB_ENV
- name: add clang cxxflags
- name: Add clang CXXFLAGS
if: ${{ contains(matrix.cxx, 'clang') }}
run: |
echo "PATH=/usr/local/opt/llvm/bin:$PATH" >> $GITHUB_ENV
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
- name: Add clang LDFLAGS for macos to link against brew's libc++
if: ${{ contains(matrix.os, 'macos') && contains(matrix.cxx, 'clang') }}
run: |
echo 'LDFLAGS="-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib -lunwind"' >> $GITHUB_ENV
- name: Build & Install TRIQS
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
run: |
git clone https://github.com/TRIQS/triqs --branch unstable
git clone https://github.com/TRIQS/triqs --branch ${{ github.ref_name }}
mkdir triqs/build && cd triqs/build
cmake .. -DBuild_Tests=OFF -DCMAKE_INSTALL_PREFIX=$HOME/install
make -j1 install VERBOSE=1
@ -128,7 +132,6 @@ jobs:
- name: Test app4triqs
env:
DYLD_FALLBACK_LIBRARY_PATH: /usr/local/opt/llvm/lib
OPENBLAS_NUM_THREADS: "1"
run: |
source $HOME/install/share/triqs/triqsvars.sh

View File

@ -10,7 +10,7 @@ extract_flags(${PROJECT_NAME}_c BUILD_INTERFACE)
separate_arguments(${PROJECT_NAME}_c_CXXFLAGS)
macro(generate_docs header_file)
add_custom_command(
TARGET ${PROJECT_NAME}_docs_cpp2rst
TARGET ${PROJECT_NAME}_docs_cpp2rst POST_BUILD
COMMAND rm -rf ${CMAKE_CURRENT_SOURCE_DIR}/cpp2rst_generated
COMMAND
PYTHONPATH=${CPP2PY_BINARY_DIR}:$ENV{PYTHONPATH}
@ -38,7 +38,7 @@ foreach(example ${ExampleList})
add_executable(${PROJECT_NAME}_doc_${f} EXCLUDE_FROM_ALL ${example})
set_property(TARGET ${PROJECT_NAME}_doc_${f} PROPERTY RUNTIME_OUTPUT_DIRECTORY ${d})
target_link_libraries(${PROJECT_NAME}_doc_${f} triqs)
add_custom_command(TARGET ${PROJECT_NAME}_doc_${f}
add_custom_command(TARGET ${PROJECT_NAME}_doc_${f} POST_BUILD
COMMAND ${PROJECT_NAME}_doc_${f} > ${CMAKE_CURRENT_SOURCE_DIR}/${d}/${f}.output 2>/dev/null
WORKING_DIRECTORY ${d}
)
@ -55,7 +55,7 @@ endif()
# Sphinx has internal caching, always run it
add_custom_target(${PROJECT_NAME}_docs_sphinx ALL)
add_custom_command(
TARGET ${PROJECT_NAME}_docs_sphinx
TARGET ${PROJECT_NAME}_docs_sphinx POST_BUILD
COMMAND PYTHONPATH=${PROJECT_BINARY_DIR}/python:$ENV{PYTHONPATH} ${SPHINXBUILD_EXECUTABLE} -j auto -c . -b html ${CMAKE_CURRENT_SOURCE_DIR} html
)