# PARTIO SOFTWARE
# Copyright 2010 Disney Enterprises, Inc. All rights reserved
# 
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are
# met:
# 
# * Redistributions of source code must retain the above copyright
# notice, this list of conditions and the following disclaimer.
# 
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in
# the documentation and/or other materials provided with the
# distribution.
# 
# * The names "Disney", "Walt Disney Pictures", "Walt Disney Animation
# Studios" or the names of its contributors may NOT be used to
# endorse or promote products derived from this software without
# specific prior written permission from Walt Disney Pictures.
# 
# Disclaimer: THIS SOFTWARE IS PROVIDED BY WALT DISNEY PICTURES AND
# CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING,
# BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY, FITNESS
# FOR A PARTICULAR PURPOSE, NONINFRINGEMENT AND TITLE ARE DISCLAIMED.
# IN NO EVENT SHALL WALT DISNEY PICTURES, THE COPYRIGHT HOLDER OR
# CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL,
# EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR
# PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND BASED ON ANY
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGES.

find_package(SWIG)
if (SWIG_FOUND)
include(${SWIG_USE_FILE})

set_source_files_properties(partio.i PROPERTIES CPLUSPLUS ON)
set_source_files_properties(partio.i PROPERTIES SWIG_FLAGS "-includeall")

swig_add_library(partio_mod LANGUAGE python SOURCES partio.i)
# We already have a target called "partio" so we call the python module
# "partio_mod" and set the output name so that we get _partio.so.
set_target_properties(partio_mod PROPERTIES OUTPUT_NAME partio)
get_property(swig_files TARGET partio_mod PROPERTY SWIG_SUPPORT_FILES)

target_include_directories(
    partio_mod
    PRIVATE
        ${PYTHON_INCLUDE_DIRS}
        ${CMAKE_SOURCE_DIR}/src/lib
)
target_link_libraries(partio_mod PRIVATE ${PYTHON_LIBRARIES} partio)

set(PYTHON_DEST "${CMAKE_INSTALL_LIBDIR}/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}/site-packages" )

install(TARGETS partio_mod DESTINATION ${PYTHON_DEST})
install(FILES partio.i DESTINATION ${CMAKE_INSTALL_DATADIR}/swig)
install(FILES ${swig_files} DESTINATION ${PYTHON_DEST})

endif(SWIG_FOUND)
