Skip to content
Fetching contributors…
Cannot retrieve contributors at this time
141 lines (126 sloc) 6.66 KB
# the place to put in common cmake macros
# this is needed to minimize the amount of errors to do
macro( marble_add_plugin _target_name )
set( _src ${ARGN} )
if( QTONLY )
qt4_automoc( ${_src} )
add_library( ${_target_name} MODULE ${_src} )
target_link_libraries( ${_target_name} ${QT_QTCORE_LIBRARY}
${QT_QTDBUS_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTXML_LIBRARY}
${QT_QTSVG_LIBRARY}
${QT_QTNETWORK_LIBRARY}
${QT_QTMAIN_LIBRARY}
${${_target_name}_LIBS}
marblewidget )
install( TARGETS ${_target_name} DESTINATION ${MARBLE_PLUGIN_INSTALL_PATH} )
else( QTONLY )
kde4_add_plugin( ${_target_name} ${_src} )
target_link_libraries( ${_target_name} ${QT_QTCORE_LIBRARY}
${QT_QTDBUS_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTXML_LIBRARY}
${QT_QTSVG_LIBRARY}
${QT_QTNETWORK_LIBRARY}
${KDE4_KDECORE_LIBRARY}
${KDE4_KDEUI_LIBRARY}
${KDE4_KIO_LIBRARY}
${QT_QTMAIN_LIBRARY}
${${_target_name}_LIBS}
marblewidget )
install( TARGETS ${_target_name} DESTINATION ${MARBLE_PLUGIN_INSTALL_PATH} )
endif( QTONLY )
set_target_properties( ${_target_name} PROPERTIES
INSTALL_RPATH_USE_LINK_PATH TRUE
SKIP_BUILD_RPATH TRUE
BUILD_WITH_INSTALL_RPATH TRUE
)
endmacro( marble_add_plugin _target_name )
# these plugins are slightly different
macro( marble_add_designer_plugin _target_name )
set( _src ${ARGN} )
qt4_add_resources( _src ../../../marble.qrc )
if( QTONLY )
qt4_automoc( ${_src} )
add_library( ${_target_name} MODULE ${_src} )
target_link_libraries( ${_target_name} ${QT_QTCORE_LIBRARY}
${QT_QTDBUS_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTXML_LIBRARY}
${QT_QTSVG_LIBRARY}
${QT_QTNETWORK_LIBRARY}
${QT_QTMAIN_LIBRARY}
${${_target_name}_LIBS}
marblewidget )
install( TARGETS ${_target_name} DESTINATION ${QT_PLUGINS_DIR}/designer )
else( QTONLY )
kde4_add_plugin( ${_target_name} ${_src} )
target_link_libraries( ${_target_name} ${QT_QTCORE_LIBRARY}
${QT_QTDBUS_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTXML_LIBRARY}
${QT_QTSVG_LIBRARY}
${QT_QTNETWORK_LIBRARY}
${KDE4_KDECORE_LIBRARY}
${KDE4_KDEUI_LIBRARY}
${KDE4_KIO_LIBRARY}
${QT_QTMAIN_LIBRARY}
${${_target_name}_LIBS}
marblewidget )
install( TARGETS ${_target_name} DESTINATION ${PLUGIN_INSTALL_DIR}/plugins/designer )
endif( QTONLY )
set_target_properties( ${_target_name} PROPERTIES
INSTALL_RPATH_USE_LINK_PATH TRUE
SKIP_BUILD_RPATH TRUE
BUILD_WITH_INSTALL_RPATH TRUE
)
endmacro( marble_add_designer_plugin _target_name )
macro( marble_add_declarative_plugin _target_name _install_path )
set( _src ${ARGN} )
qt4_automoc( ${_src} )
add_library( ${_target_name} MODULE ${_src} )
target_link_libraries( ${_target_name} ${QT_QTCORE_LIBRARY}
${QT_QTDBUS_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTXML_LIBRARY}
${QT_QTSVG_LIBRARY}
${QT_QTNETWORK_LIBRARY}
${QT_QTMAIN_LIBRARY}
${${_target_name}_LIBS}
marblewidget )
install( TARGETS ${_target_name} DESTINATION ${MARBLE_QT_IMPORTS_DIR}/org/kde/edu/marble/${_install_path} )
set_target_properties( ${_target_name} PROPERTIES
INSTALL_RPATH_USE_LINK_PATH TRUE
SKIP_BUILD_RPATH TRUE
BUILD_WITH_INSTALL_RPATH TRUE
)
endmacro( marble_add_declarative_plugin _target_name )
if( WIN32 )
set( DATA_PATH ${CMAKE_INSTALL_PREFIX}/${MARBLE_DATA_PATH} )
set( PLUGIN_PATH ${CMAKE_INSTALL_PREFIX}/${MARBLE_PLUGIN_PATH} )
else( WIN32 )
set( DATA_PATH ${MARBLE_DATA_PATH} )
set( PLUGIN_PATH ${MARBLE_PLUGIN_PATH} )
endif( WIN32 )
macro( marble_add_test TEST_NAME )
if( BUILD_MARBLE_TESTS )
set( ${TEST_NAME}_SRCS ${TEST_NAME}.cpp ${ARGN} )
if( QTONLY )
qt4_generate_moc( ${TEST_NAME}.cpp ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME}.moc )
include_directories( ${CMAKE_CURRENT_BINARY_DIR} )
set( ${TEST_NAME}_SRCS ${CMAKE_CURRENT_BINARY_DIR}/${TEST_NAME}.moc ${${TEST_NAME}_SRCS} )
add_executable( ${TEST_NAME} ${${TEST_NAME}_SRCS} )
else( QTONLY )
kde4_add_executable( ${TEST_NAME} ${${TEST_NAME}_SRCS} )
endif( QTONLY )
target_link_libraries( ${TEST_NAME} ${QT_QTMAIN_LIBRARY}
${QT_QTCORE_LIBRARY}
${QT_QTGUI_LIBRARY}
${QT_QTTEST_LIBRARY}
marblewidget )
set_target_properties( ${TEST_NAME} PROPERTIES
COMPILE_FLAGS "-DDATA_PATH=\"\\\"${DATA_PATH}\\\"\" -DPLUGIN_PATH=\"\\\"${PLUGIN_PATH}\\\"\"" )
add_test( ${TEST_NAME} ${TEST_NAME} )
endif( BUILD_MARBLE_TESTS )
endmacro( marble_add_test TEST_NAME )
Something went wrong with that request. Please try again.