diff options
-rwxr-xr-x | run_tests.sh | 6 | ||||
-rw-r--r-- | src/main.rs | 17 | ||||
-rw-r--r-- | tests/2/main.f90 | 5 |
3 files changed, 20 insertions, 8 deletions
diff --git a/run_tests.sh b/run_tests.sh index d47133b..8a517cc 100755 --- a/run_tests.sh +++ b/run_tests.sh @@ -7,3 +7,9 @@ fpm=$(pwd)/target/debug/fpm cd tests/1 ${fpm} build ${fpm} run +cd ../.. + +cd tests/2 +${fpm} build +${fpm} run +cd ../.. diff --git a/src/main.rs b/src/main.rs index ddcb335..9252c56 100644 --- a/src/main.rs +++ b/src/main.rs @@ -26,24 +26,25 @@ fn collect_source_files() -> Vec<std::path::PathBuf> { fn build() { let files = collect_source_files(); + let mut files2: String = String::new(); for file in &files { println!("File: {}", file.to_str().unwrap()); + if !file.to_str().unwrap().ends_with("main.f90") { + let s1:String = files2.to_string(); + let s2:String = file.to_str().unwrap().to_string(); + files2 = s1 + " " + &s2; + } } println!("Files: {:?}", files); - let s = "\ + let s = format!("\ cmake_minimum_required(VERSION 3.5.0 FATAL_ERROR) enable_language(Fortran) project(p1) -set(SRC - a.f90 - b.f90 -) - -add_executable(p1 main.f90 ${SRC}) -"; +add_executable(p1 main.f90 {}) +", files2); std::fs::write("CMakeLists.txt", s).unwrap(); let output = std::process::Command::new("cmake") .args(&["-B", "build", "."]) diff --git a/tests/2/main.f90 b/tests/2/main.f90 new file mode 100644 index 0000000..580da98 --- /dev/null +++ b/tests/2/main.f90 @@ -0,0 +1,5 @@ +program test2 +implicit none + +print *, "OK" +end |