Skip to content

Commit 16cebaa

Browse files
committed
show off new fpm support
1 parent f3f88d8 commit 16cebaa

File tree

1 file changed

+30
-3
lines changed

1 file changed

+30
-3
lines changed

FortranCon2021-stdlib/stdlib-talk.tex

Lines changed: 30 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@
221221
\end{itemize}
222222
\item Install each separately or use conda package manager
223223
\item Exports both CMake package files \& pkg-config files
224-
\item Support for fpm-based workflow is in progress
224+
\item New support for fpm-based workflow
225225
\end{itemize}
226226

227227
\note{
@@ -231,8 +231,35 @@
231231
These are individually not hard to install on most systems, but one might be worried about having conflicting versions of Fortran compilers or CMake on one system.
232232
So to address that concern and also to just serve as a very simple way to get started, there's now a conda package that will automatically install the prerequisites for stdlib.
233233
So then once you get the stdlib source code from Github, you can build stdlib and run its test suite with either make or CMake.
234-
Then when you isntall stdlib, you get not only a static or shared library but also a pkg-config file and a CMake package file, which makes it very simply to use stdlib in your own projects.
235-
The ideal situation of course is to distribute stdlib as an fpm package, and while that's still a work in progres, there's been good progress on the fpm side of things.
234+
Then when you install stdlib, you get not only a static or shared library but also a pkg-config file and a CMake package file, which makes it very simply to use stdlib in your own projects.
235+
But the ideal is to distrubute stdlib as an fpm package, which is newly supported!
236+
}
237+
\end{frame}
238+
239+
240+
\begin{frame}[fragile]
241+
\frametitle{It is now trivial for fpm packages to depend on stdlib}
242+
243+
\begin{block}{fpm.toml}
244+
\small
245+
\begin{verbatim}
246+
...
247+
[dependencies]
248+
stdlib.git = "https://github.com/fortran-lang/stdlib"
249+
stdlib.branch = "stdlib-fpm"
250+
...
251+
\end{verbatim}
252+
\end{block}
253+
254+
\begin{center}
255+
It just works!
256+
\end{center}
257+
258+
\note{
259+
For a long time, stdlib's preprocessing needs were difficult to accomodate with fpm.
260+
Now we maintain a branch of stdlib that just contains the pre-processed Fortran source, exacly the way fpm wants it.
261+
Not only is it possible to build standalone stdlib using fpm, but it's trivial to include it as a dependency.
262+
With just a few lines in your fpm.toml, all of stdlib is available and ``just works''!
236263
}
237264
\end{frame}
238265

0 commit comments

Comments
 (0)