@@ -124,6 +124,9 @@ SET(LIBGIT2_PC_REQUIRES "")
124
124
# pc file.
125
125
SET (LIBGIT2_PC_LIBS "" )
126
126
127
+ SET (LIBGIT2_LIBS "" )
128
+ SET (LIBGIT2_LIBDIRS "" )
129
+
127
130
# Installation paths
128
131
#
129
132
SET (BIN_INSTALL_DIR bin CACHE PATH "Where to install binaries to." )
@@ -191,18 +194,18 @@ IF (SECURITY_FOUND)
191
194
IF (HAVE_NEWER_SECURITY)
192
195
MESSAGE ("-- Found Security ${SECURITY_DIRS} " )
193
196
LIST (APPEND LIBGIT2_PC_LIBS "-framework Security" )
197
+ LIST (APPEND LIBGIT2_LIBS ${SECURITY_DIRS} )
194
198
ELSE ()
195
199
MESSAGE ("-- Security framework is too old, falling back to OpenSSL" )
196
200
SET (SECURITY_FOUND "NO" )
197
- SET (SECURITY_DIRS "" )
198
- SET (SECURITY_DIR "" )
199
201
SET (USE_OPENSSL "ON" )
200
202
ENDIF ()
201
203
ENDIF ()
202
204
203
205
IF (COREFOUNDATION_FOUND)
204
206
MESSAGE ("-- Found CoreFoundation ${COREFOUNDATION_DIRS} " )
205
207
LIST (APPEND LIBGIT2_PC_LIBS "-framework CoreFoundation" )
208
+ LIST (APPEND LIBGIT2_LIBS ${COREFOUNDATION_DIRS} )
206
209
ENDIF ()
207
210
208
211
@@ -247,10 +250,10 @@ IF (WIN32 AND WINHTTP)
247
250
)
248
251
249
252
INCLUDE_DIRECTORIES ("${CMAKE_SOURCE_DIR} /deps/winhttp" )
250
- LINK_DIRECTORIES ( ${LIBWINHTTP_PATH} )
253
+ LIST ( APPEND LIBGIT2_LIBDIRS ${LIBWINHTTP_PATH} )
251
254
ENDIF ()
252
255
253
- LINK_LIBRARIES ( winhttp rpcrt4 crypt32 ole32)
256
+ LIST ( APPEND LIBGIT2_LIBS " winhttp" " rpcrt4" " crypt32" " ole32" )
254
257
LIST (APPEND LIBGIT2_PC_LIBS "-lwinhttp" "-lrpcrt4" "-lcrypt32" "-lole32" )
255
258
ELSE ()
256
259
IF (CURL)
@@ -264,8 +267,8 @@ ELSE ()
264
267
IF (CURL_FOUND)
265
268
SET (GIT_CURL 1)
266
269
INCLUDE_DIRECTORIES (${CURL_INCLUDE_DIRS} )
267
- LINK_DIRECTORIES ( ${CURL_LIBRARY_DIRS} )
268
- LINK_LIBRARIES ( ${CURL_LIBRARIES} )
270
+ LIST ( APPEND LIBGIT2_LIBDIRS ${CURL_LIBRARY_DIRS} )
271
+ LIST ( APPEND LIBGIT2_LIBS ${CURL_LIBRARIES} )
269
272
LIST (APPEND LIBGIT2_PC_LIBS ${CURL_LDFLAGS} )
270
273
ENDIF ()
271
274
ENDIF ()
@@ -308,7 +311,7 @@ ENDIF()
308
311
FIND_PACKAGE (HTTP_Parser)
309
312
IF (USE_EXT_HTTP_PARSER AND HTTP_PARSER_FOUND AND HTTP_PARSER_VERSION_MAJOR EQUAL 2)
310
313
INCLUDE_DIRECTORIES (${HTTP_PARSER_INCLUDE_DIRS} )
311
- LINK_LIBRARIES ( ${HTTP_PARSER_LIBRARIES} )
314
+ LIST ( APPEND LIBGIT2_LIBS ${HTTP_PARSER_LIBRARIES} )
312
315
LIST (APPEND LIBGIT2_PC_LIBS "-lhttp_parser" )
313
316
ELSE ()
314
317
MESSAGE (STATUS "http-parser version 2 was not found or disabled; using bundled 3rd-party sources." )
@@ -320,8 +323,9 @@ ENDIF()
320
323
FIND_PACKAGE (ZLIB)
321
324
IF (ZLIB_FOUND)
322
325
INCLUDE_DIRECTORIES (${ZLIB_INCLUDE_DIRS} )
323
- LINK_LIBRARIES ( ${ZLIB_LIBRARIES} )
326
+ LIST ( APPEND LIBGIT2_LIBS ${ZLIB_LIBRARIES} )
324
327
IF (APPLE OR CMAKE_SYSTEM_NAME MATCHES "FreeBSD" )
328
+ LIST (APPEND LIBGIT2_LIBS "z" )
325
329
LIST (APPEND LIBGIT2_PC_LIBS "-lz" )
326
330
ELSE ()
327
331
SET (LIBGIT2_PC_REQUIRES "${LIBGIT2_PC_REQUIRES} zlib" )
@@ -340,10 +344,10 @@ ENDIF()
340
344
IF (LIBSSH2_FOUND)
341
345
SET (GIT_SSH 1)
342
346
INCLUDE_DIRECTORIES (${LIBSSH2_INCLUDE_DIRS} )
343
- LINK_DIRECTORIES (${LIBSSH2_LIBRARY_DIRS} )
347
+ LIST (APPEND LIBGIT2_LIBS ${LIBSSH2_LIBRARIES} )
348
+ LIST (APPEND LIBGIT2_LIBDIRS ${LIBSSH2_LIBRARY_DIRS} )
344
349
LIST (APPEND LIBGIT2_PC_LIBS ${LIBSSH2_LDFLAGS} )
345
350
#SET(LIBGIT2_PC_LIBS "${LIBGIT2_PC_LIBS} ${LIBSSH2_LDFLAGS}")
346
- SET (SSH_LIBRARIES ${LIBSSH2_LIBRARIES} )
347
351
348
352
CHECK_LIBRARY_EXISTS("${LIBSSH2_LIBRARIES} " libssh2_userauth_publickey_frommemory "${LIBSSH2_LIBRARY_DIRS} " HAVE_LIBSSH2_MEMORY_CREDENTIALS)
349
353
IF (HAVE_LIBSSH2_MEMORY_CREDENTIALS)
@@ -359,6 +363,7 @@ IF (USE_GSSAPI)
359
363
ENDIF ()
360
364
IF (GSSAPI_FOUND)
361
365
SET (GIT_GSSAPI 1)
366
+ LIST (APPEND LIBGIT2_LIBS ${GSSAPI_LIBRARIES} )
362
367
ENDIF ()
363
368
364
369
# Optional external dependency: iconv
@@ -368,6 +373,7 @@ ENDIF()
368
373
IF (ICONV_FOUND)
369
374
SET (GIT_USE_ICONV 1)
370
375
INCLUDE_DIRECTORIES (${ICONV_INCLUDE_DIR} )
376
+ LIST (APPEND LIBGIT2_LIBS ${ICONV_LIBRARIES} )
371
377
LIST (APPEND LIBGIT2_PC_LIBS ${ICONV_LIBRARIES} )
372
378
ENDIF ()
373
379
@@ -530,7 +536,7 @@ IF (OPENSSL_FOUND)
530
536
SET (GIT_OPENSSL 1)
531
537
SET (GIT_HTTPS 1)
532
538
INCLUDE_DIRECTORIES (${OPENSSL_INCLUDE_DIR} )
533
- SET (SSL_LIBRARIES ${OPENSSL_LIBRARIES} )
539
+ LIST ( APPEND LIBGIT2_LIBS ${OPENSSL_LIBRARIES} )
534
540
ENDIF ()
535
541
536
542
@@ -605,12 +611,8 @@ INCLUDE_DIRECTORIES(${CMAKE_CURRENT_BINARY_DIR})
605
611
606
612
# Compile and link libgit2
607
613
ADD_LIBRARY (git2 ${WIN_RC} ${GIT2INTERNAL_OBJECTS} )
608
- TARGET_LINK_LIBRARIES (git2 ${SECURITY_DIRS} )
609
- TARGET_LINK_LIBRARIES (git2 ${COREFOUNDATION_DIRS} )
610
- TARGET_LINK_LIBRARIES (git2 ${SSL_LIBRARIES} )
611
- TARGET_LINK_LIBRARIES (git2 ${SSH_LIBRARIES} )
612
- TARGET_LINK_LIBRARIES (git2 ${GSSAPI_LIBRARIES} )
613
- TARGET_LINK_LIBRARIES (git2 ${ICONV_LIBRARIES} )
614
+ LINK_DIRECTORIES (${LIBGIT2_LIBDIRS} )
615
+ TARGET_LINK_LIBRARIES (git2 ${LIBGIT2_LIBS} )
614
616
TARGET_OS_LIBRARIES(git2)
615
617
616
618
# Workaround for Cmake bug #0011240 (see http://public.kitware.com/Bug/view.php?id=11240)
0 commit comments