1 # Copyright (C) 2010-2013 CEA/DEN, EDF R&D
3 # This library is free software; you can redistribute it and/or
4 # modify it under the terms of the GNU Lesser General Public
5 # License as published by the Free Software Foundation; either
6 # version 2.1 of the License.
8 # This library is distributed in the hope that it will be useful,
9 # but WITHOUT ANY WARRANTY; without even the implied warranty of
10 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
11 # Lesser General Public License for more details.
13 # You should have received a copy of the GNU Lesser General Public
14 # License along with this library; if not, write to the Free Software
15 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
20 PROJECT(PARAVIS C CXX)
23 STRING( REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags ${CMAKE_SHARED_LINKER_FLAGS_DEBUG} )
24 SET( CMAKE_SHARED_LINKER_FLAGS_DEBUG "${replacementFlags}" )
27 CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7 FATAL_ERROR)
28 IF(COMMAND cmake_policy)
29 cmake_policy(SET CMP0003 NEW)
30 ENDIF(COMMAND cmake_policy)
32 SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "KERNEL_ROOT_DIR")
33 SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "GUI_ROOT_DIR")
37 "${KERNEL_ROOT_DIR}/salome_adm/cmake_files"
38 "${GUI_ROOT_DIR}/adm_local/cmake_files"
39 "${PROJECT_SOURCE_DIR}/adm_local/cmake_files")
42 INCLUDE(SalomeSetupPlatform)
44 FIND_PACKAGE(SalomeKERNEL REQUIRED)
47 FIND_PACKAGE(SalomePython REQUIRED)
48 FIND_PACKAGE(SalomeOmniORB REQUIRED)
49 FIND_PACKAGE(SalomeOmniORBPy REQUIRED)
50 SET(OMNIORB_IDL_PYTHON ${OMNIORB_IDL_COMPILER})
51 FIND_PACKAGE(SalomePThread REQUIRED)
52 FIND_PACKAGE(SalomeHDF5 REQUIRED)
53 FIND_PACKAGE(SalomeBoost REQUIRED)
54 FIND_PACKAGE(SalomeLibXml2 REQUIRED)
55 FIND_PACKAGE(SalomeSWIG REQUIRED)
56 FIND_PACKAGE(SalomeCppUnit REQUIRED)
57 FIND_PACKAGE(SalomeDoxygen REQUIRED)
59 # From GUI: part 1 (Qt must be checked before ParaView)
60 FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml QtHelp)
61 # This search for qhelpgenerator is required here
62 # to avoid detecting native one due to bug in ParaViewMacros.cmake
63 FIND_PROGRAM(QT_HELP_GENERATOR
65 PATHS "${QT_BINARY_DIR}"
66 NO_DEFAULT_PATH NO_CMAKE_FIND_ROOT_PATH
67 DOC "qhelpgenerator used to compile Qt help project files")
68 MARK_AS_ADVANCED(QT_HELP_GENERATOR)
70 # Specific to ParaVis:
71 FIND_PACKAGE(SalomeParaView)
76 # GUI has to be loaded AFTER ParaView: the ParaView config doesn't mix
77 # well with the VTK one (and GUI loads VTK):
78 FIND_PACKAGE(SalomeGUI REQUIRED)
81 FIND_PACKAGE(SalomeCAS REQUIRED)
82 FIND_PACKAGE(SalomeOpenGL REQUIRED)
83 FIND_PACKAGE(SalomeVTK REQUIRED)
84 FIND_PACKAGE(SalomeQwt REQUIRED)
85 FIND_PACKAGE(SalomeSIP REQUIRED)
86 FIND_PACKAGE(SalomePyQt4 REQUIRED)
90 SET(VERSION_MAINTENANCE 0)
91 SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MAINTENANCE}")
92 SET(XVERSION 0x0${VERSION_MAJOR}0${VERSION_MINOR}0${VERSION_MAINTENANCE})
97 #SET(VISU_ROOT_DIR $ENV{VISU_ROOT_DIR} CACHE PATH "VISU_ROOT_DIR")
98 #IF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
99 #INCLUDE(${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
101 #ENDIF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
103 SET(MED_ROOT_DIR "$ENV{MED_ROOT_DIR}" CACHE PATH "Path to the MED Salome module")
104 LIST(APPEND CMAKE_MODULE_PATH "${MED_ROOT_DIR}/adm_local/cmake_files")
105 FIND_PACKAGE(SalomeMED REQUIRED)
106 FIND_PACKAGE(SalomeMEDFile REQUIRED)
108 # TODO: the below requires ParaView in the PYTHONPATH ... not so nice:
109 MESSAGE(STATUS "Generating wrapped class list (??) ...")
110 LIST(GET PARAVIEW_INCLUDE_DIRS 0 PARAVIEW_INCLUDE_DIR0)
111 EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${PROJECT_SOURCE_DIR}/getwrapclasses.py ${PARAVIEW_INCLUDE_DIR0}
112 RESULT_VARIABLE _res)
114 MESSAGE(FATAL_ERROR "Unable to run the Python script retrieving the list of VTK classes.")
130 INCLUDE(wrapfiles.cmake)
132 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/PARAVIS_version.h.in)
133 SET(output ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h)
135 MESSAGE(STATUS "Creation of ${output}")
136 CONFIGURE_FILE(${input} ${output})
138 FOREACH(dir ${SUBDIRS})
139 ADD_SUBDIRECTORY(${dir})
140 ENDFOREACH(dir ${SUBDIRS})
142 # Reset CMAKE_CONFIGURATION_TYPES to the good value defined by CMAKE_BUILD_TYPE
145 MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES)
146 SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE)
148 ENDIF(CMAKE_BUILD_TYPE)
150 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h DESTINATION include/salome)
153 SET(PARAVIS_TEST_OUTPUT_DIR /tmp/pic CACHE PATH "Directory for saving test pictures.")
154 OPTION(BUILD_TESTING "Build ParaVis Testing" ON)
156 SET(PARAVIS_TEST_DIR ${ParaVis_BINARY_DIR}/Test/Temporary)
157 MAKE_DIRECTORY(${PARAVIS_TEST_DIR})
160 ADD_SUBDIRECTORY(test)