From 19a6159a82c94e686d2b20741bd20fcde1d71961 Mon Sep 17 00:00:00 2001 From: rnv Date: Thu, 26 Sep 2013 13:08:44 +0000 Subject: [PATCH] Porting CALCULATOR module to the CMake build system: initial version. --- CALCULATOR_version.h.in | 20 +- CMakeLists.txt | 178 +++++++++ README | 8 +- doc/Makefile.am => adm_local/CMakeLists.txt | 10 +- adm_local/cmake_files/CMakeLists.txt | 29 ++ .../FindCALCULATOR.cmake} | 8 +- .../cmake_files/FindSalomeCALCULATOR.cmake | 22 +- .../SalomeCALCULATORConfig.cmake.in | 99 +++++ .../{Makefile.am => unix/CMakeLists.txt} | 6 +- .../unix/config_files/CMakeLists.txt | 17 +- adm_local/unix/make_common_starter.am | 94 ----- bin/CMakeLists.txt | 31 ++ bin/VERSION.in | 4 +- build_configure | 103 ------ clean_configure | 25 -- configure.ac | 339 ------------------ .../unix/Makefile.am => doc/CMakeLists.txt | 7 +- resources/Makefile.am => idl/CMakeLists.txt | 39 +- idl/Makefile.am | 119 ------ resources/CALCULATORCatalog.xml.in | 2 +- Makefile.am => resources/CMakeLists.txt | 35 +- resources/SalomeApp.xml.in | 2 +- src/CALCULATOR/CALCULATOR.cxx | 2 +- src/CALCULATOR/CMakeLists.txt | 85 +++++ src/CALCULATOR/Makefile.am | 63 ---- src/CMakeLists.txt | 34 ++ 26 files changed, 550 insertions(+), 831 deletions(-) create mode 100755 CMakeLists.txt rename doc/Makefile.am => adm_local/CMakeLists.txt (82%) mode change 100644 => 100755 create mode 100755 adm_local/cmake_files/CMakeLists.txt rename adm_local/{unix/config_files/Makefile.am => cmake_files/FindCALCULATOR.cmake} (77%) rename bin/Makefile.am => adm_local/cmake_files/FindSalomeCALCULATOR.cmake (71%) create mode 100644 adm_local/cmake_files/SalomeCALCULATORConfig.cmake.in rename adm_local/{Makefile.am => unix/CMakeLists.txt} (85%) mode change 100644 => 100755 rename src/Makefile.am => adm_local/unix/config_files/CMakeLists.txt (76%) delete mode 100644 adm_local/unix/make_common_starter.am create mode 100755 bin/CMakeLists.txt delete mode 100755 build_configure delete mode 100755 clean_configure delete mode 100644 configure.ac rename adm_local/unix/Makefile.am => doc/CMakeLists.txt (80%) mode change 100644 => 100755 rename resources/Makefile.am => idl/CMakeLists.txt (53%) mode change 100644 => 100755 delete mode 100644 idl/Makefile.am rename Makefile.am => resources/CMakeLists.txt (55%) mode change 100644 => 100755 create mode 100755 src/CALCULATOR/CMakeLists.txt delete mode 100755 src/CALCULATOR/Makefile.am create mode 100755 src/CMakeLists.txt diff --git a/CALCULATOR_version.h.in b/CALCULATOR_version.h.in index e14e96b..cd1e1ba 100644 --- a/CALCULATOR_version.h.in +++ b/CALCULATOR_version.h.in @@ -27,12 +27,22 @@ #if !defined(__CALCULATOR_VERSION_H__) #define __CALCULATOR_VERSION_H__ -/* - CALCULATOR_VERSION is (major << 16) + (minor << 8) + patch. +/*! + Specify version of SALOME CALCULATOR module, as follows + + CALCULATOR_VERSION_MAJOR : (integer) number identifying major version + CALCULATOR_VERSION_MINOR : (integer) number identifying minor version + CALCULATOR_VERSION_MAINTENANCE : (integer) number identifying maintenance version + CALCULATOR_VERSION_STR : (string) complete version number "major.minor.maintenance" + CALCULATOR_VERSION : (hex) complete version number (major << 16) + (minor << 8) + maintenance + CALCULATOR_DEVELOPMENT : (integer) indicates development version when set to 1 */ -#define CALCULATOR_VERSION_STR "@VERSION@" -#define CALCULATOR_VERSION @XVERSION@ -#define CALCULATOR_DEVELOPMENT @VERSION_DEV@ +#define CALCULATOR_VERSION_MAJOR @SALOMECALCULATOR_MAJOR_VERSION@ +#define CALCULATOR_VERSION_MINOR @SALOMECALCULATOR_MINOR_VERSION@ +#define CALCULATOR_VERSION_MAINTENANCE @SALOMECALCULATOR_PATCH_VERSION@ +#define CALCULATOR_VERSION_STR "@SALOMECALCULATOR_VERSION@" +#define CALCULATOR_VERSION @SALOMECALCULATOR_XVERSION@ +#define CALCULATOR_DEVELOPMENT @SALOMECALCULATOR_VERSION_DEV@ #endif // __CALCULATOR_VERSION_H__ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100755 index 0000000..051807c --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,178 @@ +# 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(SalomeCALCULATOR 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 "CALCULATOR 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 CALCULATOR documentation" ${SALOME_BUILD_DOC}) + +# Find MED +# =========== + +SET(MED_ROOT_DIR $ENV{MED_ROOT_DIR} CACHE PATH "Path to the Salome MED") +IF(EXISTS ${MED_ROOT_DIR}) + LIST(APPEND CMAKE_MODULE_PATH "${MED_ROOT_DIR}/adm_local/cmake_files") + FIND_PACKAGE(SalomeMED REQUIRED) +ELSE(EXISTS ${MED_ROOT_DIR}) + MESSAGE(FATAL_ERROR "We absolutely need a Salome MED, please define MED_ROOT_DIR") +ENDIF(EXISTS ${MED_ROOT_DIR}) + +## +## CALCULATOR specifics +## + +FIND_PACKAGE(SalomePython REQUIRED) +FIND_PACKAGE(SalomeOmniORB REQUIRED) +FIND_PACKAGE(SalomeOmniORBPy REQUIRED) + +# 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 CALCULATOR: +SET(SALOME_CALCULATOR_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/calculator" CACHE PATH + "Install path: SALOME CALCULATOR 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_CALCULATOR_INSTALL_RES_DATA) + +# Sources +# ======== + +ADD_SUBDIRECTORY(idl) +ADD_SUBDIRECTORY(adm_local) +ADD_SUBDIRECTORY(resources) +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(bin) +ADD_SUBDIRECTORY(doc) + +# Header configuration +# ==================== +SALOME_XVERSION(${PROJECT_NAME}) +SALOME_CONFIGURE_FILE(CALCULATOR_version.h.in CALCULATOR_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 + CALCULATOREngine SalomeIDLCALCULATOR +) + +# 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(MED_ROOT_DIR "${MED_ROOT_DIR}") + +SET(CONF_INCLUDE_DIRS "${PROJECT_SOURCE_DIR}/include" "${PROJECT_BINARY_DIR}/include") +CONFIGURE_PACKAGE_CONFIG_FILE(adm_local/cmake_files/${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 + MED_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/README b/README index 14cc271..af49f60 100644 --- a/README +++ b/README @@ -1,18 +1,16 @@ This module is a Salome example of a module that is interfaced with MED library. Installation and compilation is like every Salome modules : - src_dir/build_configure - mkdir build_dir + mkdir build_dir mkdir instal_dir cd build_dir - src_dir/configure --prefix=instal_dir + cmake -DCMAKE_INSTALL_PREFIX=instal_dir src_dir make make install To check Calculator component, you can use CALCULATOR_TEST.py script, or SUPERVISION graph src_dir/CALCULATOR/graphe1.py - Documentation can be found in /doc directory. It was written in sxw format (openoffice) and was converted in pdf. -Implementation is in /src/CALCULATOR directory. It was tested on redhat8 - using gcc 3.2 +Implementation is in /src/CALCULATOR directory. diff --git a/doc/Makefile.am b/adm_local/CMakeLists.txt old mode 100644 new mode 100755 similarity index 82% rename from doc/Makefile.am rename to adm_local/CMakeLists.txt index 78573ab..84d97c2 --- a/doc/Makefile.am +++ b/adm_local/CMakeLists.txt @@ -1,5 +1,8 @@ # 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 @@ -17,8 +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_doc_DATA = Calculator_guide.sxw calculator.pdf - -EXTRA_DIST += snapshot1.png snapshot2.png +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..cc67236 --- /dev/null +++ b/adm_local/cmake_files/CMakeLists.txt @@ -0,0 +1,29 @@ +# 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 + FindCALCULATOR.cmake + FindSalomeCALCULATOR.cmake +) +INSTALL(FILES ${_adm_data} DESTINATION ${SALOME_INSTALL_CMAKE_LOCAL}) diff --git a/adm_local/unix/config_files/Makefile.am b/adm_local/cmake_files/FindCALCULATOR.cmake similarity index 77% rename from adm_local/unix/config_files/Makefile.am rename to adm_local/cmake_files/FindCALCULATOR.cmake index 98d008f..85a2698 100644 --- a/adm_local/unix/config_files/Makefile.am +++ b/adm_local/cmake_files/FindCALCULATOR.cmake @@ -16,8 +16,10 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +# + -include $(top_srcdir)/adm_local/unix/make_common_starter.am +SET(CALCULATOR_CXXFLAGS ${CALCULATOR_ROOT_DIR}/include/salome) -dist_admlocalm4_DATA = \ -check_CALCULATOR.m4 +FIND_LIBRARY(CALCULATOREngine CALCULATOREngine ${CALCULATOR_ROOT_DIR}/lib/salome) +FIND_LIBRARY(SalomeIDLCALCULATOR SalomeIDLCALCULATOR ${CALCULATOR_ROOT_DIR}/lib/salome) diff --git a/bin/Makefile.am b/adm_local/cmake_files/FindSalomeCALCULATOR.cmake similarity index 71% rename from bin/Makefile.am rename to adm_local/cmake_files/FindSalomeCALCULATOR.cmake index df56546..7de3368 100644 --- a/bin/Makefile.am +++ b/adm_local/cmake_files/FindSalomeCALCULATOR.cmake @@ -16,18 +16,16 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # - -# -* Makefile *- -# Author : Guillaume Boulant (CSSI) -# Module : COMPONENT # -include $(top_srcdir)/adm_local/unix/make_common_starter.am -dist_salomescript_SCRIPTS = \ - myrunSalome.py - -nodist_salomescript_SCRIPTS = \ - runAppli +IF(NOT SalomeCALCULATOR_FIND_QUIETLY) + MESSAGE(STATUS "Looking for Salome CALCULATOR ...") +ENDIF() + +SET(CMAKE_PREFIX_PATH "${CALCULATOR_ROOT_DIR}") + +SALOME_FIND_PACKAGE(SalomeCALCULATOR SalomeCALCULATOR CONFIG) -nodist_salomescript_DATA = \ - VERSION +IF(NOT SalomeCALCULATOR_FIND_QUIETLY) + MESSAGE(STATUS "Found Salome CALCULATOR: ${CALCULATOR_ROOT_DIR}") +ENDIF() diff --git a/adm_local/cmake_files/SalomeCALCULATORConfig.cmake.in b/adm_local/cmake_files/SalomeCALCULATORConfig.cmake.in new file mode 100644 index 0000000..8029979 --- /dev/null +++ b/adm_local/cmake_files/SalomeCALCULATORConfig.cmake.in @@ -0,0 +1,99 @@ +# - 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 CALCULATOREngine AND NOT @PROJECT_NAME@_BINARY_DIR) + INCLUDE("@PACKAGE_SALOME_INSTALL_CMAKE_LOCAL@/@PROJECT_NAME@Targets.cmake") +ENDIF() + +# Package root dir: +SET_AND_CHECK(CALCULATOR_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") + +# Include directories +SET_AND_CHECK(CALCULATOR_INCLUDE_DIRS "${CALCULATOR_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@") + +#### Now the specificities + +# Options exported by the package: +#SET(SALOME_BUILD_TESTS @SALOME_BUILD_TESTS@) +SET(SALOME_BUILD_DOC @SALOME_BUILD_DOC@) + +# Level 1 prerequisites: +SET_AND_CHECK(MED_ROOT_DIR_EXP "@PACKAGE_MED_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 MED targets if they were not already loaded: +IF(NOT (TARGET medcoupling)) + INCLUDE("${MED_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeMEDTargets.cmake") +ENDIF() + +# Exposed CALCULATOR targets: +SET(CALCULATOR_CALCULATOREngine CALCULATOREngine) +SET(CALCULATOR_SalomeIDLCALCULATOR SalomeIDLCALCULATOR) \ No newline at end of file diff --git a/adm_local/Makefile.am b/adm_local/unix/CMakeLists.txt old mode 100644 new mode 100755 similarity index 85% rename from adm_local/Makefile.am rename to adm_local/unix/CMakeLists.txt index a8acbbd..2f895ae --- a/adm_local/Makefile.am +++ b/adm_local/unix/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# 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/src/Makefile.am b/adm_local/unix/config_files/CMakeLists.txt similarity index 76% rename from src/Makefile.am rename to adm_local/unix/config_files/CMakeLists.txt index c43af0c..ef97753 100755 --- a/src/Makefile.am +++ b/adm_local/unix/config_files/CMakeLists.txt @@ -1,5 +1,8 @@ # 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 @@ -17,12 +20,8 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# File : Makefile.in -# Author : Patrick GOLDBRONN (CEA) -# Modified by : Alexander BORODIN (OCN) - autotools usage -# Module : SuperVisionTest -# $Header: -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -SUBDIRS = CALCULATOR +SET(_m4_data + check_CALCULATOR.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 100644 index e6cf13e..0000000 --- a/adm_local/unix/make_common_starter.am +++ /dev/null @@ -1,94 +0,0 @@ -# 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 -# 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/bin/CMakeLists.txt b/bin/CMakeLists.txt new file mode 100755 index 0000000..ffdf7b4 --- /dev/null +++ b/bin/CMakeLists.txt @@ -0,0 +1,31 @@ +# 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 +# + +SALOME_CONFIGURE_FILE(VERSION.in VERSION INSTALL ${SALOME_INSTALL_BINS}) +SALOME_CONFIGURE_FILE(runAppli.in runAppli INSTALL ${SALOME_INSTALL_BINS}) + +# =============================================================== +# Files to be installed +# =============================================================== + +SET(_bin_scripts + myrunSalome.py +) + +SALOME_INSTALL_SCRIPTS("${_bin_scripts}" ${SALOME_INSTALL_SCRIPT_SCRIPTS}) diff --git a/bin/VERSION.in b/bin/VERSION.in index d1e3e07..0059758 100755 --- a/bin/VERSION.in +++ b/bin/VERSION.in @@ -1,3 +1,3 @@ -[SALOME CALCULATOR] : @VERSION@ -[DEVELOPMENT] : @VERSION_DEV@ +[SALOME CALCULATOR] : @SALOMECALCULATOR_VERSION@ +[DEVELOPMENT] : @SALOMECALCULATOR_VERSION_DEV@ [DESCRIPTION] : Sample SALOME module diff --git a/build_configure b/build_configure deleted file mode 100755 index da02b3f..0000000 --- a/build_configure +++ /dev/null @@ -1,103 +0,0 @@ -#!/bin/bash -# 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 -# - -# Tool for updating list of .in file for the SALOME project -# and regenerating configure script -# Author : -# Modified by : Alexander BORODIN (OCN) - autotools usage -# Date : 10/10/2002 -# -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 MED_ROOT_DIR is set correctly - -if test ! -d "${MED_ROOT_DIR}"; then - echo "failed : MED_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" -aclocal -I adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ - -I ${MED_ROOT_DIR}/adm_local/unix/config_files || exit 1 - -# ____________________________________________________________________ -# 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 4939051..0000000 --- a/clean_configure +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -# 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 -# 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 100644 index de64875..0000000 --- a/configure.ac +++ /dev/null @@ -1,339 +0,0 @@ -# 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 -# 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 : Marc Tajchman (CEA) -# Date : 28/06/2001 -# Modified by : Patrick GOLDBRONN (CEA) -# Modified by : Marc Tajchman (CEA) -# -AC_INIT([Salome2 Project CALCULATOR module], [7.2.0], [webmaster.salome@opencascade.com], [SalomeCALCULATOR]) -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=calculator -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 + for shared libraries - -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='\${ROOT_BUILDDIR}'/adm_local/unix/config_files/install-sh - #;; - case $host_os in - osf*) - INSTALL="${AUX_CONFIG_DIR}/install-sh -c" - ;; - *) - INSTALL='\${AUX_CONFIG_DIR}'/install-sh - ;; - esac -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 Check if we use std iostream by default or if we must add -dnl a compiler directive for that -dnl - -AC_CXX_USE_STD_IOSTREAM - -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 -#AM_CONDITIONAL(MED_ENABLE_SSTREAM, [test "$HAVE_SSTREAM" = yes]) - -dnl -dnl --------------------------------------------- -dnl testing linker -dnl --------------------------------------------- -dnl - -AC_LINKER_OPTIONS - -echo -echo --------------------------------------------- -echo testing threads -echo --------------------------------------------- -echo - -ENABLE_PTHREADS - -echo -echo --------------------------------------------- -echo testing MPI -echo --------------------------------------------- -echo - -CHECK_MPI - -echo -echo --------------------------------------------- -echo testing python -echo --------------------------------------------- -echo - -CHECK_PYTHON - -echo -echo --------------------------------------------- -echo testing swig -echo --------------------------------------------- -echo - -AM_PATH_PYTHON(2.3) -CHECK_SWIG -#AM_CONDITIONAL(MED_SWIG_1_3_21, [test "$SWIG_VERSION" = 1.3.21]) - -echo -echo --------------------------------------------- -echo testing HDF5 -echo --------------------------------------------- -echo - -CHECK_HDF5 - -echo -echo --------------------------------------------- -echo BOOST Library -echo --------------------------------------------- -echo - -CHECK_BOOST - -echo -echo --------------------------------------------- -echo testing MED3 -echo --------------------------------------------- -echo - -CHECK_MED3 - -echo -echo --------------------------------------------- -echo testing omniORB -echo --------------------------------------------- -echo - -CHECK_OMNIORB - -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 OpenCascade -echo --------------------------------------------- -echo - -CHECK_CAS - -echo -echo --------------------------------------------- -echo testing MED -echo --------------------------------------------- -echo - -CHECK_MED - -dnl For the sake of $MACHINE needed for MED Wrapper -AC_DEPEND_FLAG - -echo -echo --------------------------------------------- -echo Testing Kernel -echo --------------------------------------------- -echo - -CHECK_KERNEL - -echo -echo --------------------------------------------- -echo Summary -echo --------------------------------------------- -echo - -echo Configure -variables="python_ok omniORB_ok Kernel_ok" - -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/*; \ -]) - -AC_HACK_LIBTOOL -AC_CONFIG_COMMANDS([hack_libtool],[ -sed -i "s%^CC=\"\(.*\)\"%hack_libtool (){ \n\ - $(pwd)/hack_libtool \1 \"\$[@]\" \n\ -}\n\ -CC=\"hack_libtool\"%g" libtool -sed -i "s%\(\s*\)for searchdir in \$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path; do%\1searchdirs=\"\$newlib_search_path \$lib_search_path \$sys_lib_search_path \$shlib_search_path\"\n\1for searchdir in \$searchdirs; do%g" libtool -sed -i "s%\(\s*\)searchdirs=\"\$newlib_search_path \$lib_search_path \(.*\)\"%\1searchdirs=\"\$newlib_search_path \$lib_search_path\"\n\1sss_beg=\"\"\n\1sss_end=\"\2\"%g" libtool -sed -i "s%\(\s*\)\(for searchdir in \$searchdirs; do\)%\1for sss in \$searchdirs; do\n\1 if ! test -d \$sss; then continue; fi\n\1 ssss=\$(cd \$sss; pwd)\n\1 if test \"\$ssss\" != \"\" \&\& test -d \$ssss; then\n\1 case \$ssss in\n\1 /usr/lib | /usr/lib64 ) ;;\n\1 * ) sss_beg=\"\$sss_beg \$ssss\" ;;\n\1 esac\n\1 fi\n\1done\n\1searchdirs=\"\$sss_beg \$sss_end\"\n\1\2%g" libtool -],[]) - -# 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/runAppli \ - bin/Makefile \ - doc/Makefile \ - CALCULATOR_version.h \ - src/Makefile \ - src/CALCULATOR/Makefile \ - resources/Makefile \ - resources/CALCULATORCatalog.xml \ - resources/SalomeApp.xml \ - idl/Makefile \ - Makefile \ -]) diff --git a/adm_local/unix/Makefile.am b/doc/CMakeLists.txt old mode 100644 new mode 100755 similarity index 80% rename from adm_local/unix/Makefile.am rename to doc/CMakeLists.txt index c68bae1..924d8aa --- a/adm_local/unix/Makefile.am +++ b/doc/CMakeLists.txt @@ -1,5 +1,8 @@ # 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 @@ -17,6 +20,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 +INSTALL(FILES Calculator_guide.sxw calculator.pdf DESTINATION ${SALOME_INSTALL_DOC}) \ No newline at end of file diff --git a/resources/Makefile.am b/idl/CMakeLists.txt old mode 100644 new mode 100755 similarity index 53% rename from resources/Makefile.am rename to idl/CMakeLists.txt index 60d85ad..3caa850 --- a/resources/Makefile.am +++ b/idl/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# 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,19 +17,28 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# -* Makefile *- -# Author : Patrick GOLDBRONN (CEA) -# Date : 28/06/2001 -# Modified by : Alexander BORODIN (OCN) - autotools usage -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am +INCLUDE(UseOmniORB) # Provided by KERNEL + +INCLUDE_DIRECTORIES( + ${OMNIORB_INCLUDE_DIR} + ${KERNEL_INCLUDE_DIRS} + ${MED_INCLUDE_DIRS} + ${PROJECT_BINARY_DIR}/idl +) + +SET(SalomeIDLCALCULATOR_IDLSOURCES + CALCULATOR_Gen.idl +) + +SET(_idl_include_dirs + ${KERNEL_ROOT_DIR}/idl/salome + ${MED_ROOT_DIR}/idl/salome +) -dist_salomeres_DATA = \ - CALCULATOR.png \ - CALCULATOR_en.ps \ - CALCULATOR_en.xml \ - CALCULATOR_fr.xml \ - ExecCALCULATOR.png +SET(_idl_link_flags + ${KERNEL_SalomeIDLKernel} + ${MED_SalomeIDLMED} +) -# VSR: little trick to avoid putting if CALCULATORCatalog.xml to the distribution archive -nodist_salomeres_SCRIPTS = CALCULATORCatalog.xml SalomeApp.xml +OMNIORB_ADD_MODULE(SalomeIDLCALCULATOR "${SalomeIDLCALCULATOR_IDLSOURCES}" "${_idl_include_dirs}" "${_idl_link_flags}") +INSTALL(TARGETS SalomeIDLCALCULATOR EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) \ No newline at end of file diff --git a/idl/Makefile.am b/idl/Makefile.am deleted file mode 100644 index 3d01223..0000000 --- a/idl/Makefile.am +++ /dev/null @@ -1,119 +0,0 @@ -# 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 -# 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 = CALCULATOR_Gen.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 = libSalomeIDLCALCULATOR.la - -# Sources built from idl files -nodist_libSalomeIDLCALCULATOR_la_SOURCES = \ - CALCULATOR_GenSK.cc \ - CALCULATOR_GenDynSK.cc -CALCULATOR_GenDynSK.cc: CALCULATOR_GenSK.cc - -# header files must be exported: other modules have to use this library -nodist_salomeinclude_HEADERS = $(BASEIDL_FILES:%.idl=%.hh) - -libSalomeIDLCALCULATOR_la_CPPFLAGS = \ - $(KERNEL_CXXFLAGS) \ - $(MED_CXXFLAGS) \ - -I$(top_builddir)/idl \ - @CORBA_CXXFLAGS@ \ - @CORBA_INCLUDES@ - -libSalomeIDLCALCULATOR_la_LDFLAGS = -no-undefined -version-info=0:0:0 -libSalomeIDLCALCULATOR_la_LIBADD = \ - $(KERNEL_LDFLAGS) -lSalomeIDLKernel \ - $(MED_LDFLAGS) -lSalomeIDLMED \ - @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$(MED_ROOT_DIR)/idl/salome - -IDLCXXFLAGS = \ - -bcxx \ - @IDLCXXFLAGS@ \ - -I$(top_builddir)/idl/salome \ - -I$(KERNEL_ROOT_DIR)/idl/salome \ - -I$(MED_ROOT_DIR)/idl/salome -IDLPYFLAGS = \ - @IDLPYFLAGS@ \ - -I$(KERNEL_ROOT_DIR)/idl/salome \ - -I$(MED_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 CALCULATOR_ORB ; 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$(MED_ROOT_DIR)/idl/salome $$dep 2>/dev/null | \ - sed 's/\.o/\SK.cc/' >>$@; \ - fi; \ - done ; - --include .depidl diff --git a/resources/CALCULATORCatalog.xml.in b/resources/CALCULATORCatalog.xml.in index 7c00498..7bd7053 100644 --- a/resources/CALCULATORCatalog.xml.in +++ b/resources/CALCULATORCatalog.xml.in @@ -35,7 +35,7 @@ CALCULATOR MED EXAMPLE ngore - @VERSION@ + @SALOMECALCULATOR_VERSION@ unknown 1 CALCULATOR.png diff --git a/Makefile.am b/resources/CMakeLists.txt old mode 100644 new mode 100755 similarity index 55% rename from Makefile.am rename to resources/CMakeLists.txt index 2436f42..ed0a2ca --- a/Makefile.am +++ b/resources/CMakeLists.txt @@ -1,5 +1,8 @@ # 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 @@ -17,27 +20,15 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# -* Makefile *- -# Author : Patrick GOLDBRONN (CEA) -# Date : 28/06/2001 -# Modified by : Alexander BORODIN (OCN) - autotools usage -# $Header$ -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -ACLOCAL_AMFLAGS = -I adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files \ - -I ${MED_ROOT_DIR}/adm_local/unix/config_files - -SUBDIRS = idl adm_local resources src bin doc - -DISTCLEANFILES = a.out aclocal.m4 configure local-install.sh hack_libtool - -salomeinclude_DATA = CALCULATOR_version.h +SET(CALCULATOR_RESOURCES_FILES + CALCULATOR_en.ps + CALCULATOR_en.xml + CALCULATOR_fr.xml + CALCULATOR.png + ExecCALCULATOR.png +) -EXTRA_DIST += \ - build_configure \ - clean_configure +INSTALL(FILES ${CALCULATOR_RESOURCES_FILES} DESTINATION ${SALOME_CALCULATOR_INSTALL_RES_DATA}) -dist-hook: - rm -rf `find $(distdir) -name CVS` +SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_CALCULATOR_INSTALL_RES_DATA}) +SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/CALCULATORCatalog.xml.in ${CMAKE_CURRENT_BINARY_DIR}/CALCULATORCatalog.xml INSTALL ${SALOME_CALCULATOR_INSTALL_RES_DATA}) \ No newline at end of file diff --git a/resources/SalomeApp.xml.in b/resources/SalomeApp.xml.in index efc7452..edda301 100644 --- a/resources/SalomeApp.xml.in +++ b/resources/SalomeApp.xml.in @@ -26,7 +26,7 @@ - +
diff --git a/src/CALCULATOR/CALCULATOR.cxx b/src/CALCULATOR/CALCULATOR.cxx index a2b5d74..6bbc429 100644 --- a/src/CALCULATOR/CALCULATOR.cxx +++ b/src/CALCULATOR/CALCULATOR.cxx @@ -390,7 +390,7 @@ CALCULATOR_ORB::ErrorCode CALCULATOR::getErrorCode() // Version information char* CALCULATOR::getVersion() { -#if CALCULATOR_DEVELOPMENT +#if defined(CALCULATOR_DEVELOPMENT) return CORBA::string_dup(CALCULATOR_VERSION_STR"dev"); #else return CORBA::string_dup(CALCULATOR_VERSION_STR); diff --git a/src/CALCULATOR/CMakeLists.txt b/src/CALCULATOR/CMakeLists.txt new file mode 100755 index 0000000..0838341 --- /dev/null +++ b/src/CALCULATOR/CMakeLists.txt @@ -0,0 +1,85 @@ +# 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( + ${OMNIORB_INCLUDE_DIR} + ${KERNEL_INCLUDE_DIRS} + ${MED_INCLUDE_DIRS} + ${PROJECT_BINARY_DIR} + ${PROJECT_BINARY_DIR}/idl +) + +# additional preprocessor / compiler flags +ADD_DEFINITIONS( + ${QT_DEFINITIONS} +) + +# libraries to link to +SET(_link_LIBRARIES + ${KERNEL_SalomeContainer} + ${KERNEL_OpUtil} + ${KERNEL_SalomeIDLKERNEL} + ${MED_medcouplingclient} + ${MED_medcouplingcorba} + ${MED_SalomeIDLMED} + SalomeIDLCALCULATOR +) +# --- headers --- + +# header files / no moc processing +SET(CALCULATOR_HEADERS + CALCULATOR.hxx +) + +# --- sources --- + +# sources / static +SET(CALCULATOR_SOURCES + CALCULATOR.cxx +) + +# --- scripts --- + +# scripts / static +SET(_bin_SCRIPTS + CALCULATOR_TEST.py + CALCULATOR_TEST_WITHOUTIHM.py + CALCULATOR_TEST_STUDY_WITHOUTIHM.py + graphe1.py +) + +# resource files / static +SET(CALCULATOR_RESOURCES + graphe1.xml +) + + +# --- rules --- + +ADD_LIBRARY(CALCULATOREngine ${CALCULATOR_SOURCES}) +TARGET_LINK_LIBRARIES(CALCULATOREngine ${_link_LIBRARIES}) +INSTALL(TARGETS CALCULATOREngine EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) + +INSTALL(FILES ${CALCULATOR_HEADERS} DESTINATION ${SALOME_INSTALL_HEADERS}) + +SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) + +INSTALL(FILES ${CALCULATOR_RESOURCES} DESTINATION ${SALOME_CALCULATOR_INSTALL_RES_DATA}) \ No newline at end of file diff --git a/src/CALCULATOR/Makefile.am b/src/CALCULATOR/Makefile.am deleted file mode 100755 index 1cbedd3..0000000 --- a/src/CALCULATOR/Makefile.am +++ /dev/null @@ -1,63 +0,0 @@ -# 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 -# 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 -# - -# SuperVisionTest AddComponent : example of component that adds two numbers -# File : Makefile.in -# Author : , CEA -# Modified by : Alexander BORODIN (OCN) - autotools usage -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -# header files -salomeinclude_HEADERS = CALCULATOR.hxx - -# Libraries targets -lib_LTLIBRARIES = libCALCULATOREngine.la -dist_libCALCULATOREngine_la_SOURCES = \ - CALCULATOR.cxx - -libCALCULATOREngine_la_CPPFLAGS = \ - $(CORBA_CXXFLAGS) \ - $(CORBA_INCLUDES) \ - $(MED_CXXFLAGS) \ - $(KERNEL_CXXFLAGS) \ - -I$(top_builddir) \ - -I$(top_builddir)/idl - -libCALCULATOREngine_la_LDFLAGS = \ - $(CORBA_LIBS) \ - $(HDF5_LIBS) \ - $(KERNEL_LDFLAGS) \ - -lSalomeContainer \ - -lOpUtil \ - -lSalomeIDLKernel \ - $(MED_LDFLAGS) \ - -lSalomeIDLMED \ - -lmedcouplingclient \ - -lmedcouplingcorba \ - $(top_builddir)/idl/libSalomeIDLCALCULATOR.la - -# Scripts to be installed -dist_salomescript_DATA = \ - CALCULATOR_TEST.py \ - CALCULATOR_TEST_STUDY_WITHOUTIHM.py \ - CALCULATOR_TEST_WITHOUTIHM.py - -dist_salomeres_DATA = graphe1.xml -dist_salomescript_SCRIPTS = graphe1.py diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100755 index 0000000..748a7f1 --- /dev/null +++ b/src/CMakeLists.txt @@ -0,0 +1,34 @@ +# 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 + CALCULATOR +) + +SET(SUBDIRS + ${SUBDIRS_COMMON} +) + +FOREACH(dir ${SUBDIRS}) + ADD_SUBDIRECTORY(${dir}) +ENDFOREACH(dir ${SUBDIRS}) + -- 2.30.2