xref: /llvm-project/openmp/libompd/gdb-plugin/CMakeLists.txt (revision f09f58d0f2a981d8d578c66fbd1f27709ee6dfda)
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