Commit f03c892c authored by Pierre d'Herbemont's avatar Pierre d'Herbemont

cmake: Fix qt4 linking and moc.

parent 5fb9f95e
set(qt4_SOURCES qt4.cpp menus.cpp main_interface.cpp dialogs_provider.cpp input_manager.cpp dialogs/playlist.cpp dialogs/bookmarks.cpp dialogs/preferences.cpp dialogs/mediainfo.cpp dialogs/extended.cpp dialogs/messages.cpp dialogs/errors.cpp dialogs/interaction.cpp dialogs/sout.cpp dialogs/help.cpp dialogs/gototime.cpp dialogs/open.cpp dialogs/vlm.cpp dialogs/podcast_configuration.cpp components/extended_panels.cpp components/info_panels.cpp components/preferences_widgets.cpp components/complete_preferences.cpp components/simple_preferences.cpp components/open_panels.cpp components/interface_widgets.cpp components/playlist/playlist_model.cpp components/playlist/playlist_item.cpp components/playlist/standardpanel.cpp components/playlist/playlist.cpp components/playlist/selector.cpp util/input_slider.cpp util/customwidgets.cpp util/registry.cpp )
set(qt4_UIS ui/equalizer.ui ui/v4l2.ui ui/video_effects.ui ui/open_file.ui ui/open_disk.ui ui/open_net.ui ui/open_capture.ui ui/open.ui ui/podcast_configuration.ui ui/sprefs_audio.ui ui/sprefs_input.ui ui/sprefs_interface.ui ui/sprefs_subtitles.ui ui/sprefs_video.ui ui/streampanel.ui ui/sout.ui ui/vlm.ui )
set(qt4_HEADERS menus.hpp main_interface.hpp dialogs_provider.hpp input_manager.hpp dialogs/playlist.hpp dialogs/bookmarks.hpp dialogs/mediainfo.hpp dialogs/extended.hpp dialogs/messages.hpp dialogs/errors.hpp dialogs/preferences.hpp dialogs/interaction.hpp dialogs/sout.hpp dialogs/help.hpp dialogs/gototime.hpp dialogs/open.hpp dialogs/vlm.hpp dialogs/podcast_configuration.hpp components/extended_panels.hpp components/info_panels.hpp components/preferences_widgets.hpp components/complete_preferences.hpp components/simple_preferences.hpp components/open_panels.hpp components/interface_widgets.hpp components/playlist/playlist_model.hpp components/playlist/playlist_item.hpp components/playlist/panels.hpp components/playlist/selector.hpp util/input_slider.hpp util/customwidgets.hpp util/qvlcframe.hpp util/registry.hpp )
if(QT4_FOUND)
include_directories(${CMAKE_CURRENT_BINARY_DIR})
qt4_automoc(${qt4_SOURCES})
vlc_get_module_compile_flags( MOC_FLAGS qt4 )
vlc_qt4_generate_moc(qt4_MOCS "${MOC_FLAGS}" ${qt4_HEADERS})
vlc_qt4_wrap_ui(qt4_UIS_H ${qt4_UIS})
endif(QT4_FOUND)
vlc_add_module(qt4 ${qt4_SOURCES} ${qt4_UIS_H})
vlc_add_module(qt4 ${qt4_SOURCES} ${qt4_MOCS} ${qt4_UIS})
......@@ -434,7 +434,7 @@ if(QT4_FOUND)
vlc_check_include_files (qt.h)
vlc_enable_modules(qt4)
vlc_add_module_compile_flag(qt4 ${QT_CFLAGS} )
vlc_module_add_link_libraries(qt4 ${QT_LIBRARIES})
vlc_module_add_link_libraries(qt4 ${QT_QTCORE_LIBRARY} ${QT_QTGUI_LIBRARY})
# Define our own qt4_wrap_ui macro to match wanted behaviour
MACRO (VLC_QT4_WRAP_UI outfiles )
......@@ -451,6 +451,22 @@ if(QT4_FOUND)
ENDFOREACH (it)
ENDMACRO (VLC_QT4_WRAP_UI)
MACRO (VLC_QT4_GENERATE_MOC outfiles flags )
FOREACH (it ${ARGN})
string(REPLACE ".hpp" ".moc.cpp" outfile "${it}")
GET_FILENAME_COMPONENT(infile ${it} ABSOLUTE)
SET(outfile ${CMAKE_CURRENT_BINARY_DIR}/${outfile})
ADD_CUSTOM_COMMAND(OUTPUT ${outfile}
COMMAND mkdir -p `dirname ${outfile}`
COMMAND ${QT_MOC_EXECUTABLE}
ARGS ${flags} -f -o ${outfile} ${infile}
MAIN_DEPENDENCY ${infile}
VERBATIM)
SET(${outfiles} ${${outfiles}} ${outfile})
ENDFOREACH (it)
ENDMACRO (VLC_QT4_GENERATE_MOC)
endif(QT4_FOUND)
find_package(OpenGL)
......@@ -514,4 +530,5 @@ set(CMAKE_REQUIRED_INCLUDES)
###########################################################
# Final configuration
###########################################################
add_definitions(-DHAVE_CONFIG_H)
configure_file(${CMAKE_CURRENT_SOURCE_DIR}/include/config.h.cmake ${CMAKE_CURRENT_BINARY_DIR}/include/config.h)
......@@ -6,8 +6,9 @@ MACRO(vlc_add_module module_name)
if( NOT ${ENABLE_NO_SYMBOL_CHECK} )
vlc_module_add_link_libraries( ${module_name} libvlc )
endif( NOT ${ENABLE_NO_SYMBOL_CHECK} )
set_target_properties( ${module_name}_plugin PROPERTIES COMPILE_FLAGS
"-D__PLUGIN__ -DMODULE_NAME=${module_name} -DMODULE_NAME_IS_${module_name} -I${CMAKE_CURRENT_SOURCE_DIR} ${VLC_${module_name}_COMPILE_FLAG}" )
vlc_get_module_compile_flags(compile_flags ${module_name})
set_target_properties( ${module_name}_plugin PROPERTIES COMPILE_FLAGS
"${compile_flags}" )
set_target_properties( ${module_name}_plugin PROPERTIES LINK_FLAGS "${VLC_${module_name}_LINK_FLAGS}" )
if (VLC_${module_name}_LINK_LIBRARIES)
target_link_libraries( ${module_name}_plugin ${VLC_${module_name}_LINK_LIBRARIES})
......@@ -16,6 +17,10 @@ MACRO(vlc_add_module module_name)
endif(ENABLE_VLC_MODULE_${module_name})
ENDMACRO(vlc_add_module)
MACRO(vlc_get_module_compile_flags var module_name)
set(${var} "-D__PLUGIN__ -DMODULE_NAME=${module_name} -DMODULE_NAME_IS_${module_name} -I${CMAKE_CURRENT_SOURCE_DIR} ${VLC_${module_name}_COMPILE_FLAG}")
ENDMACRO(vlc_get_module_compile_flags)
MACRO(vlc_register_modules module_state)
foreach( module_name ${ARGN} )
set( STATE module_state)
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment