summaryrefslogtreecommitdiff
path: root/plugins/warp/api/python
diff options
context:
space:
mode:
Diffstat (limited to 'plugins/warp/api/python')
-rw-r--r--plugins/warp/api/python/CMakeLists.txt29
1 files changed, 14 insertions, 15 deletions
diff --git a/plugins/warp/api/python/CMakeLists.txt b/plugins/warp/api/python/CMakeLists.txt
index 98337285..7c616bc3 100644
--- a/plugins/warp/api/python/CMakeLists.txt
+++ b/plugins/warp/api/python/CMakeLists.txt
@@ -2,9 +2,11 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR)
project(warp-python-api)
+include(${PROJECT_SOURCE_DIR}/../../../../cmake/PythonBindings.cmake)
+
file(GLOB PYTHON_SOURCES CONFIGURE_DEPENDS ${PROJECT_SOURCE_DIR}/*.py)
list(REMOVE_ITEM PYTHON_SOURCES ${PROJECT_SOURCE_DIR}/_warpcore.py)
-list(REMOVE_ITEM PYTHON_SOURCES ${PROJECT_SOURCE_DIR}/enums.py)
+list(REMOVE_ITEM PYTHON_SOURCES ${PROJECT_SOURCE_DIR}/warp_enums.py)
add_executable(warp_generator
${PROJECT_SOURCE_DIR}/generator.cpp)
@@ -33,18 +35,15 @@ if(WIN32)
endif()
endif()
-add_custom_target(warp_generator_copy ALL
- BYPRODUCTS ${PROJECT_SOURCE_DIR}/_warpcore.py ${PROJECT_SOURCE_DIR}/enums.py
- DEPENDS ${PYTHON_SOURCES} ${PROJECT_SOURCE_DIR}/../warpcore.h $<TARGET_FILE:warp_generator>
- COMMAND ${CMAKE_COMMAND} -E echo "Copying WARP Python Sources"
- COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTHON_OUTPUT_DIRECTORY}
- COMMAND ${CMAKE_COMMAND} -E env ASAN_OPTIONS=detect_leaks=0 $<TARGET_FILE:warp_generator>
- ${PROJECT_SOURCE_DIR}/../warpcore.h
- ${PROJECT_SOURCE_DIR}/_warpcore.py
- ${PROJECT_SOURCE_DIR}/_warpcore_template.py
- ${PROJECT_SOURCE_DIR}/warp_enums.py
-
- COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_SOURCES} ${PYTHON_OUTPUT_DIRECTORY}
- COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/_warpcore.py ${PYTHON_OUTPUT_DIRECTORY}
- COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/warp_enums.py ${PYTHON_OUTPUT_DIRECTORY})
+generate_python_bindings(
+ TARGET_NAME warp_generator_copy
+ DISPLAY_NAME "WARP"
+ GENERATOR_TARGET warp_generator
+ HEADER_FILE ${PROJECT_SOURCE_DIR}/../warpcore.h
+ TEMPLATE_FILE ${PROJECT_SOURCE_DIR}/_warpcore_template.py
+ OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY}
+ CORE_OUTPUT_FILE _warpcore.py
+ ENUMS_OUTPUT_FILE warp_enums.py
+ PYTHON_SOURCES ${PYTHON_SOURCES}
+)