# Generate ruby library with SWIG
FIND_PACKAGE(Ruby REQUIRED)
FIND_PACKAGE(SWIG REQUIRED)
INCLUDE_DIRECTORIES(${RUBY_INCLUDE_DIRS})
INCLUDE(UseSWIG)

SET(SWIG_RUBY_TARGET ruby)
SET(SWIG_RUBY_LIB_NAME APNGAsm)

SET(CMAKE_SWIG_OUTDIR "ruby")

SET(SWIG_INTERFACE_FILES
  "${PROJECT_SOURCE_DIR}/src/apng.i"
)

SET_SOURCE_FILES_PROPERTIES(${SWIG_INTERFACE_FILES}
  PROPERTIES
  CPLUSPLUS ON
)

INCLUDE_DIRECTORIES(
  ${PROJECT_SOURCE_DIR}/src
  ${PROJECT_BINARY_DIR}/src
)

SWIG_ADD_MODULE(${SWIG_RUBY_TARGET} ruby ${SWIG_INTERFACE_FILES})
SWIG_LINK_LIBRARIES(${SWIG_RUBY_TARGET} ${APNGASM_DYNAMIC_LIB_TARGET})
SET_TARGET_PROPERTIES(${SWIG_RUBY_TARGET}
  PROPERTIES
  MODULE "RAPNGAsm"
  PREFIX "R"
  EXCLUDE_FROM_ALL TRUE
  OUTPUT_NAME ${SWIG_RUBY_LIB_NAME}
)

ADD_CUSTOM_TARGET(make_ruby_dirs
  COMMAND mkdir -p ${CMAKE_SWIG_OUTDIR}
  WORKING_DIRECTORY ${PROJECT_BINARY_DIR}
)

ADD_DEPENDENCIES(${SWIG_RUBY_TARGET} ${APNGASM_DYNAMIC_LIB_TARGET} make_ruby_dirs)
