33#
44
55# --- LIBRARY --- #
6- SET (PYWRAP ${PROJECT_NAME} _pywrap)
6+ SET (PYWRAP ${PROJECT_NAME} _pywrap)
77SET (PYWRAP ${PYWRAP} PARENT_SCOPE)
88
99MAKE_DIRECTORY ("${${PROJECT_NAME} _BINARY_DIR}/python/${PROJECT_NAME} " )
10+ include (${PROJECT_SOURCE_DIR} /cmake/stubs.cmake)
1011
1112ADD_CUSTOM_TARGET (python)
1213SET_TARGET_PROPERTIES (python PROPERTIES EXCLUDE_FROM_DEFAULT_BUILD True )
1314
1415ADD_LIBRARY (${PYWRAP} SHARED main.cpp)
1516ADD_DEPENDENCIES (python ${PYWRAP} )
16- TARGET_LINK_LIBRARIES (${PYWRAP} PUBLIC ${PROJECT_NAME} )
17+ TARGET_LINK_LIBRARIES (${PYWRAP} PUBLIC ${PROJECT_NAME} )
1718# BOOST_PYTHON_MEMBER_FUNCTION_OVERLOADS spews conversion warnings from int to long unsigned int.
1819# Unfortunately, using literals does not work in a macro. As such, this turns them off for the entire wrapper:
1920IF (NOT WIN32 )
2021 TARGET_COMPILE_OPTIONS (${PYWRAP} PRIVATE "-Wno-conversion" )
2122ENDIF ()
2223IF (IS_ABSOLUTE ${PYTHON_SITELIB} )
23- SET (${PYWRAP} _INSTALL_DIR ${PYTHON_SITELIB} / ${PROJECT_NAME } )
24+ SET (ABSOLUTE_PYTHON_SITELIB ${PYTHON_SITELIB} )
2425ELSE ()
25- SET (${PYWRAP} _INSTALL_DIR ${CMAKE_INSTALL_PREFIX} /${PYTHON_SITELIB} / ${PROJECT_NAME } )
26+ SET (ABSOLUTE_PYTHON_SITELIB ${CMAKE_INSTALL_PREFIX} /${PYTHON_SITELIB} )
2627ENDIF ()
28+ SET (${PYWRAP} _INSTALL_DIR ${ABSOLUTE_PYTHON_SITELIB} /${PROJECT_NAME} )
2729
2830SET_TARGET_PROPERTIES (${PYWRAP}
29- PROPERTIES
31+ PROPERTIES
3032 PREFIX ""
3133 SUFFIX ${PYTHON_EXT_SUFFIX}
32- OUTPUT_NAME "${PROJECT_NAME} "
3334 LIBRARY_OUTPUT_DIRECTORY "${CMAKE_BINARY_DIR} /python/${PROJECT_NAME} "
3435 )
3536
@@ -39,12 +40,20 @@ ENDIF()
3940
4041INSTALL (TARGETS ${PYWRAP} DESTINATION ${${PYWRAP} _INSTALL_DIR})
4142
42- # --- INSTALL SCRIPTS
43+ # --- GENERATE STUBS
44+ IF (GENERATE_PYTHON_STUBS)
45+ LOAD_STUBGEN()
46+
47+ GENERATE_STUBS(${CMAKE_CURRENT_BINARY_DIR} ${PROJECT_NAME} ${ABSOLUTE_PYTHON_SITELIB} )
48+ ENDIF (GENERATE_PYTHON_STUBS)
49+
50+ # --- INSTALL SCRIPTS
4351SET (PYTHON_FILES
4452 __init__.py
4553 )
4654
4755FOREACH (python ${PYTHON_FILES} )
56+ PYTHON_BUILD(${PROJECT_NAME} ${python} )
4857 INSTALL (FILES
4958 "${CMAKE_CURRENT_SOURCE_DIR} /eigenpy/${python} "
5059 DESTINATION ${${PYWRAP} _INSTALL_DIR})
0 commit comments