From 51330c5fd253e0f16d7d93933210ae2bba2a7aa0 Mon Sep 17 00:00:00 2001 From: rnv Date: Thu, 26 Sep 2013 12:24:37 +0000 Subject: [PATCH] Porting PYHELLO module to the CMake build system: initial version. --- CMakeLists.txt | 183 +++++++++++++ Makefile.am | 51 ---- README | 5 +- .../Makefile.am => CMakeLists.txt} | 9 +- adm_local/cmake_files/CMakeLists.txt | 29 ++ .../FindPYHELLO.cmake} | 5 +- .../cmake_files/FindSalomePYHELLO.cmake | 19 +- .../cmake_files/SalomePYHELLOConfig.cmake.in | 99 +++++++ .../unix/{Makefile.am => CMakeLists.txt} | 6 +- .../unix/config_files/CMakeLists.txt | 15 +- adm_local/unix/make_common_starter.am | 94 ------- bin/CMakeLists.txt | 31 +++ bin/VERSION.in | 4 +- build_cmake | 27 -- build_cmake.bat | 20 -- build_configure | 105 -------- clean_configure | 28 -- configure.ac | 255 ------------------ .../Makefile.am => doc/CMakeLists.txt | 25 +- doc/Makefile.am | 54 ---- doc/doxyfile.in | 14 +- doc/{ => input}/index.doc | 2 +- doc/static/header.html.in | 2 +- idl/CMakeLists.txt | 41 +++ idl/Makefile.am | 71 ----- .../Makefile.am => resources/CMakeLists.txt | 24 +- resources/PYHELLOCatalog.xml.in | 2 +- resources/SalomeApp.xml.in | 2 +- src/CMakeLists.txt | 34 +++ src/PYHELLO/CMakeLists.txt | 29 ++ .../PYHELLOGUI/CMakeLists.txt | 41 +-- 31 files changed, 538 insertions(+), 788 deletions(-) create mode 100755 CMakeLists.txt delete mode 100644 Makefile.am rename adm_local/{unix/config_files/Makefile.am => CMakeLists.txt} (82%) mode change 100644 => 100755 create mode 100755 adm_local/cmake_files/CMakeLists.txt rename adm_local/{Makefile.am => cmake_files/FindPYHELLO.cmake} (85%) rename bin/Makefile.am => adm_local/cmake_files/FindSalomePYHELLO.cmake (73%) create mode 100644 adm_local/cmake_files/SalomePYHELLOConfig.cmake.in rename adm_local/unix/{Makefile.am => CMakeLists.txt} (84%) 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 100644 bin/CMakeLists.txt delete mode 100755 build_cmake delete mode 100644 build_cmake.bat delete mode 100755 build_configure delete mode 100755 clean_configure delete mode 100644 configure.ac rename src/PYHELLOGUI/Makefile.am => doc/CMakeLists.txt (58%) delete mode 100755 doc/Makefile.am rename doc/{ => input}/index.doc (99%) create mode 100755 idl/CMakeLists.txt delete mode 100644 idl/Makefile.am rename src/PYHELLO/Makefile.am => resources/CMakeLists.txt (56%) create mode 100755 src/CMakeLists.txt create mode 100644 src/PYHELLO/CMakeLists.txt rename resources/Makefile.am => src/PYHELLOGUI/CMakeLists.txt (58%) mode change 100644 => 100755 diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100755 index 0000000..a51b9c3 --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,183 @@ +# 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(SalomePYHELLO 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 "PYHELLO 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 PYHELLO documentation" ${SALOME_BUILD_DOC}) + +IF(SALOME_BUILD_DOC) + FIND_PACKAGE(SalomeDoxygen) + SALOME_LOG_OPTIONAL_PACKAGE(Doxygen SALOME_BUILD_DOC) +ENDIF() + +# Find 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 REQUIRED) + ELSE(EXISTS ${GUI_ROOT_DIR}) + MESSAGE(FATAL_ERROR "We absolutely need a Salome GUI, please define GUI_ROOT_DIR") +ENDIF(EXISTS ${GUI_ROOT_DIR}) + +## +## PYHELLO specifics +## + +FIND_PACKAGE(SalomePython REQUIRED) +FIND_PACKAGE(SalomeOmniORB REQUIRED) +FIND_PACKAGE(SalomeOmniORBPy REQUIRED) +# Qt4 +FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui) +INCLUDE(${QT_USE_FILE}) + +# 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: 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 PYHELLO: +SET(SALOME_PYHELLO_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/pyhello" CACHE PATH + "Install path: SALOME PYHELLO 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_PYHELLO_INSTALL_RES_DATA) + +# Sources +# ======== + +ADD_SUBDIRECTORY(idl) +ADD_SUBDIRECTORY(adm_local) +ADD_SUBDIRECTORY(resources) +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(doc) +ADD_SUBDIRECTORY(bin) + +# 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 + SalomeIDLPYHELLO +) + +# 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(GUI_ROOT_DIR "${GUI_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 + GUI_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/Makefile.am b/Makefile.am deleted file mode 100644 index 4c4af15..0000000 --- a/Makefile.am +++ /dev/null @@ -1,51 +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 -# - -# -* 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 ${GUI_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 - -EXTRA_DIST += \ - build_configure \ - clean_configure - -dist-hook: - rm -rf `find $(distdir) -name CVS` - -usr_docs: - (cd doc && $(MAKE) $(AM_MAKEFLAGS) usr_docs) - -docs: usr_docs - -dev_docs: - (cd doc && $(MAKE) $(AM_MAKEFLAGS) dev_docs) - - diff --git a/README b/README index d13fa47..ffdc95e 100644 --- a/README +++ b/README @@ -1,11 +1,10 @@ This module is a Salome example of a module implemented in Python with PyQt GUI 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_BUILD_TYPE=Debug -DCMAKE_INSTALL_PREFIX=instal_dir ../src_dir make make install diff --git a/adm_local/unix/config_files/Makefile.am b/adm_local/CMakeLists.txt old mode 100644 new mode 100755 similarity index 82% rename from adm_local/unix/config_files/Makefile.am rename to adm_local/CMakeLists.txt index 59ad711..84d97c2 --- a/adm_local/unix/config_files/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,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_PYHELLO.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..c488036 --- /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 + FindPYHELLO.cmake + FindSalomePYHELLO.cmake +) +INSTALL(FILES ${_adm_data} DESTINATION ${SALOME_INSTALL_CMAKE_LOCAL}) diff --git a/adm_local/Makefile.am b/adm_local/cmake_files/FindPYHELLO.cmake similarity index 85% rename from adm_local/Makefile.am rename to adm_local/cmake_files/FindPYHELLO.cmake index a8acbbd..f9794f3 100644 --- a/adm_local/Makefile.am +++ b/adm_local/cmake_files/FindPYHELLO.cmake @@ -16,7 +16,8 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +# -include $(top_srcdir)/adm_local/unix/make_common_starter.am +SET(PYHELLO_CXXFLAGS -I${PYHELLO_ROOT_DIR}/include/salome) -SUBDIRS = unix +FIND_LIBRARY(SalomeIDLPYHELLO SalomeIDLPYHELLO ${PYHELLO_ROOT_DIR}/lib/salome) \ No newline at end of file diff --git a/bin/Makefile.am b/adm_local/cmake_files/FindSalomePYHELLO.cmake similarity index 73% rename from bin/Makefile.am rename to adm_local/cmake_files/FindSalomePYHELLO.cmake index 57baf6e..7e5caa6 100644 --- a/bin/Makefile.am +++ b/adm_local/cmake_files/FindSalomePYHELLO.cmake @@ -16,18 +16,15 @@ # # 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 +IF(NOT SalomePYHELLO_FIND_QUIETLY) + MESSAGE(STATUS "Looking for Salome PYHELLO ...") +ENDIF() -nodist_salomescript_SCRIPTS = \ - runAppli +SET(CMAKE_PREFIX_PATH "${PYHELLO_ROOT_DIR}") +SALOME_FIND_PACKAGE(SalomePYHELLO SalomePYHELLO CONFIG) -nodist_salomescript_DATA = \ - VERSION +IF(NOT SalomePYHELLO_FIND_QUIETLY) + MESSAGE(STATUS "Found Salome PYHELLO: ${PYHELLO_ROOT_DIR}") +ENDIF() \ No newline at end of file diff --git a/adm_local/cmake_files/SalomePYHELLOConfig.cmake.in b/adm_local/cmake_files/SalomePYHELLOConfig.cmake.in new file mode 100644 index 0000000..5cf7ad4 --- /dev/null +++ b/adm_local/cmake_files/SalomePYHELLOConfig.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@ + + +# Package root dir: +SET_AND_CHECK(PYHELLO_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") + +# Include directories +SET_AND_CHECK(PYHELLO_INCLUDE_DIRS "${PYHELLO_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@") + +# 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 SalomeIDLPYHELLO AND NOT @PROJECT_NAME@_BINARY_DIR) + INCLUDE("${PYHELLO_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE_LOCAL}/SalomePYHELLOTargets.cmake") +ENDIF() + +#### 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(GUI_ROOT_DIR_EXP "@PACKAGE_GUI_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 GUI targets if they were not already loaded: +IF(NOT (TARGET Event)) + INCLUDE("${GUI_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeGUITargets.cmake") +ENDIF() + +# Exposed PYHELLO targets: +SET(PYHELLO_SalomeIDLPYHELLO SalomeIDLPYHELLO) \ No newline at end of file diff --git a/adm_local/unix/Makefile.am b/adm_local/unix/CMakeLists.txt old mode 100644 new mode 100755 similarity index 84% rename from adm_local/unix/Makefile.am rename to adm_local/unix/CMakeLists.txt index c68bae1..2f895ae --- a/adm_local/unix/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 = config_files +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 77c1eaf..edba29f 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,10 +20,8 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -# File : Makefile.in -# Author : (CEA) -# Modified by : Alexander BORODIN (OCN) - autotools usage -# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -SUBDIRS = PYHELLO PYHELLOGUI +SET(_m4_data + check_PYHELLO.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 100644 index 0000000..f0579e1 --- /dev/null +++ b/bin/CMakeLists.txt @@ -0,0 +1,31 @@ +# Copyright (C) 2012-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 +# + +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 011a48b..e330ebb 100755 --- a/bin/VERSION.in +++ b/bin/VERSION.in @@ -1,3 +1,3 @@ -[SALOME PYHELLO] : @VERSION@ -[DEVELOPMENT] : @VERSION_DEV@ +[SALOME PYHELLO] : @SALOMEPYHELLO_VERSION@ +[DEVELOPMENT] : @SALOMEPYHELLO_VERSION_DEV@ [DESCRIPTION] : Sample Python SALOME module diff --git a/build_cmake b/build_cmake deleted file mode 100755 index dfe7b2c..0000000 --- a/build_cmake +++ /dev/null @@ -1,27 +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 -# - -CURRENT_DIR=`pwd` -CONF_DIR=`echo $0 | sed -e "s,[^/]*$,,;s,/$,,;s,^$,.,"` -cd ${CONF_DIR} -python $KERNEL_ROOT_DIR/salome_adm/cmake_files/deprecated/am2cmake.py --pyhello -status=$? -cd ${CURRENT_DIR} -exit $status diff --git a/build_cmake.bat b/build_cmake.bat deleted file mode 100644 index d3770cf..0000000 --- a/build_cmake.bat +++ /dev/null @@ -1,20 +0,0 @@ -@REM Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -@REM -@REM This library is free software; you can redistribute it and/or -@REM modify it under the terms of the GNU Lesser General Public -@REM License as published by the Free Software Foundation; either -@REM version 2.1 of the License. -@REM -@REM This library is distributed in the hope that it will be useful, -@REM but WITHOUT ANY WARRANTY; without even the implied warranty of -@REM MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -@REM Lesser General Public License for more details. -@REM -@REM You should have received a copy of the GNU Lesser General Public -@REM License along with this library; if not, write to the Free Software -@REM Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -@REM -@REM See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -@REM - -%PYTHONBIN% %KERNEL_ROOT_DIR%\salome_adm\cmake_files\deprecated\am2cmake.py --pyhello diff --git a/build_configure b/build_configure deleted file mode 100755 index 7d7e53a..0000000 --- a/build_configure +++ /dev/null @@ -1,105 +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 GUI_ROOT_DIR is set correctly - -if test ! -d "${GUI_ROOT_DIR}"; then - echo "failed : GUI_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 ${GUI_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 2a63bf2..0000000 --- a/clean_configure +++ /dev/null @@ -1,28 +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 {} \; -#exit -# ==================== ON SORT AVANT - -find . -name Makefile.in | xargs rm -f -( cd adm_local/unix/config_files && rm -f config.* depcomp install-sh ltmain.sh missing py-compile ) diff --git a/configure.ac b/configure.ac deleted file mode 100644 index 6d2f52c..0000000 --- a/configure.ac +++ /dev/null @@ -1,255 +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) -# Created from configure.in.base -# -AC_INIT([Salome2 Project PYHELLO module], [7.2.0], [webmaster.salome@opencascade.com], [SalomePYHELLO]) -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=pyhello -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='\${KERNEL_ROOT_DIR}'/adm_local/unix/config_files/install-sh - ;; -esac - -echo -echo --------------------------------------------- -echo testing python -echo --------------------------------------------- -echo - -CHECK_PYTHON - -AM_PATH_PYTHON(2.3) - -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 QT -echo --------------------------------------------- -echo - -CHECK_QT - -echo -echo --------------------------------------------- -echo Testing html generators -echo --------------------------------------------- -echo - -CHECK_HTML_GENERATORS - -echo -echo --------------------------------------------- -echo Testing Kernel -echo --------------------------------------------- -echo - -CHECK_KERNEL - -echo -echo --------------------------------------------- -echo Testing GUI -echo --------------------------------------------- -echo - -CHECK_SALOME_GUI - -echo -echo --------------------------------------------- -echo Testing full GUI -echo --------------------------------------------- -echo - -CHECK_CORBA_IN_GUI - -if test "x${CORBA_IN_GUI}" != "xyes"; then - echo "failed : For configure PYHELLO module necessary full GUI !" - exit -fi - -echo -echo --------------------------------------------- -echo Summary -echo --------------------------------------------- -echo - -echo Configure -variables="python_ok omniORB_ok qt_ok doxygen_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 \ - doc/doxyfile \ - doc/static/header.html \ - src/Makefile \ - src/PYHELLO/Makefile \ - src/PYHELLOGUI/Makefile \ - resources/Makefile \ - resources/SalomeApp.xml \ - resources/PYHELLOCatalog.xml \ - idl/Makefile \ - Makefile \ -]) diff --git a/src/PYHELLOGUI/Makefile.am b/doc/CMakeLists.txt similarity index 58% rename from src/PYHELLOGUI/Makefile.am rename to doc/CMakeLists.txt index 0e835c9..eef7b42 100755 --- a/src/PYHELLOGUI/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,19 +20,13 @@ # 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 +SALOME_CONFIGURE_FILE(doxyfile.in doxyfile) +SALOME_CONFIGURE_FILE(static/header.html.in static/header.html) + +ADD_CUSTOM_TARGET(usr_docs ${DOXYGEN_EXECUTABLE}) -# Scripts to be installed -dist_salomescript_SCRIPTS = \ - PYHELLOGUI.py +ADD_DEPENDENCIES(usr_docs html_docs) -# resources files -nodist_salomeres_DATA = \ - PYHELLO_msg_en.qm \ - PYHELLO_msg_fr.qm \ - PYHELLO_icons.qm +INSTALL(CODE "EXECUTE_PROCESS(COMMAND \"${CMAKE_COMMAND}\" --build ${PROJECT_BINARY_DIR} --target usr_docs)") +INSTALL(DIRECTORY ${CMAKE_CURRENT_BINARY_DIR}/PYHELLO DESTINATION ${SALOME_INSTALL_DOC}/gui) +INSTALL(FILES images/head.png DESTINATION ${SALOME_INSTALL_DOC}/gui/PYHELLO) \ No newline at end of file diff --git a/doc/Makefile.am b/doc/Makefile.am deleted file mode 100755 index b0da0bf..0000000 --- a/doc/Makefile.am +++ /dev/null @@ -1,54 +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 -# - -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -EXTRA_DIST += images static/footer.html static/salome_extra.css - -guidocdir = $(docdir)/gui/PYHELLO -guidoc_DATA = images/head.png - -usr_docs: doxyfile - $(DOXYGEN) doxyfile - -docs: usr_docs - -dev_docs: - -clean-local: - @for filen in `find . -maxdepth 1` ; do \ - case $${filen} in \ - ./Makefile | ./doxyfile ) ;; \ - . | .. | ./static ) ;; \ - *) echo "Removing $${filen}" ; rm -rf $${filen} ;; \ - esac ; \ - done ; - -install-data-local: usr_docs - $(INSTALL) -d $(DESTDIR)$(docdir)/gui/PYHELLO - @for filen in `find . -maxdepth 1` ; do \ - case $${filen} in \ - ./Makefile | ./doxyfile | ./doxyfile.bak ) ;; \ - . | .. | ./static ) ;; \ - *) echo "Installing $${filen}" ; cp -rp $${filen} $(DESTDIR)$(docdir)/gui/PYHELLO ;;\ - esac ; \ - done ; - -uninstall-local: - rm -rf $(DESTDIR)$(docdir)/gui/PYHELLO diff --git a/doc/doxyfile.in b/doc/doxyfile.in index f4b3ac8..5ea3444 100755 --- a/doc/doxyfile.in +++ b/doc/doxyfile.in @@ -23,8 +23,8 @@ #--------------------------------------------------------------------------- # Project related configuration options #--------------------------------------------------------------------------- -PROJECT_NAME = "PYHELLO sample module reference manual v.@VERSION@" -OUTPUT_DIRECTORY = . +PROJECT_NAME = "PYHELLO sample module reference manual v.@SALOMEPYHELLO_VERSION@" +OUTPUT_DIRECTORY = PYHELLO CREATE_SUBDIRS = NO OUTPUT_LANGUAGE = English TAB_SIZE = 5 @@ -38,10 +38,10 @@ WARNINGS = YES #--------------------------------------------------------------------------- #Input related options #--------------------------------------------------------------------------- -INPUT = @srcdir@ +INPUT = @CMAKE_CURRENT_SOURCE_DIR@/input FILE_PATTERNS = *.doc EXCLUDE = -IMAGE_PATH = @srcdir@/images +IMAGE_PATH = @CMAKE_CURRENT_SOURCE_DIR@/images EXAMPLE_PATH = #--------------------------------------------------------------------------- @@ -49,9 +49,9 @@ EXAMPLE_PATH = #--------------------------------------------------------------------------- GENERATE_HTML = YES HTML_OUTPUT = . -HTML_HEADER = @builddir@/static/header.html -HTML_FOOTER = @srcdir@/static/footer.html -HTML_EXTRA_STYLESHEET = @srcdir@/static/salome_extra.css +HTML_HEADER = @CMAKE_CURRENT_BINARY_DIR@/static/header.html +HTML_FOOTER = @CMAKE_CURRENT_SOURCE_DIR@/static/footer.html +HTML_EXTRA_STYLESHEET = @CMAKE_CURRENT_SOURCE_DIR@/static/salome_extra.css TOC_EXPAND = YES DISABLE_INDEX = NO GENERATE_TREEVIEW = YES diff --git a/doc/index.doc b/doc/input/index.doc similarity index 99% rename from doc/index.doc rename to doc/input/index.doc index 0556276..34577e3 100644 --- a/doc/index.doc +++ b/doc/input/index.doc @@ -214,7 +214,7 @@ module ("PYHELLO" in this case) with the following parameters: - + \endcode diff --git a/doc/static/header.html.in b/doc/static/header.html.in index cd93290..b06b09a 100755 --- a/doc/static/header.html.in +++ b/doc/static/header.html.in @@ -19,5 +19,5 @@ $extrastylesheet
-
Version: @VERSION@
+
Version: @SALOMEPYHELLO_VERSION@
diff --git a/idl/CMakeLists.txt b/idl/CMakeLists.txt new file mode 100755 index 0000000..e260fcb --- /dev/null +++ b/idl/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 +# + +INCLUDE(UseOmniORB) # Provided by KERNEL + +INCLUDE_DIRECTORIES( + ${OMNIORB_INCLUDE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${KERNEL_INCLUDE_DIRS} +) + +SET(SalomeIDLPYHELLO_IDLSOURCES + PYHELLO_Gen.idl +) + +SET(_idl_include_dirs + ${KERNEL_ROOT_DIR}/idl/salome +) + +SET(_idl_link_flags + ${KERNEL_SalomeIDLKernel} +) + +OMNIORB_ADD_MODULE(SalomeIDLPYHELLO "${SalomeIDLPYHELLO_IDLSOURCES}" "${_idl_include_dirs}" "${_idl_link_flags}") +INSTALL(TARGETS SalomeIDLPYHELLO EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) diff --git a/idl/Makefile.am b/idl/Makefile.am deleted file mode 100644 index 83b51d8..0000000 --- a/idl/Makefile.am +++ /dev/null @@ -1,71 +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 = PYHELLO_Gen.idl - -BASEIDL_FILES_PY=$(BASEIDL_FILES:%.idl=%_idl.py) - -# This variable defines the files to be installed -dist_salomeidl_DATA = $(BASEIDL_FILES) - -# 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 - -IDLCXXFLAGS = \ - -bcxx \ - @IDLCXXFLAGS@ \ - -I$(top_builddir)/idl/salome \ - -I$(KERNEL_ROOT_DIR)/idl/salome -IDLPYFLAGS = \ - @IDLPYFLAGS@ \ - -I$(KERNEL_ROOT_DIR)/idl/salome - -install-exec-local: $(BASEIDL_FILES:%=$(top_srcdir)/idl/%) - $(INSTALL) -d $(DESTDIR)$(salomepythondir) - @for file in $^ dummy; do \ - if [ $$file != "dummy" ]; then \ - $(OMNIORB_IDL) $(OMNIORB_IDLPYFLAGS) -C$(DESTDIR)$(salomepythondir) $$file ; \ - fi ; \ - done ; - -# we want to remove only staff generated for IDL files and nothing more -uninstall-local: - @for modulen in PYHELLO_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 *.py - diff --git a/src/PYHELLO/Makefile.am b/resources/CMakeLists.txt similarity index 56% rename from src/PYHELLO/Makefile.am rename to resources/CMakeLists.txt index a86b1cf..f997668 100755 --- a/src/PYHELLO/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,14 +20,15 @@ # 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 +SET(PYHELLO_RESOURCES_FILES + ExecPYHELLO.png + handshake.png + PYHELLO_small.png + PYHELLO.png + stop.png +) + +INSTALL(FILES ${PYHELLO_RESOURCES_FILES} DESTINATION ${SALOME_PYHELLO_INSTALL_RES_DATA}) -# Scripts to be installed -dist_salomescript_SCRIPTS = \ - PYHELLO.py \ - PYHELLO_utils.py +SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/SalomeApp.xml.in ${CMAKE_CURRENT_BINARY_DIR}/SalomeApp.xml INSTALL ${SALOME_PYHELLO_INSTALL_RES_DATA}) +SALOME_CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/PYHELLOCatalog.xml.in ${CMAKE_CURRENT_BINARY_DIR}/PYHELLOCatalog.xml INSTALL ${SALOME_PYHELLO_INSTALL_RES_DATA}) \ No newline at end of file diff --git a/resources/PYHELLOCatalog.xml.in b/resources/PYHELLOCatalog.xml.in index 369dd4d..bd67648 100644 --- a/resources/PYHELLOCatalog.xml.in +++ b/resources/PYHELLOCatalog.xml.in @@ -39,7 +39,7 @@ PYHELLO GUI Data C. Caremoli - @VERSION@ + @SALOMEPYHELLO_VERSION@ EDF - RD 1 PYHELLO.png diff --git a/resources/SalomeApp.xml.in b/resources/SalomeApp.xml.in index e07c7a3..b4e1aa6 100644 --- a/resources/SalomeApp.xml.in +++ b/resources/SalomeApp.xml.in @@ -28,7 +28,7 @@ - +
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt new file mode 100755 index 0000000..971a226 --- /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 + PYHELLO PYHELLOGUI +) + +SET(SUBDIRS + ${SUBDIRS_COMMON} +) + +FOREACH(dir ${SUBDIRS}) + ADD_SUBDIRECTORY(${dir}) +ENDFOREACH(dir ${SUBDIRS}) + diff --git a/src/PYHELLO/CMakeLists.txt b/src/PYHELLO/CMakeLists.txt new file mode 100644 index 0000000..6d5f172 --- /dev/null +++ b/src/PYHELLO/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 +# + +# --- scripts --- + +# scripts / static +SET(_bin_SCRIPTS + PYHELLO.py + PYHELLO_utils.py +) + +# --- rules --- +SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) \ No newline at end of file diff --git a/resources/Makefile.am b/src/PYHELLOGUI/CMakeLists.txt old mode 100644 new mode 100755 similarity index 58% rename from resources/Makefile.am rename to src/PYHELLOGUI/CMakeLists.txt index 4819f2e..faa109a --- a/resources/Makefile.am +++ b/src/PYHELLOGUI/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,30 @@ # 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(UseQt4Ext) + +# additional include directories +INCLUDE_DIRECTORIES( + ${QT_INCLUDES} +) + +# --- scripts --- + +# scripts / static +SET(_bin_SCRIPTS + PYHELLOGUI.py +) + +# --- resources --- + +# resource files / to be processed by lrelease +SET(_ts_RESOURCES + PYHELLO_msg_en.ts + PYHELLO_msg_fr.ts + PYHELLO_icons.ts +) -dist_salomeres_DATA = \ - PYHELLO.png \ - PYHELLO_small.png \ - ExecPYHELLO.png \ - handshake.png \ - stop.png +# --- rules --- -# VSR: little trick to avoid putting if PYHELLOCatalog.xml to the distribution archive -nodist_salomeres_SCRIPTS = PYHELLOCatalog.xml SalomeApp.xml +SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) +QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_PYHELLO_INSTALL_RES_DATA}") \ No newline at end of file -- 2.30.2