summaryrefslogtreecommitdiff
path: root/ext/pybind11/tests/test_installed_target
diff options
context:
space:
mode:
Diffstat (limited to 'ext/pybind11/tests/test_installed_target')
-rw-r--r--ext/pybind11/tests/test_installed_target/CMakeLists.txt20
-rw-r--r--ext/pybind11/tests/test_installed_target/main.cpp10
-rw-r--r--ext/pybind11/tests/test_installed_target/test.py3
3 files changed, 33 insertions, 0 deletions
diff --git a/ext/pybind11/tests/test_installed_target/CMakeLists.txt b/ext/pybind11/tests/test_installed_target/CMakeLists.txt
new file mode 100644
index 000000000..4333dc107
--- /dev/null
+++ b/ext/pybind11/tests/test_installed_target/CMakeLists.txt
@@ -0,0 +1,20 @@
+cmake_minimum_required(VERSION 3.0)
+project(test_installed_target CXX)
+
+set(CMAKE_MODULE_PATH "")
+
+find_package(pybind11 CONFIG REQUIRED)
+
+message(STATUS "Found pybind11: ${pybind11_INCLUDE_DIRS} (found version ${pybind11_VERSION})")
+message(STATUS "Found Python: ${PYTHON_INCLUDE_DIRS} (found version ${PYTHON_VERSION_STRING})")
+
+add_library(test_installed_target MODULE main.cpp)
+
+target_link_libraries(test_installed_target PRIVATE pybind11::pybind11)
+
+# make sure result is, for example, test_installed_target.so, not libtest_installed_target.dylib
+set_target_properties(test_installed_target PROPERTIES PREFIX "${PYTHON_MODULE_PREFIX}"
+ SUFFIX "${PYTHON_MODULE_EXTENSION}")
+
+add_custom_target(check ${CMAKE_COMMAND} -E env PYTHONPATH=$<TARGET_FILE_DIR:test_installed_target>
+ ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/test.py)
diff --git a/ext/pybind11/tests/test_installed_target/main.cpp b/ext/pybind11/tests/test_installed_target/main.cpp
new file mode 100644
index 000000000..2a84c11ce
--- /dev/null
+++ b/ext/pybind11/tests/test_installed_target/main.cpp
@@ -0,0 +1,10 @@
+#include <pybind11/pybind11.h>
+namespace py = pybind11;
+
+PYBIND11_PLUGIN(test_installed_target) {
+ py::module m("test_installed_target");
+
+ m.def("add", [](int i, int j) { return i + j; });
+
+ return m.ptr();
+}
diff --git a/ext/pybind11/tests/test_installed_target/test.py b/ext/pybind11/tests/test_installed_target/test.py
new file mode 100644
index 000000000..b2888a72b
--- /dev/null
+++ b/ext/pybind11/tests/test_installed_target/test.py
@@ -0,0 +1,3 @@
+import test_installed_target
+assert test_installed_target.add(1, 2) == 3
+print('test_installed_target imports, runs, and adds: 1 + 2 = 3')