diff --git a/CMakeLists.txt b/CMakeLists.txt index 77c2614fef82392b0493fb8af357161eb79d30aa..6b3384cb60271c8a75e1867899655df0707d7f2e 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -655,17 +655,21 @@ else() foreach(LIB IN LISTS _linked_libs) if ("${LIB}" MATCHES "^PkgConfig::") string(REPLACE "PkgConfig::" "" PKG_NAME ${LIB}) - string(APPEND _gyp_flags " ${${PKG_NAME}_LDFLAGS}") + set (PKG_FLAGS ${${PKG_NAME}_LDFLAGS}) + string(REPLACE "-framework;" "-framework " PKG_FLAGS "${PKG_FLAGS}") + list(APPEND _gyp_flags " ${PKG_FLAGS}") elseif ("${LIB}" MATCHES ".so$") get_filename_component(LIB_DIRECTORY ${LIB} DIRECTORY) get_filename_component(LIB_NAME_WE ${LIB} NAME_WE) string(REPLACE "lib" "" LIB_NAME_WE ${LIB_NAME_WE}) - string(APPEND _gyp_flags " -L${LIB_DIRECTORY} -l${LIB_NAME_WE}") + list(APPEND _gyp_flags " -L${LIB_DIRECTORY} -l${LIB_NAME_WE}") elseif (TARGET ${LIB}) - # TODO generate cmake targets automatically - #string(APPEND _gyp_flags " $<TARGET_FILE:${LIB}>") + get_target_property(LIB_PATH ${LIB} LOCATION) + list(APPEND _gyp_flags " ${LIB_PATH}") + elseif ("${LIB}" MATCHES "^-") + list(APPEND _gyp_flags " ${LIB}") else() - string(APPEND _gyp_flags " -l${LIB}") + list(APPEND _gyp_flags " -l${LIB}") endif() endforeach() diff --git a/bin/nodejs/binding.gyp.in b/bin/nodejs/binding.gyp.in index a32994fbabe3d926f9a8b35a9b68db00be9faacb..01cf8dccf746a42f923b406772ee93a2394e1403 100644 --- a/bin/nodejs/binding.gyp.in +++ b/bin/nodejs/binding.gyp.in @@ -5,7 +5,7 @@ "sources": [ "jami_wrapper.cpp" ], 'include_dirs': ['../../src/'], "ldflags": ["-Wl,-Bsymbolic"], - 'libraries': ['-L@JAMI_LINK_DIRECTORIES@', '-ljami-core', '-lyaml-cpp', @JAMI_LINK_LIBRARIES@], + 'libraries': ['-L@JAMI_LINK_DIRECTORIES@', '-ljami-core', @JAMI_LINK_LIBRARIES@], 'cflags!': [ '-fno-exceptions' ], 'cflags_cc!': [ '-fno-exceptions', '-fno-rtti', '-std=gnu++1y' ], 'cflags_cc': [ '-std=gnu++17', '-frtti', '-fexceptions' ],