-
- CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR)
- IF(COMMAND cmake_policy)
- cmake_policy(SET CMP0003 NEW)
- ENDIF(COMMAND cmake_policy)
-
-
- SET(WITH_BOOST $ENV{BOOSTDIR})
- SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR})
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindPLATFORM.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindPYTHON.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindOMNIORB.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindPTHREADS.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindHDF5.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindBOOST.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindLIBXML2.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindSWIG.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindCPPUNIT.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindDOXYGEN.cmake)
- INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindKERNEL.cmake)
-
-
- INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindPARAVIEW.cmake)
- IF(EXISTS ${PARAVIEW_VTK_DIR}/VTKConfig.cmake)
- SET(VTK_DIR ${PARAVIEW_VTK_DIR})
- ENDIF(EXISTS ${PARAVIEW_VTK_DIR}/VTKConfig.cmake)
- SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR})
- INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindCAS.cmake)
- INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindQT4.cmake)
- INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindOPENGL.cmake)
- INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindVTK.cmake)
- INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindQWT.cmake)
- INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindSIPPYQT.cmake)
- INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/FindGUI.cmake)
-
-
- SET(BUILD_PLUGINS 1)
- SET(MED_ROOT_DIR $ENV{MED_ROOT_DIR})
- SET(VISU_ROOT_DIR $ENV{VISU_ROOT_DIR})
- INCLUDE(${MED_ROOT_DIR}/adm_local/cmake_files/FindMED.cmake)
- IF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
- INCLUDE(${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
- SET(WITH_VISU 1)
- ENDIF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
- EXECUTE_PROCESS(COMMAND pvpython ${CMAKE_SOURCE_DIR}/getwrapclasses.py ${PARAVIEW_INCLUDE_DIRS})
-
-
- SET(DOXYGEN_IS_OK 0)
-
-
- IF(WINDOWS)
- SET(CPPUNIT_IS_OK 0)
- ENDIF(WINDOWS)
-
-
- SET(VERSION_INFO 0.0.0)
- SET(SOVERSION_INFO 0)
- SET(SUBDIRS)
- SET(AM_CPPFLAGS)
- SET(AM_CXXFLAGS)
- SET(LDADD)
-
-
- SET(AM_CPPFLAGS ${AM_CPPFLAGS} -DHAVE_SALOME_CONFIG -I${KERNEL_ROOT_DIR}/include/salome -include SALOMEconfig.h)
- SET(AM_CXXFLAGS ${AM_CXXFLAGS} -DHAVE_SALOME_CONFIG -I${KERNEL_ROOT_DIR}/include/salome -include SALOMEconfig.h)
-
-# Copyright (C) 2005 CEA/DEN, EDF R&D, OPEN CASCADE, PRINCIPIA R&D
+# Copyright (C) 2010-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 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.
+# 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
+# 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 :
-# Modified by : Alexander BORODIN (OCN) - autotools usage
-#
-# include $(top_srcdir)/adm_local/unix/make_common_starter.am
-
-SET(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
-)
+PROJECT(PARAVIS C CXX)
+
+IF(WINDOWS)
+ STRING( REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags ${CMAKE_SHARED_LINKER_FLAGS_DEBUG} )
+ SET( CMAKE_SHARED_LINKER_FLAGS_DEBUG "${replacementFlags}" )
+ENDIF(WINDOWS)
+
+CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7 FATAL_ERROR)
+IF(COMMAND cmake_policy)
+ cmake_policy(SET CMP0003 NEW)
+ENDIF(COMMAND cmake_policy)
+
+SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "KERNEL_ROOT_DIR")
+SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "GUI_ROOT_DIR")
+SET(MODULE PARAVIS)
+
+SET(CMAKE_MODULE_PATH
+ "${KERNEL_ROOT_DIR}/salome_adm/cmake_files"
+ "${GUI_ROOT_DIR}/adm_local/cmake_files"
+ "${PROJECT_SOURCE_DIR}/adm_local/cmake_files")
+
+INCLUDE(SalomeMacros)
+INCLUDE(SalomeSetupPlatform)
+
+FIND_PACKAGE(SalomeKERNEL REQUIRED)
+
+# From KERNEL:
+FIND_PACKAGE(SalomePython REQUIRED)
+FIND_PACKAGE(SalomeOmniORB REQUIRED)
+FIND_PACKAGE(SalomeOmniORBPy REQUIRED)
+SET(OMNIORB_IDL_PYTHON ${OMNIORB_IDL_COMPILER})
+FIND_PACKAGE(SalomePThread REQUIRED)
+FIND_PACKAGE(SalomeHDF5 REQUIRED)
+FIND_PACKAGE(SalomeBoost REQUIRED)
+FIND_PACKAGE(SalomeLibXml2 REQUIRED)
+FIND_PACKAGE(SalomeSWIG REQUIRED)
+FIND_PACKAGE(SalomeCppUnit REQUIRED)
+FIND_PACKAGE(SalomeDoxygen REQUIRED)
+
+# Specific to ParaVis:
+FIND_PACKAGE(SalomeParaView)
+IF(TARGET vtkTools)
+ message("bli !!")
+endif()
+
+# GUI has to be loaded AFTER ParaView: the ParaView config doesn't mix
+# well with the VTK one (and GUI loads VTK):
+FIND_PACKAGE(SalomeGUI REQUIRED)
+
+# From GUI:
+FIND_PACKAGE(SalomeCAS REQUIRED)
+FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml QtHelp)
+message("QT_INCLUDES ${QT_INCLUDES}")
+SET(_new_inc)
+FOREACH(_inc ${QT_INCLUDES})
+ SET(_new_inc "${_new_inc} -I${_inc}")
+ENDFOREACH()
+SET(QT_INCLUDES "${_new_inc}")
+message("QT_INCLUDES ${QT_INCLUDES}")
+
+FIND_PACKAGE(SalomeOpenGL REQUIRED)
+FIND_PACKAGE(SalomeVTK REQUIRED)
+FIND_PACKAGE(SalomeQwt REQUIRED)
+FIND_PACKAGE(SalomeSIP REQUIRED)
+FIND_PACKAGE(SalomePyQt4 REQUIRED)
+
+SET(VERSION_MAJOR 7)
+SET(VERSION_MINOR 2)
+SET(VERSION_MAINTENANCE 0)
+SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MAINTENANCE}")
+SET(XVERSION 0x0${VERSION_MAJOR}0${VERSION_MINOR}0${VERSION_MAINTENANCE})
+SET(VERSION_DEV 0)
+
+SET(BUILD_PLUGINS 1)
+
+#SET(VISU_ROOT_DIR $ENV{VISU_ROOT_DIR} CACHE PATH "VISU_ROOT_DIR")
+#IF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
+ #INCLUDE(${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
+ #SET(WITH_VISU 1)
+#ENDIF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
+
+SET(MED_ROOT_DIR "$ENV{MED_ROOT_DIR}" CACHE PATH "Path to the MED Salome module")
+LIST(APPEND CMAKE_MODULE_PATH "${MED_ROOT_DIR}/adm_local/cmake_files")
+FIND_PACKAGE(SalomeMED REQUIRED)
+
+# TODO: the below requires ParaView in the PYTHONPATH ... not so nice:
+MESSAGE(STATUS "Generating wrapped class list (??) ...")
+LIST(GET PARAVIEW_INCLUDE_DIRS 0 PARAVIEW_INCLUDE_DIR0)
+EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/getwrapclasses.py ${PARAVIEW_INCLUDE_DIR0}
+ RESULT_VARIABLE _res)
+IF(NOT _res EQUAL 0)
+ MESSAGE(FATAL_ERROR "Unable to run the Python script retrieving the list of VTK classes.")
+ENDIF()
SET(SUBDIRS
- idl
- adm_local
- resources
- src
- doc
- bin
-)
+ idl
+ adm_local
+ resources
+ src
+ doc
+ bin
+ )
SET(DISTCLEANFILES
- a.out
- aclocal.m4
- configure
- wrapfiles.txt
-)
-
-SET(salomeinclude_DATA
- PARAVIS_version.h
-)
-
-SET(EXTRA_DIST
- ${EXTRA_DIST}
- build_configure
- clean_configure
-)
-
-# include $(top_srcdir)/wrapfiles.am
+ wrapfiles.txt
+ )
+
INCLUDE(wrapfiles.cmake)
-# dist-hook:
-# rm -rf `find $(distdir) -name CVS`
-
-# dev_docs:
-# (cd doc && $(MAKE) $(AM_MAKEFLAGS) dev_docs)
-
-# docs: dev_docs
-
-
- SET(input ${CMAKE_CURRENT_SOURCE_DIR}/PARAVIS_version.h.in)
-
-
- SET(output ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h)
-
-
- MESSAGE(STATUS "Creation of ${output}")
- CONFIGURE_FILE(${input} ${output})
-
-
- FOREACH(dir ${SUBDIRS})
- IF(NOT dir STREQUAL .)
- ADD_SUBDIRECTORY(${dir})
- ENDIF(NOT dir STREQUAL .)
- ENDFOREACH(dir ${SUBDIRS})
-
-FOREACH(f ${salomeinclude_DATA})
-
- SET(DEST include/salome)
-
-
- STRING(COMPARE EQUAL ${f} SALOMEconfig.h.in test_SALOMEconfig.h.in)
- IF(test_SALOMEconfig.h.in)
- INSTALL(FILES SALOMEconfig.ref.in DESTINATION ${DEST} RENAME SALOMEconfig.h.in)
- ELSE(test_SALOMEconfig.h.in)
- SET(dummy dummy-NOTFOUND)
- MARK_AS_ADVANCED(dummy)
- # FILE(REMOVE ${CMAKE_INSTALL_PREFIX}/${DEST}/${f})
- FIND_FILE(dummy ${f} PATHS ${CMAKE_CURRENT_SOURCE_DIR} NO_DEFAULT_PATH)
- IF(dummy)
-
-
- GET_FILENAME_COMPONENT(ext ${f} EXT)
- IF(ext STREQUAL .py)
- IF(DEST STREQUAL bin/salome)
- SET(PERMS)
- SET(PERMS ${PERMS} OWNER_READ OWNER_WRITE OWNER_EXECUTE)
- SET(PERMS ${PERMS} GROUP_READ GROUP_EXECUTE)
- SET(PERMS ${PERMS} WORLD_READ WORLD_EXECUTE)
- INSTALL(FILES ${f} DESTINATION ${DEST} PERMISSIONS ${PERMS})
- ELSE(DEST STREQUAL bin/salome)
- INSTALL(FILES ${f} DESTINATION ${DEST})
- ENDIF(DEST STREQUAL bin/salome)
- ELSE(ext STREQUAL .py)
- INSTALL(FILES ${f} DESTINATION ${DEST})
- ENDIF(ext STREQUAL .py)
-
-
- ELSE(dummy)
- GET_FILENAME_COMPONENT(ext ${f} EXT)
- IF(ext STREQUAL .qm)
- STRING(REGEX REPLACE .qm .ts input ${f})
-
-
- SET(input ${CMAKE_CURRENT_SOURCE_DIR}/resources/${input})
-
-
- SET(output ${CMAKE_CURRENT_BINARY_DIR}/${f})
- # ADD_CUSTOM_COMMAND(
- # OUTPUT ${output}
- # COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output}
- # MAIN_DEPENDENCY ${input}
- # )
- EXECUTE_PROCESS(COMMAND ${QT_LRELEASE_EXECUTABLE} ${input} -qm ${output})
- ENDIF(ext STREQUAL .qm)
- INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/${f} DESTINATION ${DEST})
- ENDIF(dummy)
- ENDIF(test_SALOMEconfig.h.in)
-
-
- GET_FILENAME_COMPONENT(ext ${f} EXT)
- IF(ext STREQUAL .py)
- INSTALL(CODE "SET(PYTHON_FILE ${f})")
- INSTALL(CODE "SET(CMAKE_INSTALL_PREFIX ${CMAKE_INSTALL_PREFIX})")
- INSTALL(CODE "SET(DEST ${DEST})")
- INSTALL(CODE "SET(PYTHON_EXECUTABLE ${PYTHON_EXECUTABLE})")
-
-
- STRING(REPLACE "\\" "/" KERNEL_ROOT_DIR ${KERNEL_ROOT_DIR})
- INSTALL(SCRIPT ${KERNEL_ROOT_DIR}/salome_adm/cmake_files/install_and_compile_python_file.cmake)
-
-
- ENDIF(ext STREQUAL .py)
-
-ENDFOREACH(f ${salomeinclude_DATA})
+SET(input ${CMAKE_CURRENT_SOURCE_DIR}/PARAVIS_version.h.in)
+SET(output ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h)
+
+MESSAGE(STATUS "Creation of ${output}")
+CONFIGURE_FILE(${input} ${output})
+
+FOREACH(dir ${SUBDIRS})
+ ADD_SUBDIRECTORY(${dir})
+ENDFOREACH(dir ${SUBDIRS})
+
+# Reset CMAKE_CONFIGURATION_TYPES to the good value defined by CMAKE_BUILD_TYPE
+IF(CMAKE_BUILD_TYPE)
+ IF(WINDOWS)
+ MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES)
+ SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE)
+ ENDIF(WINDOWS)
+ENDIF(CMAKE_BUILD_TYPE)
+
+INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h DESTINATION include/salome)
+
+# Configure Testing
+SET(PARAVIS_TEST_OUTPUT_DIR /tmp/pic CACHE PATH "Directory for saving test pictures.")
+OPTION(BUILD_TESTING "Build ParaVis Testing" ON)
+IF(BUILD_TESTING)
+ SET(PARAVIS_TEST_DIR ${ParaVis_BINARY_DIR}/Test/Temporary)
+ MAKE_DIRECTORY(${PARAVIS_TEST_DIR})
+ ENABLE_TESTING()
+ INCLUDE (CTest)
+ ADD_SUBDIRECTORY(test)
+ENDIF(BUILD_TESTING)