@@ -217,7 +217,7 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
217217 message (STATUS "Using Clang: enabling libc++" )
218218
219219 set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -nostdinc++" )
220- add_compile_definitions (-D_LIBCPP_HARDENING_MODE =_LIBCPP_HARDENING_MODE_EXTENSIVE)
220+ add_compile_definitions (_LIBCPP_HARDENING_MODE =_LIBCPP_HARDENING_MODE_EXTENSIVE)
221221 add_compile_options (-I${WEBRTCROOT} /src/buildtools/third_party/libc++)
222222 if (EXISTS ${WEBRTCBUILD} /gen/third_party/libc++/src/include )
223223 add_compile_options (-isystem${WEBRTCBUILD} /gen/third_party/libc++/src/include )
@@ -232,10 +232,12 @@ if (CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
232232
233233 message (STATUS "Compiler is Clang CMAKE_LIBRARY_ARCHITECTURE:${CMAKE_LIBRARY_ARCHITECTURE} CMAKE_SYSTEM_PROCESSOR:${CMAKE_SYSTEM_PROCESSOR} " )
234234 if (CMAKE_SYSTEM_PROCESSOR MATCHES "armv.*" )
235- add_compile_options (-target arm-linux-gnueabihf -isystem${CMAKE_FIND_ROOT_PATH} /usr/include /arm-linux-gnueabihf)
235+ add_compile_options (-isystem${CMAKE_FIND_ROOT_PATH} /usr/include /arm-linux-gnueabihf)
236+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -target arm-linux-gnueabihf" )
236237 elseif (CMAKE_SYSTEM_PROCESSOR MATCHES "arm64" )
237238 if (NOT APPLE )
238- add_compile_options (-target aarch64-linux-gnu -isystem${CMAKE_FIND_ROOT_PATH} /usr/include /aarch64-linux-gnu)
239+ add_compile_options (-isystem${CMAKE_FIND_ROOT_PATH} /usr/include /aarch64-linux-gnu)
240+ set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -target aarch64-linux-gnu" )
239241 else ()
240242 add_compile_options (-target aarch64-apple -macos)
241243 endif ()
@@ -283,7 +285,7 @@ set(WEBRTC_LIBS_INFO
283285foreach (LIB ${WEBRTC_LIBS_INFO} )
284286 target_link_libraries (${CMAKE_PROJECT_NAME} ${LIB} )
285287endforeach ()
286- add_definitions (-DHAVE_JPEG )
288+ target_compile_definitions ( ${CMAKE_PROJECT_NAME} PRIVATE HAVE_JPEG )
287289
288290# compiler specific
289291if (WIN32 )
@@ -294,18 +296,20 @@ if (WIN32)
294296 endforeach ()
295297
296298 # webrtc
297- add_definitions (-DWEBRTC_WIN - EHsc -DNOMINMAX -D__PRETTY_FUNCTION__ =__FUNCTION__ -D_HAS_ITERATOR_DEBUGGING =0)
298- add_definitions (-DUSE_X11 -DHAVE_SOUND -D_WINSOCKAPI_ )
299+ target_compile_definitions ( ${CMAKE_PROJECT_NAME} PRIVATE WEBRTC_WIN EHsc NOMINMAX __PRETTY_FUNCTION__ =__FUNCTION__ _HAS_ITERATOR_DEBUGGING =0)
300+ target_compile_definitions ( ${CMAKE_PROJECT_NAME} PRIVATE USE_X11 HAVE_SOUND _WINSOCKAPI_ )
299301 target_link_libraries (${CMAKE_PROJECT_NAME} secur32 dmoguids wmcodecdspuuid strmiids msdmo winmm dxgi d3d11 iphlpapi dwmapi shcore)
300302elseif (APPLE )
301303 # use lld to link
302304 set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld -B${WEBRTCROOT} /src/third_party/llvm-build/Release+Asserts/bin" )
303305
304306 # live555
305307 add_definitions (-DNEED_XLOCALE_H=1)
308+
306309 # webrtc
307- add_definitions (-DHAVE_SOUND)
308- add_definitions (-DWEBRTC_MAC -DWEBRTC_POSIX -fno-rtti)
310+ target_compile_definitions (${CMAKE_PROJECT_NAME} PRIVATE HAVE_SOUND)
311+ target_compile_definitions (${CMAKE_PROJECT_NAME} PRIVATE WEBRTC_MAC WEBRTC_POSIX)
312+ add_definitions (-fno-rtti)
309313
310314 find_library (CORE_FOUNDATION Foundation)
311315 find_library (APPLICATION_SERVICES ApplicationServices)
@@ -323,34 +327,35 @@ else()
323327 set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} -fuse-ld=lld -B${WEBRTCROOT} /src/third_party/llvm-build/Release+Asserts/bin" )
324328
325329 # libv4l2cpp
326- add_definitions (-DHAVE_V4L2)
327330 aux_source_directory (libv4l2cpp/src LIBSRC_FILES)
328331 add_library (libv4l2cpp STATIC ${LIBSRC_FILES} )
329332 target_include_directories (libv4l2cpp PUBLIC libv4l2cpp/inc)
333+ target_compile_definitions (${CMAKE_PROJECT_NAME} PRIVATE HAVE_V4L2)
330334 target_link_libraries (${CMAKE_PROJECT_NAME} libv4l2cpp)
331335
332336 # webrtc
333- add_definitions (-DWEBRTC_POSIX -fno-rtti -fpermissive)
337+ target_compile_definitions (${CMAKE_PROJECT_NAME} PRIVATE WEBRTC_POSIX)
338+ add_definitions (-fno-rtti -fpermissive)
334339 if (CMAKE_SYSTEM_PROCESSOR MATCHES "armv6.*" )
335- add_compile_options (-marm -march=armv6 -mfpu=vfp -mfloat-abi=hard)
340+ add_definitions (-marm -march=armv6 -mfpu=vfp -mfloat-abi=hard)
336341 endif ()
337342 if (EXISTS ${WEBRTCROOT} /src/out/${CMAKE_BUILD_TYPE} /obj/modules/desktop_capture/desktop_capture.ninja)
338- add_definitions (-DUSE_X11 )
343+ target_compile_definitions ( ${CMAKE_PROJECT_NAME} PRIVATE USE_X11 )
339344 find_package (X11)
340345 target_link_libraries (${CMAKE_PROJECT_NAME} ${X11_LIBRARIES} ${X11_Xdamage_LIB} ${X11_Xfixes_LIB} ${X11_Xcomposite_LIB} ${X11_Xrandr_LIB} ${X11_Xtst_LIB} )
341346 endif ()
342347 # civetweb
343348 target_link_libraries (${CMAKE_PROJECT_NAME} dl)
344349 #alsa
345350 if (ALSA_FOUND)
346- add_definitions (-DHAVE_SOUND )
351+ target_compile_definitions ( ${CMAKE_PROJECT_NAME} PRIVATE HAVE_SOUND )
347352 endif ()
348353endif ()
349354
350355
351356# civetweb
352357add_library (civetweb STATIC civetweb/src/civetweb.c civetweb/src/CivetServer.cpp)
353- target_compile_definitions (civetweb PUBLIC -DOPENSSL_API_3_0 -DUSE_WEBSOCKET )
358+ target_compile_definitions (civetweb PUBLIC OPENSSL_API_3_0 USE_WEBSOCKET )
354359target_link_libraries (${CMAKE_PROJECT_NAME} civetweb)
355360target_include_directories (civetweb PUBLIC civetweb/include )
356361
@@ -359,9 +364,9 @@ find_package(PkgConfig QUIET)
359364pkg_check_modules(RTMP QUIET librtmp)
360365MESSAGE ("RTMP_FOUND = ${RTMP_FOUND} RTMP_INCLUDE_DIRS=${RTMP_INCLUDE_DIRS} RTMP_LIBRARY_DIRS=${RTMP_LIBRARY_DIRS} RTMP_LIBRARIES=${RTMP_LIBRARIES} " )
361366if (RTMP_FOUND)
362- add_definitions (-DHAVE_RTMP )
363- target_include_directories (${CMAKE_PROJECT_NAME} PUBLIC ${RTMP_INCLUDE_DIRS} )
364- target_link_directories (${CMAKE_PROJECT_NAME} PUBLIC ${RTMP_LIBRARY_DIRS} )
367+ target_compile_definitions ( ${CMAKE_PROJECT_NAME} PRIVATE HAVE_RTMP )
368+ target_include_directories (${CMAKE_PROJECT_NAME} PUBLIC ${RTMP_INCLUDE_DIRS} )
369+ target_link_directories (${CMAKE_PROJECT_NAME} PUBLIC ${RTMP_LIBRARY_DIRS} )
365370 find_library (RTMP_LIB rtmp)
366371 MESSAGE ("RTMP_LIB=${RTMP_LIB} " )
367372 target_link_libraries (${CMAKE_PROJECT_NAME} ${RTMP_LIB} )
@@ -379,11 +384,11 @@ target_include_directories(${CMAKE_PROJECT_NAME} PRIVATE prometheus-cpp/core/inc
379384add_subdirectory (live555helper EXCLUDE_FROM_ALL )
380385target_include_directories (liblive555helper PRIVATE ${WEBRTCROOT} /src/third_party/boringssl/src/include )
381386target_link_libraries (${CMAKE_PROJECT_NAME} liblive555helper ${WEBRTCOBJS} /third_party/boringssl/${CMAKE_STATIC_LIBRARY_PREFIX} boringssl${CMAKE_STATIC_LIBRARY_SUFFIX} )
382- add_definitions (-DHAVE_LIVE555 )
387+ target_compile_definitions ( ${CMAKE_PROJECT_NAME} PRIVATE HAVE_LIVE555 )
383388
384389# static link of libatomic on armv6l
385390if (CMAKE_SYSTEM_PROCESSOR MATCHES "armv6.*" )
386- target_link_libraries (${CMAKE_PROJECT_NAME} -Wl,-Bstatic -latomic -Wl,-Bdynamic)
391+ target_link_libraries (${CMAKE_PROJECT_NAME} -Wl,-Bstatic -latomic -Wl,-Bdynamic)
387392endif ()
388393
389394# static link of stdc++ if available
0 commit comments