Skip to content

Commit 65b70ab

Browse files
committed
some cleanup
1 parent 408652d commit 65b70ab

File tree

1 file changed

+31
-42
lines changed

1 file changed

+31
-42
lines changed

CMakeLists.txt

Lines changed: 31 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -305,55 +305,44 @@ if(PIO_ENABLE_FORTRAN)
305305
set(NetCDF_Fortran_LIBRARIES "${NetCDF_Fortran_LIBRARIES}" CACHE STRING "NetCDF Fortran libraries" FORCE)
306306
endif()
307307
endif()
308+
if(WITH_PNETCDF)
309+
find_program(PNETCDF_CONFIG pnetcdf-config REQUIRED)
308310

309-
# Always detect NetCDF C and PnetCDF for C library
310-
find_package(NetCDF QUIET COMPONENTS C)
311-
if(NOT NetCDF_C_FOUND)
312-
find_package(PkgConfig REQUIRED)
313-
pkg_check_modules(NetCDF_C REQUIRED IMPORTED_TARGET "netcdf")
314-
if(NetCDF_C_FOUND OR NetCDF_C_INCLUDE_DIRS)
315-
set(NetCDF_C_FOUND TRUE CACHE BOOL "NetCDF C found via pkg-config" FORCE)
316-
endif()
317-
endif()
311+
execute_process(
312+
COMMAND "${PNETCDF_CONFIG}" --includedir
313+
OUTPUT_VARIABLE PNETCDF_INCLUDEDIR
314+
OUTPUT_STRIP_TRAILING_WHITESPACE
315+
)
318316

319-
find_program(PNETCDF_CONFIG pnetcdf-config REQUIRED)
317+
execute_process(
318+
COMMAND "${PNETCDF_CONFIG}" --libdir
319+
OUTPUT_VARIABLE PNETCDF_LIBDIR
320+
OUTPUT_STRIP_TRAILING_WHITESPACE
321+
)
320322

321-
execute_process(
322-
COMMAND "${PNETCDF_CONFIG}" --includedir
323-
OUTPUT_VARIABLE PNETCDF_INCLUDEDIR
324-
OUTPUT_STRIP_TRAILING_WHITESPACE
325-
)
326323

327-
execute_process(
328-
COMMAND "${PNETCDF_CONFIG}" --libdir
329-
OUTPUT_VARIABLE PNETCDF_LIBDIR
330-
OUTPUT_STRIP_TRAILING_WHITESPACE
331-
)
324+
execute_process(
325+
COMMAND "${PNETCDF_CONFIG}" --libs
326+
OUTPUT_VARIABLE PNETCDF_LIBS
327+
OUTPUT_STRIP_TRAILING_WHITESPACE
328+
)
329+
# If PNETCDF_LIBS is empty but PNETCDF_LIBDIR is set, set a default
330+
if(NOT PNETCDF_LIBS AND PNETCDF_LIBDIR)
331+
set(PNETCDF_LIBS "-L${PNETCDF_LIBDIR} -lpnetcdf")
332+
endif()
332333

334+
# Propagate PnetCDF variables to subdirectories
335+
set(PNETCDF_INCLUDEDIR "${PNETCDF_INCLUDEDIR}" CACHE PATH "PnetCDF include directory" FORCE)
336+
set(PNETCDF_LIBDIR "${PNETCDF_LIBDIR}" CACHE PATH "PnetCDF library directory" FORCE)
337+
set(PNETCDF_LIBS "${PNETCDF_LIBS}" CACHE STRING "PnetCDF libraries" FORCE)
333338

334-
execute_process(
335-
COMMAND "${PNETCDF_CONFIG}" --libs
336-
OUTPUT_VARIABLE PNETCDF_LIBS
337-
OUTPUT_STRIP_TRAILING_WHITESPACE
338-
)
339-
# If PNETCDF_LIBS is empty but PNETCDF_LIBDIR is set, set a default
340-
if(NOT PNETCDF_LIBS AND PNETCDF_LIBDIR)
341-
set(PNETCDF_LIBS "-L${PNETCDF_LIBDIR} -lpnetcdf")
339+
# Modern CMake: create imported interface target for PnetCDF
340+
add_library(PnetCDF::PnetCDF INTERFACE IMPORTED)
341+
target_include_directories(PnetCDF::PnetCDF INTERFACE "${PNETCDF_INCLUDEDIR}")
342+
target_link_directories(PnetCDF::PnetCDF INTERFACE "${PNETCDF_LIBDIR}")
343+
target_link_libraries(PnetCDF::PnetCDF INTERFACE ${PNETCDF_LIBS})
342344
endif()
343345

344-
345-
# Propagate PnetCDF variables to subdirectories
346-
set(PNETCDF_INCLUDEDIR "${PNETCDF_INCLUDEDIR}" CACHE PATH "PnetCDF include directory" FORCE)
347-
set(PNETCDF_LIBDIR "${PNETCDF_LIBDIR}" CACHE PATH "PnetCDF library directory" FORCE)
348-
set(PNETCDF_LIBS "${PNETCDF_LIBS}" CACHE STRING "PnetCDF libraries" FORCE)
349-
350-
# Modern CMake: create imported interface target for PnetCDF
351-
add_library(PnetCDF::PnetCDF INTERFACE IMPORTED)
352-
target_include_directories(PnetCDF::PnetCDF INTERFACE "${PNETCDF_INCLUDEDIR}")
353-
target_link_directories(PnetCDF::PnetCDF INTERFACE "${PNETCDF_LIBDIR}")
354-
target_link_libraries(PnetCDF::PnetCDF INTERFACE ${PNETCDF_LIBS})
355-
356-
357346
# Set PnetCDF_C_FOUND to TRUE if we have the include dir and libs, and propagate to subdirectories
358347
if(PNETCDF_INCLUDEDIR AND PNETCDF_LIBDIR AND PNETCDF_LIBS)
359348
set(PnetCDF_C_FOUND TRUE CACHE BOOL "PnetCDF C found via pnetcdf-config" FORCE)
@@ -619,4 +608,4 @@ configure_file(
619608
"${PROJECT_SOURCE_DIR}/cmake_config.h.in"
620609
"${PROJECT_BINARY_DIR}/config.h"
621610
@ONLY
622-
)
611+
)

0 commit comments

Comments
 (0)