Skip to content

Commit 004e383

Browse files
authored
Do not build swig binding for js on Mac (#22) (O2-750)
1 parent 9bda71d commit 004e383

File tree

1 file changed

+25
-24
lines changed

1 file changed

+25
-24
lines changed

CMakeLists.txt

Lines changed: 25 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -279,7 +279,6 @@ target_link_libraries(
279279
${MYSQL_LIBRARIES}
280280
)
281281

282-
283282
# generate libraries for other languages with SWIG
284283
if(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

365366
endif()

0 commit comments

Comments
 (0)