Salome HOME
Merge from V6_main (04/10/2012)
[modules/kernel.git] / CMakeLists.txt
1 # Copyright (C) 2012  CEA/DEN, EDF R&D, OPEN CASCADE
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 CMAKE_MINIMUM_REQUIRED(VERSION 2.4.7 FATAL_ERROR)
21
22 IF(COMMAND cmake_policy)
23   cmake_policy(SET CMP0003 NEW)
24 ENDIF(COMMAND cmake_policy)
25
26 # Temporary step instead Find Calcium.cmake
27 SET(CALCIUM_IDL_INT_F77 long)
28 SET(CALCIUM_CORBA_INT_F77 CORBA::Long)
29 SET(LONG_OR_INT int)
30
31 # Temporary definitions
32 SET(DOXYGEN_IS_OK 0)
33 IF(WINDOWS)
34  SET(CPPUNIT_IS_OK 0)
35 ENDIF(WINDOWS)
36 SET(WITH_LOCAL 1)
37 SET(WITH_BATCH 1)
38
39 ENABLE_TESTING()
40 SET(VERSION "6.5.0")
41 SET(VERSION_DEV "1")
42
43 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindPLATFORM.cmake)
44 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindPYTHON.cmake)
45 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindMPI.cmake)
46 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindOMNIORB.cmake)
47 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindPTHREADS.cmake)
48 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindHDF5.cmake)
49 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindBOOST.cmake)
50 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindLIBXML2.cmake)
51 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindSWIG.cmake)
52 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindCPPUNIT.cmake)
53 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindDOXYGEN.cmake)
54 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindLIBBATCH.cmake)
55 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/FindSPHINX.cmake)
56 INCLUDE(${CMAKE_SOURCE_DIR}/salome_adm/cmake_files/SalomeMacros.cmake)
57
58 EXECUTE_PROCESS(COMMAND ${PYTHON_EXECUTABLE} -c "import sys; t=sys.argv[-1].split(\".\") ; t[:]=(int(elt) for elt in t) ; sys.stdout.write(\"0x%02x%02x%02x\"%tuple(t))" ${VERSION}
59   OUTPUT_VARIABLE XVERSION)
60
61 SET(KERNEL_salomebin_BINS bin/salome)
62
63 SET(KERNEL_salomelib_LIBS lib/salome)
64
65 SET(KERNEL_salomeidl_IDLS idl/salome)
66
67 SET(KERNEL_salomeinclude_HEADERS include/salome)
68
69 SET(KERNEL_salomeres_DATA share/salome/resources/kernel)
70
71 SET(KERNEL_salomeres_SCRIPTS share/salome/resources/kernel)
72
73 SET(KERNEL_salomescript_SCRIPTS bin/salome)
74
75 SET(KERNEL_salomescript_DATA bin/salome)
76
77 SET(KERNEL_salomescript_PYTHON bin/salome)
78
79 SET(KERNEL_appliskel_SCRIPTS bin/salome/appliskel)
80
81 SET(KERNEL_appliskel_PYTHON bin/salome/appliskel)
82
83 SET(KERNEL_pythondir lib/python${PYTHON_VERSION}/site-packages)
84
85 SET(KERNEL_salomepythondir ${KERNEL_pythondir}/salome)
86
87 SET(KERNEL_sharedpkgpython_PYTHON ${KERNEL_salomepythondir}/shared_modules)
88
89 SET(KERNEL_salomeadmcmake salome_adm/cmake_files)
90
91 IF(CORBA_GEN)
92   ADD_SUBDIRECTORY(idl)
93 ENDIF(CORBA_GEN)
94
95 ADD_SUBDIRECTORY(src)
96 ADD_SUBDIRECTORY(resources)
97
98 IF(NOT WITHONLYLAUNCHER)
99   ADD_SUBDIRECTORY(bin)
100   ADD_SUBDIRECTORY(salome_adm)
101   ADD_SUBDIRECTORY(doc)
102 ENDIF(NOT WITHONLYLAUNCHER)
103
104 SET(input ${CMAKE_CURRENT_SOURCE_DIR}/KERNEL_version.h.in)
105 SET(output ${CMAKE_CURRENT_BINARY_DIR}/KERNEL_version.h)
106 MESSAGE(STATUS "Creation of ${output}")
107 CONFIGURE_FILE(${input} ${output} @ONLY)
108 INSTALL(FILES ${CMAKE_CURRENT_BINARY_DIR}/KERNEL_version.h DESTINATION ${KERNEL_salomeinclude_HEADERS})