add first python bindings
This commit is contained in:
44
src/Python/CMakeLists.txt
Normal file
44
src/Python/CMakeLists.txt
Normal file
@@ -0,0 +1,44 @@
|
||||
set(HEADERS "")
|
||||
|
||||
set(SOURCES
|
||||
module.cpp
|
||||
core_bindings.cpp
|
||||
math_bindings.cpp
|
||||
)
|
||||
|
||||
# Use pybind11 to add the python module
|
||||
pybind11_add_module(uLib_python module.cpp core_bindings.cpp math_bindings.cpp)
|
||||
|
||||
# Link against our C++ libraries
|
||||
target_link_libraries(uLib_python PRIVATE
|
||||
${PACKAGE_LIBPREFIX}Core
|
||||
${PACKAGE_LIBPREFIX}Math
|
||||
)
|
||||
|
||||
# Include directories from Core and Math are automatically handled if target_include_directories were set appropriately,
|
||||
# but we might need to manually include them if they aren't INTERFACE includes.
|
||||
target_include_directories(uLib_python PRIVATE
|
||||
${PROJECT_SOURCE_DIR}/src
|
||||
${PROJECT_BINARY_DIR}
|
||||
)
|
||||
|
||||
# --- Python Tests ---------------------------------------------------------- #
|
||||
|
||||
if(BUILD_TESTING)
|
||||
find_package(Python3 COMPONENTS Interpreter REQUIRED)
|
||||
|
||||
add_test(NAME pybind_general
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/testing/pybind_test.py)
|
||||
set_tests_properties(pybind_general PROPERTIES
|
||||
ENVIRONMENT "PYTHONPATH=$<TARGET_FILE_DIR:uLib_python>")
|
||||
|
||||
add_test(NAME pybind_core
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/testing/core_pybind_test.py)
|
||||
set_tests_properties(pybind_core PROPERTIES
|
||||
ENVIRONMENT "PYTHONPATH=$<TARGET_FILE_DIR:uLib_python>")
|
||||
|
||||
add_test(NAME pybind_math
|
||||
COMMAND ${Python3_EXECUTABLE} ${CMAKE_CURRENT_SOURCE_DIR}/testing/math_pybind_test.py)
|
||||
set_tests_properties(pybind_math PROPERTIES
|
||||
ENVIRONMENT "PYTHONPATH=$<TARGET_FILE_DIR:uLib_python>")
|
||||
endif()
|
||||
Reference in New Issue
Block a user