1 include( ${CMAKE_SOURCE_DIR}/cmake/vlc_add_compile_flag.cmake )
3 MACRO(vlc_add_module module_name)
4 if(ENABLE_VLC_MODULE_${module_name})
5 add_library( ${module_name}_plugin MODULE ${ARGN} )
6 if( NOT ${ENABLE_NO_SYMBOL_CHECK} )
7 vlc_module_add_link_libraries( ${module_name} libvlc )
8 endif( NOT ${ENABLE_NO_SYMBOL_CHECK} )
9 vlc_get_module_compile_flags(compile_flags ${module_name})
10 set_target_properties( ${module_name}_plugin PROPERTIES COMPILE_FLAGS
12 set_target_properties( ${module_name}_plugin PROPERTIES LINK_FLAGS "${VLC_${module_name}_LINK_FLAGS}" )
13 if (VLC_${module_name}_LINK_LIBRARIES)
14 target_link_libraries( ${module_name}_plugin ${VLC_${module_name}_LINK_LIBRARIES})
15 endif (VLC_${module_name}_LINK_LIBRARIES)
16 install_targets(/modules ${module_name}_plugin)
17 endif(ENABLE_VLC_MODULE_${module_name})
18 ENDMACRO(vlc_add_module)
20 MACRO(vlc_get_module_compile_flags var module_name)
21 set(${var} "-D__PLUGIN__ -DMODULE_NAME=${module_name} -DMODULE_NAME_IS_${module_name} -I${CMAKE_CURRENT_SOURCE_DIR} ${VLC_${module_name}_COMPILE_FLAG}")
22 ENDMACRO(vlc_get_module_compile_flags)
24 MACRO(vlc_register_modules module_state)
25 foreach( module_name ${ARGN} )
26 set( STATE module_state)
28 set(VLC_ENABLED_MODULES_LIST ${VLC_ENABLED_MODULES_LIST} ${module_name}_plugin)
31 OPTION( ENABLE_VLC_MODULE_${module_name} "Enable the ${module_name} module" ${module_state} )
32 endforeach( module_name )
33 ENDMACRO(vlc_register_modules)
35 MACRO(vlc_enable_modules module_names)
36 vlc_register_modules( ON ${ARGV} )
37 ENDMACRO(vlc_enable_modules)
39 MACRO(vlc_disable_modules module_names)
40 vlc_register_modules( OFF ${ARGV} )
41 ENDMACRO(vlc_disable_modules)
43 MACRO(vlc_set_module_properties module_name)
44 set_target_properties(${module_name}_plugin ${ARGN})
45 ENDMACRO(vlc_set_module_properties)
47 MACRO(vlc_set_module_properties module_name)
48 set_target_properties(${module_name}_plugin ${ARGN})
49 ENDMACRO(vlc_set_module_properties)
51 MACRO(vlc_module_add_link_flags module_name)
52 set(VLC_${module_name}_LINK_FLAGS ${VLC_${module_name}_LINK_FLAGS} ${ARGN})
53 ENDMACRO(vlc_module_add_link_flags)
55 MACRO(vlc_module_add_link_libraries module_name)
56 set(VLC_${module_name}_LINK_LIBRARIES ${VLC_${module_name}_LINK_LIBRARIES} ${ARGN})
57 ENDMACRO(vlc_module_add_link_libraries)
59 MACRO(vlc_add_module_compile_flag module_name)
60 set(VLC_${module_name}_COMPILE_FLAG ${VLC_${module_name}_COMPILE_FLAG} ${ARGN})
61 ENDMACRO(vlc_add_module_compile_flag)