Skip to content

Commit f99d8f4

Browse files
authored
Merge pull request #50 from dengwirda/dev
Update to jigsaw-1.0.0.x
2 parents 5c46d96 + d589b1b commit f99d8f4

File tree

228 files changed

+11764
-6321
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

228 files changed

+11764
-6321
lines changed

.github/workflows/cmake.yml

Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
name: CMake Build Matrix
2+
3+
on:
4+
workflow_dispatch:
5+
pull_request:
6+
push:
7+
8+
env:
9+
BUILD_TYPE: Debug
10+
11+
jobs:
12+
build:
13+
name: ${{ matrix.config.name }}
14+
runs-on: ${{ matrix.config.os }}
15+
strategy:
16+
fail-fast: false
17+
matrix:
18+
config:
19+
- {
20+
name: "Windows Latest MSVC", artifact: "Windows-MSVC.tar.xz",
21+
os: windows-latest,
22+
cc: "cl", cxx: "cl"
23+
}
24+
- {
25+
name: "Ubuntu Latest GCC", artifact: "Linux.tar.xz",
26+
os: ubuntu-latest,
27+
cc: "gcc", cxx: "g++"
28+
}
29+
- {
30+
name: "macOS Latest Clang", artifact: "macOS.tar.xz",
31+
os: macos-latest,
32+
cc: "clang", cxx: "clang++"
33+
}
34+
35+
steps:
36+
- uses: actions/checkout@v3
37+
38+
- name: Print environment
39+
run: |
40+
echo github.event.action: ${{ github.event.action }}
41+
echo github.event_name: ${{ github.event_name }}
42+
43+
- name: Install dependencies on win
44+
if: startsWith(matrix.config.os, 'windows')
45+
run: |
46+
choco install ninja cmake
47+
ninja --version
48+
cmake --version
49+
50+
- name: Install dependencies on unx
51+
if: startsWith(matrix.config.name, 'ubuntu')
52+
run: |
53+
sudo apt-get update
54+
sudo apt-get install ninja-build cmake
55+
ninja --version
56+
cmake --version
57+
g++ --version
58+
59+
- name: Install dependencies on osx
60+
if: startsWith(matrix.config.os, 'macos')
61+
run: |
62+
brew install ninja cmake llvm libomp
63+
ninja --version
64+
cmake --version
65+
clang++ --version
66+
67+
- name: Configure jigsaw
68+
run: |
69+
mkdir ${{github.workspace}}/build
70+
cd ${{github.workspace}}/build
71+
cmake .. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
72+
73+
- name: Build jigsaw
74+
run: |
75+
cd ${{github.workspace}}/build
76+
cmake --build . --config ${{env.BUILD_TYPE}} --target install
77+
78+
- name: Clean jigsaw
79+
run: rm -r ${{github.workspace}}/build
80+
81+
- name: Configure tests for jigsaw
82+
run: |
83+
mkdir ${{github.workspace}}/uni/build
84+
cd ${{github.workspace}}/uni/build
85+
cmake .. -DCMAKE_BUILD_TYPE=${{env.BUILD_TYPE}}
86+
87+
- name: Build tests for jigsaw
88+
run: |
89+
cd ${{github.workspace}}/uni/build
90+
cmake --build . --config ${{env.BUILD_TYPE}} --target install
91+
92+
- name: Prep. tests for jigsaw
93+
if: startsWith(matrix.config.os, 'windows')
94+
run: |
95+
cd ${{github.workspace}}/uni
96+
cp ../lib/jigsaw.dll .
97+
98+
- name: Eval. tests for jigsaw
99+
run: |
100+
cd ${{github.workspace}}/uni
101+
./test_all
102+
103+
- name: Extra tests for jigsaw
104+
run: |
105+
cd ${{github.workspace}}
106+
./bin/jigsaw example.jig
107+
./bin/jigsaw geo/airfoil.jig
108+
./bin/jigsaw geo/bunny.jig
109+
./bin/jigsaw geo/parts.jig
110+
./bin/jigsaw geo/earth.jig
111+
./bin/jigsaw geo/lakes.jig
112+
113+
- name: Clean tests for jigsaw
114+
run: rm -r ${{github.workspace}}/uni/build

.travis.yml

Lines changed: 0 additions & 172 deletions
This file was deleted.

LICENSE.md

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,4 +2,11 @@
22

33
This program may be freely redistributed under the condition that the copyright notices (including this entire header) are not removed, and no compensation is received through use of the software. Private, research, and institutional use is free. You may distribute modified versions of this code `UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE SAME FILE REMAIN UNDER COPYRIGHT OF THE ORIGINAL AUTHOR, BOTH SOURCE AND OBJECT CODE ARE MADE FREELY AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE MODIFICATIONS`. Distribution of this code as part of a commercial system is permissible `ONLY BY DIRECT ARRANGEMENT WITH THE AUTHOR`. (If you are not directly supplying this code to a customer, and you are instead telling them how they can obtain it for free, then you are not required to make any arrangement with me.)
44

5-
`DISCLAIMER`: Neither I nor: Columbia University, the Massachusetts Institute of Technology, the University of Sydney, nor the National Aeronautics and Space Administration warrant this code in any way whatsoever. This code is provided "as-is" to be used at your own risk.
5+
`DISCLAIMER`: Neither I nor `THE CONTRIBUTORS` warrant this code in any way whatsoever. This code is provided "as-is" to be used at your own risk.
6+
7+
`THE CONTRIBUTORS` include:
8+
(a) The University of Sydney
9+
(b) The Massachusetts Institute of Technology
10+
(c) Columbia University
11+
(d) The National Aeronautics & Space Administration
12+
(e) Los Alamos National Laboratory

README.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@
1111

1212
This package provides the underlying `c++` source for `JIGSAW`; defining a basic command-line interface and a `c`-format `API`. Higher-level scripting interfaces, supporting a range of additional facilities for file I/O, mesh visualisation and post-processing operations are also available, including for <a href="http://www.mathworks.com">`MATLAB`</a> / <a href="http://www.gnu.org/software/octave">`OCTAVE`</a> <a href="https://github.com/dengwirda/jigsaw-matlab">here</a> and for <a href="https://www.python.org/">`PYTHON`</a> <a href="https://github.com/dengwirda/jigsaw-python">here</a>.
1313

14-
`JIGSAW` has been compiled and tested on various `64-bit` `Linux`, `Windows` and `MacOS` based platforms.
14+
`JIGSAW` is compiled and tested on various `64-bit` `Linux`, `Windows` and `MacOS` platforms using the `g++`, `clang++` and `msvc` compilers.
1515

1616
### `Code Structure`
1717

@@ -47,12 +47,12 @@ The full `JIGSAW` src can be found in <a href="../master/src/">`../jigsaw/src/`<
4747
* Make a new temporary directory BUILD.
4848
* cd build
4949
* cmake .. -DCMAKE_BUILD_TYPE=BUILD_MODE
50-
* cmake --build . --config BUILD_MODE --target install
50+
* cmake --build . --config BUILD_MODE --target install EXTRAS
5151
* Delete the temporary BUILD directory.
5252

5353
This process will build a series of executables and shared libraries: `jigsaw` itself - the main command-line meshing utility, `tripod` - `JIGSAW`'s tessellation infrastructure, `marche` - a fast-marching solver designed to optimise mesh-spacing configurations, as well as `libjigsaw` - `JIGSAW`'s shared `API`.
5454

55-
`BUILD_MODE` can be used to select different compiler configurations and should generally either be `Release` or `Debug`.
55+
`BUILD_MODE` can be used to select different compiler configurations and should generally either be `Release` or `Debug`. `EXTRAS` can be used to pass additional compile-time arguments, for example `-- -j 4` will build in parallel on supported architectures.
5656

5757
See `example.jig` for documentation on calling the command-line executables, and the headers in <a href="../master/inc/">`../jigsaw/inc/`</a> for details on the `API`.
5858

@@ -94,16 +94,29 @@ The unit-tests can be built using the <a href="https://cmake.org/">`cmake`</a> u
9494
* Make a new temporary directory BUILD.
9595
* cd build
9696
* cmake .. -DCMAKE_BUILD_TYPE=BUILD_MODE
97-
* cmake --build . --config BUILD_MODE --target install
97+
* cmake --build . --config BUILD_MODE --target install EXTRAS
9898
* Delete the temporary BUILD directory.
9999

100-
This process will build the unit-tests as a series of executables in <a href="../master/uni/">`../jigsaw/uni/`</a>. `BUILD_MODE` is a compiler configuration flag: either `Release` or `Debug`.
100+
This process will build the unit-tests as a series of executables in <a href="../master/uni/">`../jigsaw/uni/`</a>. `BUILD_MODE` is a compiler configuration flag: either `Release` or `Debug`. `EXTRAS` can be used to pass additional compile-time arguments.
101+
102+
### `Contributors`
103+
104+
1. [@dengwirda](https://github.com/dengwirda) is `JIGSAW`'s developer and maintainer --- this work was originally the focus of my PhD at the University of Sydney.
105+
2. [@xylar](https://github.com/xylar) contributed the `cmake` build system and `conda` environment.
106+
3. [@tunnellm](https://github.com/tunnellm) extended the sequential optimisation algorithms to support thread-parallelism.
101107

102108
### `License`
103109

104110
This program may be freely redistributed under the condition that the copyright notices (including this entire header) are not removed, and no compensation is received through use of the software. Private, research, and institutional use is free. You may distribute modified versions of this code `UNDER THE CONDITION THAT THIS CODE AND ANY MODIFICATIONS MADE TO IT IN THE SAME FILE REMAIN UNDER COPYRIGHT OF THE ORIGINAL AUTHOR, BOTH SOURCE AND OBJECT CODE ARE MADE FREELY AVAILABLE WITHOUT CHARGE, AND CLEAR NOTICE IS GIVEN OF THE MODIFICATIONS`. Distribution of this code as part of a commercial system is permissible `ONLY BY DIRECT ARRANGEMENT WITH THE AUTHOR`. (If you are not directly supplying this code to a customer, and you are instead telling them how they can obtain it for free, then you are not required to make any arrangement with me.)
105111

106-
`DISCLAIMER`: Neither I nor: Columbia University, the Massachusetts Institute of Technology, the University of Sydney, nor the National Aeronautics and Space Administration warrant this code in any way whatsoever. This code is provided "as-is" to be used at your own risk.
112+
`DISCLAIMER`: Neither I nor `THE CONTRIBUTORS` warrant this code in any way whatsoever. This code is provided "as-is" to be used at your own risk.
113+
114+
`THE CONTRIBUTORS` include:
115+
(a) The University of Sydney
116+
(b) The Massachusetts Institute of Technology
117+
(c) Columbia University
118+
(d) The National Aeronautics & Space Administration
119+
(e) Los Alamos National Laboratory
107120

108121
### `References`
109122

0 commit comments

Comments
 (0)