# 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)