Commit 92a22de6 authored by promayon's avatar promayon

NEW CEP architecture step #1


git-svn-id: svn+ssh://scm.forge.imag.fr/var/lib/gforge/chroot/scmrepos/svn/camitk/trunk/camitk@733 ec899d31-69d1-42ba-9299-647d76f65fb3
parent ba6ef4d8

Too many changes to show.

To preserve performance only 1000 of 1000+ files are displayed.
#
# CamiTK CMakeLists
# CamiTK Open Source CMakeLists
#
# WARNING!
# CamiTK macros (component_extension, application_extension...) use GLOB to collect a
# list of source files from your source tree, which means that if no CMakeLists.txt file changes
# when a new source file is added or removed to your project then the generated build system
# cannot know when to ask CMake to regenerate.
# => DO NOT FORGET to regenerate CMake in case you add/remove a source file to your project
# all CMake project names and variables should be in uppercase
project(CAMITKSDK)
cmake_minimum_required(VERSION 2.6)
# Find Qt (Qt4 without Qt3 support!)
find_package(Qt4 REQUIRED)
include(${QT_USE_FILE})
set (QT_USE_QT3SUPPORT OFF)
# Find VTK
find_package(VTK REQUIRED)
include(${VTK_USE_FILE})
# Configure CamiTK
# update module path
set(CMAKE_MODULE_PATH ${CMAKE_MODULE_PATH} ${CMAKE_CURRENT_SOURCE_DIR}/cmake/modules)
# include CamiTK Internal Build environment
include(CamiTKCoreBuild)
# include CamiTK variables
include(CamiTKVariables)
# include CamiTK generic macros from CMAKE_MODULE_PATH directory
include(CamiTKMacros)
# include CamiTK test macros
include(CamiTKTestMacros)
# include CamiTK log configuration
include(CamiTKLog)
# include CamiTK auto-documentation generation
include(CamiTKApiDoc)
# include CamiTK package generation
include(CamiTKPackaging)
# enables to specify which target to launch to MSVC
include(CreateLaunchers)
# Eeach library compiled in Debug mode are suffixed with an D
set(CMAKE_DEBUG_POSTFIX "D" CACHE TYPE STRING)
# By default, validate all projects are build in the build/bin directory (no subfolders).
# Note that, subfolders for actions / components are added later.
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CAMITK_BIN_DIR})
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CAMITK_BIN_DIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CAMITK_BIN_DIR})
# Remove the Debug, Release subfolders in build/bin, natively created with Visual Studio
if ( ${CMAKE_GENERATOR} MATCHES "Visual Studio") # MSVC compiler
foreach( OUTPUTCONFIG ${CMAKE_CONFIGURATION_TYPES} )
string( TOUPPER ${OUTPUTCONFIG} OUTPUTCONFIG )
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CAMITK_BIN_DIR} CACHE TYPE STRING)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CAMITK_BIN_DIR} CACHE TYPE STRING)
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${OUTPUTCONFIG} ${CAMITK_BIN_DIR} CACHE TYPE STRING)
endforeach( OUTPUTCONFIG CMAKE_CONFIGURATION_TYPES )
endif(${CMAKE_GENERATOR} MATCHES "Visual Studio")
# Specific to SDK: control the version (major, minor, default patch and )
set(CAMITK_VERSION_MAJOR "3")
set(CAMITK_VERSION_MINOR "1")
set(CAMITK_VER_NICKNAME "sapphire") # blue, sapphire, azure, indigo, iris, Teal, cyan, turquoise, denim, celeste, zaffre, glaucous, ultramarine, cerulean
set(CAMITK_VERSION_PATCH "1") # patch version for packaging, change when appropriate
# Create the Xml data for Project.xml description, fyi store in the global variable CAMITK_XML_PROJECT_DESCRIPTION
camitk_sub_project_init()
# Specific to SDK: this is the SDK build
set(CAMITK_SDK_BUILD TRUE)
# add all subprojects
add_subdirectory(cmake) # rules for cmake install
add_subdirectory(core)
camitk_add_subdirectory(tools)
camitk_add_subdirectory(components)
camitk_add_subdirectory(actions)
camitk_add_subdirectory(applications)
# Specific to SDK: first compile the SDK (it looks like a CEP but is sooooo special...)
add_subdirectory(sdk)
# Validate and write down the Project.xml file
# This file contains all the CamiTK project description with subprojects and their CMake target dependencies
# This file is needed for CDash to correctly update the Dashboard accordingly to the project
# Thus, CDash continuous integration dashboard is automatically updated when adding a new extension
# to CamiTK, using the corresponding macro
camitk_sub_project_validate(${CMAKE_BINARY_DIR})
#-- This is a CEP set...
set(CAMITK_EXTENSION_PROJECT_SET TRUE CACHE BOOL "Is this a CamiTK Extension Project Set?")
# For Microsoft Visual C++, sets the default application to imp for the "ALL_BUILD" project
# (i.e. launches imp when we you click on "Debug" or "Start Without Debugging" button on Visual)
# In addition, but not the least, sets the environment to the debug dll directory for VTK (and ITK)
# to solve the dll incompatibility between debug and relase version of QVTK.dll and ITKCommon.dll
if ( MSVC )
create_default_target_launcher(
application-imp
RUNTIME_LIBRARY_DIRS "%VTK_DIR%/bin/$(OutDir)" "%ITK_DIR%/bin/$(OutDir)"
)
endif( MSVC )
# ...composed by the following CamiTK Extension Projects
add_subdirectory(imaging)
add_subdirectory(modeling)
\ No newline at end of file
camitk_extension(
ACTION_EXTENSION
DEFAULT
DEFINES COMPILE_LUT_ACTION_API)
\ No newline at end of file
camitk_extension(
ACTION_EXTENSION
DEFAULT
DEFINES COMPILE_MULTIPICKING_ACTION_API
INSTALL_ALL_HEADERS)
\ No newline at end of file
camitk_extension(
ACTION_EXTENSION
DEFAULT
DEFINES COMPILE_RECONSTRUCTION_ACTION_API)
\ No newline at end of file
camitk_extension(
ACTION_EXTENSION
DEFAULT
)
\ No newline at end of file
camitk_extension(
ACTION_EXTENSION
DEFAULT
NEEDS_QTXML
DEFINES COMPILE_VOLUME_RENDERING_ACTION_API)
camitk_extension(ACTION_EXTENSION
DEFAULT
DEFINES COMPILE_BASIC_MESH_ACTION_API)
\ No newline at end of file
camitk_extension(
ACTION_EXTENSION
DEFAULT
DEFINES COMPILE_BASIC_TOPOLOGY_ACTION_API)
\ No newline at end of file
camitk_extension(
ACTION_EXTENSION
DEFAULT
NEEDS_COMPONENT_EXTENSION vtkmesh
DEFINES COMPILE_MESHPROCESSING_ACTION_API
)
......@@ -4,7 +4,7 @@
# To add an application, just add a subdirectory (the application name is the
# directory name). Add all your code there and a text file called
# CMakeLists.txt
# In your CMakeLists.txt, use the application_extension() macro apropriately
# In your CMakeLists.txt, use the camitk_application() macro apropriately
# Find applications
get_subdirectories(APPLICATIONS_LIST)
......
application_extension(DEFAULT)
\ No newline at end of file
/*****************************************************************************
* $CAMITK_LICENCE_BEGIN$
*
* CamiTK - Computer Assisted Medical Intervention ToolKit
* (c) 2001-2013 UJF-Grenoble 1, CNRS, TIMC-IMAG UMR 5525 (GMCAO)
*
* Visit http://camitk.imag.fr for more information
*
* This file is part of CamiTK.
*
* CamiTK is free software: you can redistribute it and/or modify