From fd4a05755944aaab83934e238a34c32a66e13d81 Mon Sep 17 00:00:00 2001 From: rnv Date: Fri, 25 Oct 2013 07:22:11 +0000 Subject: [PATCH] Porting HEXABLOCKPLUGIN to the CMake build system: initial version. --- CMakeLists.txt | 238 ++++++++++ HEXABLOCKPLUGIN_version.h.in | 20 +- Makefile.am | 56 --- SalomeHEXABLOCKPLUGINConfig.cmake.in | 109 +++++ .../Makefile.am => CMakeLists.txt} | 11 +- adm_local/cmake_files/CMakeLists.txt | 28 ++ .../FindSalomeHEXABLOCKPLUGIN.cmake | 23 +- .../{Makefile.am => unix/CMakeLists.txt} | 6 +- .../unix/config_files/CMakeLists.txt | 21 +- adm_local/unix/make_common_starter.am | 94 ---- .../unix/Makefile.am => bin/CMakeLists.txt | 6 +- bin/VERSION.in | 4 +- build_configure | 128 ------ clean_configure | 25 -- configure.ac | 409 ------------------ idl/CMakeLists.txt | 47 ++ idl/Makefile.am | 124 ------ resources/{Makefile.am => CMakeLists.txt} | 32 +- src/CMakeLists.txt | 41 ++ src/GUI/CMakeLists.txt | 91 ++++ src/GUI/Makefile.am | 64 --- src/HEXABLOCKPlugin/CMakeLists.txt | 92 ++++ .../HEXABLOCKPlugin_Hypothesis.cxx | 8 + .../HEXABLOCKPlugin_Hypothesis.hxx | 2 +- src/HEXABLOCKPlugin/Makefile.am | 67 --- 25 files changed, 717 insertions(+), 1029 deletions(-) create mode 100755 CMakeLists.txt delete mode 100755 Makefile.am create mode 100644 SalomeHEXABLOCKPLUGINConfig.cmake.in rename adm_local/{unix/config_files/Makefile.am => CMakeLists.txt} (76%) create mode 100755 adm_local/cmake_files/CMakeLists.txt rename src/Makefile.am => adm_local/cmake_files/FindSalomeHEXABLOCKPLUGIN.cmake (64%) mode change 100755 => 100644 rename adm_local/{Makefile.am => unix/CMakeLists.txt} (86%) rename bin/Makefile.am => adm_local/unix/config_files/CMakeLists.txt (70%) delete mode 100755 adm_local/unix/make_common_starter.am rename adm_local/unix/Makefile.am => bin/CMakeLists.txt (85%) delete mode 100755 build_configure delete mode 100755 clean_configure delete mode 100755 configure.ac create mode 100755 idl/CMakeLists.txt delete mode 100755 idl/Makefile.am rename resources/{Makefile.am => CMakeLists.txt} (60%) create mode 100755 src/CMakeLists.txt create mode 100644 src/GUI/CMakeLists.txt delete mode 100755 src/GUI/Makefile.am create mode 100644 src/HEXABLOCKPlugin/CMakeLists.txt delete mode 100755 src/HEXABLOCKPlugin/Makefile.am diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100755 index 0000000..d1997ec --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,238 @@ +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# +CMAKE_MINIMUM_REQUIRED(VERSION 2.8.8 FATAL_ERROR) +PROJECT(SalomeHEXABLOCKPLUGIN C CXX) + +# Ensure a proper linker behavior: +CMAKE_POLICY(SET CMP0003 NEW) + +# Versioning +# =========== +# Project name, upper case +STRING(TOUPPER ${PROJECT_NAME} PROJECT_NAME_UC) + +SET(${PROJECT_NAME_UC}_MAJOR_VERSION 7) +SET(${PROJECT_NAME_UC}_MINOR_VERSION 2) +SET(${PROJECT_NAME_UC}_PATCH_VERSION 0) +SET(${PROJECT_NAME_UC}_VERSION + ${${PROJECT_NAME_UC}_MAJOR_VERSION}.${${PROJECT_NAME_UC}_MINOR_VERSION}.${${PROJECT_NAME_UC}_PATCH_VERSION}) +SET(${PROJECT_NAME_UC}_VERSION_DEV 1) + +# Find KERNEL +# =========== +SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "Path to the Salome KERNEL") +IF(EXISTS ${KERNEL_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${KERNEL_ROOT_DIR}/salome_adm/cmake_files") + INCLUDE(SalomeMacros) + FIND_PACKAGE(SalomeKERNEL REQUIRED) +ELSE(EXISTS ${KERNEL_ROOT_DIR}) + MESSAGE(FATAL_ERROR "We absolutely need a Salome KERNEL, please define KERNEL_ROOT_DIR") +ENDIF(EXISTS ${KERNEL_ROOT_DIR}) + +IF(SALOME_LIGHT_ONLY) + MESSAGE(FATAL_ERROR "HEXABLOCKPLUGIN module can't be built in Light mode (without CORBA)") +ENDIF() + +# Platform setup +# ============== +INCLUDE(SalomeSetupPlatform) # From KERNEL +# Always build libraries as shared objects: +SET(BUILD_SHARED_LIBS TRUE) +# Local macros: +LIST(APPEND CMAKE_MODULE_PATH "${PROJECT_SOURCE_DIR}/adm_local/cmake_files") + +# User options +# (some options have already been defined in KERNEL) +# ============ +#OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ${SALOME_BUILD_TESTS}) For use in the future +#OPTION(SALOME_BUILD_DOC "Generate SALOME HEXABLOCKPLUGIN documentation" ${SALOME_BUILD_DOC}) For use in the future + +# Advanced options: +OPTION(SALOME_BUILD_GUI "Enable GUI" ON) +MARK_AS_ADVANCED(SALOME_BUILD_GUI) + +## +## From KERNEL: +## + +# Various +# Python +FIND_PACKAGE(SalomePython REQUIRED) +# Boost +FIND_PACKAGE(SalomeBoost REQUIRED) +# CORBA +FIND_PACKAGE(SalomeOmniORB REQUIRED) +FIND_PACKAGE(SalomeOmniORBPy REQUIRED) + + +# Find GUI (optional) +# =========== +IF(SALOME_BUILD_GUI) + SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "Path to the Salome GUI") + IF(EXISTS ${GUI_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${GUI_ROOT_DIR}/adm_local/cmake_files") + FIND_PACKAGE(SalomeGUI) + # Qt4 + FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui) + ELSE(EXISTS ${GUI_ROOT_DIR}) + MESSAGE(FATAL_ERROR "We absolutely need a Salome GUI, please define GUI_ROOT_DIR") + ENDIF(EXISTS ${GUI_ROOT_DIR}) + SALOME_LOG_OPTIONAL_PACKAGE(SalomeGUI SALOME_BUILD_GUI) +ENDIF(SALOME_BUILD_GUI) + +# OCCT +FIND_PACKAGE(SalomeCAS REQUIRED) +#VTK +FIND_PACKAGE(SalomeVTK 6.0 REQUIRED) + +# Find GEOM +# =========== + +SET(GEOM_ROOT_DIR $ENV{GEOM_ROOT_DIR} CACHE PATH "Path to the Salome GEOM") +IF(EXISTS ${GEOM_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${GEOM_ROOT_DIR}/adm_local/cmake_files") + FIND_PACKAGE(SalomeGEOM REQUIRED) +ELSE(EXISTS ${GEOM_ROOT_DIR}) + MESSAGE(FATAL_ERROR "We absolutely need a Salome GEOM, please define GEOM_ROOT_DIR") +ENDIF(EXISTS ${GEOM_ROOT_DIR}) + +# Find SMESH +# =========== + +SET(SMESH_ROOT_DIR $ENV{SMESH_ROOT_DIR} CACHE PATH "Path to the Salome SMESH") +IF(EXISTS ${SMESH_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${SMESH_ROOT_DIR}/adm_local/cmake_files") + FIND_PACKAGE(SalomeSMESH REQUIRED) +ELSE(EXISTS ${SMESH_ROOT_DIR}) + MESSAGE(FATAL_ERROR "We absolutely need a Salome SMESH, please define SMESH_ROOT_DIR") +ENDIF(EXISTS ${SMESH_ROOT_DIR}) + +# Find HEXABLOCK +# =========== + +SET(HEXABLOCK_ROOT_DIR $ENV{HEXABLOCK_ROOT_DIR} CACHE PATH "Path to the Salome HEXABLOCK") +IF(EXISTS ${HEXABLOCK_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${HEXABLOCK_ROOT_DIR}/adm_local/cmake_files") + FIND_PACKAGE(SalomeHEXABLOCK REQUIRED) +ELSE(EXISTS ${HEXABLOCK_ROOT_DIR}) + MESSAGE(FATAL_ERROR "We absolutely need a Salome HEXABLOCK, please define HEXABLOCK_ROOT_DIR") +ENDIF(EXISTS ${HEXABLOCK_ROOT_DIR}) + +# Detection summary: +SALOME_PACKAGE_REPORT_AND_CHECK() + +# Directories +# (default values taken from KERNEL) +# =========== +SET(SALOME_INSTALL_BINS "${SALOME_INSTALL_BINS}" CACHE PATH "Install path: SALOME binaries") +SET(SALOME_INSTALL_LIBS "${SALOME_INSTALL_LIBS}" CACHE PATH "Install path: SALOME libs") +SET(SALOME_INSTALL_IDLS "${SALOME_INSTALL_IDLS}" CACHE PATH "Install path: SALOME IDL files") +SET(SALOME_INSTALL_HEADERS "${SALOME_INSTALL_HEADERS}" CACHE PATH "Install path: SALOME headers") +SET(SALOME_INSTALL_SCRIPT_SCRIPTS "${SALOME_INSTALL_SCRIPT_SCRIPTS}" CACHE PATH + "Install path: SALOME scripts") +SET(SALOME_INSTALL_SCRIPT_DATA "${SALOME_INSTALL_SCRIPT_DATA}" CACHE PATH + "Install path: SALOME script data") +SET(SALOME_INSTALL_SCRIPT_PYTHON "${SALOME_INSTALL_SCRIPT_PYTHON}" CACHE PATH + "Install path: SALOME Python scripts") +SET(SALOME_INSTALL_APPLISKEL_SCRIPTS "${SALOME_INSTALL_APPLISKEL_SCRIPTS}" CACHE PATH + "Install path: SALOME application skeleton - scripts") +SET(SALOME_INSTALL_APPLISKEL_PYTHON "${SALOME_INSTALL_APPLISKEL_PYTHON}" CACHE PATH + "Install path: SALOME application skeleton - Python") +SET(SALOME_INSTALL_PYTHON "${SALOME_INSTALL_PYTHON}" CACHE PATH "Install path: SALOME Python stuff") +SET(SALOME_INSTALL_PYTHON_SHARED "${SALOME_INSTALL_PYTHON_SHARED}" CACHE PATH + "Install path: SALOME Python shared modules") +SET(SALOME_INSTALL_CMAKE_LOCAL "${SALOME_INSTALL_CMAKE_LOCAL}" CACHE PATH + "Install path: local SALOME CMake files") +SET(SALOME_INSTALL_AMCONFIG_LOCAL "${SALOME_INSTALL_AMCONFIG_LOCAL}" CACHE PATH + "Install path: local SALOME config files (obsolete, to be removed)") +SET(SALOME_INSTALL_RES "${SALOME_INSTALL_RES}" CACHE PATH "Install path: SALOME resources") +SET(SALOME_INSTALL_DOC "${SALOME_INSTALL_DOC}" CACHE PATH "Install path: SALOME documentation") + +# Specific to HEXABLOCKPLUGIN: +SET(SALOME_HEXABLOCKPLUGIN_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/HEXABLOCKplugin" CACHE PATH + "Install path: SALOME HEXABLOCKPLUGIN specific data") + +MARK_AS_ADVANCED(SALOME_INSTALL_BINS SALOME_INSTALL_LIBS SALOME_INSTALL_IDLS SALOME_INSTALL_HEADERS) +MARK_AS_ADVANCED(SALOME_INSTALL_SCRIPT_SCRIPTS SALOME_INSTALL_SCRIPT_DATA SALOME_INSTALL_SCRIPT_PYTHON) +MARK_AS_ADVANCED(SALOME_INSTALL_APPLISKEL_SCRIPTS SALOME_INSTALL_APPLISKEL_PYTHON SALOME_INSTALL_CMAKE_LOCAL SALOME_INSTALL_RES) +MARK_AS_ADVANCED(SALOME_INSTALL_PYTHON SALOME_INSTALL_PYTHON_SHARED) +MARK_AS_ADVANCED(SALOME_INSTALL_AMCONFIG_LOCAL SALOME_INSTALL_DOC) +MARK_AS_ADVANCED(SALOME_HEXABLOCKPLUGIN_INSTALL_RES_DATA) + +# Sources +# ======== + +ADD_SUBDIRECTORY(idl) +ADD_SUBDIRECTORY(adm_local) +ADD_SUBDIRECTORY(resources) +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(bin) + +# Header configuration +# ==================== +SALOME_XVERSION(${PROJECT_NAME}) +SALOME_CONFIGURE_FILE(HEXABLOCKPLUGIN_version.h.in HEXABLOCKPLUGIN_version.h INSTALL ${SALOME_INSTALL_HEADERS}) + +# Configuration export +# (here only the level 1 prerequisites are exposed) +# ==================== +INCLUDE(CMakePackageConfigHelpers) + +# List of targets in this project we want to make visible to the rest of the world. +# They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup" +SET(_${PROJECT_NAME}_exposed_targets + HexaBlockEngine SalomeIDLHEXABLOCKPLUGIN +) + +IF(SALOME_BUILD_GUI) + LIST(APPEND _${PROJECT_NAME}_exposed_targets + HEXABLOCKPluginGUI + ) +ENDIF(SALOME_BUILD_GUI) + +# Add all targets to the build-tree export set +EXPORT(TARGETS ${_${PROJECT_NAME}_exposed_targets} + FILE ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Targets.cmake) + +# Create the configuration files: +# - in the build tree: + +# Ensure the variables are always defined for the configure: +SET(SMESH_ROOT_DIR "${SMESH_ROOT_DIR}") + +SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") +CONFIGURE_PACKAGE_CONFIG_FILE(${PROJECT_NAME}Config.cmake.in + ${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake + INSTALL_DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}" + PATH_VARS CONF_INCLUDE_DIRS SALOME_INSTALL_CMAKE_LOCAL CMAKE_INSTALL_PREFIX + SMESH_ROOT_DIR) + +WRITE_BASIC_PACKAGE_VERSION_FILE(${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake + VERSION ${${PROJECT_NAME_UC}_VERSION} + COMPATIBILITY AnyNewerVersion) + +# Install the CMake configuration files: +INSTALL(FILES + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}Config.cmake" + "${PROJECT_BINARY_DIR}/${PROJECT_NAME}ConfigVersion.cmake" + DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}") + +# Install the export set for use with the install-tree +INSTALL(EXPORT ${PROJECT_NAME}TargetGroup DESTINATION "${SALOME_INSTALL_CMAKE_LOCAL}" + FILE ${PROJECT_NAME}Targets.cmake) diff --git a/HEXABLOCKPLUGIN_version.h.in b/HEXABLOCKPLUGIN_version.h.in index 4b4ecfd..da2ca09 100755 --- a/HEXABLOCKPLUGIN_version.h.in +++ b/HEXABLOCKPLUGIN_version.h.in @@ -24,12 +24,22 @@ #if !defined(__HEXABLOCKPLUGIN_VERSION_H__) #define __HEXABLOCKPLUGIN_VERSION_H__ -/* - HEXABLOCKPLUGIN_VERSION is (major << 16) + (minor << 8) + patch. +/*! + Specify version of SALOME HEXABLOCKPLUGIN module, as follows + + HEXABLOCKPLUGIN_VERSION_MAJOR : (integer) number identifying major version + HEXABLOCKPLUGIN_VERSION_MINOR : (integer) number identifying minor version + HEXABLOCKPLUGIN_VERSION_MAINTENANCE : (integer) number identifying maintenance version + HEXABLOCKPLUGIN_VERSION_STR : (string) complete version number "major.minor.maintenance" + HEXABLOCKPLUGIN_VERSION : (hex) complete version number (major << 16) + (minor << 8) + maintenance + HEXABLOCKPLUGIN_DEVELOPMENT : (integer) indicates development version when set to 1 */ -#define HEXABLOCKPLUGIN_VERSION_STR "@VERSION@" -#define HEXABLOCKPLUGIN_VERSION @XVERSION@ -#define HEXABLOCKPLUGIN_DEVELOPMENT @VERSION_DEV@ +#define HEXABLOCKPLUGIN_VERSION_MAJOR @SALOMEHEXABLOCKPLUGIN_MAJOR_VERSION@ +#define HEXABLOCKPLUGIN_VERSION_MINOR @SALOMEHEXABLOCKPLUGIN_MINOR_VERSION@ +#define HEXABLOCKPLUGIN_VERSION_MAINTENANCE @SALOMEHEXABLOCKPLUGIN_PATCH_VERSION@ +#define HEXABLOCKPLUGIN_VERSION_STR "@SALOMEHEXABLOCKPLUGIN_VERSION@" +#define HEXABLOCKPLUGIN_VERSION @SALOMEHEXABLOCKPLUGIN_XVERSION@ +#define HEXABLOCKPLUGIN_DEVELOPMENT @SALOMEHEXABLOCKPLUGIN_VERSION_DEV@ #endif // __HEXABLOCKPLUGIN_VERSION_H__ diff --git a/Makefile.am b/Makefile.am deleted file mode 100755 index 3b3719c..0000000 --- a/Makefile.am +++ /dev/null @@ -1,56 +0,0 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -* Makefile *- -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Date : 2010/11/08 -# Modified by : Alexander BORODIN (OCN) - autotools usage -# $Header: -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -if HEXABLOCKPLUGIN_ENABLE_GUI - ACLOCAL_AMFLAGS = -I adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ - -I ${GUI_ROOT_DIR}/adm_local/unix/config_files \ - -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files \ - -I ${HEXABLOCK_ROOT_DIR}/adm_local/unix/config_files \ - -I ${SMESH_ROOT_DIR}/adm_local/unix/config_files -else !HEXABLOCKPLUGIN_ENABLE_GUI - ACLOCAL_AMFLAGS = -I adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ - -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files \ - -I ${HEXABLOCK_ROOT_DIR}/adm_local/unix/config_files \ - -I ${SMESH_ROOT_DIR}/adm_local/unix/config_files -endif - -SUBDIRS = idl adm_local resources src bin - -DIST_SUBDIRS = idl adm_local resources src bin - -DISTCLEANFILES = a.out aclocal.m4 configure local-install.sh - -salomeinclude_DATA = HEXABLOCKPLUGIN_version.h - -EXTRA_DIST += \ - build_configure \ - clean_configure - -dist-hook: - rm -rf `find $(distdir) -name CVS` diff --git a/SalomeHEXABLOCKPLUGINConfig.cmake.in b/SalomeHEXABLOCKPLUGINConfig.cmake.in new file mode 100644 index 0000000..b3405f1 --- /dev/null +++ b/SalomeHEXABLOCKPLUGINConfig.cmake.in @@ -0,0 +1,109 @@ +# - Config file for the @PROJECT_NAME@ package +# It defines the following variables. +# Specific to the pacakge @PROJECT_NAME@ itself: +# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file +# + +############################################################### +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or +# email : webmaster.salome@opencascade.com +############################################################### + +### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE: +@PACKAGE_INIT@ + +# Load the dependencies for the libraries of @PROJECT_NAME@ +# (contains definitions for IMPORTED targets). This is only +# imported if we are not built as a subproject (in this case targets are already there) +IF(NOT TARGET HexaBlockEngine AND NOT @PROJECT_NAME@_BINARY_DIR) + INCLUDE("@PACKAGE_SALOME_INSTALL_CMAKE_LOCAL@/@PROJECT_NAME@Targets.cmake") +ENDIF() + +# Package root dir: +SET_AND_CHECK(HEXABLOCKPLUGIN_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") + +# Include directories +SET_AND_CHECK(HEXABLOCKPLUGIN_INCLUDE_DIRS "${HEXABLOCKPLUGIN_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@") + +#### Now the specificities + +# Options exported by the package: +#SET(SALOME_HEXABLOCK_BUILD_TESTS @SALOME_BUILD_TESTS@) +#SET(SALOME_HEXABLOCK_BUILD_DOC @SALOME_BUILD_DOC@) + +# Advanced options +SET(SALOME_HEXABLOCK_BUILD_GUI @SALOME_BUILD_GUI@) + +# Level 1 prerequisites: +SET_AND_CHECK(SMESH_ROOT_DIR_EXP "@PACKAGE_SMESH_ROOT_DIR@") +SET_AND_CHECK(HEXABLOCK_ROOT_DIR_EXP "@PACKAGE_HEXABLOCK_ROOT_DIR@") + +# For all prerequisites, load the corresponding targets if the package was used +# in CONFIG mode. This ensures dependent projects link correctly +# without having to set LD_LIBRARY_PATH: +SET(_PREREQ ) +SET(_PREREQ_CONFIG_DIR ) +LIST(LENGTH _PREREQ_CONFIG_DIR _list_len) +# Another CMake stupidity - FOREACH(... RANGE r) generates r+1 numbers ... +MATH(EXPR _range "${_list_len}-1") +FOREACH(_p RANGE ${_range}) + LIST(GET _PREREQ ${_p} _pkg ) + LIST(GET _PREREQ_CONFIG_DIR ${_p} _pkg_dir) + IF(_pkg_dir) + MESSAGE(STATUS "===> Reloading targets from ${_pkg} ...") + FIND_PACKAGE(${_pkg} REQUIRED NO_MODULE + PATHS "${_pkg_dir}" + NO_DEFAULT_PATH) + ENDIF() +ENDFOREACH() + +# Installation directories +SET(SALOME_INSTALL_BINS "@SALOME_INSTALL_BINS@") +SET(SALOME_INSTALL_LIBS "@SALOME_INSTALL_LIBS@") +SET(SALOME_INSTALL_IDLS "@SALOME_INSTALL_IDLS@") +SET(SALOME_INSTALL_HEADERS "@SALOME_INSTALL_HEADERS@") +SET(SALOME_INSTALL_SCRIPT_SCRIPTS "@SALOME_INSTALL_SCRIPT_SCRIPTS@") +SET(SALOME_INSTALL_SCRIPT_DATA "@SALOME_INSTALL_SCRIPT_DATA@") +SET(SALOME_INSTALL_SCRIPT_PYTHON "@SALOME_INSTALL_SCRIPT_PYTHON@") +SET(SALOME_INSTALL_APPLISKEL_SCRIPTS "@SALOME_INSTALL_APPLISKEL_SCRIPTS@") +SET(SALOME_INSTALL_APPLISKEL_PYTHON "@SALOME_INSTALL_APPLISKEL_PYTHON@") +SET(SALOME_INSTALL_CMAKE_LOCAL "@SALOME_INSTALL_CMAKE_LOCAL@") +SET(SALOME_INSTALL_PYTHON "@SALOME_INSTALL_PYTHON@") +SET(SALOME_INSTALL_PYTHON_SHARED "@SALOME_INSTALL_PYTHON_SHARED@") +SET(SALOME_INSTALL_RES "@SALOME_INSTALL_RES@") +SET(SALOME_INSTALL_DOC "@SALOME_INSTALL_DOC@") +SET(SALOME_INSTALL_AMCONFIG_LOCAL "@SALOME_INSTALL_AMCONFIG_LOCAL@") + +# Include SMESH targets if they were not already loaded: +IF(NOT (TARGET SMESHEngine)) + INCLUDE("${SMESH_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeSMESHTargets.cmake") +ENDIF() + +# Include HEXABLOCK targets if they were not already loaded: +IF(NOT (TARGET HEXABLOCKEngine)) + INCLUDE("${HEXABLOCK_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeHEXABLOCKTargets.cmake") +ENDIF() + +# Exposed HEXABLOCKPLUGIN targets: +SET(HEXABLOCKPLUGIN_HexaBlockEngine HexaBlockEngine) +SET(HEXABLOCKPLUGIN_HEXABLOCKPluginGUI HEXABLOCKPluginGUI) +SET(HEXABLOCKPLUGIN_SalomeIDLHEXABLOCKPLUGIN SalomeIDLHEXABLOCKPLUGIN) \ No newline at end of file diff --git a/adm_local/unix/config_files/Makefile.am b/adm_local/CMakeLists.txt similarity index 76% rename from adm_local/unix/config_files/Makefile.am rename to adm_local/CMakeLists.txt index 2606725..84d97c2 100755 --- a/adm_local/unix/config_files/Makefile.am +++ b/adm_local/CMakeLists.txt @@ -1,4 +1,7 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,7 +20,5 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -dist_admlocalm4_DATA = \ - check_HEXABLOCKPLUGIN.m4 +ADD_SUBDIRECTORY(unix) +ADD_SUBDIRECTORY(cmake_files) diff --git a/adm_local/cmake_files/CMakeLists.txt b/adm_local/cmake_files/CMakeLists.txt new file mode 100755 index 0000000..867949d --- /dev/null +++ b/adm_local/cmake_files/CMakeLists.txt @@ -0,0 +1,28 @@ +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# =============================================================== +# Files to be installed +# =============================================================== + +# These files are data, module or lib files +SET(_adm_data + FindSalomeHEXABLOCKPLUGIN.cmake +) +INSTALL(FILES ${_adm_data} DESTINATION ${SALOME_INSTALL_CMAKE_LOCAL}) diff --git a/src/Makefile.am b/adm_local/cmake_files/FindSalomeHEXABLOCKPLUGIN.cmake old mode 100755 new mode 100644 similarity index 64% rename from src/Makefile.am rename to adm_local/cmake_files/FindSalomeHEXABLOCKPLUGIN.cmake index d769f7b..3e4d4e4 --- a/src/Makefile.am +++ b/adm_local/cmake_files/FindSalomeHEXABLOCKPLUGIN.cmake @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -16,19 +16,16 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # - -# -* Makefile *- -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Modified by : Alexander BORODIN (OCN) - autotools usage -# Module : HEXABLOCKPLUGIN -# Date : 2010/11/08 # -include $(top_srcdir)/adm_local/unix/make_common_starter.am -SUBDIRS = HEXABLOCKPlugin +IF(NOT SalomeHEXABLOCKPLUGIN_FIND_QUIETLY) + MESSAGE(STATUS "Looking for Salome HEXABLOCKPLUGIN ...") +ENDIF() + +SET(CMAKE_PREFIX_PATH "${HEXABLOCKPLUGIN_ROOT_DIR}") -if HEXABLOCKPLUGIN_ENABLE_GUI - SUBDIRS += GUI -endif +SALOME_FIND_PACKAGE(SalomeHEXABLOCKPLUGIN SalomeHEXABLOCKPLUGIN CONFIG) -DIST_SUBDIRS = HEXABLOCKPlugin GUI +IF(NOT SalomeHEXABLOCKPLUGIN_FIND_QUIETLY) + MESSAGE(STATUS "Found Salome HEXABLOCKPLUGIN: ${HEXABLOCKPLUGIN_ROOT_DIR}") +ENDIF() diff --git a/adm_local/Makefile.am b/adm_local/unix/CMakeLists.txt similarity index 86% rename from adm_local/Makefile.am rename to adm_local/unix/CMakeLists.txt index 0ffdc4c..2f895ae 100755 --- a/adm_local/Makefile.am +++ b/adm_local/unix/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,4 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -SUBDIRS = unix +ADD_SUBDIRECTORY(config_files) diff --git a/bin/Makefile.am b/adm_local/unix/config_files/CMakeLists.txt similarity index 70% rename from bin/Makefile.am rename to adm_local/unix/config_files/CMakeLists.txt index 3006baf..3bac4bb 100755 --- a/bin/Makefile.am +++ b/adm_local/unix/config_files/CMakeLists.txt @@ -1,4 +1,7 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,14 +20,8 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# -* Makefile *- -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Module : HEXABLOCKPLUGIN -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -# non-distributed files -nodist_salomescript_DATA = VERSION - -# distributed files -dist_salomescript_SCRIPTS = +SET(_m4_data + check_HEXABLOCKPLUGIN.m4 +) + +INSTALL(FILES ${_m4_data} DESTINATION ${SALOME_INSTALL_AMCONFIG_LOCAL}/config_files) diff --git a/adm_local/unix/make_common_starter.am b/adm_local/unix/make_common_starter.am deleted file mode 100755 index 373ee7d..0000000 --- a/adm_local/unix/make_common_starter.am +++ /dev/null @@ -1,94 +0,0 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# ============================================================ -# The following is to avoid PACKAGE_... env variable -# redefinition compilation warnings -# ============================================================ -# -AM_CXXFLAGS = @KERNEL_CXXFLAGS@ -include SALOMEconfig.h -AM_CPPFLAGS = @KERNEL_CXXFLAGS@ -include SALOMEconfig.h - -# ============================================================ -# This file defines the common definitions used in several -# Makefile. This file must be included, if needed, by the file -# Makefile.am. -# ============================================================ -# Standard directory for installation -# -salomeincludedir = $(includedir)/salome -libdir = $(prefix)/lib@LIB_LOCATION_SUFFIX@/salome -bindir = $(prefix)/bin/salome -salomescriptdir = $(bindir) -salomepythondir = $(pythondir)/salome -salomepyexecdir = $(pyexecdir)/salome - -# Directory for installing idl files -salomeidldir = $(prefix)/idl/salome - -# Directory for installing resource files -salomeresdir = $(prefix)/share/salome/resources/@MODULE_NAME@ - -# Directories for installing admin files -admlocaldir = $(prefix)/adm_local -admlocalunixdir = $(admlocaldir)/unix -admlocalm4dir = $(admlocaldir)/unix/config_files - -# Shared modules installation directory -sharedpkgpythondir = $(salomepythondir)/shared_modules - -# Documentation directory -docdir = $(datadir)/doc/salome - -# common rules - -# meta object implementation files generation (moc) -%_moc.cxx: %.h - $(MOC) $< -o $@ - -# translation (*.qm) files generation (lrelease) -%.qm: %.ts - $(LRELEASE) $< -qm $@ - -# resource files generation (qrcc) -qrc_%.cxx: %.qrc - $(QRCC) $< -o $@ -name $(*F) - -# qt forms files generation (uic) -ui_%.h: %.ui - $(UIC) -o $@ $< - -# extra distributed files -EXTRA_DIST = $(MOC_FILES:%_moc.cxx=%.h) $(QRC_FILES:qrc_%.cxx=%.qrc) \ - $(UIC_FILES:ui_%.h=%.ui) $(nodist_salomeres_DATA:%.qm=%.ts) - -# customize clean operation -mostlyclean-local: - rm -f @builddir@/*_moc.cxx - rm -f @builddir@/*.qm - rm -f @builddir@/ui_*.h - rm -f @builddir@/qrc_*.cxx - -# tests -tests: unittest - -unittest: $(UNIT_TEST_PROG) - @if test "x$(UNIT_TEST_PROG)" != "x"; then \ - $(UNIT_TEST_PROG); \ - fi; diff --git a/adm_local/unix/Makefile.am b/bin/CMakeLists.txt similarity index 85% rename from adm_local/unix/Makefile.am rename to bin/CMakeLists.txt index 62e4124..d220062 100755 --- a/adm_local/unix/Makefile.am +++ b/bin/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,4 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -SUBDIRS = config_files +SALOME_CONFIGURE_FILE(VERSION.in VERSION INSTALL ${SALOME_INSTALL_BINS}) diff --git a/bin/VERSION.in b/bin/VERSION.in index 5d92d97..66166ce 100755 --- a/bin/VERSION.in +++ b/bin/VERSION.in @@ -1,3 +1,3 @@ -[SALOME HEXABLOCKPLUGIN] : @VERSION@ -[DEVELOPMENT] : @VERSION_DEV@ +[SALOME HEXABLOCKPLUGIN] : @SALOMEHEXABLOCKPLUGIN_VERSION@ +[DEVELOPMENT] : @SALOMEHEXABLOCKPLUGIN_VERSION_DEV@ [DESCRIPTION] : HEXABLOCK meshing plug-in for SALOME Mesh module diff --git a/build_configure b/build_configure deleted file mode 100755 index 0e8a7c8..0000000 --- a/build_configure +++ /dev/null @@ -1,128 +0,0 @@ -#!/bin/bash -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# Tool for updating list of .in file for the SALOME project -# and regenerating configure script -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Date : 2010/11/08 -# $Header$ -# -ORIG_DIR=`pwd` -CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"` - -######################################################################## -# Test if the KERNEL_ROOT_DIR is set correctly - -if test ! -d "${KERNEL_ROOT_DIR}"; then - echo "failed : KERNEL_ROOT_DIR variable is not correct !" - exit -fi - -######################################################################## -# Test if the GEOM_ROOT_DIR is set correctly - -if test ! -d "${GEOM_ROOT_DIR}"; then - echo "failed : GEOM_ROOT_DIR variable is not correct !" - exit -fi - -######################################################################## -# Test if the HEXABLOCK_ROOT_DIR is set correctly - -if test ! -d "${HEXABLOCK_ROOT_DIR}"; then - echo "failed : HEXABLOCK_ROOT_DIR variable is not correct !" - exit -fi - -######################################################################## -# Test if the SMESH_ROOT_DIR is set correctly - -if test ! -d "${SMESH_ROOT_DIR}"; then - echo "failed : SMESH_ROOT_DIR variable is not correct !" - exit -fi - -cd ${CONF_DIR} -ABS_CONF_DIR=`pwd` - -####################################################################### - -# ____________________________________________________________________ -# aclocal creates the aclocal.m4 file from the standard macro and the -# custom macro embedded in the directory adm_local/unix/config_files -# and KERNEL config_files directory. -# output: -# aclocal.m4 -# autom4te.cache (directory) -echo "======================================================= aclocal" - -if test -d "${GUI_ROOT_DIR}"; then - aclocal -I adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ - -I ${GUI_ROOT_DIR}/adm_local/unix/config_files \ - -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files \ - -I ${HEXABLOCK_ROOT_DIR}/adm_local/unix/config_files \ - -I ${SMESH_ROOT_DIR}/adm_local/unix/config_files || exit 1 -else - aclocal -I adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ - -I ${GEOM_ROOT_DIR}/adm_local/unix/config_files \ - -I ${HEXABLOCK_ROOT_DIR}/adm_local/unix/config_files \ - -I ${SMESH_ROOT_DIR}/adm_local/unix/config_files || exit 1 -fi - -# ____________________________________________________________________ -# libtoolize creates some configuration files (ltmain.sh, -# config.guess and config.sub). It only depends on the libtool -# version. The files are created in the directory specified with the -# AC_CONFIG_AUX_DIR() tag (see configure.ac). -# output: -# adm_local/unix/config_files/config.guess -# adm_local/unix/config_files/config.sub -# adm_local/unix/config_files/ltmain.sh -echo "==================================================== libtoolize" - -libtoolize --force --copy --automake || exit 1 - -# ____________________________________________________________________ -# autoconf creates the configure script from the file configure.ac (or -# configure.in if configure.ac doesn't exist) -# output: -# configure -echo "====================================================== autoconf" - -autoconf - -# ____________________________________________________________________ -# automake creates some scripts used in building process -# (install-sh, missing, ...). It only depends on the automake -# version. The files are created in the directory specified with the -# AC_CONFIG_AUX_DIR() tag (see configure.ac). This step also -# creates the Makefile.in files from the Makefile.am files. -# output: -# adm_local/unix/config_files/compile -# adm_local/unix/config_files/depcomp -# adm_local/unix/config_files/install-sh -# adm_local/unix/config_files/missing -# adm_local/unix/config_files/py-compile -# Makefile.in (from Makefile.am) -echo "====================================================== automake" - -automake --copy --gnu --add-missing diff --git a/clean_configure b/clean_configure deleted file mode 100755 index 4524d6f..0000000 --- a/clean_configure +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -rm -rf autom4te.cache aclocal.m4 configure make_config -find . -name "*~" -print -exec rm {} \; -find . -name "*.pyc" -print -exec rm {} \; -find . -name Makefile.in | xargs rm -f -( cd adm_local/unix/config_files && rm -f config.* depcomp install-sh l*.m4 ltmain.sh missing py-compile ) diff --git a/configure.ac b/configure.ac deleted file mode 100755 index 93d3dfa..0000000 --- a/configure.ac +++ /dev/null @@ -1,409 +0,0 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# PLEASE DO NOT MODIFY configure.in FILE -# ALL CHANGES WILL BE DISCARDED BY THE NEXT -# build_configure COMMAND -# CHANGES MUST BE MADE IN configure.in.base FILE -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Date : 2010/11/08 -# Modified by : Patrick GOLDBRONN (CEA) -# Modified by : Marc Tajchman (CEA) -# Created from configure.in.base -# -AC_INIT([Salome2 Project HEXABLOCKPLUGIN module],[7.2.0], [webmaster.salome@opencascade.com], [SalomeHEXABLOCKPLUGIN]) -AC_CONFIG_AUX_DIR(adm_local/unix/config_files) -AC_CANONICAL_HOST -AC_CANONICAL_TARGET -AM_INIT_AUTOMAKE([-Wno-portability]) - -XVERSION=`echo $VERSION | awk -F. '{printf("0x%02x%02x%02x",$1,$2,$3)}'` -AC_SUBST(XVERSION) -VERSION_DEV=0 -AC_SUBST(VERSION_DEV) - -# set up MODULE_NAME variable for dynamic construction of directories (resources, etc.) -MODULE_NAME=HEXABLOCKplugin -AC_SUBST(MODULE_NAME) - -dnl -dnl Initialize source and build root directories -dnl - -ROOT_BUILDDIR=`pwd` -ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` -cd $ROOT_SRCDIR -ROOT_SRCDIR=`pwd` -cd $ROOT_BUILDDIR - -AC_SUBST(ROOT_SRCDIR) -AC_SUBST(ROOT_BUILDDIR) - -echo -echo Source root directory : $ROOT_SRCDIR -echo Build root directory : $ROOT_BUILDDIR -echo -echo - -AC_CHECK_PROG(SHELL,sh) -AC_SUBST(SHELL) - -if test -z "$AR"; then - AC_CHECK_PROGS(AR,ar xar,:,$PATH) -fi -AC_SUBST(AR) - -dnl Export the AR macro so that it will be placed in the libtool file -dnl correctly. -export AR - -echo -echo --------------------------------------------- -echo testing make -echo --------------------------------------------- -echo - -AC_PROG_MAKE_SET -AC_PROG_INSTALL -AC_LOCAL_INSTALL -dnl -dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! - -AC_ENABLE_DEBUG(yes) -AC_DISABLE_PRODUCTION - -echo --------------------------------------------- -echo testing libtool -echo --------------------------------------------- - -dnl first, we set static to no! -dnl if we want it, use --enable-static -AC_ENABLE_STATIC(no) - -AC_LIBTOOL_DLOPEN -AC_PROG_LIBTOOL - -dnl Fix up the INSTALL macro if it s a relative path. We want the -dnl full-path to the binary instead. -case "$INSTALL" in - *install-sh*) - INSTALL="${KERNEL_ROOT_DIR}/adm_local/unix/config_files/install-sh -c" - ;; -esac - -echo -echo --------------------------------------------- -echo testing C/C++ -echo --------------------------------------------- -echo - -cc_ok=no -dnl inutil car libtool -dnl AC_PROG_CC -AC_PROG_CXX -AC_CXX_WARNINGS -AC_CXX_TEMPLATE_OPTIONS -AC_DEPEND_FLAG -# AC_CC_WARNINGS([ansi]) -cc_ok=yes - -dnl Library libdl : -AC_CHECK_LIB(dl,dlopen) - -dnl Library librt : for alpha/osf -AC_CHECK_LIB(rt,nanosleep) - -dnl add library libm : -AC_CHECK_LIB(m,ceil) - -dnl -dnl Well we use sstream which is not in gcc pre-2.95.3 -dnl We must test if it exists. If not, add it in include ! -dnl - -AC_CXX_HAVE_SSTREAM - -dnl -dnl --------------------------------------------- -dnl testing MPICH -dnl --------------------------------------------- -dnl - -dnl CHECK_MPICH - -echo -echo --------------------------------------------- -echo testing MPI -echo --------------------------------------------- -echo - -CHECK_MPI - -echo -echo --------------------------------------------- -echo testing LEX \& YACC -echo --------------------------------------------- -echo - -lex_yacc_ok=no -AC_PROG_YACC -AC_PROG_LEX -lex_yacc_ok=yes - -echo -echo --------------------------------------------- -echo testing python -echo --------------------------------------------- -echo - -CHECK_PYTHON - -AM_PATH_PYTHON(2.3) - -dnl echo -dnl echo --------------------------------------------- -dnl echo testing java -dnl echo --------------------------------------------- -dnl echo - -dnl CHECK_JAVA - -echo -echo --------------------------------------------- -echo testing swig -echo --------------------------------------------- -echo - -CHECK_SWIG - -echo -echo --------------------------------------------- -echo testing threads -echo --------------------------------------------- -echo - -ENABLE_PTHREADS - -echo -echo --------------------------------------------- -echo testing omniORB -echo --------------------------------------------- -echo - -CHECK_OMNIORB - -dnl echo -dnl echo --------------------------------------------- -dnl echo testing mico -dnl echo --------------------------------------------- -dnl echo - -dnl CHECK_MICO - -echo -echo --------------------------------------------- -echo default ORB : omniORB -echo --------------------------------------------- -echo - -DEFAULT_ORB=omniORB -CHECK_CORBA - -AC_SUBST_FILE(CORBA) -corba=make_$ORB -CORBA=adm_local/unix/$corba - -echo -echo --------------------------------------------- -echo Testing GUI -echo --------------------------------------------- -echo - -CHECK_GUI_MODULE - -gui_ok=no -if test "${SalomeGUI_need}" != "no" -a "${FullGUI_ok}" = "yes" ; then - gui_ok=yes -fi - -AM_CONDITIONAL(HEXABLOCKPLUGIN_ENABLE_GUI, [test "${gui_ok}" = "yes"]) - -if test "${SalomeGUI_need}" == "yes"; then - if test "${FullGUI_ok}" != "yes"; then - AC_MSG_WARN(For configure HEXABLOCKPLUGIN module necessary full GUI!) - fi -elif test "${SalomeGUI_need}" == "auto"; then - if test "${FullGUI_ok}" != "yes"; then - AC_MSG_WARN(Full GUI not found. Build will be done without GUI!) - fi -elif test "${SalomeGUI_need}" == "no"; then - echo Build without GUI option has been chosen -fi - -if test "${gui_ok}" = "yes"; then - - echo - echo --------------------------------------------- - echo testing openGL - echo --------------------------------------------- - echo - - CHECK_OPENGL - - echo - echo --------------------------------------------- - echo testing QT - echo --------------------------------------------- - echo - - CHECK_QT - - echo - echo --------------------------------------------- - echo testing VTK - echo --------------------------------------------- - echo - - CHECK_VTK -fi - -echo -echo --------------------------------------------- -echo Testing HDF5 -echo --------------------------------------------- -echo - -CHECK_HDF5 - -echo -echo --------------------------------------------- -echo BOOST Library -echo --------------------------------------------- -echo - -CHECK_BOOST - -echo -echo --------------------------------------------- -echo Testing OpenCascade -echo --------------------------------------------- -echo - -CHECK_CAS - -echo -echo --------------------------------------------- -echo Testing html generators -echo --------------------------------------------- -echo - -CHECK_HTML_GENERATORS - -echo -echo --------------------------------------------- -echo Testing Kernel -echo --------------------------------------------- -echo - -CHECK_KERNEL - -echo -echo --------------------------------------------- -echo Testing Geom -echo --------------------------------------------- -echo - -CHECK_GEOM - -echo -echo --------------------------------------------- -echo Testing SMesh -echo --------------------------------------------- -echo - -CHECK_SMESH - -echo -echo --------------------------------------------- -echo Testing HEXABLOCK -echo --------------------------------------------- -echo - -CHECK_HEXABLOCK - -echo -echo --------------------------------------------- -echo Summary -echo --------------------------------------------- -echo - -echo Configure -if test "${gui_ok}" = "yes"; then - variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok OpenGL_ok qt_ok vtk_ok Kernel_ok gui_ok Geom_ok SMesh_ok HEXABLOCK_ok" -elif test "${SalomeGUI_need}" != "no"; then - variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok Kernel_ok gui_ok Geom_ok SMesh_ok HEXABLOCK_ok" -else - variables="cc_ok boost_ok threads_ok omniORB_ok occ_ok doxygen_ok Kernel_ok Geom_ok SMesh_ok HEXABLOCK_ok" -fi - -for var in $variables -do - printf " %10s : " `echo \$var | sed -e "s,_ok,,"` - eval echo \$$var -done - -echo -echo "Default ORB : $DEFAULT_ORB" -echo - -dnl We don t need to say when we re entering directories if we re using -dnl GNU make becuase make does it for us. -if test "X$GMAKE" = "Xyes"; then - AC_SUBST(SETX) SETX=":" -else - AC_SUBST(SETX) SETX="set -x" -fi -echo -echo --------------------------------------------- -echo generating Makefiles and configure files -echo --------------------------------------------- -echo - -AC_OUTPUT_COMMANDS([ \ - chmod +x ./bin/*; \ -]) - -# This list is initiated using autoscan and must be updated manually -# when adding a new file .in to manage. When you execute -# autoscan, the Makefile list is generated in the output file configure.scan. -# This could be helpfull to update de configuration. -AC_OUTPUT([ \ - adm_local/Makefile \ - adm_local/unix/Makefile \ - adm_local/unix/config_files/Makefile \ - bin/VERSION \ - bin/Makefile \ - HEXABLOCKPLUGIN_version.h \ - src/Makefile \ - src/HEXABLOCKPlugin/Makefile \ - src/GUI/Makefile \ - resources/Makefile \ - idl/Makefile \ - Makefile \ -]) diff --git a/idl/CMakeLists.txt b/idl/CMakeLists.txt new file mode 100755 index 0000000..51cda5d --- /dev/null +++ b/idl/CMakeLists.txt @@ -0,0 +1,47 @@ +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +INCLUDE(UseOmniORB) # Provided by KERNEL + +INCLUDE_DIRECTORIES( + ${OMNIORB_INCLUDE_DIR} + ${KERNEL_INCLUDE_DIRS} + ${GEOM_INCLUDE_DIRS} + ${SMESH_INCLUDE_DIRS} + ${PROJECT_BINARY_DIR}/idl +) + +SET(SalomeIDLHEXABLOCKPLUGIN_IDLSOURCES + HEXABLOCKPlugin_Algorithm.idl +) + +SET(_idl_include_dirs + ${KERNEL_ROOT_DIR}/idl/salome + ${GEOM_ROOT_DIR}/idl/salome + ${SMESH_ROOT_DIR}/idl/salome +) + +SET(_idl_link_flags + ${KERNEL_SalomeIDLKernel} + ${GEOM_SalomeIDLGEOM} + ${SMESH_SalomeIDLSMESH} +) + +OMNIORB_ADD_MODULE(SalomeIDLHEXABLOCKPLUGIN "${SalomeIDLHEXABLOCKPLUGIN_IDLSOURCES}" "${_idl_include_dirs}" "${_idl_link_flags}") +INSTALL(TARGETS SalomeIDLHEXABLOCKPLUGIN EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) diff --git a/idl/Makefile.am b/idl/Makefile.am deleted file mode 100755 index f50a842..0000000 --- a/idl/Makefile.am +++ /dev/null @@ -1,124 +0,0 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# This Makefile is responsible of generating the client and server -# implementation of IDL interfaces for both C++ and python usage. -# The building process of the C++ files is in charge of each source -# package and then is not manage here. -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -BASEIDL_FILES = HEXABLOCKPlugin_Algorithm.idl - -BASEIDL_FILES_PY=$(BASEIDL_FILES:%.idl=%_idl.py) - -# This variable defines the files to be installed -dist_salomeidl_DATA = $(BASEIDL_FILES) - -# GUI idl common library -lib_LTLIBRARIES = libSalomeIDLHEXABLOCKPLUGIN.la - -# Sources built from idl files -nodist_libSalomeIDLHEXABLOCKPLUGIN_la_SOURCES = \ - HEXABLOCKPlugin_AlgorithmSK.cc \ - HEXABLOCKPlugin_AlgorithmDynSK.cc -HEXABLOCKPlugin_AlgorithmDynSK.cc: HEXABLOCKPlugin_AlgorithmSK.cc - -# header files must be exported: other modules have to use this library -nodist_salomeinclude_HEADERS = $(BASEIDL_FILES:%.idl=%.hh) - -libSalomeIDLHEXABLOCKPLUGIN_la_CPPFLAGS = \ - -I$(top_builddir)/idl \ - $(CORBA_CXXFLAGS) \ - $(CORBA_INCLUDES) \ - $(KERNEL_CXXFLAGS) \ - $(GEOM_CXXFLAGS) \ - $(SMESH_CXXFLAGS) - -libSalomeIDLHEXABLOCKPLUGIN_la_LDFLAGS = -no-undefined -version-info=0:0:0 -libSalomeIDLHEXABLOCKPLUGIN_la_LIBADD = \ - $(KERNEL_LDFLAGS) -lSalomeIDLKernel \ - $(GEOM_LDFLAGS) -lSalomeIDLGEOM \ - $(SMESH_LDFLAGS) -lSalomeIDLSMESH \ - @CORBA_LIBS@ - -# These variables defines the building process of CORBA files -OMNIORB_IDL = @OMNIORB_IDL@ -OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ -OMNIORB_IDLPYFLAGS = \ - @OMNIORB_IDLPYFLAGS@ \ - -I$(top_builddir)/idl/salome \ - -I$(KERNEL_ROOT_DIR)/idl/salome \ - -I$(GEOM_ROOT_DIR)/idl/salome \ - -I$(SMESH_ROOT_DIR)/idl/salome - -IDLCXXFLAGS = \ - -bcxx \ - @IDLCXXFLAGS@ \ - -I$(top_builddir)/idl/salome \ - -I$(KERNEL_ROOT_DIR)/idl/salome \ - -I$(GEOM_ROOT_DIR)/idl/salome \ - -I$(SMESH_ROOT_DIR)/idl/salome -IDLPYFLAGS = \ - @IDLPYFLAGS@ \ - -I$(KERNEL_ROOT_DIR)/idl/salome \ - -I$(GEOM_ROOT_DIR)/idl/salome \ - -I$(SMESH_ROOT_DIR)/idl/salome - -# potential problem on parallel make on the following - multiple outputs -SUFFIXES = .idl .hh SK.cc -.idlSK.cc: - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< -.idl.hh: - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -install-exec-local: $(BASEIDL_FILES:%=$(top_srcdir)/idl/%) - $(INSTALL) -d $(DESTDIR)$(salomepythondir) - ls $^ | while read file; do \ - $(OMNIORB_IDL) $(IDLPYFLAGS) -C$(DESTDIR)$(salomepythondir) $$file ; \ - done - -# we want to remove only staff generated for IDL files and nothing more -uninstall-local: - @for modulen in HEXABLOCKPlugin ; do \ - test -d $(DESTDIR)$(salomepythondir)/$${modulen} && echo "Removing $(DESTDIR)$(salomepythondir)/$${modulen}" && rm -rf $(DESTDIR)$(salomepythondir)/$${modulen} ; \ - test -d $(DESTDIR)$(salomepythondir)/$${modulen}__POA && echo "Removing $(DESTDIR)$(salomepythondir)/$${modulen}__POA" && rm -rf $(DESTDIR)$(salomepythondir)/$${modulen}__POA ; \ - done ; \ - for filen in $(BASEIDL_FILES_PY) ; do \ - echo "Removing $(DESTDIR)$(salomepythondir)/$${filen}" && rm -f $(DESTDIR)$(salomepythondir)/$${filen}* ; \ - done - -mostlyclean-local: - -rm -f *.hh *.cc .depidl - -# we use cpp to generate dependencies between idl files. -# option x c tells the preprocessor to consider idl as a c file. -# if an idl is modified, all idl dependencies are rebuilt - -.depidl: $(BASEIDL_FILES) - @echo "" > $@ - @for dep in $^ dummy; do \ - if [ $$dep != "dummy" ]; then \ - echo Building dependencies for $$dep; \ - $(CPP) $(C_DEPEND_FLAG) -x c -I$(srcdir) -I$(KERNEL_ROOT_DIR)/idl/salome -I$(GEOM_ROOT_DIR)/idl/salome -I$(SMESH_ROOT_DIR)/idl/salome $$dep 2>/dev/null | \ - sed 's/\.o/\SK.cc/' >>$@; \ - fi; \ - done ; - --include .depidl diff --git a/resources/Makefile.am b/resources/CMakeLists.txt similarity index 60% rename from resources/Makefile.am rename to resources/CMakeLists.txt index e54913c..b28e5cb 100755 --- a/resources/Makefile.am +++ b/resources/CMakeLists.txt @@ -1,4 +1,7 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,20 +20,17 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# -* Makefile *- -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Date : 2010/11/08 -# Modified by : Alexander BORODIN (OCN) - autotools usage -# $Header$ -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am +IF(SALOME_BUILD_GUI) + SET(HEXABLOCKPLUGIN_RESOURCES_FILES_WITH_GUI + mesh_hypo_HEXABLOCK.png + mesh_tree_hypo_HEXABLOCK.png + ) +ENDIF(SALOME_BUILD_GUI) -dist_salomeres_DATA = \ - HEXABLOCKPlugin.xml \ - SalomeApp.xml +SET(HEXABLOCKPLUGIN_RESOURCES_FILES + HEXABLOCKPlugin.xml + SalomeApp.xml + ${HEXABLOCKPLUGIN_RESOURCES_FILES_WITH_GUI} +) -if HEXABLOCKPLUGIN_ENABLE_GUI - dist_salomeres_DATA += \ - mesh_hypo_HEXABLOCK.png \ - mesh_tree_hypo_HEXABLOCK.png -endif +INSTALL(FILES ${HEXABLOCKPLUGIN_RESOURCES_FILES} DESTINATION ${SALOME_HEXABLOCKPLUGIN_INSTALL_RES_DATA}) diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100755 index 0000000..97e68ee --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,41 @@ +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +## +# Common packages +## +SET(SUBDIRS_COMMON + HEXABLOCKPlugin +) + +IF(SALOME_BUILD_GUI) + SET(SUBDIRS_ENABLE_GUI + GUI + ) +ENDIF(SALOME_BUILD_GUI) + +SET(SUBDIRS + ${SUBDIRS_COMMON} + ${SUBDIRS_ENABLE_GUI} +) + +FOREACH(dir ${SUBDIRS}) + ADD_SUBDIRECTORY(${dir}) +ENDFOREACH(dir ${SUBDIRS}) + diff --git a/src/GUI/CMakeLists.txt b/src/GUI/CMakeLists.txt new file mode 100644 index 0000000..b843fdc --- /dev/null +++ b/src/GUI/CMakeLists.txt @@ -0,0 +1,91 @@ +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +INCLUDE(UseQt4Ext) + +# --- options --- +# additional include directories +INCLUDE_DIRECTORIES( + ${QT_INCLUDES} + ${KERNEL_INCLUDE_DIRS} + ${GUI_INCLUDE_DIRS} + ${GEOM_INCLUDE_DIRS} + ${HEXABLOCK_INCLUDE_DIRS} + ${SMESH_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ${OMNIORB_INCLUDE_DIR} + ${CAS_INCLUDE_DIRS} + ${PROJECT_BINARY_DIR}/idl +) + +# additional preprocessor / compiler flags +ADD_DEFINITIONS( + ${QT_DEFINITIONS} + ${OMNIORB_DEFINITIONS} + ${CAS_DEFINITIONS} + ${BOOST_DEFINITIONS} +) + +# libraries to link to +SET(_link_LIBRARIES + ${QT_LIBRARIES} + ${GUI_SalomeApp} + ${GUI_qtx} + ${GUI_suit} + ${SMESH_SMESH} + ${KERNEL_SALOMELocalTrace} + ${CAS_KERNEL} + SalomeIDLHEXABLOCKPLUGIN +) + +# --- headers --- + +# header files / to be processed by moc +SET(HEXABLOCKPluginGUI_HEADERS + HEXABLOCKPluginGUI_HypothesisCreator.h +) + +# --- sources --- + +# sources / moc wrappings +QT4_WRAP_CPP(_moc_SOURCES ${HEXABLOCKPluginGUI_HEADERS}) + +# sources / static +SET(_other_SOURCES + HEXABLOCKPluginGUI_HypothesisCreator.cxx +) + +# --- resources --- + +# resource files / to be processed by lrelease +SET(_ts_RESOURCES + HEXABLOCKPlugin_images.ts + HEXABLOCKPlugin_msg_en.ts +) + +# sources / to compile +SET(HEXABLOCKPluginGUI_SOURCES ${_other_SOURCES} ${_moc_SOURCES}) + +# --- rules --- + +ADD_LIBRARY(HEXABLOCKPluginGUI ${HEXABLOCKPluginGUI_SOURCES}) +TARGET_LINK_LIBRARIES(HEXABLOCKPluginGUI ${_link_LIBRARIES} ) +INSTALL(TARGETS HEXABLOCKPluginGUI EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) + +QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_HEXABLOCKPLUGIN_INSTALL_RES_DATA}") diff --git a/src/GUI/Makefile.am b/src/GUI/Makefile.am deleted file mode 100755 index fd12b60..0000000 --- a/src/GUI/Makefile.am +++ /dev/null @@ -1,64 +0,0 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -* Makefile *- -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Modified by : Alexander BORODIN (OCN) - autotools usage -# Module : HEXABLOCKPLUGIN -# Date : 2010/11/08 -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -# header files -salomeinclude_HEADERS = - -# Libraries targets -lib_LTLIBRARIES = libHEXABLOCKPluginGUI.la - -dist_libHEXABLOCKPluginGUI_la_SOURCES = HEXABLOCKPluginGUI_HypothesisCreator.cxx - -MOC_FILES = HEXABLOCKPluginGUI_HypothesisCreator_moc.cxx -nodist_libHEXABLOCKPluginGUI_la_SOURCES= $(MOC_FILES) - -libHEXABLOCKPluginGUI_la_CPPFLAGS = \ - $(QT_INCLUDES) \ - $(KERNEL_CXXFLAGS) \ - $(GUI_CXXFLAGS) \ - $(GEOM_CXXFLAGS) \ - $(HEXABLOCK_CXXFLAGS) \ - $(SMESH_CXXFLAGS) \ - $(BOOST_CPPFLAGS) \ - $(CORBA_CXXFLAGS) \ - $(CORBA_INCLUDES) \ - $(CAS_CPPFLAGS) \ - -I$(srcdir)/.. \ - -I$(top_builddir)/idl - -libHEXABLOCKPluginGUI_la_LDFLAGS = \ - ../../idl/libSalomeIDLHEXABLOCKPLUGIN.la \ - $(QT_LIBS) \ - $(KERNEL_LDFLAGS) -lSALOMELocalTrace \ - $(SMESH_LDFLAGS) -lSMESH \ - $(GUI_LDFLAGS) -lsuit -lqtx -lSalomeApp \ - $(CAS_KERNEL) - -# resources files -nodist_salomeres_DATA= \ - HEXABLOCKPlugin_images.qm \ - HEXABLOCKPlugin_msg_en.qm diff --git a/src/HEXABLOCKPlugin/CMakeLists.txt b/src/HEXABLOCKPlugin/CMakeLists.txt new file mode 100644 index 0000000..5cf8ed2 --- /dev/null +++ b/src/HEXABLOCKPlugin/CMakeLists.txt @@ -0,0 +1,92 @@ +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# --- options --- +# additional include directories +INCLUDE_DIRECTORIES( + ${KERNEL_INCLUDE_DIRS} + ${CAS_INCLUDE_DIRS} + ${VTK_INCLUDE_DIRS} + ${GEOM_INCLUDE_DIRS} + ${HEXABLOCK_INCLUDE_DIRS} + ${SMESH_INCLUDE_DIRS} + ${Boost_INCLUDE_DIRS} + ${OMNIORB_INCLUDE_DIR} + ${PROJECT_BINARY_DIR}/idl +) + +# additional preprocessor / compiler flags +ADD_DEFINITIONS( + ${OMNIORB_DEFINITIONS} + ${CAS_DEFINITIONS} + ${BOOST_DEFINITIONS} +) + +# libraries to link to +SET(_link_LIBRARIES + ${CAS_TKBRep} + ${CAS_TKG2d} + ${CAS_TKG3d} + ${CAS_TKTopAlgo} + ${CAS_TKGeomBase} + ${CAS_TKGeomAlgo} + ${HEXABLOCK_HEXABLOCKEngine} + ${SMESH_SMESHimpl} + ${SMESH_SMESHEngine} + ${SMESH_SMESHDS} + ${SMESH_SMDS} + ${KERNEL_SalomeGenericObj} + ${KERNEL_SALOMELocalTrace} + ${KERNEL_SALOMEBasics} + SalomeIDLHEXABLOCKPLUGIN +) + +# --- headers --- + +# header files +SET(HexaBlockEngine_HEADERS + HEXABLOCKPlugin_Defs.hxx + HEXABLOCKPlugin_HEXABLOCK.hxx + HEXABLOCKPlugin_HEXABLOCK_i.hxx + HEXABLOCKPlugin_Hypothesis.hxx + HEXABLOCKPlugin_Hypothesis_i.hxx + HEXABLOCKPlugin_mesh.hxx + HEXABLOCKPlugin_FromSkin_3D.hxx +) + +# --- sources --- + +# sources / static +SET(HexaBlockEngine_SOURCES + HEXABLOCKPlugin_HEXABLOCK.cxx + HEXABLOCKPlugin_HEXABLOCK_i.cxx + HEXABLOCKPlugin_i.cxx + HEXABLOCKPlugin_Hypothesis.cxx + HEXABLOCKPlugin_Hypothesis_i.cxx + HEXABLOCKPlugin_mesh.cxx + HEXABLOCKPlugin_FromSkin_3D.cxx +) + +# --- rules --- + +ADD_LIBRARY(HexaBlockEngine ${HexaBlockEngine_SOURCES}) +TARGET_LINK_LIBRARIES(HexaBlockEngine ${_link_LIBRARIES} ) +INSTALL(TARGETS HexaBlockEngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) + +INSTALL(FILES ${HexaBlockEngine_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) diff --git a/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.cxx b/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.cxx index 1ab52c5..232caf2 100755 --- a/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.cxx +++ b/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.cxx @@ -62,6 +62,14 @@ void HEXABLOCKPlugin_Hypothesis::SetXmlFlow (cpchar xml) hyp_document->setXml (xml); } +//======================================================================= +//function : GetXmlFlow +//======================================================================= +cpchar HEXABLOCKPlugin_Hypothesis::GetXmlFlow () const +{ + return (hyp_document == NULL) ? NULL : hyp_document->getXml(); +} + //======================================================================= //function : SetDocument //======================================================================= diff --git a/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.hxx b/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.hxx index 63d514b..0bc82e2 100755 --- a/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.hxx +++ b/src/HEXABLOCKPlugin/HEXABLOCKPlugin_Hypothesis.hxx @@ -50,7 +50,7 @@ public: // void SetDocument(HEXA_NS::Document* doc); .. replaced by : void SetDocument (cpchar name); void SetXmlFlow (cpchar xml); - char* GetXmlFlow () const; + cpchar GetXmlFlow () const; /*! * To define the hight dimension to generated: 3 = hexas, 2 = quads, 1 = segments, 0 = nodes diff --git a/src/HEXABLOCKPlugin/Makefile.am b/src/HEXABLOCKPlugin/Makefile.am deleted file mode 100755 index b5ccdea..0000000 --- a/src/HEXABLOCKPlugin/Makefile.am +++ /dev/null @@ -1,67 +0,0 @@ -# Copyright (C) 2009-2013 CEA/DEN, EDF R&D -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -# -* Makefile *- -# Author : Lioka RAZAFINDRAZAKA (CEA) -# Modified by : Alexander BORODIN (OCN) - autotools usage -# Module : HEXABLOCKPLUGIN -# Date : 2010/11/08 -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -# header files -salomeinclude_HEADERS = \ - HEXABLOCKPlugin_Defs.hxx \ - HEXABLOCKPlugin_HEXABLOCK.hxx \ - HEXABLOCKPlugin_HEXABLOCK_i.hxx \ - HEXABLOCKPlugin_Hypothesis.hxx \ - HEXABLOCKPlugin_Hypothesis_i.hxx \ - HEXABLOCKPlugin_mesh.hxx \ - HEXABLOCKPlugin_FromSkin_3D.hxx - -# Libraries targets -lib_LTLIBRARIES = libHexaBlockEngine.la - -dist_libHexaBlockEngine_la_SOURCES = \ - HEXABLOCKPlugin_HEXABLOCK.cxx \ - HEXABLOCKPlugin_HEXABLOCK_i.cxx \ - HEXABLOCKPlugin_i.cxx \ - HEXABLOCKPlugin_Hypothesis.cxx \ - HEXABLOCKPlugin_Hypothesis_i.cxx \ - HEXABLOCKPlugin_mesh.cxx \ - HEXABLOCKPlugin_FromSkin_3D.cxx - -libHexaBlockEngine_la_CPPFLAGS = \ - $(KERNEL_CXXFLAGS) \ - $(CAS_CPPFLAGS) \ - $(VTK_INCLUDES) \ - $(GEOM_CXXFLAGS) \ - $(HEXABLOCK_CXXFLAGS) \ - $(SMESH_CXXFLAGS) \ - $(BOOST_CPPFLAGS) \ - $(CORBA_CXXFLAGS) \ - $(CORBA_INCLUDES) \ - -I$(top_builddir)/idl - -libHexaBlockEngine_la_LDFLAGS = \ - ../../idl/libSalomeIDLHEXABLOCKPLUGIN.la \ - $(CAS_KERNEL) -lTKBRep -lTKG2d -lTKG3d -lTKTopAlgo -lTKGeomBase -lTKGeomAlgo \ - $(HEXABLOCK_LDFLAGS) -lHEXABLOCKEngine \ - $(SMESH_LDFLAGS) -lSMESHimpl -lSMESHEngine -lSMESHDS -lSMDS \ - $(KERNEL_LDFLAGS) -lSalomeGenericObj -lSALOMELocalTrace -lSALOMEBasics -- 2.39.2