From a1736a35e260093f84e18036671eb2ae648a3820 Mon Sep 17 00:00:00 2001 From: Jim Edwards Date: Thu, 8 Aug 2024 13:12:51 -0600 Subject: [PATCH] reformat cmake macros --- CIME/BuildTools/configure.py | 8 +++++++- CIME/case/case_setup.py | 8 ++++++-- CIME/tests/test_sys_unittest.py | 6 ++++++ 3 files changed, 19 insertions(+), 3 deletions(-) diff --git a/CIME/BuildTools/configure.py b/CIME/BuildTools/configure.py index 7cb884a625f..534fc57196f 100755 --- a/CIME/BuildTools/configure.py +++ b/CIME/BuildTools/configure.py @@ -28,7 +28,7 @@ from CIME.XML.files import Files from CIME.build import CmakeTmpBuildDir -import shutil +import shutil, glob logger = logging.getLogger(__name__) @@ -72,6 +72,12 @@ def configure( output_cmake_macros_dir = os.path.join(output_dir, "cmake_macros") if not os.path.exists(output_cmake_macros_dir): shutil.copytree(new_cmake_macros_dir, output_cmake_macros_dir) + ccs_mach_dir = os.path.join( + new_cmake_macros_dir, "..", machobj.get_machine_name() + ) + for f in glob.iglob(os.path.join(ccs_mach_dir, "*.cmake")): + print(f"copying {f} to {output_dir}") + safe_copy(f, output_dir) copy_local_macros_to_dir( output_cmake_macros_dir, extra_machdir=extra_machines_dir diff --git a/CIME/case/case_setup.py b/CIME/case/case_setup.py index dfbab723697..31741185cd8 100644 --- a/CIME/case/case_setup.py +++ b/CIME/case/case_setup.py @@ -160,9 +160,13 @@ def _create_macros_cmake( ] for macro in macros: repo_macro = os.path.join(cmake_macros_dir, macro) + mach_repo_macro = os.path.join(cmake_macros_dir, "..", mach, macro) case_macro = os.path.join(case_cmake_path, macro) - if not os.path.exists(case_macro) and os.path.exists(repo_macro): - safe_copy(repo_macro, case_cmake_path) + if not os.path.exists(case_macro): + if os.path.exists(mach_repo_macro): + safe_copy(mach_repo_macro, case_cmake_path) + elif os.path.exists(repo_macro): + safe_copy(repo_macro, case_cmake_path) copy_depends_files(mach, mach_obj.machines_dir, caseroot, compiler) diff --git a/CIME/tests/test_sys_unittest.py b/CIME/tests/test_sys_unittest.py index 238c7355469..78136ad3b32 100755 --- a/CIME/tests/test_sys_unittest.py +++ b/CIME/tests/test_sys_unittest.py @@ -24,6 +24,7 @@ def setUp(self): def _has_unit_test_support(self): cmake_macros_dir = Files().get_value("CMAKE_MACROS_DIR") + cmake_machine_macros_dir = os.path.join(cmake_macros_dir, "..", self._machine) macros_to_check = [ os.path.join( @@ -39,6 +40,11 @@ def _has_unit_test_support(self): os.path.join( os.environ.get("HOME"), ".cime", "{}.cmake".format(self._machine) ), + os.path.join( + cmake_machine_macros_dir, + "{}_{}.cmake".format(self._compiler, self._machine), + ), + os.path.join(cmake_machine_macros_dir, "{}.cmake".format(self._machine)), ] for macro_to_check in macros_to_check: