diff options
Diffstat (limited to 'view/sharedcache/api/python')
| -rw-r--r-- | view/sharedcache/api/python/CMakeLists.txt | 30 |
1 files changed, 14 insertions, 16 deletions
diff --git a/view/sharedcache/api/python/CMakeLists.txt b/view/sharedcache/api/python/CMakeLists.txt index 8e091eea..b6f6f875 100644 --- a/view/sharedcache/api/python/CMakeLists.txt +++ b/view/sharedcache/api/python/CMakeLists.txt @@ -2,9 +2,11 @@ cmake_minimum_required(VERSION 3.15 FATAL_ERROR) project(sharedcache-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}/_sharedcachecore.py) -list(REMOVE_ITEM PYTHON_SOURCES ${PROJECT_SOURCE_DIR}/enums.py) +list(REMOVE_ITEM PYTHON_SOURCES ${PROJECT_SOURCE_DIR}/sharedcache_enums.py) add_executable(sharedcache_generator ${PROJECT_SOURCE_DIR}/generator.cpp) @@ -33,18 +35,14 @@ if(WIN32) endif() endif() -add_custom_target(sharedcache_generator_copy ALL - BYPRODUCTS ${PROJECT_SOURCE_DIR}/_sharedcachecore.py ${PROJECT_SOURCE_DIR}/enums.py - DEPENDS ${PYTHON_SOURCES} ${PROJECT_SOURCE_DIR}/../sharedcachecore.h $<TARGET_FILE:sharedcache_generator> - COMMAND ${CMAKE_COMMAND} -E echo "Copying Shared Cache Python Sources" - COMMAND ${CMAKE_COMMAND} -E make_directory ${PYTHON_OUTPUT_DIRECTORY} - COMMAND ${CMAKE_COMMAND} -E env ASAN_OPTIONS=detect_leaks=0 $<TARGET_FILE:sharedcache_generator> - ${PROJECT_SOURCE_DIR}/../sharedcachecore.h - ${PROJECT_SOURCE_DIR}/_sharedcachecore.py - ${PROJECT_SOURCE_DIR}/_sharedcachecore_template.py - ${PROJECT_SOURCE_DIR}/sharedcache_enums.py - - COMMAND ${CMAKE_COMMAND} -E copy ${PYTHON_SOURCES} ${PYTHON_OUTPUT_DIRECTORY} - COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/_sharedcachecore.py ${PYTHON_OUTPUT_DIRECTORY} - COMMAND ${CMAKE_COMMAND} -E copy ${PROJECT_SOURCE_DIR}/sharedcache_enums.py ${PYTHON_OUTPUT_DIRECTORY}) - +generate_python_bindings( + TARGET_NAME sharedcache_generator_copy + DISPLAY_NAME "Shared Cache" + GENERATOR_TARGET sharedcache_generator + HEADER_FILE ${PROJECT_SOURCE_DIR}/../sharedcachecore.h + TEMPLATE_FILE ${PROJECT_SOURCE_DIR}/_sharedcachecore_template.py + OUTPUT_DIRECTORY ${PYTHON_OUTPUT_DIRECTORY} + CORE_OUTPUT_FILE _sharedcachecore.py + ENUMS_OUTPUT_FILE sharedcache_enums.py + PYTHON_SOURCES ${PYTHON_SOURCES} +) |
