@@ -279,7 +279,6 @@ target_link_libraries(
279279 ${MYSQL_LIBRARIES}
280280)
281281
282-
283282# generate libraries for other languages with SWIG
284283if (SWIG_FOUND)
285284 include (${SWIG_USE_FILE} )
@@ -336,30 +335,32 @@ if(SWIG_FOUND)
336335 endif ()
337336
338337 #library for Javascript / node.js
339- find_program (NODE_EXECUTABLE node)
340- get_filename_component (NODE_DIR ${NODE_EXECUTABLE} DIRECTORY )
341- find_path (NODEJS_INCLUDE_DIRS NAMES node.h NO_DEFAULT_PATH PATHS ${Nodejs_ROOT} ${Nodejs_ROOT} /include ${NODE_DIR} /../include /node)
342- if (NODEJS_INCLUDE_DIRS)
343- message ("Bindings for node.js will be generated" )
344- message ("Using NODEJS_INCLUDE_DIRS=${NODEJS_INCLUDE_DIRS} " )
345- if (${SWIG_VERSION} VERSION_LESS "4.0.0" )
346- message ("SWIG>=4.0.0 needed to generate node.js wrapper, reusing cached one" )
347- set (SWIG_MODULE_infoLoggerForNodejs_REAL_NAME infoLoggerForNodejs)
348- add_library (infoLoggerForNodejs SHARED src/infoLoggerJAVASCRIPT_wrap.cxx ${INFOLOGGER_LIB_OBJECTS} )
349- target_include_directories (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PRIVATE ${INFOLOGGER_INCLUDE_DIRS} ${NODEJS_INCLUDE_DIRS} )
350- set_target_properties (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PROPERTIES PREFIX "" )
351- else ()
352- set (CMAKE_SWIG_FLAGS -module infoLoggerForNodejs -v8)
353- swig_add_library(infoLoggerForNodejs LANGUAGE javascript SOURCES src/infoLogger.i ${INFOLOGGER_LIB_OBJECTS} )
354- endif ()
355- target_include_directories (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PRIVATE ${INFOLOGGER_INCLUDE_DIRS} ${NODEJS_INCLUDE_DIRS} )
356- target_compile_definitions (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PRIVATE -DBUILDING_NODE_EXTENSION)
357- set_target_properties (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PROPERTIES OUTPUT_NAME infoLogger SUFFIX ".node" )
358- set (no_lookup_compilers "Clang" "AppleClang" )
359- if ( ${CMAKE_CXX_COMPILER_ID} IN_LIST no_lookup_compilers)
360- set_target_properties (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup" )
338+ if (NOT APPLE )
339+ find_program (NODE_EXECUTABLE node)
340+ get_filename_component (NODE_DIR ${NODE_EXECUTABLE} DIRECTORY )
341+ find_path (NODEJS_INCLUDE_DIRS NAMES node.h NO_DEFAULT_PATH PATHS ${Nodejs_ROOT} ${Nodejs_ROOT} /include ${NODE_DIR} /../include /node)
342+ if (NODEJS_INCLUDE_DIRS)
343+ message ("Bindings for node.js will be generated" )
344+ message ("Using NODEJS_INCLUDE_DIRS=${NODEJS_INCLUDE_DIRS} " )
345+ if (${SWIG_VERSION} VERSION_LESS "4.0.0" )
346+ message ("SWIG>=4.0.0 needed to generate node.js wrapper, reusing cached one" )
347+ set (SWIG_MODULE_infoLoggerForNodejs_REAL_NAME infoLoggerForNodejs)
348+ add_library (infoLoggerForNodejs SHARED src/infoLoggerJAVASCRIPT_wrap.cxx ${INFOLOGGER_LIB_OBJECTS} )
349+ target_include_directories (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PRIVATE ${INFOLOGGER_INCLUDE_DIRS} ${NODEJS_INCLUDE_DIRS} )
350+ set_target_properties (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PROPERTIES PREFIX "" )
351+ else ()
352+ set (CMAKE_SWIG_FLAGS -module infoLoggerForNodejs -v8)
353+ swig_add_library(infoLoggerForNodejs LANGUAGE javascript SOURCES src/infoLogger.i ${INFOLOGGER_LIB_OBJECTS} )
354+ endif ()
355+ target_include_directories (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PRIVATE ${INFOLOGGER_INCLUDE_DIRS} ${NODEJS_INCLUDE_DIRS} )
356+ target_compile_definitions (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PRIVATE -DBUILDING_NODE_EXTENSION)
357+ set_target_properties (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PROPERTIES OUTPUT_NAME infoLogger SUFFIX ".node" )
358+ set (no_lookup_compilers "Clang" "AppleClang" )
359+ if ( ${CMAKE_CXX_COMPILER_ID} IN_LIST no_lookup_compilers)
360+ set_target_properties (${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} PROPERTIES LINK_FLAGS "-undefined dynamic_lookup" )
361+ endif ()
362+ install (TARGETS ${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} )
361363 endif ()
362- install (TARGETS ${SWIG_MODULE_infoLoggerForNodejs_REAL_NAME} DESTINATION ${CMAKE_INSTALL_LIBDIR} )
363364 endif ()
364365
365366endif ()
0 commit comments