ip recipe updates (#39997)
This commit is contained in:
		| @@ -13,9 +13,12 @@ class Ip(CMakePackage): | |||||||
| 
 | 
 | ||||||
|     homepage = "https://noaa-emc.github.io/NCEPLIBS-ip" |     homepage = "https://noaa-emc.github.io/NCEPLIBS-ip" | ||||||
|     url = "https://github.com/NOAA-EMC/NCEPLIBS-ip/archive/refs/tags/v3.3.3.tar.gz" |     url = "https://github.com/NOAA-EMC/NCEPLIBS-ip/archive/refs/tags/v3.3.3.tar.gz" | ||||||
|  |     git = "https://github.com/NOAA-EMC/NCEPLIBS-ip" | ||||||
| 
 | 
 | ||||||
|     maintainers("t-brown", "AlexanderRichert-NOAA", "edwardhartnett", "Hang-Lei-NOAA") |     maintainers("AlexanderRichert-NOAA", "edwardhartnett", "Hang-Lei-NOAA") | ||||||
| 
 | 
 | ||||||
|  |     version("develop", branch="develop") | ||||||
|  |     version("4.2.0", sha256="9b9f47106822044ff224c6dfd9f140c146dffc833904f2a0c5db7b5d8932e39e") | ||||||
|     version("4.1.0", sha256="b83ca037d9a5ad3eb0fb1acfe665c38b51e01f6bd73ce9fb8bb2a14f5f63cdbe") |     version("4.1.0", sha256="b83ca037d9a5ad3eb0fb1acfe665c38b51e01f6bd73ce9fb8bb2a14f5f63cdbe") | ||||||
|     version("4.0.0", sha256="a2ef0cc4e4012f9cb0389fab6097407f4c623eb49772d96eb80c44f804aa86b8") |     version("4.0.0", sha256="a2ef0cc4e4012f9cb0389fab6097407f4c623eb49772d96eb80c44f804aa86b8") | ||||||
|     version( |     version( | ||||||
| @@ -29,15 +32,28 @@ class Ip(CMakePackage): | |||||||
|     variant("shared", default=False, description="Build shared library", when="@4.1:") |     variant("shared", default=False, description="Build shared library", when="@4.1:") | ||||||
|     variant( |     variant( | ||||||
|         "precision", |         "precision", | ||||||
|         default=["4", "d"], |         default=("4", "d"), | ||||||
|         values=["4", "d"], |         values=("4", "d"), | ||||||
|         multi=True, |         multi=True, | ||||||
|         description="Set precision (_4/_d library versions)", |         description="Set precision (_4/_d library versions)", | ||||||
|         when="@4.1:", |         when="@4.1", | ||||||
|     ) |     ) | ||||||
|  |     variant( | ||||||
|  |         "precision", | ||||||
|  |         default=("4", "d"), | ||||||
|  |         values=("4", "d", "8"), | ||||||
|  |         multi=True, | ||||||
|  |         description="Set precision (_4/_d/_8 library versions)", | ||||||
|  |         when="@4.2:", | ||||||
|  |     ) | ||||||
|  | 
 | ||||||
|  |     conflicts("+shared ~pic") | ||||||
| 
 | 
 | ||||||
|     depends_on("sp") |     depends_on("sp") | ||||||
|     depends_on("sp@:2.3.3", when="@:4.0") |     depends_on("sp@:2.3.3", when="@:4.0") | ||||||
|  |     depends_on("sp precision=4", when="precision=4") | ||||||
|  |     depends_on("sp precision=d", when="precision=d") | ||||||
|  |     depends_on("sp precision=8", when="precision=8") | ||||||
| 
 | 
 | ||||||
|     def cmake_args(self): |     def cmake_args(self): | ||||||
|         args = [ |         args = [ | ||||||
| @@ -46,15 +62,15 @@ def cmake_args(self): | |||||||
|         ] |         ] | ||||||
| 
 | 
 | ||||||
|         if self.spec.satisfies("@4:"): |         if self.spec.satisfies("@4:"): | ||||||
|             args.append(self.define("BUILD_TESTING", "NO")) |             args.append(self.define("BUILD_TESTING", self.run_tests)) | ||||||
|         else: |         else: | ||||||
|             args.append(self.define("ENABLE_TESTS", "NO")) |             args.append(self.define("ENABLE_TESTS", "NO")) | ||||||
| 
 | 
 | ||||||
|         if self.spec.satisfies("@4.1:"): |         if self.spec.satisfies("@4.1:"): | ||||||
|             args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) |             args.append(self.define_from_variant("BUILD_SHARED_LIBS", "shared")) | ||||||
|             for prec in ["4", "d"]: |             args.append(self.define("BUILD_4", self.spec.satisfies("precision=4"))) | ||||||
|                 if not self.spec.satisfies("precision=" + prec): |             args.append(self.define("BUILD_D", self.spec.satisfies("precision=d"))) | ||||||
|                     args += ["-DBUILD_%s:BOOL=OFF" % prec.upper()] |             args.append(self.define("BUILD_8", self.spec.satisfies("precision=8"))) | ||||||
| 
 | 
 | ||||||
|         return args |         return args | ||||||
| 
 | 
 | ||||||
| @@ -62,7 +78,7 @@ def setup_run_environment(self, env): | |||||||
|         suffixes = ( |         suffixes = ( | ||||||
|             self.spec.variants["precision"].value |             self.spec.variants["precision"].value | ||||||
|             if self.spec.satisfies("@4.1:") |             if self.spec.satisfies("@4.1:") | ||||||
|             else ["4", "8", "d"] |             else ("4", "8", "d") | ||||||
|         ) |         ) | ||||||
|         shared = False if self.spec.satisfies("@:4.0") else self.spec.satisfies("+shared") |         shared = False if self.spec.satisfies("@:4.0") else self.spec.satisfies("+shared") | ||||||
|         for suffix in suffixes: |         for suffix in suffixes: | ||||||
| @@ -71,3 +87,7 @@ def setup_run_environment(self, env): | |||||||
|             ) |             ) | ||||||
|             env.set("IP_LIB" + suffix, lib[0]) |             env.set("IP_LIB" + suffix, lib[0]) | ||||||
|             env.set("IP_INC" + suffix, join_path(self.prefix, "include_" + suffix)) |             env.set("IP_INC" + suffix, join_path(self.prefix, "include_" + suffix)) | ||||||
|  | 
 | ||||||
|  |     def check(self): | ||||||
|  |         with working_dir(self.builder.build_directory): | ||||||
|  |             make("test") | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Alex Richert
					Alex Richert