Salome HOME
Preparation of the SALOME7.2.0 version for win32 platform.
[tools/libbatch.git] / CMakeLists.txt
1 #  Copyright (C) 2007-2013  CEA/DEN, EDF R&D, OPEN CASCADE
2 #
3 #  Copyright (C) 2003-2007  OPEN CASCADE, EADS/CCR, LIP6, CEA/DEN,
4 #  CEDRAT, EDF R&D, LEG, PRINCIPIA R&D, BUREAU VERITAS
5 #
6 #  This library is free software; you can redistribute it and/or
7 #  modify it under the terms of the GNU Lesser General Public
8 #  License as published by the Free Software Foundation; either
9 #  version 2.1 of the License.
10 #
11 #  This library is distributed in the hope that it will be useful,
12 #  but WITHOUT ANY WARRANTY; without even the implied warranty of
13 #  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
14 #  Lesser General Public License for more details.
15 #
16 #  You should have received a copy of the GNU Lesser General Public
17 #  License along with this library; if not, write to the Free Software
18 #  Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
19 #
20 #  See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
21 #
22
23 project (libbatch)
24
25 cmake_minimum_required (VERSION 2.8)
26 set(CMAKE_MODULE_PATH ${PROJECT_SOURCE_DIR}/CMakeModules/)
27
28 find_package (PThread REQUIRED)
29
30 SET (BUILD_LOCAL_SUBMISSION TRUE CACHE BOOL "Build classes for local submission")
31 SET (BUILD_PYTHON_WRAPPING TRUE CACHE BOOL "Generate Python wrapping")
32 SET (TEST_ENABLED FALSE CACHE BOOL "Enable testing")
33
34 IF (TEST_ENABLED)
35     ENABLE_TESTING()
36 ENDIF (TEST_ENABLED)
37
38 IF (BUILD_LOCAL_SUBMISSION)
39     find_package (Local)
40 ENDIF (BUILD_LOCAL_SUBMISSION)
41 IF (BUILD_PYTHON_WRAPPING)
42     FIND_PACKAGE(PythonInterp)
43     IF (PYTHONINTERP_FOUND)
44         get_filename_component(PYTHON_BIN_DIR "${PYTHON_EXECUTABLE}" PATH)
45         get_filename_component(CMAKE_INCLUDE_PATH "${PYTHON_BIN_DIR}/../include/python${PYTHON_VERSION_MAJOR}.${PYTHON_VERSION_MINOR}" ABSOLUTE)
46         get_filename_component(CMAKE_LIBRARY_PATH "${PYTHON_BIN_DIR}/../lib" ABSOLUTE)
47     ENDIF (PYTHONINTERP_FOUND)
48     # Set PythonLibs_FIND_VERSION To avoid problems when several versions are in the system
49     SET(PythonLibs_FIND_VERSION ${PYTHON_VERSION_STRING})
50     set(PYTHON_ROOT_DIR $ENV{PYTHON_ROOT_DIR} CACHE PATH "Path to Python directory")
51     if(EXISTS ${PYTHON_ROOT_DIR})
52       if(WINDOWS)
53         if(CMAKE_BUILD_TYPE STREQUAL Debug)
54           SET(PYTHON_LIB_SUFFIX _d)
55         else(CMAKE_BUILD_TYPE STREQUAL Debug)
56           SET(PYTHON_LIB_SUFFIX)   
57         endif(CMAKE_BUILD_TYPE STREQUAL Debug)
58         set(PYTHON_INCLUDE_DIR ${PYTHON_ROOT_DIR}/include)
59         set(PYTHON_LIBRARY ${PYTHON_ROOT_DIR}/libs/python${PYTHON_VERSION_MAJOR}${PYTHON_VERSION_MINOR}${PYTHON_LIB_SUFFIX}${CMAKE_IMPORT_LIBRARY_SUFFIX})
60       endif(WINDOWS)
61     endif(EXISTS ${PYTHON_ROOT_DIR})
62     FIND_PACKAGE(PythonLibs)
63     FIND_PACKAGE(SWIG)
64 ENDIF (BUILD_PYTHON_WRAPPING)
65
66 SET(CPACK_GENERATOR TGZ)
67 SET(CPACK_SOURCE_GENERATOR TGZ ZIP)
68 SET(CPACK_PACKAGE_VERSION_MAJOR 2)
69 SET(CPACK_PACKAGE_VERSION_MINOR 0)
70 SET(CPACK_PACKAGE_VERSION_PATCH 0)
71 SET(CPACK_SOURCE_IGNORE_FILES /\\\\.;/CVS/;~)
72 SET(CPACK_SOURCE_PACKAGE_FILE_NAME
73     ${PROJECT_NAME}-${CPACK_PACKAGE_VERSION_MAJOR}.${CPACK_PACKAGE_VERSION_MINOR}.${CPACK_PACKAGE_VERSION_PATCH})
74
75 configure_file (${CMAKE_CURRENT_SOURCE_DIR}/config.h.in ${CMAKE_CURRENT_BINARY_DIR}/config.h)
76
77 INCLUDE(Summary)
78
79 add_subdirectory (src)
80 add_subdirectory (misc)
81
82 INCLUDE(CPack)
83
84 MARK_AS_ADVANCED(CMAKE_BACKWARDS_COMPATIBILITY EXECUTABLE_OUTPUT_PATH)