brintos

brintos / llvm-project-archived public Read only

0
0
Text · 1.6 KiB · bec694e Raw
60 lines · plain
1file(GLOB SWIG_INTERFACES interface/*.i)2file(GLOB_RECURSE SWIG_SOURCES *.swig)3file(GLOB SWIG_HEADERS4  ${LLDB_SOURCE_DIR}/include/lldb/API/*.h5  ${LLDB_SOURCE_DIR}/include/lldb/*.h6  ${LLDB_BINARY_DIR}/include/lldb/API/SBLanguages.h7)8file(GLOB SWIG_PRIVATE_HEADERS9  ${LLDB_SOURCE_DIR}/include/lldb/lldb-private*.h10)11foreach(private_header ${SWIG_PRIVATE_HEADERS})12  list(REMOVE_ITEM SWIG_HEADERS ${private_header})13endforeach()14 15if(LLDB_BUILD_FRAMEWORK)16  set(framework_arg --framework --target-platform Darwin)17endif()18 19if(APPLE)20  set(DARWIN_EXTRAS "-D__APPLE__")21else()22  set(DARWIN_EXTRAS "")23endif()24 25set(SWIG_COMMON_FLAGS26  -c++27  # Ignored warnings:28  # 361: operator! ignored.29  # 362: operator= ignored.30  # 509: Overloaded method declaration effectively ignored, shadowed by previous declaration.31  -w361,362,50932  -features autodoc33  -I${LLDB_SOURCE_DIR}/include34  -I${LLDB_BINARY_DIR}/include35  -I${CMAKE_CURRENT_SOURCE_DIR}36  ${DARWIN_EXTRAS}37)38 39function(create_relative_symlink swig_target dest_file output_dir output_name)40  get_filename_component(dest_file ${dest_file} ABSOLUTE)41  get_filename_component(output_dir ${output_dir} ABSOLUTE)42  file(RELATIVE_PATH rel_dest_file ${output_dir} ${dest_file})43  if(CMAKE_HOST_UNIX)44    set(LLVM_LINK_OR_COPY create_symlink)45  else()46    set(LLVM_LINK_OR_COPY copy)47  endif()48  add_custom_command(TARGET ${swig_target} POST_BUILD VERBATIM49    COMMAND ${CMAKE_COMMAND} -E ${LLVM_LINK_OR_COPY} ${rel_dest_file} ${output_name}50    WORKING_DIRECTORY ${output_dir})51endfunction()52 53if (LLDB_ENABLE_PYTHON)54  add_subdirectory(python)55endif()56 57if (LLDB_ENABLE_LUA)58  add_subdirectory(lua)59endif()60