Skip to content

Commit a6f9773

Browse files
committed
Add stump nanobind bindings file python-nb/coal.cc
1 parent 3d4258a commit a6f9773

File tree

4 files changed

+29
-8
lines changed

4 files changed

+29
-8
lines changed

CMakeLists.txt

+1-6
Original file line numberDiff line numberDiff line change
@@ -160,12 +160,6 @@ cmake_dependent_option(
160160

161161
ADD_PROJECT_DEPENDENCY(Eigen3 REQUIRED PKG_CONFIG_REQUIRES "eigen3 >= 3.0.0")
162162

163-
if(BUILD_PYTHON_INTERFACE)
164-
set(PYTHON_COMPONENTS Interpreter Development NumPy)
165-
FINDPYTHON(REQUIRED)
166-
ADD_PROJECT_PRIVATE_DEPENDENCY(eigenpy 2.9.2 REQUIRED)
167-
endif()
168-
169163
# Required dependencies
170164
SET_BOOST_DEFAULT_OPTIONS()
171165
EXPORT_BOOST_DEFAULT_OPTIONS()
@@ -515,6 +509,7 @@ add_subdirectory(doc)
515509
add_subdirectory(src)
516510
if(BUILD_PYTHON_INTERFACE)
517511
add_subdirectory(python)
512+
add_subdirectory(python-nb)
518513
endif()
519514
if(BUILD_TESTING)
520515
add_subdirectory(test)

python-nb/CMakeLists.txt

+15
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
find_package(Python REQUIRED COMPONENTS Interpreter Development)
2+
find_package(nanobind CONFIG REQUIRED)
3+
4+
set(PYTHON_LIB_NAME_V2 coal_pywrap_v2)
5+
set(coal_pywrap_v2_SOURCES coal.cc)
6+
7+
nanobind_add_module(${PYTHON_LIB_NAME_V2} NB_STATIC NB_SUPPRESS_WARNINGS ${coal_pywrap_v2_SOURCES})
8+
target_link_libraries(
9+
${PYTHON_LIB_NAME_V2}
10+
PRIVATE ${PROJECT_NAME} Boost::system
11+
)
12+
target_compile_definitions(
13+
${PYTHON_LIB_NAME_V2}
14+
PRIVATE COAL_PYTHON_LIBNAME=${PYTHON_LIB_NAME_V2}
15+
)

python-nb/coal.cc

+4
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
/// Copyright 2025 INRIA
2+
#include <nanobind/nanobind.h>
3+
4+
NB_MODULE(COAL_PYTHON_LIBNAME, m) {}

python/CMakeLists.txt

+9-2
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,15 @@
3232
# ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
3333
# POSSIBILITY OF SUCH DAMAGE.
3434

35-
include(${JRL_CMAKE_MODULES}/python-helpers.cmake)
36-
include(${JRL_CMAKE_MODULES}/stubs.cmake)
35+
if(BUILD_PYTHON_INTERFACE)
36+
set(PYTHON_COMPONENTS Interpreter Development NumPy)
37+
FINDPYTHON(REQUIRED)
38+
ADD_PROJECT_PRIVATE_DEPENDENCY(eigenpy 2.9.2 REQUIRED)
39+
endif()
40+
41+
if(GENERATE_PYTHON_STUBS)
42+
include(${JRL_CMAKE_MODULES}/stubs.cmake)
43+
endif(GENERATE_PYTHON_STUBS)
3744

3845
add_custom_target(${PROJECT_NAME}_python)
3946
set_target_properties(

0 commit comments

Comments
 (0)