cmake/scripts/convert_vlc_to_cmake.sh: Fix config.h.cmake install.
[vlc.git] / extras / buildsystem / cmake / include / vlc_module_funcs.cmake
1 include( ${CMAKE_SOURCE_DIR}/cmake/vlc_add_compile_flag.cmake )
2
3 MACRO(vlc_add_module module_name)
4     if(ENABLE_VLC_MODULE_${module_name})
5         add_library( vlc_${module_name} MODULE ${ARGN} )
6         set_target_properties( vlc_${module_name} PROPERTIES COMPILE_FLAGS "-D__PLUGIN__ -DMODULE_NAME=${module_name} -DMODULE_NAME_IS_${module_name} -I${CMAKE_CURRENT_SOURCE_DIR}" )
7         if (VLC_${module_name}_LINK_LIBRARIES)
8             target_link_libraries( vlc_${module_name} libvlc ${VLC_${module_name}_LINK_LIBRARIES})
9         else (VLC_${module_name}_LINK_LIBRARIES)
10             target_link_libraries( vlc_${module_name} libvlc )
11         endif (VLC_${module_name}_LINK_LIBRARIES)
12     endif(ENABLE_VLC_MODULE_${module_name})
13 ENDMACRO(vlc_add_module)
14
15 MACRO(vlc_register_modules state)
16     foreach( module_name ${ARGN} )
17         OPTION( ENABLE_VLC_MODULE_${module_name} "Enable the ${module_name} module" ${state} )
18     endforeach( module_name )
19 ENDMACRO(vlc_register_modules)
20
21 MACRO(vlc_enable_modules module_names)
22     vlc_register_modules( ON ${ARGV} )
23 ENDMACRO(vlc_enable_modules)
24
25 MACRO(vlc_disable_modules module_names)
26     vlc_register_modules( OFF ${ARGV} )
27 ENDMACRO(vlc_disable_modules)
28
29 MACRO(vlc_set_module_properties module_name)
30     set_target_properties(vlc_${module_name} ${ARGN})
31 ENDMACRO(vlc_set_module_properties)
32
33 MACRO(vlc_set_module_properties module_name)
34     set_target_properties(vlc_${module_name} ${ARGN})
35 ENDMACRO(vlc_set_module_properties)
36
37 MACRO(vlc_module_add_link_libraries module_name)
38     set(VLC_${module_name}_LINK_LIBRARIES ${VLC_${module_name}_LINK_LIBRARIES} ${ARGN})
39 ENDMACRO(vlc_module_add_link_libraries)
40