aboutsummaryrefslogtreecommitdiffstats
path: root/3rdparty/pybind11/tests/test_cmake_build
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/pybind11/tests/test_cmake_build')
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/CMakeLists.txt7
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/embed.cpp8
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt6
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt3
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt3
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt8
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt5
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt5
-rw-r--r--3rdparty/pybind11/tests/test_cmake_build/test.py6
9 files changed, 34 insertions, 17 deletions
diff --git a/3rdparty/pybind11/tests/test_cmake_build/CMakeLists.txt b/3rdparty/pybind11/tests/test_cmake_build/CMakeLists.txt
index 0c0578ad..8bfaa386 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/CMakeLists.txt
+++ b/3rdparty/pybind11/tests/test_cmake_build/CMakeLists.txt
@@ -25,7 +25,7 @@ function(pybind11_add_build_test name)
endif()
if(NOT ARG_INSTALL)
- list(APPEND build_options "-DPYBIND11_PROJECT_DIR=${pybind11_SOURCE_DIR}")
+ list(APPEND build_options "-Dpybind11_SOURCE_DIR=${pybind11_SOURCE_DIR}")
else()
list(APPEND build_options "-DCMAKE_PREFIX_PATH=${pybind11_BINARY_DIR}/mock_install")
endif()
@@ -55,6 +55,8 @@ function(pybind11_add_build_test name)
add_dependencies(test_cmake_build test_build_${name})
endfunction()
+possibly_uninitialized(PYTHON_MODULE_EXTENSION Python_INTERPRETER_ID)
+
pybind11_add_build_test(subdirectory_function)
pybind11_add_build_test(subdirectory_target)
if("${PYTHON_MODULE_EXTENSION}" MATCHES "pypy" OR "${Python_INTERPRETER_ID}" STREQUAL "PyPy")
@@ -77,3 +79,6 @@ if(PYBIND11_INSTALL)
endif()
add_dependencies(check test_cmake_build)
+
+add_subdirectory(subdirectory_target EXCLUDE_FROM_ALL)
+add_subdirectory(subdirectory_embed EXCLUDE_FROM_ALL)
diff --git a/3rdparty/pybind11/tests/test_cmake_build/embed.cpp b/3rdparty/pybind11/tests/test_cmake_build/embed.cpp
index a3abc8a8..30bc4f1e 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/embed.cpp
+++ b/3rdparty/pybind11/tests/test_cmake_build/embed.cpp
@@ -6,15 +6,17 @@ PYBIND11_EMBEDDED_MODULE(test_cmake_build, m) {
}
int main(int argc, char *argv[]) {
- if (argc != 2)
+ if (argc != 2) {
throw std::runtime_error("Expected test.py file as the first argument");
- auto test_py_file = argv[1];
+ }
+ auto *test_py_file = argv[1];
py::scoped_interpreter guard{};
auto m = py::module_::import("test_cmake_build");
- if (m.attr("add")(1, 2).cast<int>() != 3)
+ if (m.attr("add")(1, 2).cast<int>() != 3) {
throw std::runtime_error("embed.cpp failed");
+ }
py::module_::import("sys").attr("argv") = py::make_tuple("test.py", "embed.cpp");
py::eval_file(test_py_file, py::globals());
diff --git a/3rdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt b/3rdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt
index 64ae5c4b..f7d69399 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt
+++ b/3rdparty/pybind11/tests/test_cmake_build/installed_embed/CMakeLists.txt
@@ -22,5 +22,7 @@ set_target_properties(test_installed_embed PROPERTIES OUTPUT_NAME test_cmake_bui
# This may be needed to resolve header conflicts, e.g. between Python release and debug headers.
set_target_properties(test_installed_embed PROPERTIES NO_SYSTEM_FROM_IMPORTED ON)
-add_custom_target(check_installed_embed $<TARGET_FILE:test_installed_embed>
- ${PROJECT_SOURCE_DIR}/../test.py)
+add_custom_target(
+ check_installed_embed
+ $<TARGET_FILE:test_installed_embed> ${PROJECT_SOURCE_DIR}/../test.py
+ DEPENDS test_installed_embed)
diff --git a/3rdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt b/3rdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt
index 1a502863..d7ca4db5 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt
+++ b/3rdparty/pybind11/tests/test_cmake_build/installed_function/CMakeLists.txt
@@ -35,4 +35,5 @@ add_custom_target(
PYTHONPATH=$<TARGET_FILE_DIR:test_installed_function>
${_Python_EXECUTABLE}
${PROJECT_SOURCE_DIR}/../test.py
- ${PROJECT_NAME})
+ ${PROJECT_NAME}
+ DEPENDS test_installed_function)
diff --git a/3rdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt b/3rdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt
index b38eb774..bc5e101f 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt
+++ b/3rdparty/pybind11/tests/test_cmake_build/installed_target/CMakeLists.txt
@@ -42,4 +42,5 @@ add_custom_target(
PYTHONPATH=$<TARGET_FILE_DIR:test_installed_target>
${_Python_EXECUTABLE}
${PROJECT_SOURCE_DIR}/../test.py
- ${PROJECT_NAME})
+ ${PROJECT_NAME}
+ DEPENDS test_installed_target)
diff --git a/3rdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt b/3rdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt
index c7df0cf7..58cdd7cf 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt
+++ b/3rdparty/pybind11/tests/test_cmake_build/subdirectory_embed/CMakeLists.txt
@@ -16,15 +16,17 @@ set(PYBIND11_INSTALL
CACHE BOOL "")
set(PYBIND11_EXPORT_NAME test_export)
-add_subdirectory(${PYBIND11_PROJECT_DIR} pybind11)
+add_subdirectory("${pybind11_SOURCE_DIR}" pybind11)
# Test basic target functionality
add_executable(test_subdirectory_embed ../embed.cpp)
target_link_libraries(test_subdirectory_embed PRIVATE pybind11::embed)
set_target_properties(test_subdirectory_embed PROPERTIES OUTPUT_NAME test_cmake_build)
-add_custom_target(check_subdirectory_embed $<TARGET_FILE:test_subdirectory_embed>
- ${PROJECT_SOURCE_DIR}/../test.py)
+add_custom_target(
+ check_subdirectory_embed
+ $<TARGET_FILE:test_subdirectory_embed> "${PROJECT_SOURCE_DIR}/../test.py"
+ DEPENDS test_subdirectory_embed)
# Test custom export group -- PYBIND11_EXPORT_NAME
add_library(test_embed_lib ../embed.cpp)
diff --git a/3rdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt b/3rdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt
index 624c600f..01557c43 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt
+++ b/3rdparty/pybind11/tests/test_cmake_build/subdirectory_function/CMakeLists.txt
@@ -11,7 +11,7 @@ endif()
project(test_subdirectory_function CXX)
-add_subdirectory("${PYBIND11_PROJECT_DIR}" pybind11)
+add_subdirectory("${pybind11_SOURCE_DIR}" pybind11)
pybind11_add_module(test_subdirectory_function ../main.cpp)
set_target_properties(test_subdirectory_function PROPERTIES OUTPUT_NAME test_cmake_build)
@@ -31,4 +31,5 @@ add_custom_target(
PYTHONPATH=$<TARGET_FILE_DIR:test_subdirectory_function>
${_Python_EXECUTABLE}
${PROJECT_SOURCE_DIR}/../test.py
- ${PROJECT_NAME})
+ ${PROJECT_NAME}
+ DEPENDS test_subdirectory_function)
diff --git a/3rdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt b/3rdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt
index 2471941f..ba82fdee 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt
+++ b/3rdparty/pybind11/tests/test_cmake_build/subdirectory_target/CMakeLists.txt
@@ -11,7 +11,7 @@ endif()
project(test_subdirectory_target CXX)
-add_subdirectory(${PYBIND11_PROJECT_DIR} pybind11)
+add_subdirectory("${pybind11_SOURCE_DIR}" pybind11)
add_library(test_subdirectory_target MODULE ../main.cpp)
set_target_properties(test_subdirectory_target PROPERTIES OUTPUT_NAME test_cmake_build)
@@ -37,4 +37,5 @@ add_custom_target(
PYTHONPATH=$<TARGET_FILE_DIR:test_subdirectory_target>
${_Python_EXECUTABLE}
${PROJECT_SOURCE_DIR}/../test.py
- ${PROJECT_NAME})
+ ${PROJECT_NAME}
+ DEPENDS test_subdirectory_target)
diff --git a/3rdparty/pybind11/tests/test_cmake_build/test.py b/3rdparty/pybind11/tests/test_cmake_build/test.py
index 87ed5135..807fd43b 100644
--- a/3rdparty/pybind11/tests/test_cmake_build/test.py
+++ b/3rdparty/pybind11/tests/test_cmake_build/test.py
@@ -1,6 +1,8 @@
-# -*- coding: utf-8 -*-
import sys
+
import test_cmake_build
+assert isinstance(__file__, str) # Test this is properly set
+
assert test_cmake_build.add(1, 2) == 3
-print("{} imports, runs, and adds: 1 + 2 = 3".format(sys.argv[1]))
+print(f"{sys.argv[1]} imports, runs, and adds: 1 + 2 = 3")