aboutsummaryrefslogtreecommitdiff
path: root/example_packages
diff options
context:
space:
mode:
authorLKedward <laurence.kedward@bristol.ac.uk>2021-03-07 11:48:49 +0000
committerLKedward <laurence.kedward@bristol.ac.uk>2021-03-07 11:48:49 +0000
commitc41c39e36cc1e10699a47d5eca6da396f0173a64 (patch)
treec315f440164070f692a5b0143d0db4bc6860b83a /example_packages
parent433e408c5de7cbb139cfb35e675f2bf73676467b (diff)
downloadfpm-c41c39e36cc1e10699a47d5eca6da396f0173a64.tar.gz
fpm-c41c39e36cc1e10699a47d5eca6da396f0173a64.zip
Add: example packages for include directories
Diffstat (limited to 'example_packages')
-rw-r--r--example_packages/README.md3
-rw-r--r--example_packages/c_header_only/.gitignore1
-rw-r--r--example_packages/c_header_only/fpm.toml1
-rw-r--r--example_packages/c_header_only/include/c_header.h1
-rw-r--r--example_packages/c_includes/.gitignore1
-rw-r--r--example_packages/c_includes/fpm.toml4
-rw-r--r--example_packages/c_includes/include/lib.h4
-rw-r--r--example_packages/c_includes/src/lib.c7
-rw-r--r--example_packages/fortran_includes/.gitignore1
-rw-r--r--example_packages/fortran_includes/fpm.toml4
-rw-r--r--example_packages/fortran_includes/inc/parameters.f901
-rw-r--r--example_packages/fortran_includes/src/lib.f9014
-rw-r--r--example_packages/link_executable/include/test.f901
13 files changed, 43 insertions, 0 deletions
diff --git a/example_packages/README.md b/example_packages/README.md
index 667b9a3..b556dcb 100644
--- a/example_packages/README.md
+++ b/example_packages/README.md
@@ -7,8 +7,11 @@ the features demonstrated in each package and which versions of fpm are supporte
| Name | Features | Bootstrap (Haskell) fpm | fpm |
|---------------------|---------------------------------------------------------------|:-----------------------:|:---:|
| auto_discovery_off | Default layout with auto-discovery disabled | N | Y |
+| c_header_only | C header-only library | N | Y |
+| c_includes | C library with c include directory and dependency includes | N | Y |
| circular_example | Local path dependency; circular dependency | Y | Y |
| circular_test | Local path dependency; circular dependency | Y | Y |
+| fortran_includes | Fortran library with explicit include directory | Y | N |
| hello_complex | Non-standard directory layout; multiple tests and executables | Y | Y |
| hello_complex_2 | Auto-discovery of tests and executables with modules | N | Y |
| hello_fpm | App-only; local path dependency | Y | Y |
diff --git a/example_packages/c_header_only/.gitignore b/example_packages/c_header_only/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/example_packages/c_header_only/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/example_packages/c_header_only/fpm.toml b/example_packages/c_header_only/fpm.toml
new file mode 100644
index 0000000..372fe0e
--- /dev/null
+++ b/example_packages/c_header_only/fpm.toml
@@ -0,0 +1 @@
+name = "c_header_only"
diff --git a/example_packages/c_header_only/include/c_header.h b/example_packages/c_header_only/include/c_header.h
new file mode 100644
index 0000000..ec88a4b
--- /dev/null
+++ b/example_packages/c_header_only/include/c_header.h
@@ -0,0 +1 @@
+int printf ( const char * format, ... );
diff --git a/example_packages/c_includes/.gitignore b/example_packages/c_includes/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/example_packages/c_includes/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/example_packages/c_includes/fpm.toml b/example_packages/c_includes/fpm.toml
new file mode 100644
index 0000000..46918d6
--- /dev/null
+++ b/example_packages/c_includes/fpm.toml
@@ -0,0 +1,4 @@
+name = "c_includes"
+
+[dependencies]
+c_header_only = { path = "../c_header_only"}
diff --git a/example_packages/c_includes/include/lib.h b/example_packages/c_includes/include/lib.h
new file mode 100644
index 0000000..4f29282
--- /dev/null
+++ b/example_packages/c_includes/include/lib.h
@@ -0,0 +1,4 @@
+// Include from "c_header_only" dependency
+#include "c_header.h"
+
+int test(const int a);
diff --git a/example_packages/c_includes/src/lib.c b/example_packages/c_includes/src/lib.c
new file mode 100644
index 0000000..2339822
--- /dev/null
+++ b/example_packages/c_includes/src/lib.c
@@ -0,0 +1,7 @@
+#include "lib.h"
+
+int test(const int a){
+
+ return printf("input: %d\n", a);
+
+} \ No newline at end of file
diff --git a/example_packages/fortran_includes/.gitignore b/example_packages/fortran_includes/.gitignore
new file mode 100644
index 0000000..a007fea
--- /dev/null
+++ b/example_packages/fortran_includes/.gitignore
@@ -0,0 +1 @@
+build/*
diff --git a/example_packages/fortran_includes/fpm.toml b/example_packages/fortran_includes/fpm.toml
new file mode 100644
index 0000000..8557b72
--- /dev/null
+++ b/example_packages/fortran_includes/fpm.toml
@@ -0,0 +1,4 @@
+name = "fortran_includes"
+
+[library]
+include-dir = "inc"
diff --git a/example_packages/fortran_includes/inc/parameters.f90 b/example_packages/fortran_includes/inc/parameters.f90
new file mode 100644
index 0000000..e9e1af5
--- /dev/null
+++ b/example_packages/fortran_includes/inc/parameters.f90
@@ -0,0 +1 @@
+integer, parameter :: dp = kind(0.d0) \ No newline at end of file
diff --git a/example_packages/fortran_includes/src/lib.f90 b/example_packages/fortran_includes/src/lib.f90
new file mode 100644
index 0000000..a27a001
--- /dev/null
+++ b/example_packages/fortran_includes/src/lib.f90
@@ -0,0 +1,14 @@
+module test_mod
+ implicit none
+
+ include "parameters.f90"
+
+ contains
+
+ subroutine test_sub(a)
+ real(dp), intent(in) :: a
+
+ write(*,*) 'a: ', a
+ end subroutine test_sub
+
+end module test_mod \ No newline at end of file
diff --git a/example_packages/link_executable/include/test.f90 b/example_packages/link_executable/include/test.f90
new file mode 100644
index 0000000..5413cbc
--- /dev/null
+++ b/example_packages/link_executable/include/test.f90
@@ -0,0 +1 @@
+real, parameter :: a = 2.0