cmake: config.cmake cleanup.
[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        # On win32 we need to have all the symbol resolved at link time
7         if(WIN32)
8             set(VLC_${module_name}_LINK_LIBRARIES "VLC_${module_name}_LINK_LIBRARIES libvlc")
9         endif(WIN32)
10         set_target_properties( vlc_${module_name} PROPERTIES COMPILE_FLAGS
11                 "-D__PLUGIN__ -DMODULE_NAME=${module_name} -DMODULE_NAME_IS_${module_name} -I${CMAKE_CURRENT_SOURCE_DIR} ${VLC_${module_name}_COMPILE_FLAG}" )
12         if (VLC_${module_name}_LINK_LIBRARIES)
13             target_link_libraries( vlc_${module_name} ${VLC_${module_name}_LINK_LIBRARIES})
14         endif (VLC_${module_name}_LINK_LIBRARIES)
15     endif(ENABLE_VLC_MODULE_${module_name})
16 ENDMACRO(vlc_add_module)
17
18 MACRO(vlc_register_modules state)
19     foreach( module_name ${ARGN} )
20         OPTION( ENABLE_VLC_MODULE_${module_name} "Enable the ${module_name} module" ${state} )
21     endforeach( module_name )
22 ENDMACRO(vlc_register_modules)
23
24 MACRO(vlc_enable_modules module_names)
25     vlc_register_modules( ON ${ARGV} )
26 ENDMACRO(vlc_enable_modules)
27
28 MACRO(vlc_disable_modules module_names)
29     vlc_register_modules( OFF ${ARGV} )
30 ENDMACRO(vlc_disable_modules)
31
32 MACRO(vlc_set_module_properties module_name)
33     set_target_properties(vlc_${module_name} ${ARGN})
34 ENDMACRO(vlc_set_module_properties)
35
36 MACRO(vlc_set_module_properties module_name)
37     set_target_properties(vlc_${module_name} ${ARGN})
38 ENDMACRO(vlc_set_module_properties)
39
40 MACRO(vlc_module_add_link_libraries module_name)
41     set(VLC_${module_name}_LINK_LIBRARIES ${VLC_${module_name}_LINK_LIBRARIES} ${ARGN})
42 ENDMACRO(vlc_module_add_link_libraries)
43
44 MACRO(vlc_add_module_compile_flag module_name)
45     set(VLC_${module_name}_COMPILE_FLAG ${VLC_${module_name}_LINK_LIBRARIES} ${ARGN})
46 ENDMACRO(vlc_add_module_compile_flag)
47