vcgencmd: Apply ASLR
[platform/adaptation/broadcom/libomxil-vc4.git] / containers / CMakeLists.txt
1 SET( SOURCE_DIR . )
2
3 # We support building both static and shared libraries
4 if (NOT DEFINED LIBRARY_TYPE)
5 set(LIBRARY_TYPE SHARED)
6 endif (NOT DEFINED LIBRARY_TYPE)
7
8 # Make sure the compiler can find the necessary include files
9 include_directories (${SOURCE_DIR}/.. ${SOURCE_DIR}/../interface/vcos)
10
11 # Needed for the container loader
12 add_definitions(-DDL_PATH_PREFIX="${VMCS_PLUGIN_DIR}/")
13
14 SET( GCC_COMPILER_FLAGS -Wall -g -O2 -Wstrict-prototypes -Wmissing-prototypes -Wmissing-declarations -Wcast-qual -Wwrite-strings -Wundef )
15 SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wextra )#-Wno-missing-field-initializers )
16 SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -std=c99 -D_POSIX_C_SOURCE=200112L )
17 SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-missing-field-initializers )
18 SET( GCC_COMPILER_FLAGS ${GCC_COMPILER_FLAGS} -Wno-unused-value )
19
20 add_definitions( ${GCC_COMPILER_FLAGS} )
21
22 # Containers core library
23 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers.c)
24 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_io.c)
25 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_io_helpers.c)
26 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_codecs.c)
27 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_utils.c)
28 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_writer_utils.c)
29 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_loader.c)
30 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_filters.c)
31 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_logging.c)
32 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_uri.c)
33 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_bits.c)
34 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_list.c)
35 set(core_SRCS ${core_SRCS} ${SOURCE_DIR}/core/containers_index.c)
36
37 # Containers io library
38 set(io_SRCS ${io_SRCS} ${SOURCE_DIR}/io/io_file.c)
39 set(io_SRCS ${io_SRCS} ${SOURCE_DIR}/io/io_null.c)
40 set(io_SRCS ${io_SRCS} ${SOURCE_DIR}/io/io_net.c)
41 set(io_SRCS ${io_SRCS} ${SOURCE_DIR}/io/io_pktfile.c)
42 set(io_SRCS ${io_SRCS} ${SOURCE_DIR}/io/io_http.c)
43 add_definitions( -DENABLE_CONTAINER_IO_HTTP )
44
45 # Containers net library
46 if (DEFINED MSVC)
47 set(net_SRCS ${net_SRCS} ${SOURCE_DIR}/net/net_sockets_common.c)
48 set(net_SRCS ${net_SRCS} ${SOURCE_DIR}/net/net_sockets_win32.c)
49 elseif (DEFINED LINUX OR DEFINED UNIX)
50 set(net_SRCS ${net_SRCS} ${SOURCE_DIR}/net/net_sockets_common.c)
51 set(net_SRCS ${net_SRCS} ${SOURCE_DIR}/net/net_sockets_bsd.c)
52 else (DEFINED MSVC)
53 set(net_SRCS ${net_SRCS} ${SOURCE_DIR}/net/net_sockets_null.c)
54 endif (DEFINED MSVC)
55 set(extra_net_SRCS net_sockets_win32.c net_sockets_win32.h net_sockets_null.c)
56 add_custom_target(containers_net_extra ALL
57     COMMAND touch ${extra_net_SRCS}
58     WORKING_DIRECTORY ${PROJECT_SOURCE_DIR}/containers/net)
59
60 # Packetizers library
61 set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/core/packetizers.c)
62 set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/mpga/mpga_packetizer.c)
63 set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/mpgv/mpgv_packetizer.c)
64 set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/pcm/pcm_packetizer.c)
65 set(packetizers_SRCS ${packetizers_SRCS} ${SOURCE_DIR}/h264/avc1_packetizer.c)
66
67 add_library(containers ${LIBRARY_TYPE} ${core_SRCS} ${io_SRCS} ${net_SRCS} ${packetizers_SRCS})
68 target_link_libraries(containers vcos)
69 install(TARGETS containers DESTINATION lib)
70
71 set(container_readers)
72 set(container_writers)
73
74 # Container modules
75 add_subdirectory(mp4)
76 set(container_readers ${container_readers} reader_mp4)
77 set(container_writers ${container_writers} writer_mp4)
78 add_subdirectory(mpeg)
79 set(container_readers ${container_readers} reader_ps)
80 add_subdirectory(mpga)
81 set(container_readers ${container_readers} reader_mpga)
82 add_subdirectory(binary)
83 set(container_readers ${container_readers} reader_binary)
84 set(container_writers ${container_writers} writer_binary)
85 add_subdirectory(mkv)
86 set(container_readers ${container_readers} reader_mkv)
87 add_subdirectory(wav)
88 set(container_readers ${container_readers} reader_wav)
89 add_subdirectory(asf)
90 set(container_readers ${container_readers} reader_asf)
91 set(container_writers ${container_writers} writer_asf)
92 add_subdirectory(flash)
93 set(container_readers ${container_readers} reader_flv)
94 add_subdirectory(avi)
95 set(container_readers ${container_readers} reader_avi)
96 set(container_writers ${container_writers} writer_avi)
97 add_subdirectory(rtp)
98 set(container_readers ${container_readers} reader_rtp)
99 add_subdirectory(rtsp)
100 set(container_readers ${container_readers} reader_rtsp)
101 add_subdirectory(rcv)
102 set(container_readers ${container_readers} reader_rcv)
103 add_subdirectory(rv9)
104 set(container_readers ${container_readers} reader_rv9)
105 add_subdirectory(qsynth)
106 set(container_readers ${container_readers} reader_qsynth)
107 add_subdirectory(simple)
108 set(container_readers ${container_readers} reader_simple)
109 set(container_writers ${container_writers} writer_simple)
110 add_subdirectory(raw)
111 set(container_readers ${container_readers} reader_raw_video)
112 set(container_writers ${container_writers} writer_raw_video)
113 add_subdirectory(dummy)
114 set(container_writers ${container_writers} writer_dummy)
115
116 add_subdirectory(metadata/id3)
117 set(container_readers ${container_readers} reader_metadata_id3)
118
119 if (${LIBRARY_TYPE} STREQUAL STATIC)
120 target_link_libraries(containers ${container_readers} ${container_writers})
121 endif (${LIBRARY_TYPE} STREQUAL STATIC)
122
123 # Test apps
124 add_subdirectory(test)