@@ -10,6 +10,7 @@ option(LPAC_WITH_HTTP_CURL "Build HTTP Curl interface" ON)
1010aux_source_directory (${CMAKE_CURRENT_SOURCE_DIR} DIR_INTERFACE_SRCS)
1111if (LPAC_DYNAMIC_DRIVERS)
1212 add_library (euicc-drivers SHARED ${DIR_INTERFACE_SRCS} )
13+ list (APPEND LIBEUICC_DRIVERS_REQUIRES "libeuicc = ${PROJECT_VERSION} " )
1314else ()
1415 add_library (euicc-drivers STATIC ${DIR_INTERFACE_SRCS} )
1516endif ()
@@ -26,9 +27,16 @@ if(LPAC_WITH_APDU_PCSC)
2627 target_link_libraries (euicc-drivers winscard)
2728 elseif (APPLE )
2829 target_link_libraries (euicc-drivers "-framework PCSC" )
30+ if (LPAC_DYNAMIC_DRIVERS)
31+ # for pkg-config
32+ set (LIBEUICC_DRIVERS_EXTRA_CFLAGS "-framework PCSC" )
33+ endif ()
2934 else ()
3035 find_package (PCSCLite)
3136 target_link_libraries (euicc-drivers PCSCLite::PCSCLite)
37+ if (LPAC_DYNAMIC_DRIVERS)
38+ list (APPEND LIBEUICC_DRIVERS_REQUIRES "libpcsclite" )
39+ endif ()
3240 endif ()
3341endif ()
3442
@@ -44,6 +52,10 @@ if(LPAC_WITH_APDU_GBINDER)
4452 pkg_check_modules(GBINDER REQUIRED IMPORTED_TARGET libgbinder)
4553 pkg_check_modules(GLIB REQUIRED IMPORTED_TARGET glib-2.0)
4654 target_link_libraries (euicc-drivers PkgConfig::GBINDER PkgConfig::GLIB)
55+ if (LPAC_DYNAMIC_DRIVERS)
56+ list (APPEND LIBEUICC_DRIVERS_REQUIRES "libgbinder" )
57+ list (APPEND LIBEUICC_DRIVERS_REQUIRES "glib-2.0" )
58+ endif ()
4759endif ()
4860
4961if (LPAC_WITH_HTTP_CURL)
@@ -54,6 +66,9 @@ if(LPAC_WITH_HTTP_CURL)
5466 else ()
5567 find_package (curl)
5668 target_link_libraries (euicc-drivers curl)
69+ if (LPAC_DYNAMIC_DRIVERS)
70+ list (APPEND LIBEUICC_DRIVERS_REQUIRES "libcurl" )
71+ endif ()
5772 endif ()
5873endif ()
5974
@@ -66,9 +81,12 @@ if(LPAC_DYNAMIC_DRIVERS)
6681 endif ()
6782 endforeach ()
6883 set_target_properties (euicc-drivers PROPERTIES PUBLIC_HEADER "${ALL_HEADERS} " )
69- # Install a pkg-config file
70- configure_file (libeuicc-drivers.pc.in libeuicc-drivers.pc @ONLY)
71- install (FILES ${CMAKE_CURRENT_BINARY_DIR} /libeuicc-drivers.pc DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig)
84+ # Install a pkg-config file (mainly for Linux; macOS is untested; Win32 is not supported)
85+ if (UNIX )
86+ list (JOIN LIBEUICC_DRIVERS_REQUIRES ", " LIBEUICC_DRIVERS_REQUIRES)
87+ configure_file (libeuicc-drivers.pc.in libeuicc-drivers.pc @ONLY)
88+ install (FILES ${CMAKE_CURRENT_BINARY_DIR} /libeuicc-drivers.pc DESTINATION ${CMAKE_INSTALL_LIBDIR} /pkgconfig)
89+ endif ()
7290 set_target_properties (euicc-drivers PROPERTIES SOVERSION ${PROJECT_VERSION_MAJOR} )
7391 install (TARGETS euicc-drivers LIBRARY DESTINATION ${CMAKE_INSTALL_LIBDIR}
7492 PUBLIC_HEADER DESTINATION ${CMAKE_INSTALL_INCLUDEDIR} /euicc)
0 commit comments