]> SALOME platform Git repositories - plugins/canrecplugin.git/blob - adm_local/cmake_files/FindCR.cmake
Salome HOME
Increment version: 8.5.0
[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 IF(NOT CR_ROOT_DIR)
35   SET(CR_ROOT_DIR $ENV{OCCTPRODUCTS_ROOT_DIR})
36 ENDIF()
37
38 SET(OCCLICENSE_ROOT_DIR $ENV{OCCLICENSE_ROOT_DIR})
39 IF(NOT OCCLICENSE_ROOT_DIR)
40   SET(OCCLICENSE_ROOT_DIR $ENV{OCCTPRODUCTS_ROOT_DIR})
41 ENDIF()
42
43 IF(CR_ROOT_DIR)
44   LIST(APPEND CMAKE_PREFIX_PATH "${CR_ROOT_DIR}")
45 ENDIF(CR_ROOT_DIR)
46 IF(OCCLICENSE_ROOT_DIR)
47   LIST(APPEND CMAKE_PREFIX_PATH "${OCCLICENSE_ROOT_DIR}")
48 ENDIF(OCCLICENSE_ROOT_DIR)
49
50 FIND_PATH(CR_INCLUDE_DIRS ShapeConvert.hxx PATH_SUFFIXES include/opencascade include/products)
51 IF(CR_INCLUDE_DIRS)
52   SET(CR_UPCOUNT 2)
53 ELSE(CR_INCLUDE_DIRS)
54   FIND_PATH(CR_INCLUDE_DIRS ShapeConvert.hxx PATH_SUFFIXES include inc)
55 ENDIF(CR_INCLUDE_DIRS)
56
57 FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include/opencascade include/products)
58 IF(NOT OCCTLICENSE_INCLUDE_DIRS)
59   FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include inc)
60 ENDIF(NOT OCCTLICENSE_INCLUDE_DIRS)
61
62 IF(CR_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
63   FILE(TO_NATIVE_PATH ${CR_INCLUDE_DIRS} _cr_dir)
64   FILE(TO_NATIVE_PATH ${OCCTLICENSE_INCLUDE_DIRS} _lic_dir)
65   STRING(COMPARE NOTEQUAL ${_cr_dir} ${_lic_dir} _diff_dir)
66   IF(_diff_dir)
67     LIST(APPEND CR_INCLUDE_DIRS ${OCCTLICENSE_INCLUDE_DIRS})
68   ENDIF()
69 ENDIF(CR_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
70
71 FIND_LIBRARY(CR_TKCR NAMES TKCR PATH_SUFFIXES lib lin64/gcc/lib bin)
72 FIND_LIBRARY(CRKOCCLicense NAMES TKOCCLicense PATH_SUFFIXES lib lin64/gcc/lib bin)
73
74 SET(CR_LIBRARIES
75   ${CR_TKCR}
76   ${CR_TKOCCLicense}
77 )
78
79 INCLUDE(FindPackageHandleStandardArgs)
80 FIND_PACKAGE_HANDLE_STANDARD_ARGS(CR REQUIRED_VARS CR_INCLUDE_DIRS CR_LIBRARIES)