1# 2#//===----------------------------------------------------------------------===// 3#// 4#// Part of the LLVM Project, under the Apache License v2.0 with LLVM Exceptions. 5#// See https://llvm.org/LICENSE.txt for license information. 6#// SPDX-License-Identifier: Apache-2.0 WITH LLVM-exception 7#// 8#//===----------------------------------------------------------------------===// 9# 10 11set (CMAKE_MODULE_PATH 12 "${CMAKE_SOURCE_DIR}/libompd/" 13 ${CMAKE_MODULE_PATH} 14) 15 16include_directories (${OMPD_INCLUDE_PATH}) 17include_directories (${LIBOMP_INCLUDE_DIR}) 18add_custom_command(OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/python-module/ompd/__init__.py 19 DEPENDS ompdModule.c ompdAPITests.c ompd/frame_filter.py ompd/__init__.py ompd/ompd_address_space.py ompd/ompd_callbacks.py ompd/ompd_handles.py ompd/ompd.py 20 COMMAND ${CMAKE_COMMAND} -E copy_directory ${CMAKE_CURRENT_SOURCE_DIR}/ompd ${CMAKE_CURRENT_BINARY_DIR}/python-module/ompd/ 21 WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}) 22 23add_custom_target(ompd_gdb_plugin ALL 24 DEPENDS ${CMAKE_CURRENT_BINARY_DIR}/python-module/ompd/__init__.py 25 COMMENT "Building the OMPD GDB plugin") 26 27add_library (ompdModule MODULE ompdModule.c ompdAPITests.c) 28include_directories ( 29 ${LIBOMP_INCLUDE_DIR} 30 ${LIBOMP_SRC_DIR} 31 ${Python3_INCLUDE_DIRS} 32) 33target_link_libraries (ompdModule ${Python3_LIBRARIES}) 34target_link_libraries (ompdModule ${CMAKE_DL_LIBS}) 35 36set_target_properties (ompdModule PROPERTIES PREFIX "") 37set_target_properties (ompdModule PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_BINARY_DIR}/python-module/ompd/") 38 39install(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/python-module/ompd DESTINATION share/gdb/python/ PATTERN ompdModule.so PERMISSIONS OWNER_READ WORLD_READ GROUP_READ OWNER_EXECUTE GROUP_EXECUTE WORLD_EXECUTE) 40 41