Reland "Enable Fortran testsuite/language when TEST_SUITE_SUBDIRS=Fortran is passed"

This relands 8c18b14334747be33fb0ff45c7faf9142b15372 with a small fix to
use the IN_LIST operator.

Differential Revision: https://reviews.llvm.org/D139633
diff --git a/CMakeLists.txt b/CMakeLists.txt
index d42f4fc..60daa8b 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -2,10 +2,16 @@
 
 include(CheckSymbolExists)
 
-option(TEST_SUITE_FORTRAN "Enable Fortran test suite" OFF)
 
 project(test-suite C CXX)
 
+if("Fortran" IN_LIST TEST_SUITE_SUBDIRS)
+  set(TEST_SUITE_FORTRAN_default ON)
+else()
+  set(TEST_SUITE_FORTRAN_default OFF)
+endif()
+option(TEST_SUITE_FORTRAN "Enable Fortran test suite" ${TEST_SUITE_FORTRAN_default})
+
 if(TEST_SUITE_FORTRAN)
   enable_language(Fortran)
 endif()
diff --git a/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt b/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt
index 075a4b0..f233b1a 100644
--- a/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt
+++ b/Fortran/UnitTests/fcvs21_f95/CMakeLists.txt
@@ -33,6 +33,8 @@
 # explicit acknowledgement of what has been changed. Please
 # amend README file if you modify the tests.
 
+include(CheckFortranCompilerFlag)
+
 # clean-up fort.* files otherwise one of the tests will fail
 llvm_test_prepare(rm -f %S/fort.*)