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 "${CMAKE_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 # Specific to ParaVis:
60 FIND_PACKAGE(SalomeParaView)
62 # GUI has to be loaded AFTER ParaView: the ParaView config doesn't mix
63 # well with the VTK one (GUI loads VTK):
64 FIND_PACKAGE(SalomeGUI REQUIRED)
67 FIND_PACKAGE(SalomeCAS REQUIRED)
68 FIND_PACKAGE(SalomeQt4 REQUIRED COMPONENTS QtCore QtGui QtXml QtHelp)
69 message("QT_INCLUDES ${QT_INCLUDES}")
71 FOREACH(_inc ${QT_INCLUDES})
72 SET(_new_inc "${_new_inc} -I${_inc}")
74 SET(QT_INCLUDES "${_new_inc}")
75 message("QT_INCLUDES ${QT_INCLUDES}")
77 FIND_PACKAGE(SalomeOpenGL REQUIRED)
78 FIND_PACKAGE(SalomeVTK REQUIRED)
79 FIND_PACKAGE(SalomeQwt REQUIRED)
80 FIND_PACKAGE(SalomeSIP REQUIRED)
81 FIND_PACKAGE(SalomePyQt4 REQUIRED)
85 SET(VERSION_MAINTENANCE 0)
86 SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MAINTENANCE}")
87 SET(XVERSION 0x0${VERSION_MAJOR}0${VERSION_MINOR}0${VERSION_MAINTENANCE})
92 #SET(VISU_ROOT_DIR $ENV{VISU_ROOT_DIR} CACHE PATH "VISU_ROOT_DIR")
93 #IF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
94 #INCLUDE(${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
96 #ENDIF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
98 SET(MED_ROOT_DIR $ENV{MED_ROOT_DIR} CACHE PATH "MED_ROOT_DIR")
99 INCLUDE(${MED_ROOT_DIR}/adm_local/cmake_files/FindMED.cmake)
101 # TODO: the below requires ParaView in the PYTHONPATH ... not so nice:
102 MESSAGE(STATUS "Generating wrapped class list (??) ...")
103 LIST(GET PARAVIEW_INCLUDE_DIRS 0 PARAVIEW_INCLUDE_DIR0)
104 EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/getwrapclasses.py ${PARAVIEW_INCLUDE_DIR0})
119 INCLUDE(wrapfiles.cmake)
121 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/PARAVIS_version.h.in)
122 SET(output ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h)
124 MESSAGE(STATUS "Creation of ${output}")
125 CONFIGURE_FILE(${input} ${output})
127 FOREACH(dir ${SUBDIRS})
128 ADD_SUBDIRECTORY(${dir})
129 ENDFOREACH(dir ${SUBDIRS})
131 # Reset CMAKE_CONFIGURATION_TYPES to the good value defined by CMAKE_BUILD_TYPE
134 MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES)
135 SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE)
137 ENDIF(CMAKE_BUILD_TYPE)
139 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h DESTINATION include/salome)
142 SET(PARAVIS_TEST_OUTPUT_DIR /tmp/pic CACHE PATH "Directory for saving test pictures.")
143 OPTION(BUILD_TESTING "Build ParaVis Testing" ON)
145 SET(PARAVIS_TEST_DIR ${ParaVis_BINARY_DIR}/Test/Temporary)
146 MAKE_DIRECTORY(${PARAVIS_TEST_DIR})
149 ADD_SUBDIRECTORY(test)