Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
28 changes: 26 additions & 2 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,15 @@ enable_language(CXX)
include(GNUInstallDirs)
include(CMakePackageConfigHelpers)

if(CMAKE_SOURCE_DIR STREQUAL PROJECT_SOURCE_DIR)
set(SWIGBIND11_MASTER_PROJECT ON)
else()
set(SWIGBIND11_MASTER_PROJECT OFF)
endif()

option(SWIGBIND11_INSTALL "Install swigbind11 header files" ${SWIGBIND11_MASTER_PROJECT})


# Generate swigpyrun.h while installing swigbind11
find_package(SWIG REQUIRED)
include(${SWIG_USE_FILE})
Expand Down Expand Up @@ -51,8 +60,17 @@ configure_package_config_file(
INSTALL_DESTINATION "${swigbind11_REL_CMAKE_DEST}"
)

write_basic_package_version_file(
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
COMPATIBILITY
# following semantic versioning (https://semver.org/), consider two versions
# of this project compatible if they share the same major version number
SameMajorVersion
)

# --- Installation Logic ---

if(SWIGBIND11_INSTALL)
# 1. Install Python source files (the __init__.py and other scripts)
install(DIRECTORY "swigbind11/"
DESTINATION "${swigbind11_REL_ROOT}")
Expand All @@ -72,5 +90,11 @@ install(EXPORT swigbind11Targets
DESTINATION "${swigbind11_REL_CMAKE_DEST}"
)

install(FILES "${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
DESTINATION "${swigbind11_REL_CMAKE_DEST}")
install(
FILES
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}Config.cmake"
"${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION
"${swigbind11_REL_CMAKE_DEST}"
)
endif()