diff --git a/cmake/ModulesFct.cmake b/cmake/ModulesFct.cmake index 1e2738d..8267f3a 100644 --- a/cmake/ModulesFct.cmake +++ b/cmake/ModulesFct.cmake @@ -1,16 +1,26 @@ +MACRO(ADD_EXTRA_MODULES dir) + IF(EXISTS ${dir}) + SET( MODULE_LOCATION "${dir}/" ) + ADD_SUBDIRECTORY( ${dir} ${CMAKE_CURRENT_BINARY_DIR}/extra-modules ) + INCLUDE_DIRECTORIES( ${dir} ) + SET( MODULE_LOCATION "${dir}/" PARENT_SCOPE ) + ENDIF() +ENDMACRO() MACRO(ADD_MODULE name file ) - set(__modulename "Module${name}") + SET(__modulename "Module${name}") OPTION(MODULE_${name} "Use module ${name}" ON ) ADD_FEATURE_INFO(${name} MODULE_${name} "Module ${name}" ) - if( MODULE_${name} ) - list(APPEND Calyp_Mod_SRCS ${file} ) + IF( MODULE_${name} ) + list(APPEND Calyp_Mod_SRCS ${MODULE_LOCATION}${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) + SET( Calyp_Mod_SRCS "${Calyp_Mod_SRCS}" PARENT_SCOPE ) + SET( MODULES_LIST_NAME "${MODULES_LIST_NAME}" PARENT_SCOPE ) + SET( MODULES_LIST_FILES "${MODULES_LIST_FILES}" PARENT_SCOPE ) + ENDIF() + UNSET(__modulename) ENDMACRO() @@ -46,7 +56,6 @@ ENDMACRO() MACRO(CREATE_MODULE_MACROS ) 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}) diff --git a/modules/CMakeLists.txt b/modules/CMakeLists.txt index 2c9f395..35ed573 100644 --- a/modules/CMakeLists.txt +++ b/modules/CMakeLists.txt @@ -3,7 +3,7 @@ ### OPTION( CALYP_THREADED_MODULES "Use threads for modules" OFF ) -SET( CALYP_EXTRA_MODULES "CALYP_EXTRA_MODULES" CACHE PATH "Location of extra Calyp modules") +SET( CALYP_EXTRA_MODULES_DIR "CALYP_EXTRA_MODULES_DIR" CACHE PATH "Location of extra Calyp modules") INCLUDE_DIRECTORIES( ${CMAKE_CURRENT_SOURCE_DIR} ${CMAKE_CURRENT_BINARY_DIR} ) @@ -14,6 +14,8 @@ set(Calyp_Mod_SRCS # # Modules List # +# SET( MODULE_LOCATION "") + ADD_MODULE( FilterComponentLuma "FilterComponent" ) ADD_MODULE( FilterComponentChromaU "FilterComponent" ) ADD_MODULE( FilterComponentChromaV "FilterComponent" ) @@ -43,9 +45,7 @@ ADD_MODULE_USE_OPENCV( SaliencyDetectionSpectral "SaliencyDetection" VERSION 3.3 ADD_MODULE_USE_OPENCV( SaliencyDetectionFineGrained "SaliencyDetection" VERSION 3.3.0 MODULES saliency ) ADD_MODULE_USE_OPENCV( SaliencyDetectionBinWangApr2014 "SaliencyDetection" VERSION 3.3.0 MODULES saliency ) -IF(EXISTS ${CALYP_EXTRA_MODULES}) - ADD_SUBDIRECTORY( ${CALYP_EXTRA_MODULES} ${CMAKE_CURRENT_BINARY_DIR}/extra-modules ) -ENDIF() +ADD_EXTRA_MODULES( ${CALYP_EXTRA_MODULES} ) # # Create header and auxiliar files