From 68f4e3f5c62a33b6f7cb0238847883bc7f929edf Mon Sep 17 00:00:00 2001 From: rnv Date: Fri, 20 Sep 2013 07:14:28 +0000 Subject: [PATCH] Porting ATOMGEN to CMake build system. --- ATOMGEN_version.h.in | 20 +- CMakeLists.txt | 182 +++++++++++ bin/Makefile.am => adm_local/CMakeLists.txt | 12 +- adm_local/cmake_files/CMakeLists.txt | 29 ++ .../cmake_files/FindATOMGEN.cmake | 5 +- .../cmake_files/FindSalomeATOMGEN.cmake | 22 +- .../cmake_files/SalomeATOMGENConfig.cmake.in | 103 +++++++ .../{Makefile.am => unix/CMakeLists.txt} | 6 +- adm_local/unix/config_files/CMakeLists.txt | 27 ++ adm_local/unix/make_common_starter.am | 93 ------ .../unix/Makefile.am => bin/CMakeLists.txt | 6 +- bin/VERSION.in | 4 +- build_configure | 94 ------ clean_configure | 26 -- configure.ac | 287 ------------------ Makefile.am => idl/CMakeLists.txt | 33 +- idl/Makefile.am | 96 ------ resources/ATOMGEN_en.xml | 2 +- resources/CMakeLists.txt | 31 ++ resources/SalomeApp.xml.in | 2 +- .../Makefile.am => src/ATOMGEN/CMakeLists.txt | 18 +- src/ATOMGEN/Makefile.am | 26 -- src/ATOMGENGUI/CMakeLists.txt | 51 ++++ .../Makefile.am => src/CMakeLists.txt | 17 +- 24 files changed, 505 insertions(+), 687 deletions(-) create mode 100755 CMakeLists.txt rename bin/Makefile.am => adm_local/CMakeLists.txt (82%) create mode 100755 adm_local/cmake_files/CMakeLists.txt rename src/Makefile.am => adm_local/cmake_files/FindATOMGEN.cmake (85%) mode change 100755 => 100644 rename src/ATOMGENGUI/Makefile.am => adm_local/cmake_files/FindSalomeATOMGEN.cmake (73%) create mode 100644 adm_local/cmake_files/SalomeATOMGENConfig.cmake.in rename adm_local/{Makefile.am => unix/CMakeLists.txt} (85%) mode change 100644 => 100755 create mode 100755 adm_local/unix/config_files/CMakeLists.txt delete mode 100644 adm_local/unix/make_common_starter.am rename adm_local/unix/Makefile.am => bin/CMakeLists.txt (84%) delete mode 100755 build_configure delete mode 100755 clean_configure delete mode 100755 configure.ac rename Makefile.am => idl/CMakeLists.txt (57%) delete mode 100644 idl/Makefile.am create mode 100755 resources/CMakeLists.txt rename resources/Makefile.am => src/ATOMGEN/CMakeLists.txt (75%) delete mode 100644 src/ATOMGEN/Makefile.am create mode 100755 src/ATOMGENGUI/CMakeLists.txt rename adm_local/unix/config_files/Makefile.am => src/CMakeLists.txt (76%) mode change 100644 => 100755 diff --git a/ATOMGEN_version.h.in b/ATOMGEN_version.h.in index e47c186..ec7a446 100644 --- a/ATOMGEN_version.h.in +++ b/ATOMGEN_version.h.in @@ -20,12 +20,22 @@ #if !defined(__ATOMGEN_VERSION_H__) #define __ATOMGEN_VERSION_H__ -/* - ATOMGEN_VERSION is (major << 16) + (minor << 8) + patch. +/*! + Specify version of SALOME ATOMGEN module, as follows + + ATOMGEN_VERSION_MAJOR : (integer) number identifying major version + ATOMGEN_VERSION_MINOR : (integer) number identifying minor version + ATOMGEN_VERSION_MAINTENANCE : (integer) number identifying maintenance version + ATOMGEN_VERSION_STR : (string) complete version number "major.minor.maintenance" + ATOMGEN_VERSION : (hex) complete version number (major << 16) + (minor << 8) + maintenance + ATOMGEN_DEVELOPMENT : (integer) indicates development version when set to 1 */ -#define ATOMGEN_VERSION_STR "@VERSION@" -#define ATOMGEN_VERSION @XVERSION@ -#define ATOMGEN_DEVELOPMENT @VERSION_DEV@ +#define ATOMGEN_VERSION_MAJOR @SALOMEATOMGEN_MAJOR_VERSION@ +#define ATOMGEN_VERSION_MINOR @SALOMEATOMGEN_MINOR_VERSION@ +#define ATOMGEN_VERSION_MAINTENANCE @SALOMEATOMGEN_PATCH_VERSION@ +#define ATOMGEN_VERSION_STR "@SALOMEATOMGEN_VERSION@" +#define ATOMGEN_VERSION @SALOMEATOMGEN_XVERSION@ +#define ATOMGEN_DEVELOPMENT @SALOMEATOMGEN_VERSION_DEV@ #endif // __ATOMGEN_VERSION_H__ diff --git a/CMakeLists.txt b/CMakeLists.txt new file mode 100755 index 0000000..88281de --- /dev/null +++ b/CMakeLists.txt @@ -0,0 +1,182 @@ +# 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(SalomeATOMGEN 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 "ATOMGEN module can't be built in Light mode (whiout 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_DOC "Generate SALOME ATOMGEN documentation" ${SALOME_BUILD_DOC}) For use in the future +#OPTION(SALOME_BUILD_TESTS "Build SALOME tests" ${SALOME_BUILD_TESTS}) For use in the future + +# 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}) + +## +## ATOMGEN specifics +## +FIND_PACKAGE(SalomePython REQUIRED) +FIND_PACKAGE(SalomeOmniORB REQUIRED) +FIND_PACKAGE(SalomeOmniORBPy REQUIRED) +FIND_PACKAGE(SalomeQt4 REQUIRED) +FIND_PACKAGE(SalomeSIP REQUIRED) +FIND_PACKAGE(SalomePyQt4 REQUIRED) + +# Directories +# (default values taken from KERNEL) +# =========== +SET(SALOME_INSTALL_BINS "${SALOME_INSTALL_BINS}" CACHE PATH "Install path: SALOME binaries") +SET(SALOME_INSTALL_LIBS "${SALOME_INSTALL_LIBS}" CACHE PATH "Install path: SALOME libs") +SET(SALOME_INSTALL_IDLS "${SALOME_INSTALL_IDLS}" CACHE PATH "Install path: SALOME IDL files") +SET(SALOME_INSTALL_HEADERS "${SALOME_INSTALL_HEADERS}" CACHE PATH "Install path: SALOME headers") +SET(SALOME_INSTALL_SCRIPT_SCRIPTS "${SALOME_INSTALL_SCRIPT_SCRIPTS}" CACHE PATH + "Install path: SALOME scripts") +SET(SALOME_INSTALL_SCRIPT_DATA "${SALOME_INSTALL_SCRIPT_DATA}" CACHE PATH + "Install path: SALOME script data") +SET(SALOME_INSTALL_SCRIPT_PYTHON "${SALOME_INSTALL_SCRIPT_PYTHON}" CACHE PATH + "Install path: SALOME Python scripts") +SET(SALOME_INSTALL_APPLISKEL_SCRIPTS "${SALOME_INSTALL_APPLISKEL_SCRIPTS}" CACHE PATH + "Install path: SALOME application skeleton - scripts") +SET(SALOME_INSTALL_APPLISKEL_PYTHON "${SALOME_INSTALL_APPLISKEL_PYTHON}" CACHE PATH + "Install path: SALOME application skeleton - Python") +#SET(SALOME_INSTALL_PYTHON "${SALOME_INSTALL_PYTHON}" CACHE PATH "Install path: SALOME Python stuff") +#SET(SALOME_INSTALL_PYTHON_SHARED "${SALOME_INSTALL_PYTHON_SHARED}" CACHE PATH +# "Install path: SALOME Python shared modules") +SET(SALOME_INSTALL_CMAKE_LOCAL "${SALOME_INSTALL_CMAKE_LOCAL}" CACHE PATH "Install path: 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 ATOMGEN: +SET(SALOME_ATOMGEN_INSTALL_RES_DATA "${SALOME_INSTALL_RES}/atomgen" CACHE PATH + "Install path: SALOME ATOMGEN 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_ATOMGEN_INSTALL_RES_DATA) + +ADD_SUBDIRECTORY(idl) +ADD_SUBDIRECTORY(adm_local) +ADD_SUBDIRECTORY(resources) +ADD_SUBDIRECTORY(src) +ADD_SUBDIRECTORY(bin) + +# Header configuration +# ==================== +SALOME_XVERSION(${PROJECT_NAME}) +SALOME_CONFIGURE_FILE(ATOMGEN_version.h.in ATOMGEN_version.h INSTALL ${SALOME_INSTALL_HEADERS}) + +# Configuration export +# (here only the level 1 prerequisites are exposed) +# ==================== +INCLUDE(CMakePackageConfigHelpers) + +# List of targets in this project we want to make visible to the rest of the world. +# They all have to be INSTALL'd with the option "EXPORT ${PROJECT_NAME}TargetGroup" +SET(_${PROJECT_NAME}_exposed_targets + ATOMGEN ATOMGENGUI SalomeIDLATOMGEN +) + +# 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(PYTHON_ROOT_DIR "${PYTHON_ROOT_DIR}") +SET(OMNIORB_ROOT_DIR "${OMNIORB_ROOT_DIR}") +SET(OMNIORBPY_ROOT_DIR "${OMNIORBPY_ROOT_DIR}") +SET(QT4_ROOT_DIR "${QT4_ROOT_DIR}") +SET(SIP_ROOT_DIR "${SIP_ROOT_DIR}") +SET(PYQT4_ROOT_DIR "${PYQT4_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 + KERNEL_ROOT_DIR PYTHON_ROOT_DIR OMNIORB_ROOT_DIR OMNIORBPY_ROOT_DIR QT4_ROOT_DIR SIP_ROOT_DIR PYQT4_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/bin/Makefile.am b/adm_local/CMakeLists.txt similarity index 82% rename from bin/Makefile.am rename to adm_local/CMakeLists.txt index eddc548..84d97c2 100755 --- a/bin/Makefile.am +++ b/adm_local/CMakeLists.txt @@ -1,5 +1,8 @@ # Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE # +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public # License as published by the Free Software Foundation; either @@ -17,10 +20,5 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -# non-distributed files -nodist_salomescript_DATA = VERSION - -# distributed files -dist_salomescript_SCRIPTS = +ADD_SUBDIRECTORY(unix) +ADD_SUBDIRECTORY(cmake_files) diff --git a/adm_local/cmake_files/CMakeLists.txt b/adm_local/cmake_files/CMakeLists.txt new file mode 100755 index 0000000..d4154d8 --- /dev/null +++ b/adm_local/cmake_files/CMakeLists.txt @@ -0,0 +1,29 @@ +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com +# + +# =============================================================== +# Files to be installed +# =============================================================== + +# These files are data, module or lib files +SET(_adm_data + FindSalomeATOMGEN.cmake + FindATOMGEN.cmake +) +INSTALL(FILES ${_adm_data} DESTINATION ${SALOME_INSTALL_CMAKE_LOCAL}) diff --git a/src/Makefile.am b/adm_local/cmake_files/FindATOMGEN.cmake old mode 100755 new mode 100644 similarity index 85% rename from src/Makefile.am rename to adm_local/cmake_files/FindATOMGEN.cmake index 33ee713..63e118d --- a/src/Makefile.am +++ b/adm_local/cmake_files/FindATOMGEN.cmake @@ -17,6 +17,7 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am -SUBDIRS = ATOMGEN ATOMGENGUI +SET(ATOMGEN_INCLUDE_DIRS -I${ATOMGEN_ROOT_DIR}/include/salome) + +FIND_LIBRARY(SalomeIDLATOMGEN SalomeIDLATOMGEN ${ATOMGEN_ROOT_DIR}/lib/salome) \ No newline at end of file diff --git a/src/ATOMGENGUI/Makefile.am b/adm_local/cmake_files/FindSalomeATOMGEN.cmake similarity index 73% rename from src/ATOMGENGUI/Makefile.am rename to adm_local/cmake_files/FindSalomeATOMGEN.cmake index fe6e9da..8439261 100644 --- a/src/ATOMGENGUI/Makefile.am +++ b/adm_local/cmake_files/FindSalomeATOMGEN.cmake @@ -16,19 +16,15 @@ # # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # +# -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -UIC_FILES=rundlg.ui - -# Scripts to be installed. -dist_salomescript_DATA= \ - ATOMGENGUI.py +IF(NOT SalomeATOMGEN_FIND_QUIETLY) + MESSAGE(STATUS "Looking for Salome ATOMGEN ...") +ENDIF() -nodist_salomescript_DATA= \ - ui_rundlg.py +SET(CMAKE_PREFIX_PATH "${ATOMGEN_ROOT_DIR}") +SALOME_FIND_PACKAGE(SalomeATOMGEN SalomeATOMGEN CONFIG) -# resources files -nodist_salomeres_DATA = \ - ATOMGEN_images.qm \ - ATOMGEN_msg_en.qm +IF(NOT SalomeATOMGEN_FIND_QUIETLY) + MESSAGE(STATUS "Found Salome ATOMGEN: ${ATOMGEN_ROOT_DIR}") +ENDIF() \ No newline at end of file diff --git a/adm_local/cmake_files/SalomeATOMGENConfig.cmake.in b/adm_local/cmake_files/SalomeATOMGENConfig.cmake.in new file mode 100644 index 0000000..558b811 --- /dev/null +++ b/adm_local/cmake_files/SalomeATOMGENConfig.cmake.in @@ -0,0 +1,103 @@ +# - Config file for the @PROJECT_NAME@ package +# It defines the following variables. +# Specific to the pacakge @PROJECT_NAME@ itself: +# @PROJECT_NAME_UC@_ROOT_DIR_EXP - the root path of the installation providing this CMake file +# + +############################################################### +# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# +# Copyright (C) 2003-2007 OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN, +# CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS +# +# This library is free software; you can redistribute it and/or +# modify it under the terms of the GNU Lesser General Public +# License as published by the Free Software Foundation; either +# version 2.1 of the License. +# +# This library is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +# Lesser General Public License for more details. +# +# You should have received a copy of the GNU Lesser General Public +# License along with this library; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# See http://www.salome-platform.org/ or +# email : webmaster.salome@opencascade.com +############################################################### + +### Initialisation performed by CONFIGURE_PACKAGE_CONFIG_FILE: +@PACKAGE_INIT@ + +# Load the dependencies for the libraries of @PROJECT_NAME@ +# (contains definitions for IMPORTED targets). This is only +# imported if we are not built as a subproject (in this case targets are already there) +IF(NOT TARGET Event AND NOT @PROJECT_NAME@_BINARY_DIR) + INCLUDE("@PACKAGE_SALOME_INSTALL_CMAKE_LOCAL@/@PROJECT_NAME@Targets.cmake") +ENDIF() + +# Package root dir: +SET_AND_CHECK(ATOMGEN_ROOT_DIR_EXP "@PACKAGE_CMAKE_INSTALL_PREFIX@") + +# Include directories +SET_AND_CHECK(ATOMGEN_INCLUDE_DIRS "${ATOMGEN_ROOT_DIR_EXP}/@SALOME_INSTALL_HEADERS@") + +#### Now the specificities + +# Options exported by the package: +#SET(SALOME_BUILD_DOC @SALOME_BUILD_DOC@) +#SET(SALOME_BUILD_TESTS @SALOME_BUILD_TESTS@) + +# Level 1 prerequisites: +SET_AND_CHECK(PYTHON_ROOT_DIR_EXP "@PACKAGE_PYTHON_ROOT_DIR@") +SET_AND_CHECK(OMNIORB_ROOT_DIR_EXP "@PACKAGE_OMNIORB_ROOT_DIR@") +SET_AND_CHECK(OMNIORBPY_ROOT_DIR_EXP "@PACKAGE_OMNIORBPY_ROOT_DIR@") +SET_AND_CHECK(QT4_ROOT_DIR_EXP "@PACKAGE_QT4_ROOT_DIR@") +SET_AND_CHECK(SIP_ROOT_DIR_EXP "@PACKAGE_SIP_ROOT_DIR@") +SET_AND_CHECK(PYQT4_ROOT_DIR_EXP "@PACKAGE_PYQT4_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 Python omniORB Qt4 SIP PyQt4) +SET(_PREREQ_CONFIG_DIR "@Python_DIR@" "@omniORB_DIR@" "@Qt4_DIR@" "@SIP_DIR@" "@PyQt4_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 KERNEL targets if they were not already loaded: +IF(NOT (TARGET SALOMEBasics)) + INCLUDE("${KERNEL_ROOT_DIR_EXP}/${SALOME_INSTALL_CMAKE}/SalomeKERNELTargets.cmake") +ENDIF() + +# Exposed ATOMGEN targets: +SET(ATOMGEN_SalomeIDLATOMGEN ${SalomeIDLATOMGEN}) \ No newline at end of file diff --git a/adm_local/Makefile.am b/adm_local/unix/CMakeLists.txt old mode 100644 new mode 100755 similarity index 85% rename from adm_local/Makefile.am rename to adm_local/unix/CMakeLists.txt index a8acbbd..2f895ae --- a/adm_local/Makefile.am +++ b/adm_local/unix/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,4 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -SUBDIRS = unix +ADD_SUBDIRECTORY(config_files) diff --git a/adm_local/unix/config_files/CMakeLists.txt b/adm_local/unix/config_files/CMakeLists.txt new file mode 100755 index 0000000..0fe20f0 --- /dev/null +++ b/adm_local/unix/config_files/CMakeLists.txt @@ -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_ATOMGEN.m4 +) + +INSTALL(FILES ${_m4_data} DESTINATION ${SALOME_INSTALL_AMCONFIG_LOCAL}/config_files) diff --git a/adm_local/unix/make_common_starter.am b/adm_local/unix/make_common_starter.am deleted file mode 100644 index 1687845..0000000 --- a/adm_local/unix/make_common_starter.am +++ /dev/null @@ -1,93 +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 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 - -# IDL directory -salomeidldir = ${prefix}/idl/salome - -# common rules - -# meta object implementation files generation (moc) -%_moc.cxx: %.h - $(MOC) $< -o $@ - -# translation (*.qm) files generation (lrelease) -%.qm: resources/%.ts - $(LRELEASE) $< -qm $@ - -# resource files generation (qrcc) -qrc_%.cxx: %.qrc - $(QRCC) $< -o $@ -name $(*F) - -# qt forms python files generation (pyuic) -ui_%.py: %.ui - $(PYUIC) -o $@ $< - -# extra distributed files -EXTRA_DIST = $(MOC_FILES:%_moc.cxx=%.h) $(QRC_FILES:qrc_%.cxx=%.qrc) \ - $(UIC_FILES:ui_%.py=%.ui) $(nodist_salomeres_DATA:%.qm=resources/%.ts) - -# customize clean operation -mostlyclean-local: - rm -f @builddir@/*_moc.cxx - rm -f @builddir@/*.qm - rm -f @builddir@/ui_*.py - rm -f @builddir@/qrc_*.cxx - -# tests -tests: unittest - -unittest: $(UNIT_TEST_PROG) - @if test "x$(UNIT_TEST_PROG)" != "x"; then \ - $(UNIT_TEST_PROG); \ - fi; diff --git a/adm_local/unix/Makefile.am b/bin/CMakeLists.txt similarity index 84% rename from adm_local/unix/Makefile.am rename to bin/CMakeLists.txt index c68bae1..29848f0 100644 --- a/adm_local/unix/Makefile.am +++ b/bin/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,4 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -SUBDIRS = config_files +SALOME_CONFIGURE_FILE(VERSION.in VERSION INSTALL ${SALOME_INSTALL_BINS}) diff --git a/bin/VERSION.in b/bin/VERSION.in index a987c75..c4adc74 100755 --- a/bin/VERSION.in +++ b/bin/VERSION.in @@ -1,3 +1,3 @@ -[SALOME ATOMGEN] : @VERSION@ -[DEVELOPMENT] : @VERSION_DEV@ +[SALOME ATOMGEN] : @SALOMEATOMGEN_VERSION@ +[DEVELOPMENT] : @SALOMEATOMGEN_VERSION_DEV@ [DESCRIPTION] : This is sample of Python CORBA-based SALOME module (part of SALOME tutorial) diff --git a/build_configure b/build_configure deleted file mode 100755 index 9633c7e..0000000 --- a/build_configure +++ /dev/null @@ -1,94 +0,0 @@ -#!/bin/bash - -# 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 -# - -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 ${GUI_ROOT_DIR}/adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files || exit 1 - -# ____________________________________________________________________ -# libtoolize creates some configuration files (ltmain.sh, -# config.guess and config.sub). It only depends on the libtool -# version. The files are created in the directory specified with the -# AC_CONFIG_AUX_DIR() tag (see configure.ac). -# output: -# adm_local/unix/config_files/config.guess -# adm_local/unix/config_files/config.sub -# adm_local/unix/config_files/ltmain.sh -echo "==================================================== libtoolize" - -libtoolize --force --copy --automake || exit 1 - -# ____________________________________________________________________ -# autoconf creates the configure script from the file configure.ac (or -# configure.in if configure.ac doesn't exist) -# output: -# configure -echo "====================================================== autoconf" - -autoconf - -# ____________________________________________________________________ -# automake creates some scripts used in building process -# (install-sh, missing, ...). It only depends on the automake -# version. The files are created in the directory specified with the -# AC_CONFIG_AUX_DIR() tag (see configure.ac). This step also -# creates the Makefile.in files from the Makefile.am files. -# output: -# adm_local/unix/config_files/compile -# adm_local/unix/config_files/depcomp -# adm_local/unix/config_files/install-sh -# adm_local/unix/config_files/missing -# adm_local/unix/config_files/py-compile -# Makefile.in (from Makefile.am) -echo "====================================================== automake" - -automake --copy --gnu --add-missing diff --git a/clean_configure b/clean_configure deleted file mode 100755 index 493cd60..0000000 --- a/clean_configure +++ /dev/null @@ -1,26 +0,0 @@ -#!/bin/bash - -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE -# -# This library is free software; you can redistribute it and/or -# modify it under the terms of the GNU Lesser General Public -# License as published by the Free Software Foundation; either -# version 2.1 of the License. -# -# This library is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU -# Lesser General Public License for more details. -# -# You should have received a copy of the GNU Lesser General Public -# License along with this library; if not, write to the Free Software -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA -# -# See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com -# - -rm -rf autom4te.cache aclocal.m4 configure make_config -find . -name "*~" -print -exec rm {} \; -find . -name "*.pyc" -print -exec rm {} \; -find . -name Makefile.in | xargs rm -f -( cd adm_local/unix/config_files && rm -f config.* depcomp install-sh l*.m4 ltmain.sh missing py-compile ) diff --git a/configure.ac b/configure.ac deleted file mode 100755 index 7b08c23..0000000 --- a/configure.ac +++ /dev/null @@ -1,287 +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 -# - -AC_INIT([Salome2 Project ATOMGEN module], [7.2.0], [webmaster.salome@opencascade.com], [SalomeATOMGEN]) -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=atomgen -AC_SUBST(MODULE_NAME) - -dnl -dnl Initialize source and build root directories -dnl - -ROOT_BUILDDIR=`pwd` -ROOT_SRCDIR=`echo $0 | sed -e "s,[[^/]]*$,,;s,/$,,;s,^$,.,"` -cd $ROOT_SRCDIR -ROOT_SRCDIR=`pwd` -cd $ROOT_BUILDDIR - -AC_SUBST(ROOT_SRCDIR) -AC_SUBST(ROOT_BUILDDIR) - -echo -echo Source root directory : $ROOT_SRCDIR -echo Build root directory : $ROOT_BUILDDIR -echo -echo - -AC_CHECK_PROG(SHELL,sh) -AC_SUBST(SHELL) - -if test -z "$AR"; then - AC_CHECK_PROGS(AR,ar xar,:,$PATH) -fi -AC_SUBST(AR) - -dnl Export the AR macro so that it will be placed in the libtool file -dnl correctly. -export AR - -echo -echo --------------------------------------------- -echo testing make -echo --------------------------------------------- -echo - -AC_PROG_MAKE_SET -AC_PROG_INSTALL -AC_LOCAL_INSTALL -dnl -dnl libtool macro check for CC, LD, NM, LN_S, RANLIB, STRIP + pour les librairies dynamiques ! - -AC_ENABLE_DEBUG(yes) -AC_DISABLE_PRODUCTION - -echo --------------------------------------------- -echo testing libtool -echo --------------------------------------------- - -dnl first, we set static to no! -dnl if we want it, use --enable-static -AC_ENABLE_STATIC(no) - -AC_LIBTOOL_DLOPEN -AC_PROG_LIBTOOL - -echo -echo --------------------------------------------- -echo testing C/C++ -echo --------------------------------------------- -echo - -cc_ok=no -dnl inutil car libtool -dnl AC_PROG_CC -AC_PROG_CXX -AC_CXX_WARNINGS -AC_CXX_TEMPLATE_OPTIONS -AC_DEPEND_FLAG -# AC_CC_WARNINGS([ansi]) -cc_ok=yes - -dnl Library libdl : -AC_CHECK_LIB(dl,dlopen) - -dnl add library libm : -AC_CHECK_LIB(m,ceil) - -dnl Library librt : for alpha/osf -AC_CHECK_LIB(rt,nanosleep) - -dnl -dnl Check if we use std iostream by default or if we must add -dnl a compiler directive for that -dnl - -AC_CXX_USE_STD_IOSTREAM - -dnl -dnl Well we use sstream which is not in gcc pre-2.95.3 -dnl We must test if it exists. If not, add it in include ! -dnl - -AC_CXX_HAVE_SSTREAM - -dnl -dnl --------------------------------------------- -dnl testing linker -dnl --------------------------------------------- -dnl - -AC_LINKER_OPTIONS - -dnl -dnl --------------------------------------------- -dnl testing WITHIHM -dnl --------------------------------------------- -dnl - -CHECK_WITHIHM - -echo -echo --------------------------------------------- -echo testing LEX \& YACC -echo --------------------------------------------- -echo - -lex_yacc_ok=no -AC_PROG_YACC -AC_PROG_LEX -lex_yacc_ok=yes - -echo -echo --------------------------------------------- -echo testing python -echo --------------------------------------------- -echo - -CHECK_PYTHON - -AM_PATH_PYTHON(2.3) - -echo -echo --------------------------------------------- -echo testing threads -echo --------------------------------------------- -echo - -ENABLE_PTHREADS - -echo -echo --------------------------------------------- -echo testing omniORB -echo --------------------------------------------- -echo - -CHECK_OMNIORB - -echo -echo --------------------------------------------- -echo default ORB : omniORB -echo --------------------------------------------- -echo - -DEFAULT_ORB=omniORB - -echo -echo --------------------------------------------- -echo testing Corba -echo --------------------------------------------- -echo - -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 PyQt -echo --------------------------------------------- -echo - -CHECK_PYQT - -echo -echo --------------------------------------------- -echo Testing Kernel -echo --------------------------------------------- -echo - -CHECK_KERNEL - -echo -echo --------------------------------------------- -echo Testing GUI -echo --------------------------------------------- -echo - -CHECK_SALOME_GUI - -echo -echo --------------------------------------------- -echo Summary -echo --------------------------------------------- -echo - -echo Configure -variables="cc_ok lex_yacc_ok python_ok threads_ok omniORB_ok qt_ok pyqt_ok Kernel_ok SalomeGUI_ok" - -for var in $variables -do - printf " %10s : " `echo \$var | sed -e "s,_ok,,"` - eval echo \$$var -done - -dnl We don't need to say when we re entering directories if we re using -dnl GNU make because make does it for us. -if test "X$GMAKE" = "Xyes"; then - AC_SUBST(SETX) SETX=":" -else - AC_SUBST(SETX) SETX="set -x" -fi - -AC_OUTPUT_COMMANDS([ \ - chmod +x ./bin/* \ -]) - -echo -echo --------------------------------------------- -echo generating Makefiles and configure files -echo --------------------------------------------- -echo - -# This list is initiated using autoscan and must be updated manually -# when adding a new file .in to manage. When you execute -# autoscan, the Makefile list is generated in the output file configure.scan. -# This could be helpfull to update de configuration. -AC_OUTPUT([ \ - adm_local/Makefile \ - adm_local/unix/Makefile \ - adm_local/unix/config_files/Makefile \ - bin/VERSION \ - bin/Makefile \ - idl/Makefile \ - resources/Makefile \ - resources/SalomeApp.xml \ - src/Makefile \ - src/ATOMGEN/Makefile \ - src/ATOMGENGUI/Makefile \ - ATOMGEN_version.h \ - Makefile \ -]) diff --git a/Makefile.am b/idl/CMakeLists.txt similarity index 57% rename from Makefile.am rename to idl/CMakeLists.txt index 2d579a4..b51437f 100755 --- a/Makefile.am +++ b/idl/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,22 +17,25 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am +INCLUDE(UseOmniORB) # Provided by KERNEL -ACLOCAL_AMFLAGS = -I adm_local/unix/config_files \ - -I ${GUI_ROOT_DIR}/adm_local/unix/config_files \ - -I ${KERNEL_ROOT_DIR}/salome_adm/unix/config_files +INCLUDE_DIRECTORIES( + ${OMNIORB_INCLUDE_DIR} + ${CMAKE_CURRENT_BINARY_DIR} + ${KERNEL_INCLUDE_DIRS} +) -SUBDIRS = adm_local resources src bin idl +SET(SalomeIDLATOMGEN_IDLSOURCES + ATOMGEN.idl +) -DISTCLEANFILES = a.out aclocal.m4 configure local-install.sh +SET(_idl_include_dirs + ${KERNEL_ROOT_DIR}/idl/salome +) -salomeinclude_DATA = ATOMGEN_version.h +SET(_idl_link_flags + ${KERNEL_SalomeIDLKernel} +) -EXTRA_DIST += \ - build_configure \ - clean_configure \ - LICENCE - -dist-hook: - rm -rf `find $(distdir) -name CVS` +OMNIORB_ADD_MODULE(SalomeIDLATOMGEN "${SalomeIDLATOMGEN_IDLSOURCES}" "${_idl_include_dirs}" "${_idl_link_flags}") +INSTALL(TARGETS SalomeIDLATOMGEN EXPORT ${PROJECT_NAME}TargetGroup DESTINATION ${SALOME_INSTALL_LIBS}) diff --git a/idl/Makefile.am b/idl/Makefile.am deleted file mode 100644 index 2f206c7..0000000 --- a/idl/Makefile.am +++ /dev/null @@ -1,96 +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 = ATOMGEN.idl - -BASEIDL_FILES_PY=$(BASEIDL_FILES:%.idl=%_idl.py) - -# This variable defines the files to be installed -dist_salomeidl_DATA = $(BASEIDL_FILES) - -# GUI idl common library -lib_LTLIBRARIES = libATOMGENIDL.la - -# Sources built from idl files -nodist_libATOMGENIDL_la_SOURCES = ATOMGENSK.cc - -# header files must be exported: other modules have to use this library -nodist_salomeinclude_HEADERS = $(BASEIDL_FILES:%.idl=%.hh) - -libATOMGENIDL_la_CPPFLAGS = \ - -I$(top_builddir)/idl \ - @CORBA_CXXFLAGS@ @CORBA_INCLUDES@ @KERNEL_CXXFLAGS@ -libATOMGENIDL_la_LDFLAGS = -no-undefined -version-info=0:0:0 -libATOMGENIDL_la_LIBADD = @CORBA_LIBS@ - -# These variables defines the building process of CORBA files -OMNIORB_IDL = @OMNIORB_IDL@ -OMNIORB_IDLCXXFLAGS = @OMNIORB_IDLCXXFLAGS@ -OMNIORB_IDLPYFLAGS = @OMNIORB_IDLPYFLAGS@ -I$(top_builddir)/idl/salome -I$(KERNEL_ROOT_DIR)/idl/salome -IDLCXXFLAGS = -bcxx @IDLCXXFLAGS@ -I$(top_builddir)/idl/salome -I$(KERNEL_ROOT_DIR)/idl/salome -IDLPYFLAGS = @IDLPYFLAGS@ -I$(KERNEL_ROOT_DIR)/idl/salome - -# potential problem on parallel make on the following - multiple outputs -SUFFIXES = .idl .hh SK.cc -.idlSK.cc: - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< -.idl.hh: - $(OMNIORB_IDL) $(IDLCXXFLAGS) $(OMNIORB_IDLCXXFLAGS) $< - -install-exec-local: $(BASEIDL_FILES:%=$(top_srcdir)/idl/%) - $(INSTALL) -d $(DESTDIR)$(salomepythondir) - ls $^ | while read file; do \ - $(OMNIORB_IDL) $(IDLPYFLAGS) -C$(DESTDIR)$(salomepythondir) $$file ; \ - done - -# we want to remove only staff generated for IDL files and nothing more -uninstall-local: - @for modulen in ATOMGEN_ORB ; do \ - test -d $(DESTDIR)$(salomepythondir)/$${modulen} && echo "Removing $(DESTDIR)$(salomepythondir)/$${modulen}" && rm -rf $(DESTDIR)$(salomepythondir)/$${modulen} ; \ - test -d $(DESTDIR)$(salomepythondir)/$${modulen}__POA && echo "Removing $(DESTDIR)$(salomepythondir)/$${modulen}__POA" && rm -rf $(DESTDIR)$(salomepythondir)/$${modulen}__POA ; \ - done ; \ - for filen in $(BASEIDL_FILES_PY) ; do \ - echo "Removing $(DESTDIR)$(salomepythondir)/$${filen}" && rm -f $(DESTDIR)$(salomepythondir)/$${filen}* ; \ - done - -mostlyclean-local: - -rm -f *.hh *.cc .depidl - -# we use cpp to generate dependencies between idl files. -# option x c tells the preprocessor to consider idl as a c file. -# if an idl is modified, all idl dependencies are rebuilt - -.depidl: $(BASEIDL_FILES) - @echo "" > $@ - @for dep in $^ dummy; do \ - if [ $$dep != "dummy" ]; then \ - echo Building dependencies for $$dep; \ - $(CPP) $(C_DEPEND_FLAG) -x c -I$(srcdir) -I$(KERNEL_ROOT_DIR)/idl/salome $$dep 2>/dev/null | \ - sed 's/\.o/\SK.cc/' >>$@; \ - fi; \ - done ; - --include .depidl diff --git a/resources/ATOMGEN_en.xml b/resources/ATOMGEN_en.xml index 4ec7f11..165dbd6 100644 --- a/resources/ATOMGEN_en.xml +++ b/resources/ATOMGEN_en.xml @@ -28,7 +28,7 @@ - + diff --git a/resources/CMakeLists.txt b/resources/CMakeLists.txt new file mode 100755 index 0000000..d8d7ee7 --- /dev/null +++ b/resources/CMakeLists.txt @@ -0,0 +1,31 @@ +# 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(ATOMGEN_RESOURCES_FILES + atomgen_run.png + ATOMGEN.png + ATOMGEN_en.xml + ATOMGENCatalog.xml +) + +INSTALL(FILES ${ATOMGEN_RESOURCES_FILES} DESTINATION ${SALOME_ATOMGEN_INSTALL_RES_DATA}) +SALOME_CONFIGURE_FILE(SalomeApp.xml.in SalomeApp.xml INSTALL ${SALOME_ATOMGEN_INSTALL_RES_DATA}) diff --git a/resources/SalomeApp.xml.in b/resources/SalomeApp.xml.in index f383746..eda8d7e 100644 --- a/resources/SalomeApp.xml.in +++ b/resources/SalomeApp.xml.in @@ -26,7 +26,7 @@
- +
diff --git a/resources/Makefile.am b/src/ATOMGEN/CMakeLists.txt similarity index 75% rename from resources/Makefile.am rename to src/ATOMGEN/CMakeLists.txt index 5c25141..ac525c5 100644 --- a/resources/Makefile.am +++ b/src/ATOMGEN/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,12 +17,14 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am +# --- scripts --- -dist_salomeres_DATA = \ - ATOMGENCatalog.xml \ - ATOMGEN_en.xml \ - ATOMGEN.png \ - atomgen_run.png +# scripts / static +SET(_bin_SCRIPTS + ATOMGEN_Data.py + ATOMGEN.py + ATOMGEN_XmlParser.py +) -nodist_salomeres_SCRIPTS = SalomeApp.xml \ No newline at end of file +# --- rules --- +SALOME_INSTALL_SCRIPTS("${_bin_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) \ No newline at end of file diff --git a/src/ATOMGEN/Makefile.am b/src/ATOMGEN/Makefile.am deleted file mode 100644 index db18224..0000000 --- a/src/ATOMGEN/Makefile.am +++ /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 -# - -include $(top_srcdir)/adm_local/unix/make_common_starter.am - -# Scripts to be installed. -dist_salomescript_DATA= \ - ATOMGEN_Data.py \ - ATOMGEN.py \ - ATOMGEN_XmlParser.py diff --git a/src/ATOMGENGUI/CMakeLists.txt b/src/ATOMGENGUI/CMakeLists.txt new file mode 100755 index 0000000..b9f4340 --- /dev/null +++ b/src/ATOMGENGUI/CMakeLists.txt @@ -0,0 +1,51 @@ +# 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) +INCLUDE(UsePyQt4) + +# --- scripts --- + +# scripts / static +SET(_bin_SCRIPTS + ATOMGENGUI.py +) + +# --- resources --- + +# uic files / to be processed by pyuic +SET(_pyuic_files + rundlg.ui +) + +# scripts / pyuic wrappings +PYQT4_WRAP_UIC(_pyuic_SCRIPTS ${_pyuic_files}) + +# resource files / to be processed by lrelease +SET(_ts_RESOURCES + resources/ATOMGEN_images.ts + resources/ATOMGEN_msg_en.ts +) + +SET(_all_SCRIPTS ${_bin_SCRIPTS} ${_pyuic_SCRIPTS}) + +# --- rules --- + +SALOME_INSTALL_SCRIPTS("${_all_SCRIPTS}" ${SALOME_INSTALL_SCRIPT_PYTHON}) +QT4_INSTALL_TS_RESOURCES("${_ts_RESOURCES}" "${SALOME_ATOMGEN_INSTALL_RES_DATA}") \ No newline at end of file diff --git a/adm_local/unix/config_files/Makefile.am b/src/CMakeLists.txt old mode 100644 new mode 100755 similarity index 76% rename from adm_local/unix/config_files/Makefile.am rename to src/CMakeLists.txt index 83dd925..b947fd0 --- a/adm_local/unix/config_files/Makefile.am +++ b/src/CMakeLists.txt @@ -1,4 +1,4 @@ -# Copyright (C) 2007-2013 CEA/DEN, EDF R&D, OPEN CASCADE +# Copyright (C) 2012-2013 CEA/DEN, EDF R&D, OPEN CASCADE # # This library is free software; you can redistribute it and/or # modify it under the terms of the GNU Lesser General Public @@ -17,6 +17,17 @@ # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com # -include $(top_srcdir)/adm_local/unix/make_common_starter.am +## +# Common packages +## +SET(SUBDIRS_COMMON + ATOMGEN ATOMGENGUI +) -dist_admlocalm4_DATA = check_ATOMGEN.m4 +SET(SUBDIRS + ${SUBDIRS_COMMON} +) + +FOREACH(dir ${SUBDIRS}) + ADD_SUBDIRECTORY(${dir}) +ENDFOREACH(dir ${SUBDIRS}) \ No newline at end of file -- 2.30.2