Skip to content

Commit e162c51

Browse files
committed
Merge branch 'cmake/pnetcdf-linking-bug-in-findpnetcdf' into develop (PR #1356)
This merge fixes CMake linking for the PnetCDF C library by updating FindPnetCDF.cmake so that PnetCDF::PnetCDF_C also sets INTERFACE_LINK_LIBRARIES to pnetcdf instead of only setting INTERFACE_LINK_DIRECTORIES to the parallel-netcdf library directory. * cmake/pnetcdf-linking-bug-in-findpnetcdf: Fix CMake linking for PnetCDF C library
2 parents 58e2586 + 47aa6d9 commit e162c51

File tree

1 file changed

+6
-4
lines changed

1 file changed

+6
-4
lines changed

cmake/Modules/FindPnetCDF.cmake

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -133,27 +133,29 @@ set(_new_components)
133133
if(PnetCDF_Fortran_FOUND AND NOT TARGET PnetCDF::PnetCDF_Fortran)
134134
add_library(PnetCDF::PnetCDF_Fortran INTERFACE IMPORTED)
135135
set_target_properties(PnetCDF::PnetCDF_Fortran PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${PnetCDF_INCLUDE_DIR}
136-
INTERFACE_LINK_DIRECTORIES ${PnetCDF_LIB_DIR})
136+
INTERFACE_LINK_DIRECTORIES ${PnetCDF_LIB_DIR}
137+
INTERFACE_LINK_LIBRARIES pnetcdf)
137138
if(PnetCDF_MODULE_DIR AND NOT PnetCDF_MODULE_DIR STREQUAL PnetCDF_INCLUDE_DIR )
138139
set_property(TARGET PnetCDF::PnetCDF_Fortran APPEND PROPERTY INTERFACE_INCLUDE_DIRECTORIES ${PnetCDF_MODULE_DIR})
139140
endif()
140141
set(_new_components 1)
141-
target_link_libraries(PnetCDF::PnetCDF_Fortran INTERFACE -lpnetcdf)
142142
endif()
143143

144144
# PnetCDF::PnetCDF_C imported interface target
145145
if(PnetCDF_C_FOUND AND NOT TARGET PnetCDF::PnetCDF_C)
146146
add_library(PnetCDF::PnetCDF_C INTERFACE IMPORTED)
147147
set_target_properties(PnetCDF::PnetCDF_C PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${PnetCDF_INCLUDE_DIR}
148-
INTERFACE_LINK_DIRECTORIES ${PnetCDF_LIB_DIR})
148+
INTERFACE_LINK_DIRECTORIES ${PnetCDF_LIB_DIR}
149+
INTERFACE_LINK_LIBRARIES pnetcdf)
149150
set(_new_components 1)
150151
endif()
151152

152153
# PnetCDF::PnetCDF_CXX imported interface target
153154
if(PnetCDF_CXX_FOUND AND NOT TARGET PnetCDF::PnetCDF_CXX)
154155
add_library(PnetCDF::PnetCDF_CXX INTERFACE IMPORTED)
155156
set_target_properties(PnetCDF::PnetCDF_CXX PROPERTIES INTERFACE_INCLUDE_DIRECTORIES ${PnetCDF_INCLUDE_DIR}
156-
INTERFACE_LINK_DIRECTORIES ${PnetCDF_LIB_DIR})
157+
INTERFACE_LINK_DIRECTORIES ${PnetCDF_LIB_DIR}
158+
INTERFACE_LINK_LIBRARIES pnetcdf)
157159
set(_new_components 1)
158160
endif()
159161

0 commit comments

Comments
 (0)