Skip to content

Commit df09291

Browse files
committed
ENH: Finer control over Zoltan configure; mark UDUNITS as optional
1 parent 8fd2950 commit df09291

File tree

2 files changed

+19
-9
lines changed

2 files changed

+19
-9
lines changed

CMakeLists.txt

Lines changed: 15 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -100,8 +100,10 @@ if(TCMALLOC_FOUND)
100100
endif()
101101

102102
# Check for UDUNITS
103-
pkg_search_module(UDUNITS REQUIRED udunits)
104-
message(STATUS "Found UDUNITS ${UDUNITS_VERSION}")
103+
pkg_search_module(UDUNITS QUIET udunits)
104+
if(UDUNITS_FOUND)
105+
message(STATUS "Found UDUNITS ${UDUNITS_VERSION}")
106+
endif()
105107

106108
# Check for libsupermesh
107109
pkg_search_module(LIBSUPERMESH QUIET libsupermesh)
@@ -156,11 +158,16 @@ set_target_properties(Judy
156158
)
157159

158160
# Add Zoltan
161+
set(ZOLTAN_CONFIGURE "../libzoltan/configure --enable-f90interface --with-gnumake --with-scotch --with-parmetis")
159162
if(${CMAKE_C_COMPILER_VERSION} GREATER_EQUAL 10)
160-
set(ZOLTAN_CONFIGURE ../libzoltan/configure FCFLAGS=-fallow-argument-mismatch --enable-f90interface --with-gnumake --with-scotch --with-scotch-incdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include --with-scotch-libdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib --with-parmetis --with-parmetis-incdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include --with-parmetis-libdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
161-
else()
162-
set(ZOLTAN_CONFIGURE ../libzoltan/configure --enable-f90interface --with-gnumake --with-scotch --with-scotch-incdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include --with-scotch-libdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib --with-parmetis --with-parmetis-incdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include --with-parmetis-libdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib)
163+
string(APPEND ZOLTAN_CONFIGURE " FCFLAGS=-fallow-argument-mismatch")
164+
endif()
165+
if(DEFINED ENV{PETSC_ARCH})
166+
string(APPEND ZOLTAN_CONFIGURE " --with-scotch-incdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include --with-scotch-libdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib --with-parmetis-incdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/include --with-parmetis-libdir=$ENV{PETSC_DIR}/$ENV{PETSC_ARCH}/lib")
167+
else()
168+
string(APPEND ZOLTAN_CONFIGURE " --with-scotch-incdir=$ENV{PETSC_DIR}/include --with-scotch-libdir=$ENV{PETSC_DIR}/lib --with-parmetis-incdir=$ENV{PETSC_DIR}/include --with-parmetis-libdir=$ENV{PETSC_DIR}/lib")
163169
endif()
170+
separate_arguments(ZOLTAN_CONFIGURE UNIX_COMMAND ${ZOLTAN_CONFIGURE})
164171
ExternalProject_Add(libzoltan
165172
PREFIX Zoltan
166173
GIT_REPOSITORY https://github.com/sandialabs/Zoltan
@@ -329,8 +336,8 @@ target_compile_definitions(fluidity PUBLIC
329336
$<$<BOOL:${EXODUSII_LIBRARY}>:HAVE_LIBEXOIIV2C>
330337
HAVE_LIBNETCDF
331338
$<$<BOOL:${LIBSUPERMESH_FOUND}>:HAVE_LIBSUPERMESH>
332-
$<$<BOOL:${LIBTCMALLOC_FOUND}>:HAVE_LIBTCMALLOC>
333-
HAVE_LIBUDUNITS
339+
$<$<BOOL:${TCMALLOC_FOUND}>:HAVE_LIBTCMALLOC>
340+
$<$<BOOL:${UDUNITS_FOUND}>:HAVE_LIBUDUNITS>
334341
HAVE_MEMORY_STATS
335342
HAVE_MBA_2D
336343
# HAVE_MBA_3D
@@ -385,7 +392,7 @@ target_link_libraries(fluidity
385392
# ${ARPACK_STATIC_LDFLAGS}
386393
${NETCDF_STATIC_LDFLAGS}
387394
$<$<BOOL:${TCMALLOC_STATIC_LDFLAGS}>:${TCMALLOC_STATIC_LDFLAGS}>
388-
${UDUNITS_STATIC_LDFLAGS}
395+
$<$<BOOL:${UDUNITS_STATIC_LDFLAGS}>:${UDUNITS_STATIC_LDFLAGS}>
389396
$<$<BOOL:${LIBSUPERMESH_STATIC_LDFLAGS}>:${LIBSUPERMESH_STATIC_LDFLAGS}>
390397

391398
$<$<BOOL:${EXODUSII_LIBRARY}>:${EXODUSII_LIBRARY}>

ocean_forcing/tests/CMakeLists.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,12 @@
11
set(unittest_sources
22
test_coare_ocean_fluxes.cpp
33
test_FluxesReader.cpp
4-
test_fluxes_reader_wrapper.F90
54
test_kara_ocean_fluxes.cpp
65
test_ncar_ocean_fluxes.cpp
76
)
87

98
cmake_language(CALL build_unittest_executable "${unittest_sources}")
9+
10+
if(UDUNITS_FOUND)
11+
cmake_language(CALL build_unittest_executable "test_fluxes_reader_wrapper.F90")
12+
endif()

0 commit comments

Comments
 (0)