Skip to content

Commit eac63c9

Browse files
rmcar17dependabot[bot]YapengLang
authored
ENH: Add windows support (#184)
* Bump iqtree2 from `1320c4c` to `39cbee5` Bumps [iqtree2](https://github.com/iqtree/iqtree2) from `1320c4c` to `39cbee5`. - [Release notes](https://github.com/iqtree/iqtree2/releases) - [Commits](iqtree/iqtree2@1320c4c...39cbee5) --- updated-dependencies: - dependency-name: iqtree2 dependency-type: direct:production ... Signed-off-by: dependabot[bot] <[email protected]> * DEV: ignore dll files * DEV: update libiqtree function signatures and add custom type convertors for structs * DEV: ensure DLLs are included in build on windows * BUG: on windows, change out of tmp directory before cleaning up * TST: skip tests which throw error on IQ-TREE side on windows * ENH: include cstddef for other platforms * MAINT: ignore attr-defined typing error for non-windows * DEV: add windows build scripts * DEV: build windows when building iqtree and cache correct files. * DEV: test build process on windows * DEV: install boost through action on windows, remove non-available choco packages * DEV: set boost env variables * DEV: debug boost env vars * DEV: removed path debugs, manually specify boost dirs * DEV: manually specify toolchain, downgrade llvm * DEV: add lib.exe to path * DEV: debug msvc path * DEV: try running wswhere through cmd * DEV: try configuring MSVC * DEV: use cmd to setup VS env * DEV: use action to setup msvc * DEV: continue build process with found lib * DEV: only brew install on mac * DEV: use different caches on unix/windows * DEV: Install llvm when testing windows ci, make build_iqtree compatible on local windows * DEV: re-enable full CI matrix * DEV: use runner.os for choosing before_all script * DEV: standardise cache names * DEV: use correct input for cache key * DEV: add windows to cibuildwheel * DEV: run before_all_windows script with bash * DEV: debug BOOST env vars * DEV: attempt hardcoding boost paths * DEV: fix BOOST lib path * DEV: remove hardcoding of BOOST paths * DEV: hardcode paths again * DEV: normalise slashes in before_all_windows * MAINT: remove extra space * MAINT: update python version (#4) * MAINT: Add support for Python 3.13, drop for 3.10 * MAINT: Update nox supported python versions * Bump pypa/cibuildwheel from 2.23.0 to 2.23.1 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.0 to 2.23.1. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/v2.23.1/docs/changelog.md) - [Commits](pypa/cibuildwheel@v2.23.0...v2.23.1) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * DEV: update iqtree to error handling version * DEV: update return/arg types for calling IQ-TREE * DEV: remove pytest skips on windows * DEV: rebase windows-support on main (#5) * ENH: provide piqtree_nj and nj_tree option for positive branch lengths (#165) * ENH: parameter to restrict negative value of branch length * TST: allow_negative correctly control the behavior of branch length in nj_tree * ENH: add parameter allow_negative in piqtree_nj app * MAINT: fix double return error in merge * MAINT: ruff formatting * TST: Use full fasta file for checking `nj_tree` negative branch lengths * MAINT: move from `ArrayAlignment` to `Alignment` in preparation for `new_type` default * MAINT: simplify logic for negative branch lengths * MAINT: Sort fixtures by number of taxa * MAINT: Remove unused test data file --------- Co-authored-by: Robert McArthur <[email protected]> * DEV: Update minimum required `cogent3` version (support cogent3 hooks) * TST: Remove skip for `quick_tree` `cogent3` hook as `cogent3` min version has updated * Bump ruff from 0.11.0 to 0.11.5 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.0 to 0.11.5. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.11.0...0.11.5) --- updated-dependencies: - dependency-name: ruff dependency-version: 0.11.5 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * Bump pypa/cibuildwheel from 2.23.1 to 2.23.2 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.1 to 2.23.2. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](pypa/cibuildwheel@v2.23.1...v2.23.2) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * Bump ruff from 0.11.5 to 0.11.8 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.5 to 0.11.8. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.11.5...0.11.8) --- updated-dependencies: - dependency-name: ruff dependency-version: 0.11.8 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * Bump pypa/cibuildwheel from 2.23.2 to 2.23.3 Bumps [pypa/cibuildwheel](https://github.com/pypa/cibuildwheel) from 2.23.2 to 2.23.3. - [Release notes](https://github.com/pypa/cibuildwheel/releases) - [Changelog](https://github.com/pypa/cibuildwheel/blob/main/docs/changelog.md) - [Commits](pypa/cibuildwheel@v2.23.2...v2.23.3) --- updated-dependencies: - dependency-name: pypa/cibuildwheel dependency-version: 2.23.3 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> * MAINT: upgrade min `cogent3` and use new `Table` API * ENH: support use of `str` for model in `build_tree` and `fit_tree` * TST: add tests for string represnetations of models * API: simplify expression of model in apps (match that used by `build_tree` and `fit_tree`) * DEV: add scriv fragment * DEV: bump version to 0.5.0 * DEV: collate scriv fragment * DOC: fix typo in release checklist * DEV: update trove classifiers for supported python versions * DEV: add minimum cmake version * Bump ruff from 0.11.8 to 0.11.9 Bumps [ruff](https://github.com/astral-sh/ruff) from 0.11.8 to 0.11.9. - [Release notes](https://github.com/astral-sh/ruff/releases) - [Changelog](https://github.com/astral-sh/ruff/blob/main/CHANGELOG.md) - [Commits](astral-sh/ruff@0.11.8...0.11.9) --- updated-dependencies: - dependency-name: ruff dependency-version: 0.11.9 dependency-type: direct:production update-type: version-update:semver-patch ... Signed-off-by: dependabot[bot] <[email protected]> --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: Yapeng Lang <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * ENH: fix memory leak in `StringResult` * ENH: free error message memory post-check * ENH: simplify memory freeing for StringResult * ENH: reduce memory leaks for `DoubleArrayResult` * MAINT: don't need to use namespace for `free` * ENH: reduce memory leaks from DoubleArray * MAINT: standardise string usage * MAINT: simplify `tmpDoubles` creation * DEV: add `delvewheel` as dev dependency * MAINT: format TOML file * DEV: add scriv fragment for windows support --------- Signed-off-by: dependabot[bot] <[email protected]> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Yapeng Lang <[email protected]>
1 parent 3089f6a commit eac63c9

File tree

16 files changed

+637
-146
lines changed

16 files changed

+637
-146
lines changed

.github/actions/build-iqtree/action.yml

Lines changed: 56 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -19,19 +19,68 @@ runs:
1919
IQ_TREE_2_SHA=$(git rev-parse HEAD)
2020
echo "iqtree2-sha=${IQ_TREE_2_SHA}" >> "$GITHUB_OUTPUT"
2121
22-
- uses: actions/cache@v4
23-
id: cache
22+
- name: Cache IQ-TREE 2 (Windows)
23+
if: runner.os == 'Windows'
24+
uses: actions/cache@v4
25+
id: cache-windows
26+
with:
27+
key: libiqtree-${{ inputs.os }}-${{ steps.iqtree2-sha.outputs.iqtree2-sha }}
28+
path: |
29+
src/piqtree/_libiqtree/iqtree2.lib
30+
src/piqtree/_libiqtree/iqtree2.dll
31+
lookup-only: true
32+
33+
- name: Cache IQ-TREE 2 (Linux/macOS)
34+
if: runner.os != 'Windows'
35+
uses: actions/cache@v4
36+
id: cache-unix
2437
with:
2538
key: libiqtree-${{ inputs.os }}-${{ steps.iqtree2-sha.outputs.iqtree2-sha }}
26-
path: src/piqtree/_libiqtree/libiqtree2.a
39+
path: |
40+
src/piqtree/_libiqtree/libiqtree2.a
2741
lookup-only: true
2842

43+
- name: Combine Cache Hits
44+
id: cache
45+
shell: bash
46+
run: |
47+
if [[ "${{ steps.cache-windows.outputs.cache-hit }}" == 'true' || "${{ steps.cache-unix.outputs.cache-hit }}" == 'true' ]]; then
48+
echo "cache-hit=true" >> "$GITHUB_OUTPUT"
49+
else
50+
echo "cache-hit=false" >> "$GITHUB_OUTPUT"
51+
fi
52+
53+
- name: Install Boost
54+
if: runner.os == 'Windows' && steps.cache.outputs.cache-hit != 'true'
55+
uses: MarkusJx/[email protected]
56+
id: install-boost
57+
with:
58+
boost_version: 1.84.0
59+
platform_version: 2022
60+
toolset: mingw
61+
62+
- name: Set Boost Environment Variables
63+
if: runner.os == 'Windows' && steps.cache.outputs.cache-hit != 'true'
64+
shell: bash
65+
run: |
66+
echo "Boost_INCLUDE_DIR=${{ steps.install-boost.outputs.BOOST_ROOT }}/include" >> "$GITHUB_ENV"
67+
echo "Boost_LIBRARY_DIRS=${{ steps.install-boost.outputs.BOOST_ROOT }}/lib" >> "$GITHUB_ENV"
68+
69+
- name: Setup MSVC Developer Command Prompt
70+
if: runner.os == 'Windows' && steps.cache.outputs.cache-hit != 'true'
71+
uses: ilammy/msvc-dev-cmd@v1
72+
2973
- name: Build IQ-TREE
3074
shell: bash
3175
if: steps.cache.outputs.cache-hit != 'true'
3276
run: |
33-
if [[ "${{ inputs.os }}" == "ubuntu-latest" ]]; then
34-
sudo ./build_tools/before_all_linux.sh
77+
if [[ "${{ runner.os }}" == "Linux" ]]; then
78+
sudo ./build_tools/before_all_linux.sh
79+
elif [[ "${{ runner.os }}" == "macOS" ]]; then
80+
./build_tools/before_all_mac.sh
81+
elif [[ "${{ runner.os }}" == "Windows" ]]; then
82+
./build_tools/before_all_windows.sh
3583
else
36-
./build_tools/before_all_mac.sh
37-
fi
84+
echo "Unrecognized OS: '${{ inputs.os }}'."
85+
exit 1
86+
fi

.github/actions/setup-piqtree/action.yml

Lines changed: 19 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,24 @@ runs:
1313
- uses: "actions/setup-python@v5"
1414
with:
1515
python-version: ${{ inputs.python-version }}
16-
17-
- uses: actions/cache/restore@v4
16+
17+
- name: Cache IQ-TREE 2 (Windows)
18+
if: runner.os == 'Windows'
19+
uses: actions/cache/restore@v4
20+
id: cache-windows
1821
with:
1922
key: ${{ inputs.cache-key }}
20-
path: src/piqtree/_libiqtree/libiqtree2.a
21-
fail-on-cache-miss: true
23+
path: |
24+
src/piqtree/_libiqtree/iqtree2.lib
25+
src/piqtree/_libiqtree/iqtree2.dll
26+
fail-on-cache-miss: true
27+
28+
- name: Cache IQ-TREE 2 (Linux/macOS)
29+
if: runner.os != 'Windows'
30+
uses: actions/cache/restore@v4
31+
id: cache-unix
32+
with:
33+
key: ${{ inputs.cache-key }}
34+
path: |
35+
src/piqtree/_libiqtree/libiqtree2.a
36+
fail-on-cache-miss: true

.github/workflows/build_wheels.yml

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
include:
13-
# manylinux (x86)
13+
# manylinux x86_64
1414
- os: ubuntu-latest
1515
platform_id: manylinux_x86_64
1616

@@ -22,6 +22,10 @@ jobs:
2222
- os: macos-14
2323
platform_id: macosx_arm64
2424

25+
# Windows x86_64
26+
- os: windows-latest
27+
platform_id: win_amd64
28+
2529
steps:
2630
- uses: "actions/checkout@v4"
2731
with:
@@ -35,21 +39,37 @@ jobs:
3539
platforms: arm64
3640

3741
- name: Set macOS Deployment Target
38-
if: ${{startsWith(matrix.os, 'macos')}}
42+
if: runner.os == 'macOS'
3943
run: |
4044
if [[ "${{ matrix.os }}" == "macos-13" ]]; then
4145
echo "MACOSX_DEPLOYMENT_TARGET=13.0" >> $GITHUB_ENV
4246
elif [[ "${{ matrix.os }}" == "macos-14" ]]; then
4347
echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> $GITHUB_ENV
4448
fi
4549
50+
- name: Install Boost
51+
if: runner.os == 'Windows'
52+
uses: MarkusJx/[email protected]
53+
id: install-boost
54+
with:
55+
boost_version: 1.84.0
56+
platform_version: 2022
57+
toolset: mingw
58+
59+
- name: Setup MSVC Developer Command Prompt
60+
if: runner.os == 'Windows'
61+
uses: ilammy/msvc-dev-cmd@v1
62+
4663
- name: Build wheels
4764
uses: pypa/[email protected]
4865
env: # Can specify per os - e.g. CIBW_BEFORE_ALL_LINUX, CIBW_BEFORE_ALL_MACOS, CIBW_BEFORE_ALL_WINDOWS
4966
CIBW_BEFORE_ALL_LINUX: ./build_tools/before_all_linux.sh
5067
CIBW_BEFORE_ALL_MACOS: ./build_tools/before_all_mac.sh
68+
CIBW_BEFORE_ALL_WINDOWS: bash ./build_tools/before_all_windows.sh
69+
CIBW_ENVIRONMENT_WINDOWS: Boost_INCLUDE_DIR='${{ steps.install-boost.outputs.BOOST_ROOT }}/include' Boost_LIBRARY_DIRS='${{ steps.install-boost.outputs.BOOST_ROOT }}/lib'
5170
CIBW_ARCHS_LINUX: ${{endsWith(matrix.platform_id, '_x86_64') && 'x86_64' || 'aarch64'}}
5271
CIBW_ARCHS_MACOS: ${{endsWith(matrix.platform_id, 'universal2') && 'universal2' || 'auto'}}
72+
CIBW_ARCHS_WINDOWS: ${{endsWith(matrix.platform_id, '_amd64') && 'AMD64' || 'ARM64'}}
5373
CIBW_BUILD: "*${{matrix.platform_id}}"
5474
CIBW_TEST_REQUIRES: pytest
5575
CIBW_TEST_COMMAND: pytest {package}/tests

.github/workflows/ci.yml

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ jobs:
1313
runs-on: ${{ matrix.os }}
1414
strategy:
1515
matrix:
16-
os: [ubuntu-latest, macos-13, macos-14] # Intel linux, Intel Mac, ARM Mac
16+
os: [ubuntu-latest, macos-13, macos-14, windows-latest] # Intel linux, Intel Mac, ARM Mac, Windows
1717

1818
steps:
1919
- uses: "actions/checkout@v4"
@@ -35,7 +35,7 @@ jobs:
3535
runs-on: ${{ matrix.os }}
3636
strategy:
3737
matrix:
38-
os: [ubuntu-latest, macos-13, macos-14] # Intel linux, Intel Mac, ARM Mac
38+
os: [ubuntu-latest, macos-13, macos-14, windows-latest] # Intel linux, Intel Mac, ARM Mac, Windows
3939
python-version: ["3.11", "3.12", "3.13"]
4040
steps:
4141
- uses: "actions/checkout@v4"
@@ -48,10 +48,15 @@ jobs:
4848
python-version: ${{ matrix.python-version }}
4949
cache-key: libiqtree-${{ matrix.os }}-${{ needs.build-iqtree.outputs.iqtree2-sha }}
5050

51-
- name: Install llvm
52-
if: matrix.os != 'ubuntu-latest'
51+
- name: Install llvm (macOS)
52+
if: runner.os == 'macOS'
5353
run: |
5454
brew install llvm
55+
56+
- name: Install llvm (Windows)
57+
if: runner.os == 'Windows'
58+
run: |
59+
choco install -y llvm --version=14.0.6 --allow-downgrade
5560
5661
- name: Run Nox Testing
5762
run: |

.github/workflows/release.yml

Lines changed: 25 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ jobs:
1010
fail-fast: false
1111
matrix:
1212
include:
13-
# manylinux (x86)
13+
# manylinux x86_64
1414
- os: ubuntu-latest
1515
platform_id: manylinux_x86_64
1616

@@ -22,6 +22,10 @@ jobs:
2222
- os: macos-14
2323
platform_id: macosx_arm64
2424

25+
# Windows x86_64
26+
- os: windows-latest
27+
platform_id: win_amd64
28+
2529
steps:
2630
- uses: "actions/checkout@v4"
2731
with:
@@ -35,23 +39,41 @@ jobs:
3539
platforms: arm64
3640

3741
- name: Set macOS Deployment Target
38-
if: ${{startsWith(matrix.os, 'macos')}}
42+
if: runner.os == 'macOS'
3943
run: |
4044
if [[ "${{ matrix.os }}" == "macos-13" ]]; then
4145
echo "MACOSX_DEPLOYMENT_TARGET=13.0" >> $GITHUB_ENV
4246
elif [[ "${{ matrix.os }}" == "macos-14" ]]; then
4347
echo "MACOSX_DEPLOYMENT_TARGET=14.0" >> $GITHUB_ENV
4448
fi
45-
49+
50+
- name: Install Boost
51+
if: runner.os == 'Windows'
52+
uses: MarkusJx/[email protected]
53+
id: install-boost
54+
with:
55+
boost_version: 1.84.0
56+
platform_version: 2022
57+
toolset: mingw
58+
59+
- name: Setup MSVC Developer Command Prompt
60+
if: runner.os == 'Windows'
61+
uses: ilammy/msvc-dev-cmd@v1
62+
4663
- name: Build wheels
4764
uses: pypa/[email protected]
4865
env: # Can specify per os - e.g. CIBW_BEFORE_ALL_LINUX, CIBW_BEFORE_ALL_MACOS, CIBW_BEFORE_ALL_WINDOWS
4966
CIBW_BEFORE_ALL_LINUX: ./build_tools/before_all_linux.sh
5067
CIBW_BEFORE_ALL_MACOS: ./build_tools/before_all_mac.sh
68+
CIBW_BEFORE_ALL_WINDOWS: bash ./build_tools/before_all_windows.sh
69+
CIBW_ENVIRONMENT_WINDOWS: Boost_INCLUDE_DIR='${{ steps.install-boost.outputs.BOOST_ROOT }}/include' Boost_LIBRARY_DIRS='${{ steps.install-boost.outputs.BOOST_ROOT }}/lib'
5170
CIBW_ARCHS_LINUX: ${{endsWith(matrix.platform_id, '_x86_64') && 'x86_64' || 'aarch64'}}
71+
CIBW_ARCHS_MACOS: ${{endsWith(matrix.platform_id, 'universal2') && 'universal2' || 'auto'}}
72+
CIBW_ARCHS_WINDOWS: ${{endsWith(matrix.platform_id, '_amd64') && 'AMD64' || 'ARM64'}}
5273
CIBW_BUILD: "*${{matrix.platform_id}}"
5374
CIBW_TEST_REQUIRES: pytest
5475
CIBW_TEST_COMMAND: pytest {package}/tests
76+
CIBW_TEST_SKIP: "*-macosx_universal2:x86_64" # skip x86 on m1 mac
5577
CIBW_SKIP: pp* # Disable building PyPy wheels on all platforms
5678

5779
- name: Upload wheels

.gitignore

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,9 @@
1212

1313
# piqtree specific ignores
1414
src/piqtree/_libiqtree/**/*.a
15+
src/piqtree/_libiqtree/**/*.dll
16+
src/piqtree/_libiqtree/**/*.lib
17+
src/*.dll
1518

1619
# docs
1720
data

build_tools/before_all_windows.sh

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
# Install dependencies using choco
2+
3+
export Boost_INCLUDE_DIR=$(echo $Boost_INCLUDE_DIR | sed 's|\\|/|g')
4+
export Boost_LIBRARY_DIRS=$(echo $Boost_LIBRARY_DIRS | sed 's|\\|/|g')
5+
6+
echo "Boost_INCLUDE_DIR: $Boost_INCLUDE_DIR"
7+
echo "Boost_LIBRARY_DIRS: $Boost_LIBRARY_DIRS"
8+
9+
choco install -y llvm --version=14.0.6 --allow-downgrade
10+
choco install -y eigen
11+
12+
# Build IQ-TREE
13+
bash build_tools/build_iqtree.sh

build_tools/build_iqtree.sh

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,11 +9,37 @@ if [[ "$OSTYPE" == "darwin"* ]]; then
99
echo $CXXFLAGS
1010
cmake -DBUILD_LIB=ON -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
1111
gmake -j
12+
elif [[ "$OSTYPE" == "msys"* || "$OSTYPE" == "cygwin"* ]]; then
13+
echo "Building for Windows."
14+
15+
if [[ -n "$BOOST_ROOT" ]]; then
16+
export Boost_INCLUDE_DIR="${BOOST_ROOT}"
17+
export Boost_LIBRARY_DIRS="${BOOST_ROOT}"
18+
fi
19+
20+
cmake -G "MinGW Makefiles" \
21+
-DCMAKE_C_COMPILER=clang \
22+
-DCMAKE_CXX_COMPILER=clang++ \
23+
-DCMAKE_C_FLAGS=--target=x86_64-pc-windows-gnu \
24+
-DCMAKE_CXX_FLAGS=--target=x86_64-pc-windows-gnu \
25+
-DCMAKE_MAKE_PROGRAM=make \
26+
-DBoost_INCLUDE_DIR=$Boost_INCLUDE_DIR \
27+
-DBoost_LIBRARY_DIRS=$Boost_LIBRARY_DIRS \
28+
-DIQTREE_FLAGS="cpp14" \
29+
-DBUILD_LIB=ON \
30+
..
31+
make -j
1232
else
1333
echo "Building for linux."
1434
cmake -DBUILD_LIB=ON -DCMAKE_POLICY_VERSION_MINIMUM=3.5 ..
1535
make -j
1636
fi
1737

1838
cd ../..
19-
mv iqtree2/build/libiqtree2.a src/piqtree/_libiqtree/
39+
40+
if [[ "$OSTYPE" == "darwin"* || "$OSTYPE" == "linux"* ]]; then
41+
mv iqtree2/build/libiqtree2.a src/piqtree/_libiqtree/
42+
elif [[ "$OSTYPE" == "msys"* || "$OSTYPE" == "cygwin"* ]]; then
43+
mv iqtree2/build/iqtree2.lib src/piqtree/_libiqtree/
44+
mv iqtree2/build/iqtree2.dll src/piqtree/_libiqtree/
45+
fi
Lines changed: 42 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,42 @@
1+
<!--
2+
A new scriv changelog fragment.
3+
4+
Uncomment the section that is right (remove the HTML comment wrapper).
5+
-->
6+
7+
8+
### Contributors
9+
10+
- @rmcar17 and @thomaskf enabled windows support for piqtree!
11+
12+
13+
14+
### ENH
15+
16+
- Added windows support!
17+
18+
19+
<!--
20+
### BUG
21+
22+
- A bullet item for the BUG category.
23+
24+
-->
25+
<!--
26+
### DOC
27+
28+
- A bullet item for the DOC category.
29+
30+
-->
31+
<!--
32+
### Deprecations
33+
34+
- A bullet item for the Deprecations category.
35+
36+
-->
37+
<!--
38+
### Discontinued
39+
40+
- A bullet item for the Discontinued category.
41+
42+
-->

0 commit comments

Comments
 (0)