mirror of
https://github.com/pybind/pybind11.git
synced 2024-11-29 00:22:00 +00:00
Add test for custom CMake export group
This commit is contained in:
parent
017a747da6
commit
3dde6ddc53
@ -19,9 +19,6 @@ set(PYBIND11_MASTER_PROJECT OFF)
|
|||||||
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
if (CMAKE_CURRENT_SOURCE_DIR STREQUAL CMAKE_SOURCE_DIR)
|
||||||
set(PYBIND11_MASTER_PROJECT ON)
|
set(PYBIND11_MASTER_PROJECT ON)
|
||||||
endif()
|
endif()
|
||||||
if (NOT PYBIND11_EXPORT_NAME)
|
|
||||||
set(PYBIND11_EXPORT_NAME "${PROJECT_NAME}Targets")
|
|
||||||
endif ()
|
|
||||||
|
|
||||||
option(PYBIND11_INSTALL "Install pybind11 header files?" ${PYBIND11_MASTER_PROJECT})
|
option(PYBIND11_INSTALL "Install pybind11 header files?" ${PYBIND11_MASTER_PROJECT})
|
||||||
option(PYBIND11_TEST "Build pybind11 test suite?" ${PYBIND11_MASTER_PROJECT})
|
option(PYBIND11_TEST "Build pybind11 test suite?" ${PYBIND11_MASTER_PROJECT})
|
||||||
@ -133,6 +130,10 @@ if (PYBIND11_INSTALL)
|
|||||||
DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
DESTINATION ${PYBIND11_CMAKECONFIG_INSTALL_DIR})
|
||||||
|
|
||||||
if(NOT (CMAKE_VERSION VERSION_LESS 3.0))
|
if(NOT (CMAKE_VERSION VERSION_LESS 3.0))
|
||||||
|
if(NOT PYBIND11_EXPORT_NAME)
|
||||||
|
set(PYBIND11_EXPORT_NAME "${PROJECT_NAME}Targets")
|
||||||
|
endif()
|
||||||
|
|
||||||
install(TARGETS pybind11 module embed
|
install(TARGETS pybind11 module embed
|
||||||
EXPORT "${PYBIND11_EXPORT_NAME}")
|
EXPORT "${PYBIND11_EXPORT_NAME}")
|
||||||
if(PYBIND11_MASTER_PROJECT)
|
if(PYBIND11_MASTER_PROJECT)
|
||||||
|
@ -1,9 +1,25 @@
|
|||||||
cmake_minimum_required(VERSION 3.0)
|
cmake_minimum_required(VERSION 3.0)
|
||||||
project(test_subdirectory_embed CXX)
|
project(test_subdirectory_embed CXX)
|
||||||
|
|
||||||
|
set(PYBIND11_INSTALL ON CACHE BOOL "")
|
||||||
|
set(PYBIND11_EXPORT_NAME test_export)
|
||||||
|
|
||||||
add_subdirectory(${PYBIND11_PROJECT_DIR} pybind11)
|
add_subdirectory(${PYBIND11_PROJECT_DIR} pybind11)
|
||||||
|
|
||||||
|
# Test basic target functionality
|
||||||
add_executable(test_cmake_build ../embed.cpp)
|
add_executable(test_cmake_build ../embed.cpp)
|
||||||
target_link_libraries(test_cmake_build PRIVATE pybind11::embed)
|
target_link_libraries(test_cmake_build PRIVATE pybind11::embed)
|
||||||
|
|
||||||
add_custom_target(check $<TARGET_FILE:test_cmake_build> ${PROJECT_SOURCE_DIR}/../test.py)
|
add_custom_target(check $<TARGET_FILE:test_cmake_build> ${PROJECT_SOURCE_DIR}/../test.py)
|
||||||
|
|
||||||
|
# Test custom export group -- PYBIND11_EXPORT_NAME
|
||||||
|
add_library(test_embed_lib ../embed.cpp)
|
||||||
|
target_link_libraries(test_embed_lib PRIVATE pybind11::embed)
|
||||||
|
|
||||||
|
install(TARGETS test_embed_lib
|
||||||
|
EXPORT test_export
|
||||||
|
ARCHIVE DESTINATION bin
|
||||||
|
LIBRARY DESTINATION lib
|
||||||
|
RUNTIME DESTINATION lib)
|
||||||
|
install(EXPORT test_export
|
||||||
|
DESTINATION lib/cmake/test_export/test_export-Targets.cmake)
|
||||||
|
Loading…
Reference in New Issue
Block a user