Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
45 commits
Select commit Hold shift + click to select a range
ae4b928
[cmake] Remove C as a project language
Wentzell Apr 19, 2024
1ade83c
[actions] Bump actions/cache restore/save to version 4
Wentzell Apr 23, 2024
8111352
[cmake] Bump Version number to 3.3
Wentzell May 14, 2024
f0f0789
Remove redundant sys.path insertion in conf.py.in
Wentzell May 14, 2024
96110d2
[ghactions] Allow both unstable and release branch builds
Wentzell May 31, 2024
7978951
Squash app4triqs/3.3.x to reduce skeleton history when tracking
Wentzell Feb 17, 2022
80f1ebe
Fix serialization example
Wentzell Aug 7, 2024
6e2428e
[cmake] Update Cpp2Py branch to main and bump version req
Wentzell Aug 13, 2024
71dc824
Update example API to include serialization function
Wentzell Aug 14, 2024
b07a3de
[jenkins] For osx builds use gcc14 and python 3.12
Wentzell Sep 5, 2024
bbd45fb
[cmake] Set cmake policies to current cmake version
Wentzell Sep 6, 2024
6e48818
[jenkins] Synchronize jenkinsfile with triqs
Wentzell Sep 9, 2024
32342c7
[jenkins] For osx builds use gcc14 and python 3.12
Wentzell Sep 5, 2024
4ea86b4
[ghactions] Always build against respective TRIQS branch
Wentzell Sep 10, 2024
f63f2e4
[ghactions] Always build against respective TRIQS branch
Wentzell Sep 10, 2024
c3d525f
Update runner images and compiler version (#16)
Thoemi09 Sep 30, 2024
b246b6e
Update runner images and compiler version (#16)
Thoemi09 Sep 30, 2024
b70af52
[ghactions] For pull_request events use target branch name in the tri…
Wentzell Nov 15, 2024
2621442
[cmake] Fix add_custom_commands to be compliant with cmake 3.31
Wentzell Nov 22, 2024
dcbaab5
[cmake] Fix add_custom_commands to be compliant with cmake 3.31
Wentzell Nov 22, 2024
8a06e32
[ghactions] Synchronize build.yml with nda
Wentzell Jan 30, 2025
d61b2c6
Remove LDFLAGS from macos builds
Thoemi09 Mar 14, 2025
4eab58f
[jenkins] Run apt-get update before apt-get install
Wentzell Mar 26, 2025
13a3cfd
[cmake] Remove CPLUS_INCLUDE_VARS and LIBRARY_PATH from vars.sh.in, s…
Wentzell Apr 17, 2025
dfbe792
Remove CPLUS_INCLUDE_VARS and LIBRARY_PATH from modulefile.in, should…
Wentzell Apr 17, 2025
038f877
[doc] Remove redundant sphinx extension folder and adjust conf.py.in
Wentzell May 15, 2025
194a9f5
[cmake] Set LINK_DIRECTORIES for Project library target
Wentzell May 16, 2025
d3ba3d2
[cmake] Synchronize extract_flags.cmake file with triqs
Wentzell May 16, 2025
8343fcf
[ghactions] Update Ubuntu package list to use openblas over liblapack
Wentzell Jul 3, 2025
5d81dcc
[jenkins] Update gcc, hdf5, python version numbers for OSX build afte…
Wentzell Jul 15, 2025
502680b
[jenkins] update docker ns to match triqs
dylex Jul 25, 2025
1f6ada0
[jenkins] avoid hardlinks
dylex Jul 25, 2025
858d017
Fix broken link to TRIQS installation page
Thoemi09 Jul 24, 2025
a492857
Add numpydoc option to doc/conf.py.in
Thoemi09 Jul 24, 2025
16c286b
Simplify python module naming convention, regenerate module
Wentzell Jul 29, 2025
946005e
Synchronize Jenkins and GHActions Setup with unstable
Wentzell Aug 5, 2025
28f5ea2
[ghactions] Make sure that SDKROOT is set in OSX environment
Wentzell Aug 13, 2025
27dc673
[ghactions] Bump OSX and gcc version to 15
Wentzell Aug 13, 2025
a73e8a7
[ghactions] Use ninja for parallel builds, modernize and simplify bui…
Wentzell Aug 13, 2025
68e629e
[ghactions] avoid cache key collision for multiple attempts
hmenke Aug 14, 2025
e08a60f
[ghactions] Ninja already provided in osx build env
Wentzell Aug 20, 2025
e728f36
Merge remote-tracking branch 'app4triqs/3.3.x' into DEV_APP4TRIQS_MERGE
Thoemi09 Sep 26, 2025
1e8f8c9
Track app4triqs skeleton after squash
Thoemi09 Sep 26, 2025
c53e055
Merge remote-tracking branch 'app4triqs/unstable' into DEV_APP4TRIQS_…
Thoemi09 Sep 26, 2025
37b3e41
[ghactions] Link against brew's libc++ for macos + clang
Thoemi09 Sep 26, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
56 changes: 26 additions & 30 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: build

on:
push:
branches: [ unstable ]
branches: [ unstable, '[0-9]+.[0-9]+.x' ]
pull_request:
branches: [ unstable ]
branches: [ unstable, '[0-9]+.[0-9]+.x' ]
workflow_call:
workflow_dispatch:

Expand All @@ -25,11 +25,8 @@ jobs:
strategy:
fail-fast: false
matrix:
include:
- {os: ubuntu-24.04, cc: gcc, cxx: g++, doc: OFF}
- {os: ubuntu-24.04, cc: clang, cxx: clang++, doc: OFF}
- {os: macos-14, cc: gcc-14, cxx: g++-14, doc: OFF}
- {os: macos-14, cc: clang, cxx: clang++, doc: ON}
os: [ubuntu-24.04, macos-15]
cxx: [g++, clang++]

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

Expand All @@ -39,9 +36,17 @@ jobs:
- uses: actions/cache/restore@v4
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }}
restore-keys:
ccache-${{ matrix.os }}-${{ matrix.cc }}-
key: ccache-${{ matrix.os }}-${{ matrix.cxx }}-${{ github.run_id }}-${{ github.run_attempt }}
restore-keys: |
ccache-${{ matrix.os }}-${{ matrix.cxx }}-

- name: Set cxx variables
run: |
if [[ ${{ matrix.os }} == 'macos-15' && ${{ matrix.cxx }} == 'g++' ]]; then
echo "CXX=g++-15" >> $GITHUB_ENV
else
echo "CXX=${{ matrix.cxx }}" >> $GITHUB_ENV
fi

- name: Install ubuntu dependencies
if: ${{ contains(matrix.os, 'ubuntu') }}
Expand All @@ -50,20 +55,18 @@ jobs:
sudo apt-get install lsb-release wget software-properties-common &&
sudo apt-get install
ccache
cmake
ninja-build
clang
clang-tools
g++
gfortran
hdf5-tools
libblas-dev
libclang-dev
libc++-dev
libc++abi-dev
libomp-dev
libfftw3-dev
libgfortran5
libgmp-dev
libhdf5-dev
liblapack-dev
libopenmpi-dev
openmpi-bin
openmpi-common
Expand All @@ -75,12 +78,11 @@ jobs:
python3-numpy
python3-pip
python3-scipy
python3-sphinx
python3-nbsphinx
python3-ipython

- name: Set up virtualenv
run: |
mkdir $HOME/.venv
mkdir -p $HOME/.venv
python3 -m venv --system-site-packages $HOME/.venv/my_python
source $HOME/.venv/my_python/bin/activate
echo "VIRTUAL_ENV=$VIRTUAL_ENV" >> $GITHUB_ENV
Expand All @@ -95,24 +97,18 @@ jobs:
pip install -r requirements.txt
echo "PATH=$(brew --prefix llvm)/bin:$(brew --prefix gcc)/bin:$PATH" >> $GITHUB_ENV
echo "PYTHONPATH=$(brew --prefix llvm)/lib/python3.13/site-packages" >> $GITHUB_ENV
echo "SDKROOT=$(xcrun --show-sdk-path)" >> $GITHUB_ENV
echo "LDFLAGS=-L$(brew --prefix llvm)/lib/c++ -L$(brew --prefix llvm)/lib/unwind -lunwind" >> $GITHUB_ENV

- name: Add clang CXXFLAGS
if: ${{ contains(matrix.cxx, 'clang') }}
if: ${{ matrix.cxx == 'clang++' }}
run: |
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 itertools
env:
CC: ${{ matrix.cc }}
CXX: ${{ matrix.cxx }}
run: |
mkdir build && cd build && cmake .. -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }}
make -j2 || make -j1 VERBOSE=1
cmake -S . -B build -G Ninja -DCMAKE_INSTALL_PREFIX=$HOME/install -DBuild_Documentation=${{ matrix.doc }}
cmake --build build --verbose

- name: Test itertools
env:
Expand All @@ -129,7 +125,7 @@ jobs:
if: always()
with:
path: ${{ env.CCACHE_DIR }}
key: ccache-${{ matrix.os }}-${{ matrix.cc }}-${{ github.run_id }}
key: ccache-${{ matrix.os }}-${{ matrix.cxx }}-${{ github.run_id }}-${{ github.run_attempt }}

- name: Deploy documentation
if: matrix.doc == 'ON' && github.ref == 'refs/heads/unstable'
Expand Down
5 changes: 1 addition & 4 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -15,10 +15,7 @@
# Authors: Philipp Dumitrescu, Olivier Parcollet, Dylan Simon, Nils Wentzell

cmake_minimum_required(VERSION 3.20 FATAL_ERROR)
cmake_policy(VERSION 3.20)
if(POLICY CMP0144)
cmake_policy(SET CMP0144 NEW)
endif()
cmake_policy(VERSION ${CMAKE_VERSION})

# ############
# Define Project
Expand Down
2 changes: 2 additions & 0 deletions c++/itertools/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,8 @@ add_library(${PROJECT_NAME}::${PROJECT_NAME}_c ALIAS ${PROJECT_NAME}_c)
target_compile_features(${PROJECT_NAME}_c INTERFACE cxx_std_20)
target_include_directories(${PROJECT_NAME}_c INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/c++>)
target_include_directories(${PROJECT_NAME}_c SYSTEM INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_PREFIX}/include>)
target_link_directories(${PROJECT_NAME}_c INTERFACE $<BUILD_INTERFACE:${PROJECT_SOURCE_DIR}/c++>)
target_link_directories(${PROJECT_NAME}_c INTERFACE $<INSTALL_INTERFACE:${CMAKE_INSTALL_FULL_LIBDIR}>)
target_compile_definitions(${PROJECT_NAME}_c INTERFACE
ITERTOOLS_GIT_HASH=${PROJECT_GIT_HASH}
$<$<CONFIG:Debug>:ITERTOOLS_DEBUG>
Expand Down
13 changes: 11 additions & 2 deletions share/cmake/extract_flags.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,11 @@ macro(extract_flags)
endif()
endforeach()

get_property_recursive(libdirs TARGET ${target} PROPERTY INTERFACE_LINK_DIRECTORIES)
foreach(dir ${libdirs})
set(${target}_LDFLAGS "${${target}_LDFLAGS} -L${dir}")
endforeach()

# ==== We have to replace generator expressions explicitly ====

if(ARG_BUILD_INTERFACE)
Expand All @@ -114,8 +119,12 @@ macro(extract_flags)
endif()

# Remove all remaining generator expressions
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^>]*>" "" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^ ]*>" "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
string(REGEX REPLACE " [^ ]*\\$<[^ ]*:[^ ]*>" "" ${target}_CXXFLAGS "${${target}_CXXFLAGS}")

# Filter out ::@ expressions
string(REGEX REPLACE "::@[^ ]* " "" ${target}_LDFLAGS "${${target}_LDFLAGS}")
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}")
Expand Down
2 changes: 0 additions & 2 deletions share/itertools.modulefile.in
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,5 @@ setenv @PROJECT_NAME@_VERSION $version
setenv @PROJECT_NAME@_GIT_HASH $git_hash

prepend-path PATH $root/bin
prepend-path CPLUS_INCLUDE_PATH $root/include
prepend-path LIBRARY_PATH $root/lib
prepend-path LD_LIBRARY_PATH $root/lib
prepend-path CMAKE_PREFIX_PATH $root
2 changes: 0 additions & 2 deletions share/itertoolsvars.sh.in
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@

export @PROJECT_NAME@_ROOT=@CMAKE_INSTALL_PREFIX@

export CPLUS_INCLUDE_PATH=@CMAKE_INSTALL_PREFIX@/include:$CPLUS_INCLUDE_PATH
export PATH=@CMAKE_INSTALL_PREFIX@/bin:$PATH
export LIBRARY_PATH=@CMAKE_INSTALL_FULL_LIBDIR@:$LIBRARY_PATH
export LD_LIBRARY_PATH=@CMAKE_INSTALL_FULL_LIBDIR@:$LD_LIBRARY_PATH
export CMAKE_PREFIX_PATH=@CMAKE_INSTALL_PREFIX@:$CMAKE_PREFIX_PATH
Loading