Salome HOME
b42dd48bbe757d13e757c808158cb2908b9f403e
[plugins/canrecplugin.git] / adm_local / cmake_files / FindCR.cmake
1 # - Find OCCT Canonical recognition (CR) product
2 # Sets the following variables:
3 #   CR_INCLUDE_DIRS - path to the OCCT CR include directory
4 #   CR_LIBRARIES    - path to the OCCT CR libraries to be linked against
5 #
6
7 #########################################################################
8 # Copyright (C) 2014-2016  OPEN CASCADE
9 #
10 # This library is free software; you can redistribute it and/or
11 # modify it under the terms of the GNU Lesser General Public
12 # License as published by the Free Software Foundation; either
13 # version 2.1 of the License, or (at your option) any later version.
14 #
15 # This library is distributed in the hope that it will be useful,
16 # but WITHOUT ANY WARRANTY; without even the implied warranty of
17 # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
18 # Lesser General Public License for more details.
19 #
20 # You should have received a copy of the GNU Lesser General Public
21 # License along with this library; if not, write to the Free Software
22 # Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307 USA
23 #
24 # See http://www.salome-platform.org/ or email : webmaster.salome@opencascade.com
25 #
26
27 # ------
28
29 MESSAGE(STATUS "Check for OCCT Canonical recognition product ...")
30
31 # ------
32
33 SET(CR_ROOT_DIR $ENV{CR_ROOT_DIR})
34 SET(OCCLICENSE_ROOT_DIR $ENV{OCCLICENSE_ROOT_DIR})
35
36 IF(CR_ROOT_DIR)
37   LIST(APPEND CMAKE_PREFIX_PATH "${CR_ROOT_DIR}")
38 ENDIF(CR_ROOT_DIR)
39 IF(OCCLICENSE_ROOT_DIR)
40   LIST(APPEND CMAKE_PREFIX_PATH "${OCCLICENSE_ROOT_DIR}")
41 ENDIF(OCCLICENSE_ROOT_DIR)
42
43 FIND_PATH(CR_INCLUDE_DIRS ShapeConvert.hxx PATH_SUFFIXES include/opencascade)
44 IF(CR_INCLUDE_DIRS)
45   SET(CR_UPCOUNT 2)
46 ELSE(CR_INCLUDE_DIRS)
47   FIND_PATH(CR_INCLUDE_DIRS ShapeConvert.hxx PATH_SUFFIXES include inc)
48 ENDIF(CR_INCLUDE_DIRS)
49
50 FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include/opencascade)
51 IF(NOT OCCTLICENSE_INCLUDE_DIRS)
52   FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include inc)
53 ENDIF(NOT OCCTLICENSE_INCLUDE_DIRS)
54
55 IF(CR_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
56   FILE(TO_NATIVE_PATH ${CR_INCLUDE_DIRS} _cr_dir)
57   FILE(TO_NATIVE_PATH ${OCCTLICENSE_INCLUDE_DIRS} _lic_dir)
58   STRING(COMPARE NOTEQUAL ${_cr_dir} ${_lic_dir} _diff_dir)
59   IF(_diff_dir)
60     LIST(APPEND CR_INCLUDE_DIRS ${OCCTLICENSE_INCLUDE_DIRS})
61   ENDIF()
62 ENDIF(CR_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
63
64 FIND_LIBRARY(CR_TKCR NAMES TKCR PATH_SUFFIXES lib lin64/gcc/lib bin)
65 FIND_LIBRARY(CRKOCCLicense NAMES TKOCCLicense PATH_SUFFIXES lib lin64/gcc/lib bin)
66
67 SET(CR_LIBRARIES
68   ${CR_TKCR}
69   ${CR_TKOCCLicense}
70 )
71
72 INCLUDE(FindPackageHandleStandardArgs)
73 FIND_PACKAGE_HANDLE_STANDARD_ARGS(CR REQUIRED_VARS CR_INCLUDE_DIRS CR_LIBRARIES)