Improve the automation of adding modules. now it just requires an input on the cmake list file

This commit is contained in:
jfmcarreira committed 2014-05-12 00:00:07 +01:00
1 parent 5712a01bf9
commit 035c116cd4
5 files changed
+19 -21

No files matched your search

+11
View File
@@ -73,8 +73,19 @@ INCLUDE( cmake/LibFFmpeg.cmake )
SET( MODULES_DIR ${SRC_DIR}/modules )
INCLUDE_DIRECTORIES( ${MODULES_DIR} )
FILE( GLOB ModuleCMakeFiles cmake/Module*.cmake )
file( WRITE ${CMAKE_CURRENT_BINARY_DIR}/ModulesListMacro.h "// This files defines the macro to \n"
"// define a list of modules\n"
"#ifndef __MODULESLISTMACRO_H__\n#define __MODULESLISTMACRO_H__\n"
"#define REGISTER_ALL_MODULES ")
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" )
INCLUDE( ${ModuleCMakeFiles} )
file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListMacro.h "\n#endif // __MODULESLISTMACRO_H__\n" )
file( APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#endif // __MODULESLISTHEADER_H__\n" )
######################################################################################
# Main config.h
######################################################################################
+2 -1
View File
@@ -105,7 +105,8 @@ macro(ADD_MODULE name file )
set(MODULES_LIBS ${MODULES_LIBS} ${__modulename})
add_definitions( -DUSE_${name} )
LIST(APPEND MODULES_LIST ${name} )
file(WRITE ${CMAKE_CURRENT_BINARY_DIR}/moduleslist.cpp "REGISTER_MODULE( ${name} );")
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListHeader.h "#include \"${name}.h\"\n")
file(APPEND ${CMAKE_CURRENT_BINARY_DIR}/ModulesListMacro.h "\\\n REGISTER_MODULE( ${name} ); ")
endif()
unset(__modulename)
endmacro()
+4 -14
View File
@@ -26,23 +26,12 @@
#include "ModulesHandle.h"
#include "SubWindowHandle.h"
// List of modules includes
#include "FilterFrame.h"
#include "FrameDifference.h"
#include "ModulesListHeader.h"
#include "ModulesListMacro.h"
namespace plaYUVer
{
Void ModulesHandle::ModulesList( Bool bCreate )
{
// Register Modules
REGISTER_MODULE( FilterFrame );
REGISTER_MODULE( FrameDifference );
}
ModulesHandle::ModulesHandle( QWidget * parent, QMdiArea *mdiArea ) :
QObject( parent ),
m_pcParent( parent ),
@@ -52,7 +41,8 @@ ModulesHandle::ModulesHandle( QWidget * parent, QMdiArea *mdiArea ) :
{
// configure class
setParent( m_pcParent );
ModulesList( true );
// Register Modules
REGISTER_ALL_MODULES
}
ModulesHandle::~ModulesHandle()
-1
View File
@@ -78,7 +78,6 @@ private:
QVector<QAction*> m_arrayActions;
Void appendModule( PlaYUVerModuleIf* );
Void ModulesList( Bool bCreate );
private Q_SLOTS:
void selectModule( int index );
+2 -5
View File
@@ -56,11 +56,8 @@ enum __PlaYUVerModuleRequirements
{ \
if( USE_##X ) \
{ \
if( bCreate ) \
{ \
X *pMod = new X(); \
appendModule( pMod ); \
} \
X *pMod = new X(); \
appendModule( pMod ); \
} \
}