IF(QT_QTDBUS_FOUND AND NOT WIN32)
ADD_DEFINITIONS (-DQT_QTDBUS)
ENDIF(QT_QTDBUS_FOUND)
IF(QWT_FOUND)
ADD_DEFINITIONS (-DQT_QWT)
ENDIF(QWT_FOUND)
if(RUBY_VERSION)
ADD_DEFINITIONS (-DRUBY_VERSION=0x${RUBY_VERSION_NUMBER})
ENDIF(RUBY_VERSION)
include_directories( ${CMAKE_SOURCE_DIR}/smoke ${RUBY_INCLUDE_DIRS} ) INCLUDE_DIRECTORIES (${QT_INCLUDES})
set(qtrubyshared_LIB_SRCS
Qt.cpp handlers.cpp marshall_types.cpp )
set(qtruby_LIB_SRCS qtruby.cpp)
# Use 'MODULE' instead of 'SHARED' so that qtruby will be built as a bundle on Mac OS X # instead of a dyld. But is this correct (rjd)? It needs testing. add_library(qtruby4shared SHARED ${qtrubyshared_LIB_SRCS}) add_library(qtruby4 MODULE ${qtruby_LIB_SRCS})
if(QT_QTDBUS_FOUND AND NOT WIN32)
target_link_libraries( qtruby4shared
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${RUBY_LIBRARY}
${QT_QTNETWORK_LIBRARY}
smokebase
smokeqtcore
smokeqtgui
smokeqtxml
smokeqtopengl
smokeqtsql
smokeqtnetwork
smokeqtdbus
smokeqtsvg )
target_link_libraries( qtruby4
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTDBUS_LIBRARY}
${RUBY_LIBRARY}
${QT_QTNETWORK_LIBRARY}
smokeqtcore
smokeqtgui
smokeqtxml
smokeqtopengl
smokeqtsql
smokeqtnetwork
smokeqtdbus
smokeqtsvg
qtruby4shared )
else(QT_DBUS_FOUND)
target_link_libraries( qtruby4shared
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${RUBY_LIBRARY}
${QT_QTNETWORK_LIBRARY}
smokebase
smokeqtcore
smokeqtgui
smokeqtxml
smokeqtopengl
smokeqtsql
smokeqtnetwork
smokeqtsvg )
target_link_libraries( qtruby4
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${RUBY_LIBRARY}
${QT_QTNETWORK_LIBRARY}
smokeqtcore
smokeqtgui
smokeqtxml
smokeqtopengl
smokeqtsql
smokeqtnetwork
smokeqtsvg
qtruby4shared )
endif(QT_DBUS_FOUND)
# target_link_libraries(qtrubyinternal ${QT_QTCORE_LIBRARY} ${RUBY_LIBRARY} ${QT_QTNETWORK_LIBRARY})
set_target_properties(qtruby4 PROPERTIES PREFIX “”) set_target_properties(qtruby4shared PROPERTIES VERSION 2.0.0 SOVERSION 2)
install(TARGETS qtruby4shared DESTINATION ${CMAKE_INSTALL_PREFIX}/lib${LIB_SUFFIX} ) install(TARGETS qtruby4 DESTINATION ${CUSTOM_RUBY_SITE_ARCH_DIR})
install(FILES qtruby.h marshall.h marshall_basetypes.h marshall_complex.h marshall_macros.h marshall_primitives.h marshall_types.h smokeruby.h DESTINATION ${CMAKE_INSTALL_PREFIX}/include/qtruby)
if (Q_WS_MAC)
install(CODE "execute_process(COMMAND ${CMAKE_COMMAND} -E create_symlink \"${CUSTOM_RUBY_SITE_ARCH_DIR}/qtruby4.so\" \"${CUSTOM_RUBY_SITE_ARCH_DIR}/qtruby4.bundle\" )" )
endif (Q_WS_MAC)