Skip to content

Commit 7dc20d9

Browse files
authored
Merge pull request #35 from Thoemi09/DEV_APP4TRIQS_MERGE
Dev app4 triqs merge
2 parents f5f28c7 + 3c83ec8 commit 7dc20d9

File tree

6 files changed

+41
-38
lines changed

6 files changed

+41
-38
lines changed

.github/workflows/build.yml

Lines changed: 27 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,9 @@ name: build
22

33
on:
44
push:
5-
branches: [ unstable ]
5+
branches: [ unstable, '[0-9]+.[0-9]+.x' ]
66
pull_request:
7-
branches: [ unstable ]
7+
branches: [ unstable, '[0-9]+.[0-9]+.x' ]
88
workflow_call:
99
workflow_dispatch:
1010

@@ -25,11 +25,8 @@ jobs:
2525
strategy:
2626
fail-fast: false
2727
matrix:
28-
include:
29-
- {os: ubuntu-24.04, cc: gcc, cxx: g++, doc: OFF}
30-
- {os: ubuntu-24.04, cc: clang, cxx: clang++, doc: OFF}
31-
- {os: macos-14, cc: gcc-14, cxx: g++-14, doc: OFF}
32-
- {os: macos-14, cc: clang, cxx: clang++, doc: ON}
28+
os: [ubuntu-24.04, macos-15]
29+
cxx: [g++, clang++]
3330

3431
runs-on: ${{ matrix.os }}
3532

@@ -39,9 +36,17 @@ jobs:
3936
- uses: actions/cache/restore@v4
4037
with:
4138
path: ${{ env.CCACHE_DIR }}
42-
key: ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }}
43-
restore-keys:
44-
ccache-${{ matrix.os }}-${{ matrix.cc }}-
39+
key: ccache-${{ matrix.os }}-${{ matrix.cxx }}-${{ github.run_id }}-${{ github.run_attempt }}
40+
restore-keys: |
41+
ccache-${{ matrix.os }}-${{ matrix.cxx }}-
42+
43+
- name: Set cxx variables
44+
run: |
45+
if [[ ${{ matrix.os }} == 'macos-15' && ${{ matrix.cxx }} == 'g++' ]]; then
46+
echo "CXX=g++-15" >> $GITHUB_ENV
47+
else
48+
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
49+
fi
4550
4651
- name: Install ubuntu dependencies
4752
if: ${{ contains(matrix.os, 'ubuntu') }}
@@ -50,20 +55,21 @@ jobs:
5055
sudo apt-get install lsb-release wget software-properties-common &&
5156
sudo apt-get install
5257
ccache
58+
cmake
59+
ninja-build
5360
clang
61+
clang-tools
5462
g++
5563
gfortran
5664
hdf5-tools
57-
libblas-dev
5865
libclang-dev
5966
libc++-dev
6067
libc++abi-dev
6168
libomp-dev
62-
libfftw3-dev
6369
libgfortran5
6470
libgmp-dev
6571
libhdf5-dev
66-
liblapack-dev
72+
libopenblas-dev
6773
libopenmpi-dev
6874
openmpi-bin
6975
openmpi-common
@@ -75,12 +81,11 @@ jobs:
7581
python3-numpy
7682
python3-pip
7783
python3-scipy
78-
python3-sphinx
79-
python3-nbsphinx
84+
python3-ipython
8085
8186
- name: Set up virtualenv
8287
run: |
83-
mkdir $HOME/.venv
88+
mkdir -p $HOME/.venv
8489
python3 -m venv --system-site-packages $HOME/.venv/my_python
8590
source $HOME/.venv/my_python/bin/activate
8691
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
@@ -95,24 +100,18 @@ jobs:
95100
pip install -r requirements.txt
96101
echo "PATH=$(brew --prefix llvm)/bin:$(brew --prefix gcc)/bin:$PATH" >> $GITHUB_ENV
97102
echo "PYTHONPATH=$(brew --prefix llvm)/lib/python3.13/site-packages" >> $GITHUB_ENV
103+
echo "SDKROOT=$(xcrun --show-sdk-path)" >> $GITHUB_ENV
104+
echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L/opt/homebrew/opt/llvm/lib/unwind -lunwind" >> $GITHUB_ENV
98105
99106
- name: Add clang CXXFLAGS
100-
if: ${{ contains(matrix.cxx, 'clang') }}
107+
if: ${{ matrix.cxx == 'clang++' }}
101108
run: |
102109
echo "CXXFLAGS=-stdlib=libc++" >> $GITHUB_ENV
103110
104-
- name: Add clang LDFLAGS for macos to link against brew's libc++
105-
if: ${{ contains(matrix.os, 'macos') && contains(matrix.cxx, 'clang') }}
106-
run: |
107-
echo 'LDFLAGS="-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib -lunwind"' >> $GITHUB_ENV
108-
109111
- name: Build h5
110-
env:
111-
CC: ${{ matrix.cc }}
112-
CXX: ${{ matrix.cxx }}
113112
run: |
114-
mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }}
115-
make -j2 || make -j1 VERBOSE=1
113+
cmake -S . -B build -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }}
114+
cmake --build build --verbose
116115
117116
- name: Test h5
118117
env:
@@ -129,7 +128,7 @@ jobs:
129128
if: always()
130129
with:
131130
path: ${{ env.CCACHE_DIR }}
132-
key: ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }}
131+
key: ccache-${{ matrix.os }}-${{ matrix.cxx }}-${{ github.run_id }}-${{ github.run_attempt }}
133132

134133
- name: Deploy documentation
135134
if: matrix.doc == 'ON' && github.ref == 'refs/heads/unstable'

CMakeLists.txt

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -15,10 +15,7 @@
1515
# Authors: Philipp Dumitrescu, Olivier Parcollet, Dylan Simon, Nils Wentzell
1616

1717
cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
18-
cmake_policy(VERSION 3.20)
19-
if(POLICY CMP0144)
20-
cmake_policy(SET CMP0144 NEW)
21-
endif()
18+
cmake_policy(VERSION ${CMAKE_VERSION})
2219

2320
# ############
2421
# Define Project

c++/h5/CMakeLists.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,8 @@ set_target_properties(${PROJECT_NAME}_c PROPERTIES
1313
)
1414
target_include_directories(${PROJECT_NAME}_c PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/c++>)
1515
target_include_directories(${PROJECT_NAME}_c SYSTEM INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>)
16+
target_link_directories(${PROJECT_NAME}_c PUBLIC $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/c++>)
17+
target_link_directories(${PROJECT_NAME}_c INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_LIBDIR}>)
1618
target_compile_definitions(${PROJECT_NAME}_c PUBLIC
1719
H5_GIT_HASH=${PROJECT_GIT_HASH}
1820
$<$<CONFIG:Debug>:H5_DEBUG>

share/cmake/extract_flags.cmake

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -92,6 +92,11 @@ macro(extract_flags)
9292
endif()
9393
endforeach()
9494

95+
get_property_recursive(libdirs TARGET ${target} PROPERTY INTERFACE_LINK_DIRECTORIES)
96+
foreach(dir ${libdirs})
97+
set(${target}_LDFLAGS "${${target}_LDFLAGS} -L${dir}")
98+
endforeach()
99+
95100
# ==== We have to replace generator expressions explicitly ====
96101

97102
if(ARG_BUILD_INTERFACE)
@@ -114,8 +119,12 @@ macro(extract_flags)
114119
endif()
115120

116121
# Remove all remaining generator expressions
117-
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
118-
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
122+
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^ ]*>" "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
123+
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^ ]*>" "" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
124+
125+
# Filter out ::@ expressions
126+
string(REGEX REPLACE "::@[^ ]* " "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
127+
string(REGEX REPLACE "::@[^ ]* " "" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
119128

120129
# Filter out system directories from LDFLAGS and CXXFLAGS
121130
string(REGEX REPLACE " -L/usr/lib " " " ${target}_LDFLAGS "${${target}_LDFLAGS}")

share/h5.modulefile.in

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -28,8 +28,6 @@ setenv @PROJECT_NAME@_VERSION $version
2828
setenv @PROJECT_NAME@_GIT_HASH $git_hash
2929

3030
prepend-path PATH $root/bin
31-
prepend-path CPLUS_INCLUDE_PATH $root/include
32-
prepend-path LIBRARY_PATH $root/lib
3331
prepend-path LD_LIBRARY_PATH $root/lib
3432
prepend-path CMAKE_PREFIX_PATH $root
3533
@MODFILE_PYTHON_PATH@

share/h5vars.sh.in

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,7 @@
22

33
export @PROJECT_NAME@_ROOT=@CMAKE_INSTALL_PREFIX@
44

5-
export CPLUS_INCLUDE_PATH=@CMAKE_INSTALL_PREFIX@/include:$CPLUS_INCLUDE_PATH
65
export PATH=@CMAKE_INSTALL_PREFIX@/bin:$PATH
7-
export LIBRARY_PATH=@CMAKE_INSTALL_FULL_LIBDIR@:$LIBRARY_PATH
86
export LD_LIBRARY_PATH=@CMAKE_INSTALL_FULL_LIBDIR@:$LD_LIBRARY_PATH
97
export CMAKE_PREFIX_PATH=@CMAKE_INSTALL_PREFIX@:$CMAKE_PREFIX_PATH
108
@EXPORT_PYTHON_PATH@

0 commit comments

Comments
 (0)