Notice to GitKraken users: A vulnerability has been found in the SSH key generation of GitKraken versions 7.6.0 to 8.0.0 (https://www.gitkraken.com/blog/weak-ssh-key-fix). If you use GitKraken and have generated a SSH key using one of these versions, please remove it both from your local workstation and from your LRZ GitLab profile.

21.10.2021, 9:00 - 11:00: Due to updates GitLab may be unavailable for some minutes between 09:00 and 11:00.

Commit 689d5439 authored by Christian Schulte zu Berge's avatar Christian Schulte zu Berge
Browse files

Updated and refactored CAMPVis module build system: CAMPVis module .cmake...

Updated and refactored CAMPVis module build system: CAMPVis module .cmake files now define two additional Variables:
* ThisModStatus defines the status of the module and should be one of STABLE, TESTING or EXPERIMENTAL
* ThisModExternalDependencies defines, whether this module has further external dependencies that are not shipped

The main CAMPVis build system now ships a new enumeration option CAMPVIS_DEFAULT_ENABLED_MODULES, which can be one of "NONE" "STABLE_NO_DEPENDENCIES" "STABLE_WITH_EXTERNAL_DEPENDENCIES" "TESTING" and "ALL". The INCLUDE_MODULE() function in the build scripts will evaluate the modules' status information and enable every module that matches the specified value.

ATTENTION: Due to these changes in the build system, the modules' cmake files should put their setup block into an IF(ModuleEnabled) block, since the file is also parsed, when the module is not enabled (in order to gather the status information).

closes #385
parent 4594ef7f
......@@ -28,6 +28,9 @@ IF(WIN32)
OPTION(CAMPVIS_GENERATE_MANIFEST "Generate manifest in Visual Studio debug builds (switch on when encountering errors using incremental linking)?" OFF)
ENDIF()
SET(CAMPVIS_DEFAULT_ENABLED_MODULES "STABLE_NO_DEPENDENCIES" CACHE STRING "Default CAMPVis modules to activate")
SET_PROPERTY(CACHE CAMPVIS_DEFAULT_ENABLED_MODULES PROPERTY STRINGS "NONE" "STABLE_NO_DEPENDENCIES" "STABLE_WITH_EXTERNAL_DEPENDENCIES" "TESTING" "ALL")
#
# Further Build Configurations
#
......
......@@ -44,38 +44,64 @@ ENDMACRO(PARSE_HEADER_FOR_PIPELINE)
MACRO(INCLUDE_MODULE ModuleDirectory ModuleListFile)
STRING(TOUPPER ${ModuleDirectory} ModuleDirectoryUpper)
LIST(APPEND CampvisEnabledModules ${ModuleDirectory})
SET(ThisModDir ${ModulesDir}/${ModuleDirectory})
# load .cmake file
INCLUDE(${ModuleListFile})
# merge module settings into global settings
LIST(APPEND CampvisModulesDefinitions ${ThisModDefinitions})
LIST(APPEND CampvisModulesIncludeDirs ${ThisModIncludeDirs})
LIST(APPEND CampvisModulesExternalLibs ${ThisModExternalLibs})
LIST(APPEND CampvisModulesLinkDirectories ${ThisModLinkDirectories})
LIST(APPEND CampvisModulesSources ${ThisModSources})
LIST(APPEND CampvisModulesHeaders ${ThisModHeaders})
LIST(APPEND CampvisModulesCoreSources ${ThisModCoreSources})
LIST(APPEND CampvisModulesCoreHeaders ${ThisModCoreHeaders})
LIST(APPEND CampvisExternalDllsDebug ${ThisModExternalDllsDebug})
LIST(APPEND CampvisExternalDllsRelease ${ThisModExternalDllsRelease})
# save dependencies in a variable to resolve them later
SET(${ModuleDirectory}ModDependencies ${ThisModDependencies})
# add shader directory to deployment list
LIST(APPEND CampvisShaderDirectories ${ThisModShaderDirectories})
# add definition that this module is activated
LIST(APPEND CampvisGlobalDefinitions -DCAMPVIS_HAS_MODULE_${ModuleDirectoryUpper})
# parse all header files for pipeline classes to add them to the pipeline registration
FOREACH(HeaderFile ${ThisModHeaders})
PARSE_HEADER_FOR_PIPELINE("modules/${HeaderFile}")
ENDFOREACH()
# if module is not enabled, load .cmake file for the first time to gather module status and other meta information
IF(NOT CAMPVIS_BUILD_MODULE_${ModDirUpper})
# add a CMake option for building this module
OPTION(CAMPVIS_BUILD_MODULE_${ModDirUpper} "Build Module ${ModDir} (${ThisModStatus})" OFF)
SET(ModuleEnabled FALSE)
INCLUDE(${ModuleListFile})
# enable module if module status matches CAMPVIS_DEFAULT_ENABLED_MODULES
IF(${CAMPVIS_DEFAULT_ENABLED_MODULES} STREQUAL "STABLE_NO_DEPENDENCIES" AND ThisModStatus STREQUAL STABLE AND NOT ThisModExternalDependencies)
SET(CAMPVIS_BUILD_MODULE_${ModDirUpper} ON CACHE BOOL "Build Module ${ModDir} (${ThisModStatus})" FORCE)
ENDIF()
IF(${CAMPVIS_DEFAULT_ENABLED_MODULES} STREQUAL "STABLE_WITH_EXTERNAL_DEPENDENCIES" AND ThisModStatus STREQUAL STABLE)
SET(CAMPVIS_BUILD_MODULE_${ModDirUpper} ON CACHE BOOL "Build Module ${ModDir} (${ThisModStatus})" FORCE)
ENDIF()
IF(${CAMPVIS_DEFAULT_ENABLED_MODULES} STREQUAL "TESTING" AND (ThisModStatus STREQUAL STABLE OR ThisModStatus STREQUAL TESTING))
SET(CAMPVIS_BUILD_MODULE_${ModDirUpper} ON CACHE BOOL "Build Module ${ModDir} (${ThisModStatus})" FORCE)
ENDIF()
IF(${CAMPVIS_DEFAULT_ENABLED_MODULES} STREQUAL "ALL")
SET(CAMPVIS_BUILD_MODULE_${ModDirUpper} ON CACHE BOOL "Build Module ${ModDir} (${ThisModStatus})" FORCE)
ENDIF()
ENDIF(NOT CAMPVIS_BUILD_MODULE_${ModDirUpper})
# if module is enabled, load .cmake file for the second time, this time also parsing its build instructions
IF(CAMPVIS_BUILD_MODULE_${ModDirUpper})
SET(ModuleEnabled TRUE)
INCLUDE(${ModuleListFile})
LIST(APPEND CampvisEnabledModules ${ModuleDirectory})
# merge module settings into global settings
LIST(APPEND CampvisModulesDefinitions ${ThisModDefinitions})
LIST(APPEND CampvisModulesIncludeDirs ${ThisModIncludeDirs})
LIST(APPEND CampvisModulesExternalLibs ${ThisModExternalLibs})
LIST(APPEND CampvisModulesLinkDirectories ${ThisModLinkDirectories})
LIST(APPEND CampvisModulesSources ${ThisModSources})
LIST(APPEND CampvisModulesHeaders ${ThisModHeaders})
LIST(APPEND CampvisModulesCoreSources ${ThisModCoreSources})
LIST(APPEND CampvisModulesCoreHeaders ${ThisModCoreHeaders})
LIST(APPEND CampvisExternalDllsDebug ${ThisModExternalDllsDebug})
LIST(APPEND CampvisExternalDllsRelease ${ThisModExternalDllsRelease})
# save dependencies in a variable to resolve them later
SET(${ModuleDirectory}ModDependencies ${ThisModDependencies})
# add shader directory to deployment list
LIST(APPEND CampvisShaderDirectories ${ThisModShaderDirectories})
# add definition that this module is activated
LIST(APPEND CampvisGlobalDefinitions -DCAMPVIS_HAS_MODULE_${ModuleDirectoryUpper})
# parse all header files for pipeline classes to add them to the pipeline registration
FOREACH(HeaderFile ${ThisModHeaders})
PARSE_HEADER_FOR_PIPELINE("modules/${HeaderFile}")
ENDFOREACH()
ENDIF(CAMPVIS_BUILD_MODULE_${ModDirUpper})
# unset module settings to avoid duplicates if module cmake file misses sth.
UNSET(ThisModDefinitions)
......@@ -90,6 +116,9 @@ MACRO(INCLUDE_MODULE ModuleDirectory ModuleListFile)
UNSET(ThisModExternalDllsRelease)
UNSET(ThisModShaderDirectories)
UNSET(ThisModDependencies)
UNSET(ThisModStatus)
UNSET(ThisModExternalDependencies)
UNSET(ModuleEnabled)
ENDMACRO(INCLUDE_MODULE)
MACRO(RESOLVE_MODULE_DEPENDENCIES)
......
......@@ -21,18 +21,13 @@ FOREACH(ModDir ${ModDirs})
LIST(APPEND CampvisModules ${ModDir})
# check whether the option to build this very module exists and is checked
INCLUDE_MODULE(${ModDir} ${ModFile})
IF(CAMPVIS_BUILD_MODULE_${ModDirUpper})
MESSAGE(STATUS "* Found Module '${ModDir}' : ENABLED")
INCLUDE_MODULE(${ModDir} ${ModFile})
ELSE()
MESSAGE(STATUS "* Found Module '${ModDir}'")
ENDIF(CAMPVIS_BUILD_MODULE_${ModDirUpper})
IF(NOT DEFINED CAMPVIS_BUILD_MODULE_${ModDirUpper})
# add a CMake option for building this module
OPTION(CAMPVIS_BUILD_MODULE_${ModDirUpper} "Build Module ${ModDir}" OFF)
ENDIF(NOT DEFINED CAMPVIS_BUILD_MODULE_${ModDirUpper})
ELSE(EXISTS ${ModFile})
MESSAGE(STATUS "* WARNING: Found Directory ${ModDir} Without CMake file - ignored")
ENDIF(EXISTS ${ModFile})
......@@ -41,3 +36,5 @@ ENDFOREACH(ModDir ${ModDirs})
SET(ModulesDirsParsed TRUE)
ENDIF(NOT ModulesDirsParsed)
RESOLVE_MODULE_DEPENDENCIES()
......@@ -3,8 +3,6 @@ CMAKE_MINIMUM_REQUIRED(VERSION 2.8.0 FATAL_ERROR)
#INCLUDE(../cmake/commonconf.cmake)
MESSAGE(STATUS "Configuring Campvis Modules")
SET_DEFAULT_MODULES("vis")
RESOLVE_MODULE_DEPENDENCIES()
WRITE_PIPELINE_REGISTRATION("gen_pipelineregistration.h")
LIST(APPEND CampvisModulesHeaders
......
# CMake file for AdvancedUsVis module
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/advancedusvis/pipelines/*.cpp
modules/advancedusvis/processors/*.cpp
)
IF(ModuleEnabled)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/advancedusvis/pipelines/*.cpp
modules/advancedusvis/processors/*.cpp
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/advancedusvis/glsl/*.frag
modules/advancedusvis/glsl/*.vert
modules/advancedusvis/pipelines/*.h
modules/advancedusvis/processors/*.h
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/advancedusvis/glsl/*.frag
modules/advancedusvis/glsl/*.vert
modules/advancedusvis/pipelines/*.h
modules/advancedusvis/processors/*.h
)
SET(ThisModShaderDirectories "modules/advancedusvis/glsl")
SET(ThisModShaderDirectories "modules/advancedusvis/glsl")
ENDIF(ModuleEnabled)
SET(ThisModStatus EXPERIMENTAL)
SET(ThisModExternalDependencies FALSE)
# CMake file for campcom module
LIST(APPEND CMAKE_MODULE_PATH "${ModulesDir}/campcom")
FIND_PACKAGE(CAMPCom REQUIRED)
IF(CAMPCOM_FOUND)
#LIST(APPEND ThisModIncludeDirs ${CAMPCOM_INCLUDE_DIRS})
LIST(APPEND ThisModExternalLibs ${CAMPCOM_LIBRARIES})
# dirty hack
INCLUDE("${CAMPCOM_INCLUDE_DIR}/cmake/campcom_use_file.cmake")
LIST(APPEND ThisModIncludeDirs ${CAMPCOM_INCLUDE_DIRS})
LIST(APPEND ThisModExternalLibs ${CAMPCOM_EXTERNAL_LIBS})
ELSE()
MESSAGE(FATAL_ERROR "Could not find CAMPCom. Please specify CAMPCOM_ROOT.")
ENDIF()
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/campcom/pipelines/*.cpp
modules/campcom/processors/*.cpp
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/campcom/pipelines/*.h
modules/campcom/processors/*.h
)
SET(ThisModDependencies vis)
IF(ModuleEnabled)
LIST(APPEND CMAKE_MODULE_PATH "${ModulesDir}/campcom")
FIND_PACKAGE(CAMPCom REQUIRED)
IF(CAMPCOM_FOUND)
#LIST(APPEND ThisModIncludeDirs ${CAMPCOM_INCLUDE_DIRS})
LIST(APPEND ThisModExternalLibs ${CAMPCOM_LIBRARIES})
# dirty hack
INCLUDE("${CAMPCOM_INCLUDE_DIR}/cmake/campcom_use_file.cmake")
LIST(APPEND ThisModIncludeDirs ${CAMPCOM_INCLUDE_DIRS})
LIST(APPEND ThisModExternalLibs ${CAMPCOM_EXTERNAL_LIBS})
ELSE()
MESSAGE(FATAL_ERROR "Could not find CAMPCom. Please specify CAMPCOM_ROOT.")
ENDIF()
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/campcom/pipelines/*.cpp
modules/campcom/processors/*.cpp
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/campcom/pipelines/*.h
modules/campcom/processors/*.h
)
SET(ThisModDependencies vis)
ENDIF(ModuleEnabled)
SET(ThisModStatus TESTING)
SET(ThisModExternalDependencies TRUE)
# CMake file for columbia module
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/columbia/datastructures/*.cpp
modules/columbia/pipelines/*.cpp
modules/columbia/processors/*.cpp
)
IF(ModuleEnabled)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/columbia/datastructures/*.cpp
modules/columbia/pipelines/*.cpp
modules/columbia/processors/*.cpp
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/columbia/datastructures/*.h
modules/columbia/glsl/*.frag
modules/columbia/glsl/*.geom
modules/columbia/glsl/*.vert
modules/columbia/pipelines/*.h
modules/columbia/processors/*.h
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/columbia/datastructures/*.h
modules/columbia/glsl/*.frag
modules/columbia/glsl/*.geom
modules/columbia/glsl/*.vert
modules/columbia/pipelines/*.h
modules/columbia/processors/*.h
)
SET(ThisModShaderDirectories "modules/columbia/glsl")
SET(ThisModShaderDirectories "modules/columbia/glsl")
ENDIF(ModuleEnabled)
SET(ThisModStatus EXPERIMENTAL)
SET(ThisModExternalDependencies FALSE)
# CMake file for DevIL module
# Tell TGT that we have the DevIL module
LIST(APPEND ThisModDefinitions -DTGT_HAS_DEVIL)
IF(ModuleEnabled)
# Tell TGT that we have the DevIL module
LIST(APPEND ThisModDefinitions -DTGT_HAS_DEVIL)
IF(UNIX)
# Unix-like systems have their DevIL lib via their package manager
FIND_PACKAGE(DevIL REQUIRED)
LIST(APPEND CampvisGlobalIncludeDirs ${IL_INCLUDE_DIR})
LIST(APPEND CampvisGlobalExternalLibs ${IL_LIBRARIES} ${ILU_LIBRARIES})
IF(IL_FOUND)
MESSAGE(STATUS "** Found DevIL library")
ELSE()
MESSAGE(WARNING "Could not find DevIL library. Check your package manager to make sure DevIL is installed on your system.")
ENDIF()
ELSEIF(WIN32)
# DevIL libs for Windows systems are shipped with this module, make sure they're copied to the dist folder.
LIST(APPEND CampvisGlobalIncludeDirs "${ThisModDir}/ext/devil/include")
IF(UNIX)
# Unix-like systems have their DevIL lib via their package manager
FIND_PACKAGE(DevIL REQUIRED)
LIST(APPEND CampvisGlobalIncludeDirs ${IL_INCLUDE_DIR})
LIST(APPEND CampvisGlobalExternalLibs ${IL_LIBRARIES} ${ILU_LIBRARIES})
IF(IL_FOUND)
MESSAGE(STATUS "** Found DevIL library")
ELSE()
MESSAGE(WARNING "Could not find DevIL library. Check your package manager to make sure DevIL is installed on your system.")
ENDIF()
ELSEIF(WIN32)
# DevIL libs for Windows systems are shipped with this module, make sure they're copied to the dist folder.
LIST(APPEND CampvisGlobalIncludeDirs "${ThisModDir}/ext/devil/include")
IF(CAMPVIS_WIN32)
LIST(APPEND CampvisGlobalExternalLibs
"${ThisModDir}/ext/devil/lib/win32/DevIL.lib"
"${ThisModDir}/ext/devil/lib/win32/ILU.lib"
)
LIST(APPEND CampvisExternalDllsDebug
"${ThisModDir}/ext/devil/lib/win32/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win32/ILU.dll"
)
LIST(APPEND CampvisExternalDllsRelease
"${ThisModDir}/ext/devil/lib/win32/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win32/ILU.dll"
)
ELSEIF(CAMPVIS_WIN64)
LIST(APPEND CampvisGlobalExternalLibs
"${ThisModDir}/ext/devil/lib/win64/DevIL.lib"
"${ThisModDir}/ext/devil/lib/win64/ILU.lib"
)
IF(CAMPVIS_WIN32)
LIST(APPEND CampvisGlobalExternalLibs
"${ThisModDir}/ext/devil/lib/win32/DevIL.lib"
"${ThisModDir}/ext/devil/lib/win32/ILU.lib"
)
LIST(APPEND CampvisExternalDllsDebug
"${ThisModDir}/ext/devil/lib/win32/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win32/ILU.dll"
)
LIST(APPEND CampvisExternalDllsRelease
"${ThisModDir}/ext/devil/lib/win32/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win32/ILU.dll"
)
ELSEIF(CAMPVIS_WIN64)
LIST(APPEND CampvisGlobalExternalLibs
"${ThisModDir}/ext/devil/lib/win64/DevIL.lib"
"${ThisModDir}/ext/devil/lib/win64/ILU.lib"
)
LIST(APPEND CampvisExternalDllsDebug
"${ThisModDir}/ext/devil/lib/win64/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win64/ILU.dll"
)
LIST(APPEND CampvisExternalDllsRelease
"${ThisModDir}/ext/devil/lib/win64/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win64/ILU.dll"
)
ENDIF()
LIST(APPEND CampvisExternalDllsDebug
"${ThisModDir}/ext/devil/lib/win64/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win64/ILU.dll"
)
LIST(APPEND CampvisExternalDllsRelease
"${ThisModDir}/ext/devil/lib/win64/DevIL.dll"
"${ThisModDir}/ext/devil/lib/win64/ILU.dll"
)
# LIST(APPEND MOD_DEBUG_DLLS "${ThisModDir}/ext/jpeg/jpeg62.dll")
# LIST(APPEND MOD_RELEASE_DLLS "${ThisModDir}/ext/jpeg/jpeg62.dll")
ENDIF()
# LIST(APPEND MOD_DEBUG_DLLS "${ThisModDir}/ext/jpeg/jpeg62.dll")
# LIST(APPEND MOD_RELEASE_DLLS "${ThisModDir}/ext/jpeg/jpeg62.dll")
ENDIF()
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/devil/processors/*.cpp
)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/devil/processors/*.cpp
)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/devil/processors/*.h
)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/devil/processors/*.h
)
ENDIF(ModuleEnabled)
SET(ThisModStatus STABLE)
IF(WIN32)
SET(ThisModExternalDependencies FALSE)
ELSE()
SET(ThisModExternalDependencies TRUE)
ENDIF(WIN32)
# CMake file for IO module
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/io/processors/*.cpp
)
IF(ModuleEnabled)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/io/processors/*.cpp
)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/io/processors/*.h
)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/io/processors/*.h
)
ENDIF(ModuleEnabled)
SET(ThisModStatus STABLE)
SET(ThisModExternalDependencies FALSE)
# CMake file for ITK module
FIND_PACKAGE (ITK REQUIRED
ITKCommon
ITKIOImageBase
ITKSmoothing
ITKImageFeature
ITKAnisotropicSmoothing
ITKMathematicalMorphology
ITKBinaryMathematicalMorphology
IF(ModuleEnabled)
FIND_PACKAGE (ITK REQUIRED)
IF(ITK_FOUND)
# Since we use ITK classes also in the core module, we need to set global include dirs and global external libs
LIST(APPEND CampvisGlobalIncludeDirs ${ITK_INCLUDE_DIRS})
LIST(APPEND CampvisGlobalExternalLibs ${ITK_LIBRARIES})
IF("${ITK_VERSION_MAJOR}" LESS 4)
MESSAGE(FATAL_ERROR "Found ITK Version ${ITK_VERSION_MAJOR} < 4. CAMPVis needs ITK version >= 4.")
ELSE()
MESSAGE(STATUS " Found ITK library")
ENDIF()
ELSE(ITK_FOUND)
MESSAGE(FATAL_ERROR "Could not locate ITK.")
ENDIF(ITK_FOUND)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/itk/processors/*.cpp
modules/itk/tools/*.cpp
)
IF(ITK_FOUND)
#MESSAGE(STATUS ${ITK_INCLUDE_DIRS})
#MESSAGE(STATUS ${ITK_LIBRARIES})
#INCLUDE(${USE_ITK_FILE})
LIST(APPEND CampvisGlobalIncludeDirs ${ITK_INCLUDE_DIRS})
LIST(APPEND CampvisGlobalExternalLibs ${ITK_LIBRARIES})
#SET(ThisModIncludeDirs ${ITK_INCLUDE_DIRS})
#SET(ThisModExternalLibs ${ITK_LIBRARIES})
IF("${ITK_VERSION_MAJOR}" LESS 4)
MESSAGE(FATAL_ERROR "Found ITK Version ${ITK_VERSION_MAJOR} < 4. CAMPVis needs ITK version >= 4.")
ELSE()
MESSAGE(STATUS " Found ITK library")
ENDIF()
ELSE(ITK_FOUND)
MESSAGE(FATAL_ERROR "Could not locate ITK.")
ENDIF(ITK_FOUND)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/itk/processors/*.cpp
modules/itk/tools/*.cpp
)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/itk/processors/*.h
modules/itk/tools/*.h
modules/itk/core/*.h
)
ENDIF(ModuleEnabled)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/itk/processors/*.h
modules/itk/tools/*.h
modules/itk/core/*.h
)
SET(ThisModStatus STABLE)
SET(ThisModExternalDependencies TRUE)
# CMake file for IXPV module
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/ixpv/pipelines/*.cpp
modules/ixpv/processors/*.cpp
)
IF(ModuleEnabled)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/ixpv/pipelines/*.cpp
modules/ixpv/processors/*.cpp
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/ixpv/glsl/*.frag
modules/ixpv/glsl/*.vert
modules/ixpv/pipelines/*.h
modules/ixpv/processors/*.h
)
# Header files (including GLSL files so that they'll appear in VS projects)
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/ixpv/glsl/*.frag
modules/ixpv/glsl/*.vert
modules/ixpv/pipelines/*.h
modules/ixpv/processors/*.h
)
SET(ThisModShaderDirectories "modules/ixpv/glsl")
SET(ThisModDependencies vis devil io)
SET(ThisModShaderDirectories "modules/ixpv/glsl")
SET(ThisModDependencies vis devil io)
ENDIF(ModuleEnabled)
SET(ThisModStatus TESTING)
SET(ThisModExternalDependencies FALSE)
# CMake file for Preprocessing module
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/preprocessing/pipelines/*.cpp
modules/preprocessing/processors/*.cpp
modules/preprocessing/tools/*.cpp
)
IF(ModuleEnabled)
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/preprocessing/pipelines/*.cpp
modules/preprocessing/processors/*.cpp
modules/preprocessing/tools/*.cpp
)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/preprocessing/glsl/*.frag
modules/preprocessing/pipelines/*.h
modules/preprocessing/processors/*.h
modules/preprocessing/tools/*.h
)
# Header files
FILE(GLOB ThisModHeaders RELATIVE ${ModulesDir}
modules/preprocessing/glsl/*.frag
modules/preprocessing/pipelines/*.h
modules/preprocessing/processors/*.h
modules/preprocessing/tools/*.h
)
SET(ThisModShaderDirectories "modules/preprocessing/glsl")
SET(ThisModDependencies vis)
\ No newline at end of file
SET(ThisModShaderDirectories "modules/preprocessing/glsl")
SET(ThisModDependencies vis)
ENDIF(ModuleEnabled)
SET(ThisModStatus STABLE)
SET(ThisModExternalDependencies FALSE)
# CMake file for Randomwalk module
# build RadomWalksLib library
ADD_SUBDIRECTORY(modules/randomwalk/ext/RandomWalksLib)
IF(ModuleEnabled)
# build RadomWalksLib library
ADD_SUBDIRECTORY(modules/randomwalk/ext/RandomWalksLib)
SET(ThisModExternalLibs "RandomWalksLib")
SET(ThisModExternalLibs "RandomWalksLib")
#add additional processors:
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}
modules/randomwalk/processors/*.cpp
)
#add additional processors:
# Source files:
FILE(GLOB ThisModSources RELATIVE ${ModulesDir}