module_lib_loading.cmake 6.6 KB
#  第一方/第三方 模块加载文件
# 主要用于加载动态库给编译使用
# ${ROOT_DIRS}为cmakelist文件提供的工程根目录


if(${IFLAY_TTS_MODULE}  STREQUAL "VERSION_SWITCH_ON")
	set(iFLYTEK_TTS_DIRS "${ROOT_DIRS}ThirdParty/iFLYTEK_TTS/lib/arm-cortexa9-linux-gnueabihf")
	include_directories(${ROOT_DIRS}ThirdParty/iFLYTEK_TTS/include)
	target_link_libraries(
		${PROJECT_NAME}
		${iFLYTEK_TTS_DIRS}/libmsc.so
	)
	message("讯飞TTS模块已加载\n")	
endif()

if(${ESPEAK_TTS_MODULE}  STREQUAL "VERSION_SWITCH_ON")
	set(ESPEAK_TTS_DIRS "${ROOT_DIRS}ThirdParty/Espeak/lib/arm-cortexa9-linux-gnueabihf")
	include_directories(${ROOT_DIRS}ThirdParty/Espeak/include)
	target_link_libraries(
		${PROJECT_NAME}
		${ESPEAK_TTS_DIRS}/libportaudio.so.2
		${ESPEAK_TTS_DIRS}/libTTS_Player.so
	)
	message("Espeak模块已加载\n")	
endif()

if(${ALSALIB_MODULE}  STREQUAL "VERSION_SWITCH_ON")
    set(ALSALIB_DIRS "${ROOT_DIRS}ThirdParty/AlsaLib/lib/arm-cortexa9-linux-gnueabihf")
    include_directories(${ROOT_DIRS}ThirdParty/AlsaLib/include)
    target_link_libraries(
        ${PROJECT_NAME} 
        ${ALSALIB_DIRS}/libasound.so.2.0.0
    )
	message("alsalib已加载\n")	
endif()

if(${OPUS_MODULE}  STREQUAL "VERSION_SWITCH_ON")
    set(OPUS_DIRS "${ROOT_DIRS}ThirdParty/opus/lib/arm-cortexa9-linux-gnueabihf")
    include_directories(${ROOT_DIRS}ThirdParty/opus/include)
    target_link_libraries(
        ${PROJECT_NAME}
        ${OPUS_DIRS}/libopus.so 
    )
	message("OPUS模块已加载\n")	
endif()

if(${CedarxLib} STREQUAL "VERSION_SWITCH_ON")
	message("\nCedarX已加载\n")
	target_link_libraries(${PROJECT_NAME} 
	${ROOT_DIRS}ModuleLib/Camera/CedarX/libawh264.so
	${ROOT_DIRS}ModuleLib/Camera/CedarX/libMemAdapter.so
	${ROOT_DIRS}ModuleLib/Camera/CedarX/libVE.so
	${ROOT_DIRS}ModuleLib/Camera/CedarX/libvencoder.so
	${ROOT_DIRS}ModuleLib/Camera/CedarX/libvideoengine.so
	${ROOT_DIRS}ModuleLib/Camera/CedarX/libvdecoder.so
	)

	message("\n OpenCV已加载\n")
	target_link_libraries(${PROJECT_NAME} 
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_calib3d.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_core.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_dnn.so		
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_features2d.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_flann.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_highgui.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_imgcodecs.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_imgproc.so 	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_ml.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_objdetect.so 	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_photo.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_shape.so		
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_stitching.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_superres.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_videoio.so	
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_video.so		
		${ROOT_DIRS}ModuleLib/OpenCV/libopencv_videostab.so	
	)

	message("\n ffmpeg已加载\n")
	target_link_libraries(${PROJECT_NAME} 
		${ROOT_DIRS}ModuleLib/ffmpeg/libavcodec.so
		${ROOT_DIRS}ModuleLib/ffmpeg/libavdevice.so
		${ROOT_DIRS}ModuleLib/ffmpeg/libavfilter.so
		${ROOT_DIRS}ModuleLib/ffmpeg/libavformat.so
		${ROOT_DIRS}ModuleLib/ffmpeg/libavutil.so
		${ROOT_DIRS}ModuleLib/ffmpeg/libswresample.so
		${ROOT_DIRS}ModuleLib/ffmpeg/libswscale.so
	)

	message("\n SearchLightCenter已加载\n")
	target_link_libraries(${PROJECT_NAME} 
		${ROOT_DIRS}ModuleLib/SearchLightCenter/libcenter.so
	)
	
endif()


if(${FFMPEG_MODULE}  STREQUAL "VERSION_SWITCH_ON")
	message("\nffmpeg模块加载\n")
	set(FFMPEG_6_0_DIRS "${ROOT_DIRS}ThirdParty/ffmpeg_6_0/lib/arm-cortexa9-linux-gnueabihf")
	include_directories(${ROOT_DIRS}ThirdParty/ffmpeg_6_0/include)
	target_link_libraries(
		${PROJECT_NAME} 
		${FFMPEG_6_0_DIRS}/libavcodec.so.60
		${FFMPEG_6_0_DIRS}/libavdevice.so.60
		${FFMPEG_6_0_DIRS}/libavfilter.so.9
		${FFMPEG_6_0_DIRS}/libavformat.so.60
		${FFMPEG_6_0_DIRS}/libavutil.so.58
		${FFMPEG_6_0_DIRS}/libpostproc.so.57
		${FFMPEG_6_0_DIRS}/libswresample.so.4
		${FFMPEG_6_0_DIRS}/libswscale.so.7
	)

	message("x264模块已加载\n")
	set(X264_DIRS "${ROOT_DIRS}ThirdParty/x264_2245/lib/arm-cortexa9-linux-gnueabihf")
	include_directories(${ROOT_DIRS}ThirdParty/x264_2245/include)
	target_link_libraries(
		${PROJECT_NAME}
		${X264_DIRS}/libx264.so.157
	)

	message("FDK_AAC模块已加载\n")
	set(FDK_AAC_DIRS "${ROOT_DIRS}ThirdParty/fdk_aac_2_0_3/lib/arm-cortexa9-linux-gnueabihf")
	include_directories(${ROOT_DIRS}ThirdParty/fdk_aac_2_0_3/include)
	target_link_libraries(
		${PROJECT_NAME}
		${FDK_AAC_DIRS}/libfdk-aac.so.2 
	)

endif()


#RK_mmp库
if(${LIB_RK_MMP} STREQUAL "VERSION_SWITCH_ON")
	message("RK_MMP库已加载\n")
	add_definitions(-DMACRO_RK_MPP_MODULE) #加载模块

	include_directories(${ROOT_DIRS}/ThirdParty/RK_mmp/aarch64-none-linux-gnu/include)
	target_link_libraries(
		${PROJECT_NAME} 
		${ROOT_DIRS}/ThirdParty/RK_mmp/aarch64-none-linux-gnu/lib/librockchip_mpp.so.0
		${ROOT_DIRS}/ThirdParty/RK_mmp/aarch64-none-linux-gnu/lib/librockchip_vpu.so.0
	)
endif()

#RK_rgb库
if(${LIB_RK_RGB} STREQUAL "VERSION_SWITCH_ON")
	message("RK_RGB库已加载\n")
	add_definitions(-DMACRO_RK_RGA_MODULE) #加载模块

	include_directories(${ROOT_DIRS}/ThirdParty/RK_rga/aarch64-none-linux-gnu/include)
	target_link_libraries(
		${PROJECT_NAME} 
		${ROOT_DIRS}/ThirdParty/RK_rga/aarch64-none-linux-gnu/lib/librga.so
	)
endif()

#usb库
if(${LIB_USB} STREQUAL "VERSION_SWITCH_ON")
	add_definitions(-DMACRO_USB_MODULE) #加载usb模块
	
	message("USB库已加载\n")
	include_directories(${ROOT_DIRS}/ThirdParty/libusb/aarch64-none-linux-gnu/include)
	target_link_libraries(
		${PROJECT_NAME} 
		${ROOT_DIRS}/ThirdParty/libusb/aarch64-none-linux-gnu/lib/libusb-1.0.so.0.4.0
	)
	
	message("udev库已加载\n")
	
	include_directories(${ROOT_DIRS}/ThirdParty/udev/aarch64-none-linux-gnu/include)
		target_link_libraries(
			${PROJECT_NAME} 
			${ROOT_DIRS}/ThirdParty/udev/aarch64-none-linux-gnu/lib/libudev.so.1.6.3
	)
endif()

#kt_IRC库
if(${LIB_KT_IRC} STREQUAL "VERSION_SWITCH_ON")

	add_definitions(-DMACRO_KTIRC_MODULE)

	message("ktIRC库已加载\n")
	include_directories(${ROOT_DIRS}/ThirdParty/KT_IRC/include)
	target_link_libraries(
		${PROJECT_NAME} 
		${ROOT_DIRS}/ThirdParty/KT_IRC/aarch64-none-linux-gnu/lib/libm330aarchx64.so
	)
	
endif()

#飒特 IRC库
if(${LIB_SAT_IRC} STREQUAL "VERSION_SWITCH_ON")

	add_definitions(-DMACRO_SATIRC_MODULE)

	message("STIRC库已加载\n")
	include_directories(${ROOT_DIRS}/ThirdParty/SatIrcLib/include)
	target_link_libraries(
		${PROJECT_NAME}
		${ROOT_DIRS}/ThirdParty/SatIrcLib/aarch64-none-linux-gnu/lib/libsatir.so
	)

endif()

message("**************************动态库加载完毕***************************\n")