Add functions for adding modules and specify opencv module

This commit is contained in:
2016-05-13 23:27:11 +01:00
parent bb10282b6e
commit a5f0a74bff
3 changed files with 56 additions and 40 deletions
+10 -40
View File
@@ -10,20 +10,6 @@ set(plaYUver_Mod_SRCS
PlaYUVerModuleFactory.cpp
)
MACRO(ADD_MODULE name file )
set(__modulename "Module${name}")
OPTION(MODULE_${name} "Use module ${name}" ON )
ADD_FEATURE_INFO(${name} MODULE_${name} "Module ${name}" )
if( MODULE_${name} )
list(APPEND plaYUver_Mod_SRCS ${file} )
LIST(APPEND MODULES_LIST_NAME ${name} )
LIST(APPEND MODULES_LIST_FILES ${file} )
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#include \"${file}.h\"\n")
endif()
unset(__modulename)
ENDMACRO()
#
# Modules List
#
@@ -40,35 +26,19 @@ ADD_MODULE( EightBitsSampling "EightBitsSampling" )
ADD_MODULE( FrameCrop "FrameCrop" )
ADD_MODULE( LumaAverage "LumaAverage" )
ADD_MODULE( WeightedPSNR "WeightedPSNR" )
IF( OpenCV_FOUND )
IF( OPENCV_OPTFLOW_FOUND )
ADD_MODULE( OpticalFlowDualTVL1 "OpticalFlow" )
ADD_MODULE( OpticalFlowSparseToDense "OpticalFlow" )
ADD_MODULE( OpticalFlowFarneback "OpticalFlow" )
ELSE()
ADD_MODULE( OpticalFlowDualTVL1 "OpticalFlowDualTVL1" )
ENDIF()
ADD_MODULE( DisparityStereoBM "DisparityStereoBM" )
ADD_MODULE( DisparityStereoSGBM "DisparityStereoSGBM" )
#ADD_MODULE( DisparityStereoVar "DisparityStereoVar" )
IF( OPENCV_OPTFLOW_FOUND )
ADD_MODULE_OPENCV( OpticalFlowDualTVL1 "OpticalFlow" 3.1.0 )
ADD_MODULE_OPENCV( OpticalFlowSparseToDense "OpticalFlow" 3.1.0 )
ADD_MODULE_OPENCV( OpticalFlowFarneback "OpticalFlow" 3.1.0 )
ELSE()
ADD_MODULE_OPENCV( OpticalFlowDualTVL1 "OpticalFlowDualTVL1" 2.4.13.0 )
ENDIF()
ADD_MODULE_OPENCV( DisparityStereoBM "DisparityStereoBM" 2.4.8 )
ADD_MODULE_OPENCV( DisparityStereoSGBM "DisparityStereoSGBM" 2.4.8 )
# ADD_MODULE_OPENCV( DisparityStereoVar "DisparityStereoVar" )
#
# Create header
#
file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "// This files add the header files of each module\n"
"#ifndef __MODULESLISTHEADER_H__\n#define __MODULESLISTHEADER_H__\n" )
foreach(module ${MODULES_LIST_FILES})
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#include \"${module}.h\"\n")
endforeach(module ${MODULES_LIST_FILES})
file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#define REGISTER_ALL_MODULES \\\n" )
foreach(module ${MODULES_LIST_NAME})
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "Register( \"${module}\", &(${module}::Create) ); \\\n")
endforeach(module ${MODULES_LIST_NAME})
file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "\n#endif // __MODULESLISTHEADER_H__\n" )
CREATE_MODULE_MACROS()
INCLUDE_DIRECTORIES( ${OpenCV_INCLUDE_DIRS} )
ADD_LIBRARY( PlaYUVerModules ${plaYUver_Mod_SRCS} )
TARGET_LINK_LIBRARIES( PlaYUVerModules PlaYUVerLib ${OpenCV_LIBRARIES} -ldl )