46
46
# MYSQL_LIB_DIR
47
47
# MYSQL_PLUGIN_DIR
48
48
# MYSQL_EXTERNAL_DEPENDENCIES
49
+ # MYSQL_EXTERNAL_SEARCHPATH
49
50
#
50
51
##########################################################################
51
52
@@ -344,15 +345,30 @@ function(main)
344
345
# the dependencies themselves.
345
346
346
347
if (NOT MSVC )
348
+
349
+ set (searchpath "" )
350
+ list (APPEND searchpath "-L${MYSQL_LIB_DIR} "
351
+ "-L${MYSQL_LIB_DIR} /private" )
352
+
353
+ if (MYSQL_EXTERNAL_SEARCHPATH )
354
+
355
+ foreach (search ${MYSQL_EXTERNAL_SEARCHPATH} )
356
+ list (APPEND searchpath "-L${search} " )
357
+ endforeach ()
358
+
359
+ endif ()
360
+
361
+ string (REPLACE ";" " " searchpath "${searchpath} " )
362
+ message (" dependencies search path: ${searchpath} " )
363
+
364
+
347
365
set_property (TARGET MySQL::client-static
348
366
PROPERTY INTERFACE_LINK_LIBRARIES
349
- "-L${MYSQL_LIB_DIR} "
350
- "-L${MYSQL_LIB_DIR} /private"
367
+ "${searchpath} "
351
368
)
352
369
set_property (TARGET MySQL::client-shared
353
370
PROPERTY INTERFACE_LINK_LIBRARIES
354
- "-L${MYSQL_LIB_DIR} "
355
- "-L${MYSQL_LIB_DIR} /private"
371
+ "${searchpath} "
356
372
)
357
373
endif ()
358
374
@@ -453,6 +469,11 @@ function(get_dependencies)
453
469
"List of external libraries on which MySQL client library depends."
454
470
)
455
471
472
+ set (MYSQL_EXTERNAL_SEARCHPATH "${MYSQL_EXTERNAL_SEARCHPATH} "
473
+ CACHE INTERNAL
474
+ "List of locations of external libraries on which MySQL client library depends as reported by mysql_config."
475
+ )
476
+
456
477
endfunction (get_dependencies )
457
478
458
479
@@ -490,10 +511,11 @@ function(use_mysql_config)
490
511
491
512
set (MYSQL_EXTERNAL_DEPENDENCIES "" )
492
513
493
- _mysql_conf (config_libs --libs )
494
- string (REGEX MATCHALL " -l[^ ]+" config_libs ${config_libs } )
514
+ _mysql_conf (config_libs_paths --libs )
515
+ string (REGEX MATCHALL " -l[^ ]+" config_libs ${config_libs_paths } )
495
516
message ("-- libs: ${config_libs} " )
496
517
518
+
497
519
foreach (lib ${config_libs} )
498
520
499
521
string (REGEX REPLACE " -l([^ ]+)" "\\ 1" lib ${lib} )
@@ -503,7 +525,7 @@ function(use_mysql_config)
503
525
# explicit dependencies.
504
526
505
527
if (NOT lib MATCHES
506
- "(mysqlclient|libmysql|^stdc|^gcc|^CrunG3|^c$|^statomic|^unwind|^execinfo )"
528
+ "(mysqlclient|libmysql|^stdc|^gcc|^CrunG3|^c$|^statomic)"
507
529
)
508
530
509
531
list (APPEND MYSQL_EXTERNAL_DEPENDENCIES ${lib} )
@@ -516,6 +538,23 @@ function(use_mysql_config)
516
538
517
539
set (MYSQL_EXTERNAL_DEPENDENCIES "${MYSQL_EXTERNAL_DEPENDENCIES} " PARENT_SCOPE )
518
540
541
+ # check if --libs have libs search path
542
+ set (MYSQL_EXTERNAL_SEARCHPATH "" )
543
+
544
+ string (REGEX MATCHALL " -L[^ ]+" config_lib_search_path ${config_libs_paths} )
545
+ message ("-- libs search path: ${config_lib_search_path} " )
546
+
547
+ foreach (search ${config_lib_search_path} )
548
+
549
+ string (REGEX REPLACE " -L([^ ]+)" "\\ 1" search ${search} )
550
+ message ("-- checking search path: ${search} " )
551
+
552
+
553
+ list (APPEND MYSQL_EXTERNAL_SEARCHPATH ${search} )
554
+ endforeach ()
555
+
556
+ set (MYSQL_EXTERNAL_SEARCHPATH "${MYSQL_EXTERNAL_SEARCHPATH} " PARENT_SCOPE )
557
+
519
558
endfunction (use_mysql_config )
520
559
521
560
0 commit comments