diff options
author | Brad Richardson <everythingfunctional@protonmail.com> | 2020-10-26 17:16:44 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2020-10-26 17:16:44 -0500 |
commit | 4443986b3d5690ce4ee8bbc348834caa2040be23 (patch) | |
tree | 0553b054c43c89edab17a3d6959f7adb84648a61 /example_packages/hello_complex_2 | |
parent | e92d9c9c406aff61d404d2afe71c416ed019beb0 (diff) | |
parent | 488bdd06ab78cec3085aa86b6dbe36a98f58eb86 (diff) | |
download | fpm-4443986b3d5690ce4ee8bbc348834caa2040be23.tar.gz fpm-4443986b3d5690ce4ee8bbc348834caa2040be23.zip |
Merge pull request #213 from everythingfunctional/bootstrap_submodule_support
Bootstrap submodule support
Diffstat (limited to 'example_packages/hello_complex_2')
11 files changed, 103 insertions, 0 deletions
diff --git a/example_packages/hello_complex_2/.gitignore b/example_packages/hello_complex_2/.gitignore new file mode 100644 index 0000000..a007fea --- /dev/null +++ b/example_packages/hello_complex_2/.gitignore @@ -0,0 +1 @@ +build/* diff --git a/example_packages/hello_complex_2/app/app_mod.f90 b/example_packages/hello_complex_2/app/app_mod.f90 new file mode 100644 index 0000000..d69a228 --- /dev/null +++ b/example_packages/hello_complex_2/app/app_mod.f90 @@ -0,0 +1,5 @@ +module app_mod +implicit none + + +end module app_mod diff --git a/example_packages/hello_complex_2/app/say_goodbye.f90 b/example_packages/hello_complex_2/app/say_goodbye.f90 new file mode 100644 index 0000000..db12cbf --- /dev/null +++ b/example_packages/hello_complex_2/app/say_goodbye.f90 @@ -0,0 +1,8 @@ +program say_goodbye + use farewell_m, only: make_farewell + use app_mod + + implicit none + + print *, make_farewell("World") +end program say_goodbye diff --git a/example_packages/hello_complex_2/app/say_hello/app_hello_mod.f90 b/example_packages/hello_complex_2/app/say_hello/app_hello_mod.f90 new file mode 100644 index 0000000..c5795cb --- /dev/null +++ b/example_packages/hello_complex_2/app/say_hello/app_hello_mod.f90 @@ -0,0 +1,6 @@ +module app_hello_mod +implicit none + +integer :: hello_int = 42 + +end module app_hello_mod diff --git a/example_packages/hello_complex_2/app/say_hello/say_Hello.f90 b/example_packages/hello_complex_2/app/say_hello/say_Hello.f90 new file mode 100644 index 0000000..3b69ba7 --- /dev/null +++ b/example_packages/hello_complex_2/app/say_hello/say_Hello.f90 @@ -0,0 +1,8 @@ +program say_Hello + use greet_m, only: make_greeting + use app_hello_mod + + implicit none + + print *, make_greeting("World") +end program say_Hello diff --git a/example_packages/hello_complex_2/fpm.toml b/example_packages/hello_complex_2/fpm.toml new file mode 100644 index 0000000..28c91d8 --- /dev/null +++ b/example_packages/hello_complex_2/fpm.toml @@ -0,0 +1,6 @@ +name = "hello_complex" + +[[executable]] +name="say_hello_world" +source-dir="app/say_hello" +main="say_Hello.f90" diff --git a/example_packages/hello_complex_2/src/farewell_m.f90 b/example_packages/hello_complex_2/src/farewell_m.f90 new file mode 100644 index 0000000..9fc75b9 --- /dev/null +++ b/example_packages/hello_complex_2/src/farewell_m.f90 @@ -0,0 +1,13 @@ +module farewell_m + implicit none + private + + public :: make_farewell +contains + function make_farewell(name) result(greeting) + character(len=*), intent(in) :: name + character(len=:), allocatable :: greeting + + greeting = "Goodbye, " // name // "!" + end function make_farewell +end module farewell_m diff --git a/example_packages/hello_complex_2/src/greet_m.f90 b/example_packages/hello_complex_2/src/greet_m.f90 new file mode 100644 index 0000000..2372f9a --- /dev/null +++ b/example_packages/hello_complex_2/src/greet_m.f90 @@ -0,0 +1,13 @@ +module greet_m + implicit none + private + + public :: make_greeting +contains + function make_greeting(name) result(greeting) + character(len=*), intent(in) :: name + character(len=:), allocatable :: greeting + + greeting = "Hello, " // name // "!" + end function make_greeting +end module greet_m diff --git a/example_packages/hello_complex_2/test/farewell_test.f90 b/example_packages/hello_complex_2/test/farewell_test.f90 new file mode 100644 index 0000000..dbe98d6 --- /dev/null +++ b/example_packages/hello_complex_2/test/farewell_test.f90 @@ -0,0 +1,19 @@ +program farewell_test + use farewell_m, only: make_farewell + use test_mod + use iso_fortran_env, only: error_unit, output_unit + + implicit none + + character(len=:), allocatable :: farewell + + allocate(character(len=0) :: farewell) + farewell = make_farewell("World") + + if (farewell == "Goodbye, World!") then + write(output_unit, *) "Passed" + else + write(error_unit, *) "Failed" + call exit(1) + end if +end program farewell_test diff --git a/example_packages/hello_complex_2/test/greet_test.f90 b/example_packages/hello_complex_2/test/greet_test.f90 new file mode 100644 index 0000000..38e9be0 --- /dev/null +++ b/example_packages/hello_complex_2/test/greet_test.f90 @@ -0,0 +1,19 @@ +program greet_test + use greet_m, only: make_greeting + use test_mod + use iso_fortran_env, only: error_unit, output_unit + + implicit none + + character(len=:), allocatable :: greeting + + allocate(character(len=0) :: greeting) + greeting = make_greeting("World") + + if (greeting == "Hello, World!") then + write(output_unit, *) "Passed" + else + write(error_unit, *) "Failed" + call exit(1) + end if +end program greet_test diff --git a/example_packages/hello_complex_2/test/test_mod.f90 b/example_packages/hello_complex_2/test/test_mod.f90 new file mode 100644 index 0000000..edb2626 --- /dev/null +++ b/example_packages/hello_complex_2/test/test_mod.f90 @@ -0,0 +1,5 @@ +module test_mod +implicit none + + +end module test_mod |