Salome HOME
Porting PYHELLO module to the CMake build system: initial version.
authorrnv <rnv@opencascade.com>
Thu, 26 Sep 2013 12:24:37 +0000 (12:24 +0000)
committerrnv <rnv@opencascade.com>
Thu, 26 Sep 2013 12:24:37 +0000 (12:24 +0000)
40 files changed:
CMakeLists.txt [new file with mode: 0755]
Makefile.am [deleted file]
README
adm_local/CMakeLists.txt [new file with mode: 0755]
adm_local/Makefile.am [deleted file]
adm_local/cmake_files/CMakeLists.txt [new file with mode: 0755]
adm_local/cmake_files/FindPYHELLO.cmake [new file with mode: 0644]
adm_local/cmake_files/FindSalomePYHELLO.cmake [new file with mode: 0644]
adm_local/cmake_files/SalomePYHELLOConfig.cmake.in [new file with mode: 0644]
adm_local/unix/CMakeLists.txt [new file with mode: 0755]
adm_local/unix/Makefile.am [deleted file]
adm_local/unix/config_files/CMakeLists.txt [new file with mode: 0755]
adm_local/unix/config_files/Makefile.am [deleted file]
adm_local/unix/make_common_starter.am [deleted file]
bin/CMakeLists.txt [new file with mode: 0644]
bin/Makefile.am [deleted file]
bin/VERSION.in
build_cmake [deleted file]
build_cmake.bat [deleted file]
build_configure [deleted file]
clean_configure [deleted file]
configure.ac [deleted file]
doc/CMakeLists.txt [new file with mode: 0755]
doc/Makefile.am [deleted file]
doc/doxyfile.in
doc/index.doc [deleted file]
doc/input/index.doc [new file with mode: 0644]
doc/static/header.html.in
idl/CMakeLists.txt [new file with mode: 0755]
idl/Makefile.am [deleted file]
resources/CMakeLists.txt [new file with mode: 0755]
resources/Makefile.am [deleted file]
resources/PYHELLOCatalog.xml.in
resources/SalomeApp.xml.in
src/CMakeLists.txt [new file with mode: 0755]
src/Makefile.am [deleted file]
src/PYHELLO/CMakeLists.txt [new file with mode: 0644]
src/PYHELLO/Makefile.am [deleted file]
src/PYHELLOGUI/CMakeLists.txt [new file with mode: 0755]
src/PYHELLOGUI/Makefile.am [deleted file]

diff --git a/CMakeLists.txt b/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..a51b9c3
--- /dev/null
@@ -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 (file)
index 4c4af15..0000000
+++ /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 d13fa47d2a13ec38718167852a52c7c477c6534c..ffdc95eb778498f051e002c92f6e29967ea91a4d 100644 (file)
--- 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/CMakeLists.txt b/adm_local/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..84d97c2
--- /dev/null
@@ -0,0 +1,24 @@
+# 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
+#
+
+ADD_SUBDIRECTORY(unix)
+ADD_SUBDIRECTORY(cmake_files)
diff --git a/adm_local/Makefile.am b/adm_local/Makefile.am
deleted file mode 100644 (file)
index a8acbbd..0000000
+++ /dev/null
@@ -1,22 +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
-
-SUBDIRS = unix
diff --git a/adm_local/cmake_files/CMakeLists.txt b/adm_local/cmake_files/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..c488036
--- /dev/null
@@ -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/cmake_files/FindPYHELLO.cmake b/adm_local/cmake_files/FindPYHELLO.cmake
new file mode 100644 (file)
index 0000000..f9794f3
--- /dev/null
@@ -0,0 +1,23 @@
+# 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
+#
+#
+
+SET(PYHELLO_CXXFLAGS -I${PYHELLO_ROOT_DIR}/include/salome)
+
+FIND_LIBRARY(SalomeIDLPYHELLO SalomeIDLPYHELLO ${PYHELLO_ROOT_DIR}/lib/salome)
\ No newline at end of file
diff --git a/adm_local/cmake_files/FindSalomePYHELLO.cmake b/adm_local/cmake_files/FindSalomePYHELLO.cmake
new file mode 100644 (file)
index 0000000..7e5caa6
--- /dev/null
@@ -0,0 +1,30 @@
+# 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
+#
+#
+
+IF(NOT SalomePYHELLO_FIND_QUIETLY)
+  MESSAGE(STATUS "Looking for Salome PYHELLO ...")
+ENDIF()
+
+SET(CMAKE_PREFIX_PATH "${PYHELLO_ROOT_DIR}")
+SALOME_FIND_PACKAGE(SalomePYHELLO SalomePYHELLO CONFIG)
+
+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 (file)
index 0000000..5cf7ad4
--- /dev/null
@@ -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/CMakeLists.txt b/adm_local/unix/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..2f895ae
--- /dev/null
@@ -0,0 +1,20 @@
+# 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
+#
+
+ADD_SUBDIRECTORY(config_files)
diff --git a/adm_local/unix/Makefile.am b/adm_local/unix/Makefile.am
deleted file mode 100644 (file)
index c68bae1..0000000
+++ /dev/null
@@ -1,22 +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
-
-SUBDIRS = config_files
diff --git a/adm_local/unix/config_files/CMakeLists.txt b/adm_local/unix/config_files/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..edba29f
--- /dev/null
@@ -0,0 +1,27 @@
+# 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
+#
+
+SET(_m4_data
+  check_PYHELLO.m4
+)
+            
+INSTALL(FILES ${_m4_data} DESTINATION ${SALOME_INSTALL_AMCONFIG_LOCAL}/config_files)
diff --git a/adm_local/unix/config_files/Makefile.am b/adm_local/unix/config_files/Makefile.am
deleted file mode 100644 (file)
index 59ad711..0000000
+++ /dev/null
@@ -1,23 +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
-
-dist_admlocalm4_DATA = \
-       check_PYHELLO.m4
diff --git a/adm_local/unix/make_common_starter.am b/adm_local/unix/make_common_starter.am
deleted file mode 100644 (file)
index e6cf13e..0000000
+++ /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 (file)
index 0000000..f0579e1
--- /dev/null
@@ -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/Makefile.am b/bin/Makefile.am
deleted file mode 100644 (file)
index 57baf6e..0000000
+++ /dev/null
@@ -1,33 +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 : Guillaume Boulant (CSSI)
-# Module : COMPONENT
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-dist_salomescript_SCRIPTS = \
-       myrunSalome.py
-
-nodist_salomescript_SCRIPTS = \
-        runAppli
-
-nodist_salomescript_DATA = \
-       VERSION
index 011a48b51b74b4446544550527cf09cf09e77314..e330ebbdd28ec8080e7db85b7d086ad53c0665d8 100755 (executable)
@@ -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 (executable)
index dfe7b2c..0000000
+++ /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 (file)
index d3770cf..0000000
+++ /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\r
diff --git a/build_configure b/build_configure
deleted file mode 100755 (executable)
index 7d7e53a..0000000
+++ /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(<mydir>) 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(<mydir>) 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 (executable)
index 2a63bf2..0000000
+++ /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 (file)
index 6d2f52c..0000000
+++ /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 <filename>.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/doc/CMakeLists.txt b/doc/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..eef7b42
--- /dev/null
@@ -0,0 +1,32 @@
+# 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
+#
+
+SALOME_CONFIGURE_FILE(doxyfile.in doxyfile)
+SALOME_CONFIGURE_FILE(static/header.html.in static/header.html)
+
+ADD_CUSTOM_TARGET(usr_docs ${DOXYGEN_EXECUTABLE})
+
+ADD_DEPENDENCIES(usr_docs html_docs)
+
+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 (executable)
index b0da0bf..0000000
+++ /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
index f4b3ac884eafa9e29c09a24d20752b80156cf95e..5ea3444b224815903df63fe03eac4aa47a9a5a96 100755 (executable)
@@ -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/index.doc
deleted file mode 100644 (file)
index 0556276..0000000
+++ /dev/null
@@ -1,678 +0,0 @@
-/*!
-
-\mainpage Introduction to PYHELLO sample module
-
-The purpose of the \b PYHELLO module is to describe briefly the different
-steps in the development of a SALOME module in Python.
-
-Contents:
-- \subpage dev_steps
-- \subpage tree_structure
-- \subpage build_proc_files
-- \subpage idl_dir
-- \subpage src_dir
-- \subpage bin_dir
-- \subpage doc_dir
-- \subpage build_procedure
-- \subpage run_procedure
-- \subpage load_module
-- \subpage catalog_def
-- \subpage load_lcc
-- \subpage load_iapp
-
-\ref dev_steps ">> Next"
-
-\page dev_steps Steps in construction of the example module
-
-The example module chosen to illustrate the process of SALOME module
-development is extremely simple. The module contains a single
-component and this component provides a single service called \b
-makeBanner that accepts a character string as the sole argument and
-that returns a character string obtained by the concatenation of a
-'Hello' and the input string. The component also provides a simple
-GUI.
-
-The steps in the development are as follows:
-- create a module tree structure
-- create a SALOME component that can be loaded by a Python SALOME container
-- configure the module so that the component is known to SALOME
-- add a graphic GUI
-
-\ref main "<< Previous"<br>\ref tree_structure ">> Next"
-
-\page tree_structure Create the module tree structure
-
-The first step in the development process is the creation of the
-module tree file structure. The typical SALOME module usually includes
-some set of the configuration files (used in the build procedure of a
-module), Makefiles, IDL file that provides a definition of a CORBA
-services implemented in a module and a set of source Python files
-which implement the module CORBA engine and (optionally) its GUI.
-
-The following file structure is typical for the SALOME module:
-
-<pre>
-+ PYHELLO1_SRC
-   + build_configure
-   + configure.ac
-   + Makefile.am
-   + adm_local
-     + Makefile.am
-     + unix
-       + Makefile.am
-       + make_common_starter.am
-       + config_files
-         + Makefile.am
-         + check_PYHELLO.m4
-   + bin
-     + Makefile.am
-     + VERSION.in
-     + runAppli.in
-     + myrunSalome.py
-   + idl
-     + Makefile.am
-     + PYHELLO_Gen.idl
-   + src
-     + Makefile.am
-     + PYHELLO
-       + Makefile.am
-       + PYHELLO.py
-       + PYHELLO_utils.py
-     + PYHELLOGUI
-       + Makefile.am
-       + PYHELLOGUI.py
-       + PYHELLO_msg_en.ts
-       + PYHELLO_icons.ts
-   + resources
-     + Makefile.am
-     + PYHELLO.png
-     + PYHELLO_small.png
-     + ExecPYHELLO.png
-     + handshake.png
-     + stop.png
-     + PYHELLOCatalog.xml.in
-     + SalomeApp.xml.in
-   + doc
-     + Makefile.am
-     + doxyfile.in
-     + index.doc
-</pre>
-
-Note that other files can be optionally present. For example, in some
-SALOME modules sources tree you can find such files as AUTHORS,
-INSTALL, ChangeLog, COPYING, NEWS, README, etc. Some files are
-specific only for this PYHELLO sample module, for example PNG images
-in the resources directory which are used in the GUI dialog boxes etc.
-
-The usual way of the sources directory tree structure initial creation
-is to copy it from the existing SALOME module.
-
-\warning The files of the platform base module (KERNEL) must not be
-copied to initialise a module tree structure. It is usually preferable
-to copy files from another module such as GEOM or MED.
-
-The module name is PYHELLO, the component name is PYHELLO and all the
-files are put in a directory named PYHELLO1_SRC.
-Below is a short description of these files. Note, that files with .in
-suffix are the autoconf templates from which the actual files are
-generated during the build procedure.
-
-- build_configure, configure.ac, Makefile.am, make_common_starter.am
-
-These files are a part of the build system based on GNU
-automake/autoconf auto-tools. These files define the build procedure,
-namely, compilation and installation rules like compiler and linker
-options, installation destination folder, package version etc.
-
-- adm_local/unix/config_files/check_PYHELLO.m4
-
-The files in this directory are also a part of the GNU auto-tools
--based build procedure. The scripts written in m4 language are usually
-used to test an availability of some 3rd-party pre-requisite product,
-compiler feature, different configuration options. 
-
-- bin/VERSION.in
-
-This file is used to document the module, it must give its version (at
-least) and (optionally) compatibilities or incompatibilities with
-other modules. This file is strongly recommended but is not essential
-for operation of the module.
-
-- bin/runAppli.in
-- bin/myrunSalome.py
-
-These files are not essential but make the example easier to
-use. These are scripts that can be used to run SALOME session with
-PYHELLO module.
-
-- idl/PYHELLO_Gen.idl
-
-This is the CORBA IDL definition of the services implemented by SALOME
-PYHELLO module.
-
-- src/PYHELLO/PYHELLO.py
-- src/PYHELLO/PYHELLO_utils.py
-
-These files provide the implementation of a CORBA engine of the
-PYHELLO module. In particular, this is an implementation of the 
-services defined in the PYHELLO_Gen.idl file.
-
-- src/PYHELLOGUI/PYHELLOGUI.py
-
-The src/PYHELLOGUI is an optional directory that provides an
-implementation of PYHELLO module's GUI. Strictly speaking, the
-GUI is optional for each SALOME module. In some cases it's
-enough to implement CORBA engine only. Then, the services of the
-module will be avaiable in a CORBA environment. The module can be
-loaded to the SALOME container and its services can be used in the
-Supervisor computation schemas, in Python scripts or/and refer to it
-in other modules. A GUI is necessary in the cases if it is planned to
-access to the module functionality from the SALOME GUI session via
-menu actions, dialog boxes and so on.
-
-- src/PYHELLOGUI/PYHELLO_msg_en.ts
-- src/PYHELLOGUI/PYHELLO_icons.ts
-
-These files provide a description (internationalization) of GUI
-resources of the PYHELLO module. PYHELLO_msg_en.ts provides an English
-translation of the string resources used in a module. PYHELLO_icons.ts
-defines images and icons resources used within the GUI of the
-PYHELLO module. Please refer to Qt linguist documentation for more
-details.
-
-- resources/PYHELLO.png
-- resources/PYHELLO_small.png
-- resources/ExecPYHELLO.png
-- resources/handshake.png
-- resources/stop.png
-
-The resources folder usually includes different resource files used
-within the SALOME module. For example, PYHELLO.png file provides an icon
-of PYHELLO module to be shown in the SALOME GUI desktop. ExecPYHELLO.png is
-an icon for the makeBanner() function used in the menu and
-toolbar. The icons handshake.png and stop.png are used in the dialog
-boxes and PYHELLO_small.png icon is used to display in the Object
-browser for root PYHELLO entity.
-
-- resources/PYHELLOCatalog.xml.in
-
-The XML description of the CORBA services provided by the PYHELLO
-module. This file is parsed by Supervisor and YACS module to generate
-the list of service nodes to be used in the calculation schemas. The
-simplest way to create this file is to use Catalog Generator utility
-provided by the SALOME KERNEL module, that can automatically generate
-XML description file from the IDL file.
-
-- resources/SalomeApp.xml.in
-
-This file is essential for the module. It provides some parameters of
-the module which define module behavior in SALOME. In particular it
-should provide a section with the name corresponding to the name of a
-module ("PYHELLO" in this case) with the following parameters:
-\code
-  <section name="PYHELLO">
-    <parameter name="name" value="PyHello"/>
-    <parameter name="icon" value="PYHELLO.png"/>
-    <parameter name="library" value="SalomePyQtGUI"/>
-    <parameter name="version" value="@VERSION@"/>
-  </section>
-\endcode
-
-The "name" parameter defines GUI name of a module. The "icon"
-parameter defines a GUI icon of a module. The parameter "library"
-specifies the name of the C++ library representing the front-end of
-the module in the SALOME GUI desktop. The Python modules which do not
-implement its own C++ front-end GUI library should specify
-"SalomePyQtGUI" value in this parameter. The "version" parameter 
-defines the version of the module.
-
-The section "resources" also specifies the directory that contains
-resources of a module (icons, translation files, etc).
-
-\code
-  <section name="resources">
-    <parameter name="PYHELLO" value="${PYHELLO_ROOT_DIR}/share/salome/resources/pyhello"/>
-  </section>
-\endcode
-
-The section [module_name]_help provides information on the location of 
-the help page and the eventual sub-menu in the Help menu.
-
-\code
-  <section name="pyhello_help" >
-    <parameter name="sub_menu"        value="Samples"/>
-    <parameter name="%1 User's Guide" value="%PYHELLO_ROOT_DIR%/share/doc/salome/gui/PYHELLO/index.html"/>
-  </section>
-\endcode
-
-- doc/doxyfile.in
-
-The Doxygen configuration file. The Doxygen is used to build this
-documentation. The file doxyfile.in provides a rules for the
-generation of module documentation.
-
-- doc/index.doc
-
-An input file for the Doxygen, which provides a source of this documentation.
-
-\ref dev_steps "<< Previous"<br>\ref build_proc_files ">> Next"
-
-\page build_proc_files Build procedure input files
-
-SALOME uses autoconf and automake GNU auto-tools to build the
-modules. The configure script is used for the build procedure to test
-the system configuration and to pre-configure the module construction
-Makefile files. 
-
-The \b build_configure script provides a procedure that uses \b
-configure.ac and set of \b Makefile.am files as input and uses autoconf
-to generate the configure script and automake to generate Makefile.in
-files. 
-
-The files with an .in extension are the skeletons that are the input
-of the configure script (to be more precise, these files should be
-listed in the end of the configure.ac file in the AC_OUTPUT()
-autoconf macro) and are transformed by the configure process.
-
-Almost all files used for this process are located in the platform
-base module KERNEL that is referenced by the KERNEL_ROOT_DIR
-environment variable, namely in its salome_adm sub-folder.
-Similarly, the GUI_ROOT_DIR environment variable is used for the
-graphical user interface (GUI), that also provides a set of
-configuration utilities (m4 files) in its adm_local folder. However,
-some files must be modified as a function of the target module. This
-is the case for build_configure and configure.ac files which usually
-need to be adapted to the module needs. 
-
-The file \b make_common_starter.am file in the adm_local directory of
-the example module provides basic build rules to be used in other
-Makefile.am files. To refer to this file in the Makefile.am it is
-necessary to use "include" clause:
-
-\code
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-\endcode
-
-The adm_local/unix/config_files is a directory in which the m4 files
-that are used to test the configuration of the system in the configure
-process can be placed. If the salome_adm files are not sufficient,
-additional configuration files can be put to the adm_local directory.
-
-\ref tree_structure "<< Previous"<br>\ref idl_dir ">> Next"
-
-\page idl_dir The idl directory
-
-The idl directory requires a Makefile.am that must make the
-compilation of the idl PYHELLO_Gen.idl file and install all the
-generated files into the correct module installation directories.  The
-BASEIDL_FILES target has to be modified to reach this goal.
-
-The idl file itself must define a CORBA module for which the name must
-be different from the module name to avoid name conflicts and define a
-CORBA interface that is derived at least from the EngineComponent interface  
-of the Engines module. The name of the CORBA module will be
-\b PYHELLO_ORB and the name of the interface will be \b PYHELLO_Gen. 
-
-\ref build_proc_files "<< Previous"<br>\ref src_dir ">> Next"
-
-\page src_dir The src directory
-
-The src contains all source files required to build and install CORBA
-engine and (optionally) GUI of the module. Each of these entities usually
-has (but this is not actually obligatory) its own directory.
-
-The Makefile.am simply triggers the path of sub-directories described
-by the SUBDIRS target.
-
-- The src/PYHELLO directory
-
-This directory contains the Python files that implement the engine
-of the module. The Makefile.am defines the rules used to install these
-files to the destination folder. The name of the module
-engine Python file is predefined and should be set as <MODULE>.py
-where <MODULE> is a name of the module. In the case of the PYHELLO
-module, the name of the engine Python script should be PYHELLO.so.
-
-The PYHELLO.py Python script implements PYHELLO class that is derived
-from the PYHELLO_Gen interface of the PYHELLO_ORB__POA CORBA module,
-the SALOME_ComponentPy_i class (base implementation of SALOME
-Python module engine exported by the KERNEL module) and
-SALOME_DriverPy_i class that provides base implementation of
-persistence mechanism.
-
-In particular, PYHELLO class implements makeBanner() function that is
-defined in the IDL interface PYHELLO_ORB::PYHELLO_Gen. 
-
-\code
-def makeBanner( self, name ):
-    banner = "Hello %s!" % name
-    return banner
-\endcode
-
-Other services
-defined in PYHELLO_Gen CORBA interface also should be implemented by
-this class.
-
-- The src/PYHELLOGUI directory
-
-This directory contains the Python files that implement the GUI
-of PYHELLO module. The name of the module GUI Python script is
-predefined and should be set as <MODULE>GUI.py where <MODULE> is a
-name of the module. In the case of the PYHELLO module, the name of the
-GUI Python script should be PYHELLOGUI.py.
-
-The implementation of GUI of the PYHELLO module should be done
-according to the architecture and rules specified by the SALOME GUI
-module. The PYHELLO.py script should implement a set of the functions
-which define the module behavior in GUI, for example, create menus,
-toolbars, define context popup menus, objects selection behavior,
-implement dialog boxes etc.
-Here below is a short description of these methods. For more details
-please refer to the SALOME GUI module documentation.
-
-- initialize() - module first initialization; usually used to create
-  GUI actions, menus, toolbars and so on;
-- activate() - module activation; perform actions which should
-  be done when the module is activated by the user;
-- deactivate() - module deactivation; perform actions which should
-  be done when the module is deactivated by the user;
-- windows() - get a list and a position of the windows to be
-  associated with the module; these windows will be automatically
-  opened and positioned according to the setting defined by the value
-  returned by this function;
-- views() - get a list of the compatible viewers; these viewers
-  will be automatically opened/raised on the module activation;
-- createPopupMenu() - create and return context popup menu according
-  to the current selection;
-- createPreferences() - initialize module's preferences;
-- preferenceChanged() - callback function that is called when some
-  module's preference is changed by the user; allows to perform the
-  corresponding actions;
-- engineIOR() - to get the reference to the module CORBA engine
-
-Note, that some of these methods are optional and need not be
-obligatory implemented because SalomePyQtGUI_Module class provides a
-base implementation of these functions. It's sometimes enough to
-implement only some of them, depending on the module needs.
-
-In the case of PYHELLO module, some of these functions are
-implemented to provide a sample for the development:
-
-- engineIOR() that initializes PYHELLO module's eggine:
-
-\code
-def engineIOR():
-    IOR = ""
-    if getORB() and getEngine():
-        IOR = getORB().object_to_string( getEngine() )
-        pass
-    return IOR
-\endcode
-
-- initialize() that sets default module preferences
-
-\code
-def initialize():
-    if not sgPyQt.hasSetting( "PYHELLO", "def_obj_name"):
-        sgPyQt.addSetting( "PYHELLO", "def_obj_name", GUIcontext.DEFAULT_NAME )
-    if not sgPyQt.hasSetting( "PYHELLO", "creation_mode"):
-        sgPyQt.addSetting( "PYHELLO", "creation_mode", 0 )
-\endcode
-
-- createPreferences() that initializes module preferences for the
- application's Preferences dialog box
-
-\code
-def createPreferences():
-    if verbose() : print "PYHELLOGUI.createPreferences() : study : %d" % _getStudyId()
-    gid = sgPyQt.addPreference( "General" )
-    gid = sgPyQt.addPreference( "Object creation", gid )
-    pid = sgPyQt.addPreference( "Default name",  gid, SalomePyQt.PT_String,   "PYHELLO", "def_obj_name" )
-    pid = sgPyQt.addPreference( "Default creation mode", gid, SalomePyQt.PT_Selector, "PYHELLO", "creation_mode" )
-    strings = QStringList()
-    strings.append( "Default name" )
-    strings.append( "Generate name" )
-    strings.append( "Ask name" )
-    indexes = []
-    indexes.append( QVariant(0) )
-    indexes.append( QVariant(1) )
-    indexes.append( QVariant(2) )
-    sgPyQt.setPreferenceProperty( pid, "strings", QVariant( strings ) )
-    sgPyQt.setPreferenceProperty( pid, "indexes", QVariant( indexes ) )
-    pass
-\endcode
-
-- windows() that defines dockable windows layout
-
-\code
-def windows():
-    if verbose() : print "PYHELLOGUI.windows() : study : %d" % _getStudyId()
-    wm = {}
-    wm[SalomePyQt.WT_ObjectBrowser] = Qt.LeftDockWidgetArea
-    wm[SalomePyQt.WT_PyConsole]     = Qt.BottomDockWidgetArea
-    return wm
-\endcode
-
-Please refer to PYHELLOGUI.py script for more details about
-implementation of other callback functions.
-
-An implemention of the ShowHello() function is quite simple. It shows
-the small dialog box allowing user to enter the name, and then uses
-reference to the module CORBA engine to invoke its makeBanner()
-service.
-
-Note, that GUI elements of the Python module are implemented with help
-of PyQt toolkit which provides a Python wrappings of the Qt library.
-
-\ref idl_dir "<< Previous"<br>\ref bin_dir ">> Next"
-
-\page bin_dir The bin directory
-
-The file VERSION.in is used to document the module, it must define its
-version and (optionally) its compatibilities or incompatibilities with
-other modules. Therefore, it is strongly recommended but is not
-essential for correct operation of the module.
-
-The runAppli.in file is the equivalent of the runSalome script
-distributed by the KERNEL module but configured to start SALOME
-session with PYHELLO module only.
-
-The myrunSalome.py file reuses part of functionality provided by the
-KERNEL's runSalome.py script. It is used to run SALOME session and
-start PYHELLO module in this session. 
-
-\ref src_dir "<< Previous"<br>\ref doc_dir ">> Next"
-
-\page doc_dir The doc directory
-
-This directory provides documentation files of the module. The
-documentation of the module can be implemented in the arbitrary
-way. But if you want your documentation to appear in the SALOME GUI
-desktop's Help menu, some specific actions should be done as follows.
-
-The documentation should be generated in the HTML format. For example,
-the documentation of the PYHELLO module is generated using Doxygen
-tool. It allows to generate structured set of HTML pages from the set
-of input plain text files. Input source files should include Doxygen
-tags and optionally direct HTML tags. For more details please refer to
-the Doxygen documentation.
-
-The resulting documentation of a module should include at least one
-file index.html. All the HTML and image files should be exported by
-the build procedure to the following directory:
-<module_installation_dir>/share/doc/salome/gui/<MODULE>
-where <module_installation_dir> is a module installation folder and
-MODULE is its name. For example, for PYHELLO module, at least one file
-should exist:
-<PYHELLO_module_installation_dir>/share/doc/salome/gui/PYHELLO/index.html. 
-
-The SALOME GUI automatically searches for the index.html file in the
-mentioned module directory. If the file is found, the corresponding
-menu command is automatically added to the Help menu of the SALOME GUI
-desktop.
-
-\ref bin_dir "<< Previous"<br>\ref build_procedure ">> Next"
-
-\page build_procedure Construction, installation
-
-Before building PYHELLO module, please ensure that SALOME environment is
-set properly. Assume that SALOME environment is set in env_products.sh
-script. In order to build and install PYHELLO module, you have to
-perform several steps:
-
-<pre>
-[bash% ] source env_products.sh
-[bash% ] mkdir PYHELLO_BUILD
-[bash% ] cd PYHELLO_BUILD
-[bash% ] ../PYHELLO1_SRC/build_configure
-[bash% ] ../PYHELLO1_SRC/configure --prefix=<PYHELLO_module_installation_dir>
-[bash% ] make
-[bash% ] make install
-</pre>
-
-The first command creates a build directory for the PYHELLO module. Then
-next step is to cd to this build directory. From this directory you
-sequentially invoke build_configure, configure, make and make install
-commands. On each step, you have to ensure that the operation is
-finished correctly (no errors raised).
-
-The <PYHELLO_module_installation_dir> variable above defines the
-destination directory to which the PYHELLO module should be
-installed. After the last step is finished, the PYHELLO module is built
-and installed to the <PYHELLO_module_installation_dir> directory.
-
-\ref doc_dir "<< Previous"<br>\ref run_procedure ">> Next"
-
-\page run_procedure Running SALOME
-
-Go to the the <PYHELLO_module_installation_dir> directory and type:
-
-<pre>
-[bash% ] ./bin/salome/runAppli
-</pre>
-
-This command runs SALOME session configured for KERNEL and the PYHELLO
-module. At the end of running, the user will be prompted by the
-Python interpreter command line configured for SALOME that provides
-access to SALOME Python API (including CORBA interfaces).
-
-The runAppli file is a shell script that executes a Python commands
-running SALOME session by passing arguments to it in a command line:
-       
-<pre>
-${KERNEL_ROOT_DIR}/bin/salome/envSalome.py python -i $PYHELLO_ROOT_DIR/bin/salome/myrunSalome.py --modules=PYHELLO --killall
-</pre>
-
-These arguments state that the myrunSalome.py script located in the
-PYHELLO module will be used, that the PYHELLO component will be
-activated and all previously running SALOME sessions should be
-shutdowned.
-
-This command will not function unless the following environment
-variables have previously been set:
-
-<pre>
-export KERNEL_ROOT_DIR=<KERNEL_module_installation_dir>
-export PYHELLO_ROOT_DIR=<PYHELLO_module_installation_dir>
-</pre>
-
-\warning It is possible that the SALOME run will not reach the end.
-In some circumstances, the time to start CORBA servers may be long and
-could exceed the timeout. If the reasons is that the time to
-load dynamic libraries is long, it is possible that a second run
-immediately afterwards will be successful.
-\ref build_procedure "<< Previous"<br>\ref load_module ">> Next"
-
-\page load_module Loading PYHELLO component
-
-The PYHELLO_ORB module has to be imported before making a request to
-load the component into the container, to obtain access to methods of
-the component.  This container is made accessible in the myrunSalome.py
-by means of the \b container variable:
-
-<pre>
->> import PYHELLO_ORB
->> c=container.load_impl("PYHELLO","PYHELLO")
->> c.makeBanner("Christian")
-</pre>
-
-The last instruction returns a string "Hello Christian". Proceed as
-follows to see the CORBA objects created by these actions:
-
-<pre>
->> clt.showNS()
-</pre>
-
-\ref run_procedure "<< Previous"<br>\ref catalog_def ">> Next"
-
-\page catalog_def PYHELLO module catalog definition
-
-In the example from the previous chapter, the PYHELLO component was
-loaded by making a direct request to the SALOME container. This is not
-the standard method for loading of a component. The normal way uses
-the SALOME LifeCycle service that invokes SALOME Module Catalog
-services to identify the component and its properties and then calls
-the requested container to load the component. 
-
-Before this method can be used, the component must be declared in a
-catalog in the XML format, for which the name must be
-<Module>Catalog.xml. In our case, it will be PYHELLOCatalog.xml.
-Usually this catalog is put to the resources sub-directory of the
-directory tree. The simplest way to create this file is to use Catalog
-Generator utility provided by the SALOME KERNEL module, that can
-automatically generate XML description file from the IDL file.
-
-\ref load_module "<< Previous"<br>\ref load_lcc ">> Next"
-
-\page load_lcc Loading PYHELLO component via LifeCycle service
-
-The method of loading the component is not very different from that
-is described above. The services of the LifeCycle module are used in
-this case instead of calling the container directly. The call sequence
-is contained in the myrunSalome.py \b test() function.
-
-<pre>
-    c=test(clt)
-    c.makeBanner("Christian")
-</pre>
-
-The test function creates the LifeCycle object. It then asks for the
-PYHELLO component to be loaded in the FactoryServer container:
-
-\code
-def test(clt):
-    """
-    Test function that creates an instance of PYHELLO component
-    usage : hello=test(clt)
-    """
-    import LifeCycleCORBA
-    lcc = LifeCycleCORBA.LifeCycleCORBA(clt.orb)
-    import PYHELLO_ORB
-    pyhello = lcc.FindOrLoadComponent("FactoryServePy", "PYHELLO")
-    return pyhello
-\endcode
-
-\ref catalog_def "<< Previous"<br>\ref load_iapp ">> Next"
-
-\page load_iapp Loading from the GUI (IAPP)
-
-In order to activate PYHELLO module in the SALOME GUI desktop, the user
-should press the PYHELLO module's button on the "Modules" toolbar or
-select the name of the module in the combo box on this toolbar.
-
-The image file to be used as an icon of a module should be exported by
-the module build procedure. The icon file name is defined in the
-corresponding SalomeApp.xml configuration file:
-\code
-  <section name="PYHELLO">
-    <parameter name="name" value="Hello"/>
-    <parameter name="icon" value="PYHELLO.png"/>
-    <parameter name="library" value="SalomePyQtGUI"/>
-  </section>
-\endcode
-
-\ref load_lcc "<< Previous"
-
-*/
diff --git a/doc/input/index.doc b/doc/input/index.doc
new file mode 100644 (file)
index 0000000..34577e3
--- /dev/null
@@ -0,0 +1,678 @@
+/*!
+
+\mainpage Introduction to PYHELLO sample module
+
+The purpose of the \b PYHELLO module is to describe briefly the different
+steps in the development of a SALOME module in Python.
+
+Contents:
+- \subpage dev_steps
+- \subpage tree_structure
+- \subpage build_proc_files
+- \subpage idl_dir
+- \subpage src_dir
+- \subpage bin_dir
+- \subpage doc_dir
+- \subpage build_procedure
+- \subpage run_procedure
+- \subpage load_module
+- \subpage catalog_def
+- \subpage load_lcc
+- \subpage load_iapp
+
+\ref dev_steps ">> Next"
+
+\page dev_steps Steps in construction of the example module
+
+The example module chosen to illustrate the process of SALOME module
+development is extremely simple. The module contains a single
+component and this component provides a single service called \b
+makeBanner that accepts a character string as the sole argument and
+that returns a character string obtained by the concatenation of a
+'Hello' and the input string. The component also provides a simple
+GUI.
+
+The steps in the development are as follows:
+- create a module tree structure
+- create a SALOME component that can be loaded by a Python SALOME container
+- configure the module so that the component is known to SALOME
+- add a graphic GUI
+
+\ref main "<< Previous"<br>\ref tree_structure ">> Next"
+
+\page tree_structure Create the module tree structure
+
+The first step in the development process is the creation of the
+module tree file structure. The typical SALOME module usually includes
+some set of the configuration files (used in the build procedure of a
+module), Makefiles, IDL file that provides a definition of a CORBA
+services implemented in a module and a set of source Python files
+which implement the module CORBA engine and (optionally) its GUI.
+
+The following file structure is typical for the SALOME module:
+
+<pre>
++ PYHELLO1_SRC
+   + build_configure
+   + configure.ac
+   + Makefile.am
+   + adm_local
+     + Makefile.am
+     + unix
+       + Makefile.am
+       + make_common_starter.am
+       + config_files
+         + Makefile.am
+         + check_PYHELLO.m4
+   + bin
+     + Makefile.am
+     + VERSION.in
+     + runAppli.in
+     + myrunSalome.py
+   + idl
+     + Makefile.am
+     + PYHELLO_Gen.idl
+   + src
+     + Makefile.am
+     + PYHELLO
+       + Makefile.am
+       + PYHELLO.py
+       + PYHELLO_utils.py
+     + PYHELLOGUI
+       + Makefile.am
+       + PYHELLOGUI.py
+       + PYHELLO_msg_en.ts
+       + PYHELLO_icons.ts
+   + resources
+     + Makefile.am
+     + PYHELLO.png
+     + PYHELLO_small.png
+     + ExecPYHELLO.png
+     + handshake.png
+     + stop.png
+     + PYHELLOCatalog.xml.in
+     + SalomeApp.xml.in
+   + doc
+     + Makefile.am
+     + doxyfile.in
+     + index.doc
+</pre>
+
+Note that other files can be optionally present. For example, in some
+SALOME modules sources tree you can find such files as AUTHORS,
+INSTALL, ChangeLog, COPYING, NEWS, README, etc. Some files are
+specific only for this PYHELLO sample module, for example PNG images
+in the resources directory which are used in the GUI dialog boxes etc.
+
+The usual way of the sources directory tree structure initial creation
+is to copy it from the existing SALOME module.
+
+\warning The files of the platform base module (KERNEL) must not be
+copied to initialise a module tree structure. It is usually preferable
+to copy files from another module such as GEOM or MED.
+
+The module name is PYHELLO, the component name is PYHELLO and all the
+files are put in a directory named PYHELLO1_SRC.
+Below is a short description of these files. Note, that files with .in
+suffix are the autoconf templates from which the actual files are
+generated during the build procedure.
+
+- build_configure, configure.ac, Makefile.am, make_common_starter.am
+
+These files are a part of the build system based on GNU
+automake/autoconf auto-tools. These files define the build procedure,
+namely, compilation and installation rules like compiler and linker
+options, installation destination folder, package version etc.
+
+- adm_local/unix/config_files/check_PYHELLO.m4
+
+The files in this directory are also a part of the GNU auto-tools
+-based build procedure. The scripts written in m4 language are usually
+used to test an availability of some 3rd-party pre-requisite product,
+compiler feature, different configuration options. 
+
+- bin/VERSION.in
+
+This file is used to document the module, it must give its version (at
+least) and (optionally) compatibilities or incompatibilities with
+other modules. This file is strongly recommended but is not essential
+for operation of the module.
+
+- bin/runAppli.in
+- bin/myrunSalome.py
+
+These files are not essential but make the example easier to
+use. These are scripts that can be used to run SALOME session with
+PYHELLO module.
+
+- idl/PYHELLO_Gen.idl
+
+This is the CORBA IDL definition of the services implemented by SALOME
+PYHELLO module.
+
+- src/PYHELLO/PYHELLO.py
+- src/PYHELLO/PYHELLO_utils.py
+
+These files provide the implementation of a CORBA engine of the
+PYHELLO module. In particular, this is an implementation of the 
+services defined in the PYHELLO_Gen.idl file.
+
+- src/PYHELLOGUI/PYHELLOGUI.py
+
+The src/PYHELLOGUI is an optional directory that provides an
+implementation of PYHELLO module's GUI. Strictly speaking, the
+GUI is optional for each SALOME module. In some cases it's
+enough to implement CORBA engine only. Then, the services of the
+module will be avaiable in a CORBA environment. The module can be
+loaded to the SALOME container and its services can be used in the
+Supervisor computation schemas, in Python scripts or/and refer to it
+in other modules. A GUI is necessary in the cases if it is planned to
+access to the module functionality from the SALOME GUI session via
+menu actions, dialog boxes and so on.
+
+- src/PYHELLOGUI/PYHELLO_msg_en.ts
+- src/PYHELLOGUI/PYHELLO_icons.ts
+
+These files provide a description (internationalization) of GUI
+resources of the PYHELLO module. PYHELLO_msg_en.ts provides an English
+translation of the string resources used in a module. PYHELLO_icons.ts
+defines images and icons resources used within the GUI of the
+PYHELLO module. Please refer to Qt linguist documentation for more
+details.
+
+- resources/PYHELLO.png
+- resources/PYHELLO_small.png
+- resources/ExecPYHELLO.png
+- resources/handshake.png
+- resources/stop.png
+
+The resources folder usually includes different resource files used
+within the SALOME module. For example, PYHELLO.png file provides an icon
+of PYHELLO module to be shown in the SALOME GUI desktop. ExecPYHELLO.png is
+an icon for the makeBanner() function used in the menu and
+toolbar. The icons handshake.png and stop.png are used in the dialog
+boxes and PYHELLO_small.png icon is used to display in the Object
+browser for root PYHELLO entity.
+
+- resources/PYHELLOCatalog.xml.in
+
+The XML description of the CORBA services provided by the PYHELLO
+module. This file is parsed by Supervisor and YACS module to generate
+the list of service nodes to be used in the calculation schemas. The
+simplest way to create this file is to use Catalog Generator utility
+provided by the SALOME KERNEL module, that can automatically generate
+XML description file from the IDL file.
+
+- resources/SalomeApp.xml.in
+
+This file is essential for the module. It provides some parameters of
+the module which define module behavior in SALOME. In particular it
+should provide a section with the name corresponding to the name of a
+module ("PYHELLO" in this case) with the following parameters:
+\code
+  <section name="PYHELLO">
+    <parameter name="name" value="PyHello"/>
+    <parameter name="icon" value="PYHELLO.png"/>
+    <parameter name="library" value="SalomePyQtGUI"/>
+    <parameter name="version" value="@SALOMEPYHELLO_VERSION@"/>
+  </section>
+\endcode
+
+The "name" parameter defines GUI name of a module. The "icon"
+parameter defines a GUI icon of a module. The parameter "library"
+specifies the name of the C++ library representing the front-end of
+the module in the SALOME GUI desktop. The Python modules which do not
+implement its own C++ front-end GUI library should specify
+"SalomePyQtGUI" value in this parameter. The "version" parameter 
+defines the version of the module.
+
+The section "resources" also specifies the directory that contains
+resources of a module (icons, translation files, etc).
+
+\code
+  <section name="resources">
+    <parameter name="PYHELLO" value="${PYHELLO_ROOT_DIR}/share/salome/resources/pyhello"/>
+  </section>
+\endcode
+
+The section [module_name]_help provides information on the location of 
+the help page and the eventual sub-menu in the Help menu.
+
+\code
+  <section name="pyhello_help" >
+    <parameter name="sub_menu"        value="Samples"/>
+    <parameter name="%1 User's Guide" value="%PYHELLO_ROOT_DIR%/share/doc/salome/gui/PYHELLO/index.html"/>
+  </section>
+\endcode
+
+- doc/doxyfile.in
+
+The Doxygen configuration file. The Doxygen is used to build this
+documentation. The file doxyfile.in provides a rules for the
+generation of module documentation.
+
+- doc/index.doc
+
+An input file for the Doxygen, which provides a source of this documentation.
+
+\ref dev_steps "<< Previous"<br>\ref build_proc_files ">> Next"
+
+\page build_proc_files Build procedure input files
+
+SALOME uses autoconf and automake GNU auto-tools to build the
+modules. The configure script is used for the build procedure to test
+the system configuration and to pre-configure the module construction
+Makefile files. 
+
+The \b build_configure script provides a procedure that uses \b
+configure.ac and set of \b Makefile.am files as input and uses autoconf
+to generate the configure script and automake to generate Makefile.in
+files. 
+
+The files with an .in extension are the skeletons that are the input
+of the configure script (to be more precise, these files should be
+listed in the end of the configure.ac file in the AC_OUTPUT()
+autoconf macro) and are transformed by the configure process.
+
+Almost all files used for this process are located in the platform
+base module KERNEL that is referenced by the KERNEL_ROOT_DIR
+environment variable, namely in its salome_adm sub-folder.
+Similarly, the GUI_ROOT_DIR environment variable is used for the
+graphical user interface (GUI), that also provides a set of
+configuration utilities (m4 files) in its adm_local folder. However,
+some files must be modified as a function of the target module. This
+is the case for build_configure and configure.ac files which usually
+need to be adapted to the module needs. 
+
+The file \b make_common_starter.am file in the adm_local directory of
+the example module provides basic build rules to be used in other
+Makefile.am files. To refer to this file in the Makefile.am it is
+necessary to use "include" clause:
+
+\code
+include $(top_srcdir)/adm_local/unix/make_common_starter.am
+\endcode
+
+The adm_local/unix/config_files is a directory in which the m4 files
+that are used to test the configuration of the system in the configure
+process can be placed. If the salome_adm files are not sufficient,
+additional configuration files can be put to the adm_local directory.
+
+\ref tree_structure "<< Previous"<br>\ref idl_dir ">> Next"
+
+\page idl_dir The idl directory
+
+The idl directory requires a Makefile.am that must make the
+compilation of the idl PYHELLO_Gen.idl file and install all the
+generated files into the correct module installation directories.  The
+BASEIDL_FILES target has to be modified to reach this goal.
+
+The idl file itself must define a CORBA module for which the name must
+be different from the module name to avoid name conflicts and define a
+CORBA interface that is derived at least from the EngineComponent interface  
+of the Engines module. The name of the CORBA module will be
+\b PYHELLO_ORB and the name of the interface will be \b PYHELLO_Gen. 
+
+\ref build_proc_files "<< Previous"<br>\ref src_dir ">> Next"
+
+\page src_dir The src directory
+
+The src contains all source files required to build and install CORBA
+engine and (optionally) GUI of the module. Each of these entities usually
+has (but this is not actually obligatory) its own directory.
+
+The Makefile.am simply triggers the path of sub-directories described
+by the SUBDIRS target.
+
+- The src/PYHELLO directory
+
+This directory contains the Python files that implement the engine
+of the module. The Makefile.am defines the rules used to install these
+files to the destination folder. The name of the module
+engine Python file is predefined and should be set as <MODULE>.py
+where <MODULE> is a name of the module. In the case of the PYHELLO
+module, the name of the engine Python script should be PYHELLO.so.
+
+The PYHELLO.py Python script implements PYHELLO class that is derived
+from the PYHELLO_Gen interface of the PYHELLO_ORB__POA CORBA module,
+the SALOME_ComponentPy_i class (base implementation of SALOME
+Python module engine exported by the KERNEL module) and
+SALOME_DriverPy_i class that provides base implementation of
+persistence mechanism.
+
+In particular, PYHELLO class implements makeBanner() function that is
+defined in the IDL interface PYHELLO_ORB::PYHELLO_Gen. 
+
+\code
+def makeBanner( self, name ):
+    banner = "Hello %s!" % name
+    return banner
+\endcode
+
+Other services
+defined in PYHELLO_Gen CORBA interface also should be implemented by
+this class.
+
+- The src/PYHELLOGUI directory
+
+This directory contains the Python files that implement the GUI
+of PYHELLO module. The name of the module GUI Python script is
+predefined and should be set as <MODULE>GUI.py where <MODULE> is a
+name of the module. In the case of the PYHELLO module, the name of the
+GUI Python script should be PYHELLOGUI.py.
+
+The implementation of GUI of the PYHELLO module should be done
+according to the architecture and rules specified by the SALOME GUI
+module. The PYHELLO.py script should implement a set of the functions
+which define the module behavior in GUI, for example, create menus,
+toolbars, define context popup menus, objects selection behavior,
+implement dialog boxes etc.
+Here below is a short description of these methods. For more details
+please refer to the SALOME GUI module documentation.
+
+- initialize() - module first initialization; usually used to create
+  GUI actions, menus, toolbars and so on;
+- activate() - module activation; perform actions which should
+  be done when the module is activated by the user;
+- deactivate() - module deactivation; perform actions which should
+  be done when the module is deactivated by the user;
+- windows() - get a list and a position of the windows to be
+  associated with the module; these windows will be automatically
+  opened and positioned according to the setting defined by the value
+  returned by this function;
+- views() - get a list of the compatible viewers; these viewers
+  will be automatically opened/raised on the module activation;
+- createPopupMenu() - create and return context popup menu according
+  to the current selection;
+- createPreferences() - initialize module's preferences;
+- preferenceChanged() - callback function that is called when some
+  module's preference is changed by the user; allows to perform the
+  corresponding actions;
+- engineIOR() - to get the reference to the module CORBA engine
+
+Note, that some of these methods are optional and need not be
+obligatory implemented because SalomePyQtGUI_Module class provides a
+base implementation of these functions. It's sometimes enough to
+implement only some of them, depending on the module needs.
+
+In the case of PYHELLO module, some of these functions are
+implemented to provide a sample for the development:
+
+- engineIOR() that initializes PYHELLO module's eggine:
+
+\code
+def engineIOR():
+    IOR = ""
+    if getORB() and getEngine():
+        IOR = getORB().object_to_string( getEngine() )
+        pass
+    return IOR
+\endcode
+
+- initialize() that sets default module preferences
+
+\code
+def initialize():
+    if not sgPyQt.hasSetting( "PYHELLO", "def_obj_name"):
+        sgPyQt.addSetting( "PYHELLO", "def_obj_name", GUIcontext.DEFAULT_NAME )
+    if not sgPyQt.hasSetting( "PYHELLO", "creation_mode"):
+        sgPyQt.addSetting( "PYHELLO", "creation_mode", 0 )
+\endcode
+
+- createPreferences() that initializes module preferences for the
+ application's Preferences dialog box
+
+\code
+def createPreferences():
+    if verbose() : print "PYHELLOGUI.createPreferences() : study : %d" % _getStudyId()
+    gid = sgPyQt.addPreference( "General" )
+    gid = sgPyQt.addPreference( "Object creation", gid )
+    pid = sgPyQt.addPreference( "Default name",  gid, SalomePyQt.PT_String,   "PYHELLO", "def_obj_name" )
+    pid = sgPyQt.addPreference( "Default creation mode", gid, SalomePyQt.PT_Selector, "PYHELLO", "creation_mode" )
+    strings = QStringList()
+    strings.append( "Default name" )
+    strings.append( "Generate name" )
+    strings.append( "Ask name" )
+    indexes = []
+    indexes.append( QVariant(0) )
+    indexes.append( QVariant(1) )
+    indexes.append( QVariant(2) )
+    sgPyQt.setPreferenceProperty( pid, "strings", QVariant( strings ) )
+    sgPyQt.setPreferenceProperty( pid, "indexes", QVariant( indexes ) )
+    pass
+\endcode
+
+- windows() that defines dockable windows layout
+
+\code
+def windows():
+    if verbose() : print "PYHELLOGUI.windows() : study : %d" % _getStudyId()
+    wm = {}
+    wm[SalomePyQt.WT_ObjectBrowser] = Qt.LeftDockWidgetArea
+    wm[SalomePyQt.WT_PyConsole]     = Qt.BottomDockWidgetArea
+    return wm
+\endcode
+
+Please refer to PYHELLOGUI.py script for more details about
+implementation of other callback functions.
+
+An implemention of the ShowHello() function is quite simple. It shows
+the small dialog box allowing user to enter the name, and then uses
+reference to the module CORBA engine to invoke its makeBanner()
+service.
+
+Note, that GUI elements of the Python module are implemented with help
+of PyQt toolkit which provides a Python wrappings of the Qt library.
+
+\ref idl_dir "<< Previous"<br>\ref bin_dir ">> Next"
+
+\page bin_dir The bin directory
+
+The file VERSION.in is used to document the module, it must define its
+version and (optionally) its compatibilities or incompatibilities with
+other modules. Therefore, it is strongly recommended but is not
+essential for correct operation of the module.
+
+The runAppli.in file is the equivalent of the runSalome script
+distributed by the KERNEL module but configured to start SALOME
+session with PYHELLO module only.
+
+The myrunSalome.py file reuses part of functionality provided by the
+KERNEL's runSalome.py script. It is used to run SALOME session and
+start PYHELLO module in this session. 
+
+\ref src_dir "<< Previous"<br>\ref doc_dir ">> Next"
+
+\page doc_dir The doc directory
+
+This directory provides documentation files of the module. The
+documentation of the module can be implemented in the arbitrary
+way. But if you want your documentation to appear in the SALOME GUI
+desktop's Help menu, some specific actions should be done as follows.
+
+The documentation should be generated in the HTML format. For example,
+the documentation of the PYHELLO module is generated using Doxygen
+tool. It allows to generate structured set of HTML pages from the set
+of input plain text files. Input source files should include Doxygen
+tags and optionally direct HTML tags. For more details please refer to
+the Doxygen documentation.
+
+The resulting documentation of a module should include at least one
+file index.html. All the HTML and image files should be exported by
+the build procedure to the following directory:
+<module_installation_dir>/share/doc/salome/gui/<MODULE>
+where <module_installation_dir> is a module installation folder and
+MODULE is its name. For example, for PYHELLO module, at least one file
+should exist:
+<PYHELLO_module_installation_dir>/share/doc/salome/gui/PYHELLO/index.html. 
+
+The SALOME GUI automatically searches for the index.html file in the
+mentioned module directory. If the file is found, the corresponding
+menu command is automatically added to the Help menu of the SALOME GUI
+desktop.
+
+\ref bin_dir "<< Previous"<br>\ref build_procedure ">> Next"
+
+\page build_procedure Construction, installation
+
+Before building PYHELLO module, please ensure that SALOME environment is
+set properly. Assume that SALOME environment is set in env_products.sh
+script. In order to build and install PYHELLO module, you have to
+perform several steps:
+
+<pre>
+[bash% ] source env_products.sh
+[bash% ] mkdir PYHELLO_BUILD
+[bash% ] cd PYHELLO_BUILD
+[bash% ] ../PYHELLO1_SRC/build_configure
+[bash% ] ../PYHELLO1_SRC/configure --prefix=<PYHELLO_module_installation_dir>
+[bash% ] make
+[bash% ] make install
+</pre>
+
+The first command creates a build directory for the PYHELLO module. Then
+next step is to cd to this build directory. From this directory you
+sequentially invoke build_configure, configure, make and make install
+commands. On each step, you have to ensure that the operation is
+finished correctly (no errors raised).
+
+The <PYHELLO_module_installation_dir> variable above defines the
+destination directory to which the PYHELLO module should be
+installed. After the last step is finished, the PYHELLO module is built
+and installed to the <PYHELLO_module_installation_dir> directory.
+
+\ref doc_dir "<< Previous"<br>\ref run_procedure ">> Next"
+
+\page run_procedure Running SALOME
+
+Go to the the <PYHELLO_module_installation_dir> directory and type:
+
+<pre>
+[bash% ] ./bin/salome/runAppli
+</pre>
+
+This command runs SALOME session configured for KERNEL and the PYHELLO
+module. At the end of running, the user will be prompted by the
+Python interpreter command line configured for SALOME that provides
+access to SALOME Python API (including CORBA interfaces).
+
+The runAppli file is a shell script that executes a Python commands
+running SALOME session by passing arguments to it in a command line:
+       
+<pre>
+${KERNEL_ROOT_DIR}/bin/salome/envSalome.py python -i $PYHELLO_ROOT_DIR/bin/salome/myrunSalome.py --modules=PYHELLO --killall
+</pre>
+
+These arguments state that the myrunSalome.py script located in the
+PYHELLO module will be used, that the PYHELLO component will be
+activated and all previously running SALOME sessions should be
+shutdowned.
+
+This command will not function unless the following environment
+variables have previously been set:
+
+<pre>
+export KERNEL_ROOT_DIR=<KERNEL_module_installation_dir>
+export PYHELLO_ROOT_DIR=<PYHELLO_module_installation_dir>
+</pre>
+
+\warning It is possible that the SALOME run will not reach the end.
+In some circumstances, the time to start CORBA servers may be long and
+could exceed the timeout. If the reasons is that the time to
+load dynamic libraries is long, it is possible that a second run
+immediately afterwards will be successful.
+\ref build_procedure "<< Previous"<br>\ref load_module ">> Next"
+
+\page load_module Loading PYHELLO component
+
+The PYHELLO_ORB module has to be imported before making a request to
+load the component into the container, to obtain access to methods of
+the component.  This container is made accessible in the myrunSalome.py
+by means of the \b container variable:
+
+<pre>
+>> import PYHELLO_ORB
+>> c=container.load_impl("PYHELLO","PYHELLO")
+>> c.makeBanner("Christian")
+</pre>
+
+The last instruction returns a string "Hello Christian". Proceed as
+follows to see the CORBA objects created by these actions:
+
+<pre>
+>> clt.showNS()
+</pre>
+
+\ref run_procedure "<< Previous"<br>\ref catalog_def ">> Next"
+
+\page catalog_def PYHELLO module catalog definition
+
+In the example from the previous chapter, the PYHELLO component was
+loaded by making a direct request to the SALOME container. This is not
+the standard method for loading of a component. The normal way uses
+the SALOME LifeCycle service that invokes SALOME Module Catalog
+services to identify the component and its properties and then calls
+the requested container to load the component. 
+
+Before this method can be used, the component must be declared in a
+catalog in the XML format, for which the name must be
+<Module>Catalog.xml. In our case, it will be PYHELLOCatalog.xml.
+Usually this catalog is put to the resources sub-directory of the
+directory tree. The simplest way to create this file is to use Catalog
+Generator utility provided by the SALOME KERNEL module, that can
+automatically generate XML description file from the IDL file.
+
+\ref load_module "<< Previous"<br>\ref load_lcc ">> Next"
+
+\page load_lcc Loading PYHELLO component via LifeCycle service
+
+The method of loading the component is not very different from that
+is described above. The services of the LifeCycle module are used in
+this case instead of calling the container directly. The call sequence
+is contained in the myrunSalome.py \b test() function.
+
+<pre>
+    c=test(clt)
+    c.makeBanner("Christian")
+</pre>
+
+The test function creates the LifeCycle object. It then asks for the
+PYHELLO component to be loaded in the FactoryServer container:
+
+\code
+def test(clt):
+    """
+    Test function that creates an instance of PYHELLO component
+    usage : hello=test(clt)
+    """
+    import LifeCycleCORBA
+    lcc = LifeCycleCORBA.LifeCycleCORBA(clt.orb)
+    import PYHELLO_ORB
+    pyhello = lcc.FindOrLoadComponent("FactoryServePy", "PYHELLO")
+    return pyhello
+\endcode
+
+\ref catalog_def "<< Previous"<br>\ref load_iapp ">> Next"
+
+\page load_iapp Loading from the GUI (IAPP)
+
+In order to activate PYHELLO module in the SALOME GUI desktop, the user
+should press the PYHELLO module's button on the "Modules" toolbar or
+select the name of the module in the combo box on this toolbar.
+
+The image file to be used as an icon of a module should be exported by
+the module build procedure. The icon file name is defined in the
+corresponding SalomeApp.xml configuration file:
+\code
+  <section name="PYHELLO">
+    <parameter name="name" value="Hello"/>
+    <parameter name="icon" value="PYHELLO.png"/>
+    <parameter name="library" value="SalomePyQtGUI"/>
+  </section>
+\endcode
+
+\ref load_lcc "<< Previous"
+
+*/
index cd9329091cc664d09457377302e6d49acf311a30..b06b09a7ad92caccfb24662de12cc2ade018f291 100755 (executable)
@@ -19,5 +19,5 @@ $extrastylesheet
 <body>
 <div id="top"><!-- do not remove this div, it is closed by doxygen! -->
 
-<div id="titlearea"><div align="right"><div class="version">Version: @VERSION@</div></div></div>
+<div id="titlearea"><div align="right"><div class="version">Version: @SALOMEPYHELLO_VERSION@</div></div></div>
 <!-- end header part -->
diff --git a/idl/CMakeLists.txt b/idl/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..e260fcb
--- /dev/null
@@ -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 (file)
index 83b51d8..0000000
+++ /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/resources/CMakeLists.txt b/resources/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..f997668
--- /dev/null
@@ -0,0 +1,34 @@
+# 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
+#
+
+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})
+
+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/Makefile.am b/resources/Makefile.am
deleted file mode 100644 (file)
index 4819f2e..0000000
+++ /dev/null
@@ -1,35 +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
-#
-include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-dist_salomeres_DATA = \
-       PYHELLO.png \
-       PYHELLO_small.png \
-       ExecPYHELLO.png \
-       handshake.png \
-       stop.png
-
-# VSR: little trick to avoid putting if PYHELLOCatalog.xml to the distribution archive
-nodist_salomeres_SCRIPTS = PYHELLOCatalog.xml SalomeApp.xml
index 369dd4dd111dd36683065c130fda3cdef4896ca1..bd6764838c4b4a8766a31349ad2fd90cc22a562d 100644 (file)
@@ -39,7 +39,7 @@
                <component-username>PYHELLO GUI</component-username>
                 <component-type>Data</component-type>
                 <component-author>C. Caremoli</component-author>
-                <component-version>@VERSION@</component-version>
+                <component-version>@SALOMEPYHELLO_VERSION@</component-version>
                 <component-comment>EDF - RD</component-comment>
                 <component-multistudy>1</component-multistudy>
                 <component-icone>PYHELLO.png</component-icone>
index e07c7a3b97ee371830eaa94888145bb0b4b42e11..b4e1aa6c1e7ec9d341bcc2a2d765afe07a8d0a40 100644 (file)
@@ -28,7 +28,7 @@
     <parameter name="icon"            value="PYHELLO.png"/>
     <parameter name="library"         value="SalomePyQtGUI"/>
     <parameter name="documentation"   value="pyhello_help"/>
-    <parameter name="version"         value="@VERSION@"/>
+    <parameter name="version"         value="@SALOMEPYHELLO_VERSION@"/>
   </section>
   <section name="resources">
     <!-- Module resources -->
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..971a226
--- /dev/null
@@ -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/Makefile.am b/src/Makefile.am
deleted file mode 100755 (executable)
index 77c1eaf..0000000
+++ /dev/null
@@ -1,26 +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
-#
-
-#  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
diff --git a/src/PYHELLO/CMakeLists.txt b/src/PYHELLO/CMakeLists.txt
new file mode 100644 (file)
index 0000000..6d5f172
--- /dev/null
@@ -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/src/PYHELLO/Makefile.am b/src/PYHELLO/Makefile.am
deleted file mode 100755 (executable)
index a86b1cf..0000000
+++ /dev/null
@@ -1,30 +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
-
-# Scripts to be installed
-dist_salomescript_SCRIPTS = \
-       PYHELLO.py \
-       PYHELLO_utils.py
diff --git a/src/PYHELLOGUI/CMakeLists.txt b/src/PYHELLOGUI/CMakeLists.txt
new file mode 100755 (executable)
index 0000000..faa109a
--- /dev/null
@@ -0,0 +1,46 @@
+# Copyright (C) 2012-2013  CEA/DEN, EDF R&D, OPEN CASCADE
+#
+# This library is free software; you can redistribute it and/or
+# modify it under the terms of the GNU Lesser General Public
+# License as published by the Free Software Foundation; either
+# version 2.1 of the License.
+#
+# This library is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+# Lesser General Public License for more details.
+#
+# You should have received a copy of the GNU Lesser General Public
+# License along with this library; if not, write to the Free Software
+# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
+#
+# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
+#
+
+INCLUDE(UseQt4Ext)
+
+# 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
+)
+
+# --- rules ---
+
+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
diff --git a/src/PYHELLOGUI/Makefile.am b/src/PYHELLOGUI/Makefile.am
deleted file mode 100755 (executable)
index 0e835c9..0000000
+++ /dev/null
@@ -1,35 +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
-
-# Scripts to be installed
-dist_salomescript_SCRIPTS = \
-       PYHELLOGUI.py
-
-# resources files
-nodist_salomeres_DATA = \
-       PYHELLO_msg_en.qm \
-       PYHELLO_msg_fr.qm \
-       PYHELLO_icons.qm