Salome HOME
Variable ${PYTHON_VERSION} is not set by 'FindSalomePYTHON.cmake', so we use ${PYTHON...
[modules/paravis.git] / CMakeLists.txt
1 # Copyright (C) 2010-2013  CEA/DEN, EDF R&D
2 #
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.
7 #
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.
12 #
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
16 #
17 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
18 #
19
20 PROJECT(PARAVIS)
21
22 IF(WINDOWS)
23   STRING( REPLACE "INCREMENTAL:YES" "INCREMENTAL:NO" replacementFlags ${CMAKE_SHARED_LINKER_FLAGS_DEBUG} )
24   SET( CMAKE_SHARED_LINKER_FLAGS_DEBUG "${replacementFlags}" )
25 ENDIF(WINDOWS)
26
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)            
31
32 SET(KERNEL_ROOT_DIR $ENV{KERNEL_ROOT_DIR} CACHE PATH "KERNEL_ROOT_DIR")
33 SET(MODULE PARAVIS)
34 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindPLATFORM.cmake)
35 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindSalomePYTHON.cmake)
36 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindOMNIORB.cmake)
37 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindPTHREADS.cmake)
38 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindHDF5.cmake)
39 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindBOOST.cmake)
40 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindLIBXML2.cmake)
41 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindSWIG.cmake)
42 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/FindCPPUNIT.cmake)
43 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindDOXYGEN.cmake)
44 INCLUDE(${KERNEL_ROOT_DIR}/salome_adm/cmake_files/deprecated/FindKERNEL.cmake)
45
46 INCLUDE(${CMAKE_SOURCE_DIR}/adm_local/cmake_files/FindPARAVIEW.cmake)
47 IF(EXISTS ${PARAVIEW_VTK_DIR}/VTKConfig.cmake)
48   SET(VTK_DIR ${PARAVIEW_VTK_DIR})
49 ENDIF(EXISTS ${PARAVIEW_VTK_DIR}/VTKConfig.cmake)
50
51 SET(GUI_ROOT_DIR $ENV{GUI_ROOT_DIR} CACHE PATH "GUI_ROOT_DIR")
52 INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/deprecated/FindCAS.cmake)
53 INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/deprecated/FindQT4.cmake)
54 INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/deprecated/FindOPENGL.cmake)
55 INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/deprecated/FindVTK.cmake)
56 INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/deprecated/FindQWT.cmake)
57 INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/deprecated/FindSIPPYQT.cmake)
58 INCLUDE(${GUI_ROOT_DIR}/adm_local/cmake_files/deprecated/FindGUI.cmake)
59
60 SET(VERSION_MAJOR 7)
61 SET(VERSION_MINOR 2)
62 SET(VERSION_MAINTENANCE 0)
63 SET(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_MAINTENANCE}")
64 SET(XVERSION 0x0${VERSION_MAJOR}0${VERSION_MINOR}0${VERSION_MAINTENANCE})
65 SET(VERSION_DEV 0)
66
67 SET(BUILD_PLUGINS 1)
68
69 SET(VISU_ROOT_DIR $ENV{VISU_ROOT_DIR} CACHE PATH "VISU_ROOT_DIR")
70 IF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
71   INCLUDE(${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
72   SET(WITH_VISU 1)
73 ENDIF(EXISTS ${VISU_ROOT_DIR}/adm_local/cmake_files/FindVISU.cmake)
74
75 SET(MED_ROOT_DIR $ENV{MED_ROOT_DIR} CACHE PATH "MED_ROOT_DIR")
76 INCLUDE(${MED_ROOT_DIR}/adm_local/cmake_files/FindMED.cmake)
77
78 LIST(GET PARAVIEW_INCLUDE_DIRS 0 PARAVIEW_INCLUDE_DIR0)
79 EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} ${CMAKE_SOURCE_DIR}/getwrapclasses.py ${PARAVIEW_INCLUDE_DIR0})
80
81 SET(SUBDIRS
82   idl
83   adm_local
84   resources
85   src
86   doc
87   bin
88   )
89
90 SET(DISTCLEANFILES
91   wrapfiles.txt
92   )
93
94 INCLUDE(wrapfiles.cmake)
95
96 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/PARAVIS_version.h.in)
97 SET(output ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h)
98
99 MESSAGE(STATUS "Creation of ${output}")
100 CONFIGURE_FILE(${input} ${output})
101
102 FOREACH(dir ${SUBDIRS})
103   ADD_SUBDIRECTORY(${dir})
104 ENDFOREACH(dir ${SUBDIRS})
105
106 # Reset CMAKE_CONFIGURATION_TYPES to the good value defined by CMAKE_BUILD_TYPE
107 IF(CMAKE_BUILD_TYPE)
108   IF(WINDOWS)
109     MARK_AS_ADVANCED(CLEAR CMAKE_CONFIGURATION_TYPES)
110     SET(CMAKE_CONFIGURATION_TYPES ${CMAKE_BUILD_TYPE} CACHE STRING "compilation types" FORCE)
111   ENDIF(WINDOWS)
112 ENDIF(CMAKE_BUILD_TYPE)
113
114 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/PARAVIS_version.h DESTINATION include/salome)
115
116 # Configure Testing
117 SET(PARAVIS_TEST_OUTPUT_DIR /tmp/pic CACHE PATH "Directory for saving test pictures.")
118 OPTION(BUILD_TESTING "Build ParaVis Testing" ON)
119 IF(BUILD_TESTING)
120    SET(PARAVIS_TEST_DIR ${ParaVis_BINARY_DIR}/Test/Temporary)
121    MAKE_DIRECTORY(${PARAVIS_TEST_DIR})
122    ENABLE_TESTING()
123    INCLUDE (CTest)
124    ADD_SUBDIRECTORY(test)
125 ENDIF(BUILD_TESTING)