Commit d60cce06 authored by WINTZ Julien's avatar WINTZ Julien

Initial revision.

parent a76677b9
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
*~
## ###################################################################
## Build tree
## ###################################################################
build
build*
## ###################################################################
## Install tree
## ###################################################################
install
install*
######################################################################
### .gitignore ends here
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
cmake_minimum_required(VERSION 3.0.0)
######################################################################
project(dtkVisualization)
## ###################################################################
## Version setup
## ###################################################################
set(${PROJECT_NAME}_VERSION_MAJOR 0)
set(${PROJECT_NAME}_VERSION_MINOR 0)
set(${PROJECT_NAME}_VERSION_PATCH 1)
set(${PROJECT_NAME}_VERSION
${${PROJECT_NAME}_VERSION_MAJOR}.${${PROJECT_NAME}_VERSION_MINOR}.${${PROJECT_NAME}_VERSION_PATCH})
## ###################################################################
## Output directory setup
## ###################################################################
include(GNUInstallDirs)
set(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
set(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/${CMAKE_INSTALL_LIBDIR})
set(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${PROJECT_BINARY_DIR}/bin)
## #################################################################
## Install prefix
## #################################################################
if(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
set(CMAKE_INSTALL_PREFIX "${CMAKE_SOURCE_DIR}/install" CACHE PATH "${PROJECT_NAME} install prefix" FORCE)
endif(CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
## #################################################################
## Generate compilation database
## #################################################################
set(CMAKE_EXPORT_COMPILE_COMMANDS "ON")
## #################################################################
## Build setup
## #################################################################
set(CMAKE_CXX_STANDARD 11)
set(CMAKE_CXX_STANDARD_REQUIRED ON)
## ###################################################################
## Dependencies - cmake
## ###################################################################
include(GenerateExportHeader)
## #################################################################
## Dependencies - external
## #################################################################
find_package(VTK REQUIRED)
find_package(Qt5Core REQUIRED)
find_package(Qt5Widgets REQUIRED)
find_package(Qt5OpenGL REQUIRED)
set(CMAKE_AUTOMOC ON)
set(CMAKE_INCLUDE_CURRENT_DIR ON)
include(${VTK_USE_FILE})
## #################################################################
## Dependencies - internal
## #################################################################
include_directories(${CMAKE_BINARY_DIR})
include_directories(${CMAKE_SOURCE_DIR}/src)
include_directories(${CMAKE_SOURCE_DIR}/src/dtkVisualization)
## ###################################################################
## Input
## ###################################################################
add_subdirectory(src)
## add_subdirectory(app)
## ###################################################################
## Exporting
## ###################################################################
export(TARGETS ${PROJECT_NAME} FILE "${CMAKE_BINARY_DIR}/${PROJECT_NAME}Depends.cmake")
export(PACKAGE ${PROJECT_NAME})
configure_file(${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
"${CMAKE_BINARY_DIR}/${PROJECT_NAME}Config.cmake" @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.cmake.in
"${CMAKE_BINARY_DIR}/install/${PROJECT_NAME}Config.cmake" @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}ConfigVersion.cmake.in
"${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.install.cmake.in
"${CMAKE_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" @ONLY)
configure_file(${CMAKE_SOURCE_DIR}/cmake/${PROJECT_NAME}Config.install.cmake.in
"${CMAKE_BINARY_DIR}/install/${PROJECT_NAME}ConfigVersion.cmake" @ONLY)
install(FILES
"${CMAKE_BINARY_DIR}/install/${PROJECT_NAME}Config.cmake"
"${CMAKE_BINARY_DIR}/install/${PROJECT_NAME}ConfigVersion.cmake"
DESTINATION cmake)
install(EXPORT ${PROJECT_NAME}Depends DESTINATION lib/cmake)
## ###################################################################
## Beautifying
## ###################################################################
mark_as_advanced(${PROJECT_NAME}_VERSION_MAJOR)
mark_as_advanced(${PROJECT_NAME}_VERSION_MINOR)
mark_as_advanced(${PROJECT_NAME}_VERSION_BUILD)
mark_as_advanced(Qt5OpenGL_DIR)
mark_as_advanced(Qt5Concurrent_DIR)
mark_as_advanced(Qt5Core_DIR)
mark_as_advanced(Qt5Declarative_DIR)
mark_as_advanced(Qt5Gui_DIR)
mark_as_advanced(Qt5Network_DIR)
mark_as_advanced(Qt5Qml_DIR)
mark_as_advanced(Qt5Quick_DIR)
mark_as_advanced(Qt5QuickTest_DIR)
mark_as_advanced(Qt5Script_DIR)
mark_as_advanced(Qt5Test_DIR)
mark_as_advanced(Qt5Widgets_DIR)
mark_as_advanced(Qt5Xml_DIR)
mark_as_advanced(Qt5Sql_DIR)
mark_as_advanced(CMAKE_AR)
mark_as_advanced(CMAKE_BUILD_TYPE)
mark_as_advanced(CMAKE_INSTALL_PREFIX)
mark_as_advanced(CMAKE_OSX_ARCHITECTURES)
mark_as_advanced(CMAKE_OSX_DEPLOYMENT_TARGET)
mark_as_advanced(CMAKE_OSX_SYSROOT)
## ###################################################################
## Packaging
## ###################################################################
include(InstallRequiredSystemLibraries)
set(CPACK_PACKAGE_VERSION_MAJOR "${${PROJECT_NAME}_VERSION_MAJOR}")
set(CPACK_PACKAGE_VERSION_MINOR "${${PROJECT_NAME}_VERSION_MINOR}")
set(CPACK_PACKAGE_VERSION_PATCH "${${PROJECT_NAME}_VERSION_PATCH}")
include(CPack)
######################################################################
### CMakeLists.txt ends here
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
set(dtkVisualization_INCLUDE_DIRS
"@CMAKE_CURRENT_SOURCE_DIR@/src"
"@CMAKE_CURRENT_SOURCE_DIR@/src/dtkVisualization"
"@CMAKE_CURRENT_BINARY_DIR@")
include("@CMAKE_BINARY_DIR@/dtkVisualizationDepends.cmake")
######################################################################
### dtkVisualizationConfig.cmake.in ends here
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
set(dtkVisualization_INCLUDE_DIRS
"@CMAKE_INSTALL_PREFIX@/include"
"@CMAKE_INSTALL_PREFIX@/include/dtkVisualization")
include("@CMAKE_INSTALL_PREFIX@/@CMAKE_INSTALL_LIBDIR@/cmake/dtkVisualization/dtkVisualizationDepends.cmake")
######################################################################
### dtkVisualizationConfig.install.cmake.in ends here
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
set(PACKAGE_VERSION "@dtkVisualization_VERSION@")
if("${PACKAGE_VERSION}" VERSION_LESS "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_COMPATIBLE FALSE)
else()
set(PACKAGE_VERSION_COMPATIBLE TRUE)
if ("${PACKAGE_VERSION}" VERSION_EQUAL "${PACKAGE_FIND_VERSION}")
set(PACKAGE_VERSION_EXACT TRUE)
endif()
endif()
######################################################################
### dtkVisualizationConfigVersion.cmake.in ends here
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
add_subdirectory(dtkVisualization)
######################################################################
### CMakeLists.txt ends here
## Version: $Id$
##
######################################################################
##
### Commentary:
##
######################################################################
##
### Change Log:
##
######################################################################
##
### Code:
project(dtkVisualization)
## #################################################################
## Sources
## #################################################################
set(${PROJECT_NAME}_HEADERS
dtkVisualizationView
dtkVisualizationView.h)
set(${PROJECT_NAME}_SOURCES
dtkVisualizationView.cpp)
## #################################################################
## Build rules
## #################################################################
add_library(${PROJECT_NAME} SHARED
${${PROJECT_NAME}_SOURCES}
${${PROJECT_NAME}_HEADERS})
qt5_use_modules(${PROJECT_NAME} Core)
qt5_use_modules(${PROJECT_NAME} Widgets)
qt5_use_modules(${PROJECT_NAME} OpenGL)
target_link_libraries(${PROJECT_NAME} ${VTK_LIBRARIES})
## #################################################################
## Export header file
## #################################################################
generate_export_header(${PROJECT_NAME} EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${PROJECT_NAME}Export")
generate_export_header(${PROJECT_NAME} EXPORT_FILE_NAME "${CMAKE_BINARY_DIR}/${PROJECT_NAME}Export.h")
set(${PROJECT_NAME}_HEADERS
${${PROJECT_NAME}_HEADERS}
"${CMAKE_BINARY_DIR}/${PROJECT_NAME}Export"
"${CMAKE_BINARY_DIR}/${PROJECT_NAME}Export.h")
## ###################################################################
## Install rules - files
## ###################################################################
install(FILES ${${PROJECT_NAME}_HEADERS}
DESTINATION include/${PROJECT_NAME}
COMPONENT visualization)
## ###################################################################
## Install rules - targets
## ###################################################################
install(TARGETS ${PROJECT_NAME}
EXPORT dtkVisualizationDepends
LIBRARY DESTINATION ${CMAKE_LIBRARY_OUTPUT_DIRECTORY}
RUNTIME DESTINATION ${CMAKE_RUNTIME_OUTPUT_DIRECTORY}
COMPONENT visualization)
######################################################################
### CMakeLists.txt ends here
// Version: $Id$
//
//
// Commentary:
//
//
// Change Log:
//
//
// Code:
#include "dtkVisualizationView.h"
#include <QVTKOpenGLWidget.h>
// ///////////////////////////////////////////////////////////////////
// dtkVisualizationViewPrivate
// ///////////////////////////////////////////////////////////////////
class dtkVisualizationViewPrivate : public QVTKOpenGLWidget
{
Q_OBJECT
public:
dtkVisualizationViewPrivate(QWidget *parent = Q_NULLPTR);
~dtkVisualizationViewPrivate(void);
};
dtkVisualizationViewPrivate::dtkVisualizationViewPrivate(QWidget *parent) : QVTKOpenGLWidget(parent)
{
}
dtkVisualizationViewPrivate::~dtkVisualizationViewPrivate(void)
{
}
// ///////////////////////////////////////////////////////////////////
// dtkVisualizationView
// ///////////////////////////////////////////////////////////////////
dtkVisualizationView::dtkVisualizationView(QWidget *parent) : QWidget(parent)
{
d = new dtkVisualizationViewPrivate(this);
}
dtkVisualizationView::~dtkVisualizationView(void)
{
}
// ///////////////////////////////////////////////////////////////////
#include "dtkVisualizationView.moc"
//
// dtkVisualizationView.cpp ends here
// Version: $Id$
//
//
// Commentary:
//
//
// Change Log:
//
//
// Code:
#pragma once
#include <QtCore>
#include <QtWidgets>
#include <dtkVisualizationExport>
class DTKVISUALIZATION_EXPORT dtkVisualizationView : public QWidget
{
Q_OBJECT
public:
dtkVisualizationView(QWidget *parent = Q_NULLPTR);
~dtkVisualizationView(void);
private:
class dtkVisualizationViewPrivate *d;
};
//
// dtkVisualizationView.h ends here
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment