This commit is contained in:
ZtRXR 2024-06-28 16:58:11 +08:00
parent 70c7ffca83
commit b0351c9323
3 changed files with 13 additions and 11 deletions

View File

@ -4,4 +4,10 @@ project(test_pybind11 VERSION 1.0 DESCRIPTION "a default project" LANGUAGES CXX)
file(GLOB_RECURSE SRC src/*.cpp) file(GLOB_RECURSE SRC src/*.cpp)
find_package(Python 3.12.3 COMPONENTS Interpreter Development REQUIRED) find_package(Python 3.12.3 COMPONENTS Interpreter Development REQUIRED)
find_package(pybind11 CONFIG REQUIRED) find_package(pybind11 CONFIG REQUIRED)
pybind11_add_module(${PROJECT_NAME} ${SRC}) pybind11_add_module(${PROJECT_NAME} ${SRC})
add_subdirectory(glfw)
target_link_libraries(${PROJECT_NAME} PRIVATE glfw)
find_package(OpenGl REQUIRED)
target_link_libraries(${PROJECT_NAME} PRIVATE OpenGL::GL)

View File

@ -8,6 +8,10 @@ from pymake import *
.file("SRC",glob_recurse,"src/*.cpp") .file("SRC",glob_recurse,"src/*.cpp")
.just_add("""find_package(Python 3.12.3 COMPONENTS Interpreter Development REQUIRED)""") .just_add("""find_package(Python 3.12.3 COMPONENTS Interpreter Development REQUIRED)""")
.just_add("find_package(pybind11 CONFIG REQUIRED)") .just_add("find_package(pybind11 CONFIG REQUIRED)")
.add_subdirectory("glfw")
.target_link_libraries(var(project_name),"glfw")
.find_package("OpenGl")
.target_link_libraries(var(project_name),"OpenGL::GL")
.pybind11_add_module(var(project_name),var("SRC")) .pybind11_add_module(var(project_name),var("SRC"))
.write() .write()
) )

View File

@ -1,17 +1,9 @@
#include <pybind11/pybind11.h> #include <pybind11/pybind11.h>
#include <pybind11/stl.h> #include <pybind11/stl.h>
#include <GLFW/glfw3.h>
int add(int i, int j) {
return i + j;
}
std::vector<int> sort_num(std::vector<int> array){
std::sort(array.begin(),array.end());
return array;
}
PYBIND11_MODULE(test_pybind11, m) { PYBIND11_MODULE(test_pybind11, m) {
m.doc() = "pybind11 example plugin"; // optional module docstring m.doc() = "glpy a python opengl project"; // optional module docstring
m.def("sort_num",&sort_num,"A function to sort INT numbers");
m.def("add", &add, "A function that adds two numbers");
} }