Salome HOME
Migration on OCCT 7.1
[plugins/xtplugin.git] / adm_local / cmake_files / FindXT.cmake
1 # - Find OCCT Parasolid XDE product
2 # Sets the following variables:
3 #   XT_INCLUDE_DIRS - path to the OCCT Parasolid XDE include directory
4 #   XT_LIBRARIES    - OCCT Parasolid XDE 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 Parasolid XDE product ...")
30
31 # ------
32
33 SET(XT_ROOT_DIR $ENV{XT_ROOT_DIR})
34 SET(OCCLICENSE_ROOT_DIR $ENV{OCCLICENSE_ROOT_DIR})
35
36 IF(XT_ROOT_DIR)
37   LIST(APPEND CMAKE_PREFIX_PATH "${XT_ROOT_DIR}")
38 ENDIF(XT_ROOT_DIR)
39
40 IF(OCCLICENSE_ROOT_DIR)
41   LIST(APPEND CMAKE_PREFIX_PATH "${OCCLICENSE_ROOT_DIR}")
42 ENDIF(OCCLICENSE_ROOT_DIR)
43
44 FIND_PATH(XT_INCLUDE_DIRS XtData.hxx PATH_SUFFIXES include/opencascade include/products)
45 IF(XT_INCLUDE_DIRS)
46   SET(XT_UPCOUNT 2)
47 ELSE(XT_INCLUDE_DIRS)
48   FIND_PATH(XT_INCLUDE_DIRS XtData.hxx PATH_SUFFIXES include inc)
49 ENDIF(XT_INCLUDE_DIRS)
50
51 FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include/opencascade include/products)
52 IF(NOT OCCTLICENSE_INCLUDE_DIRS)
53   FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include inc)
54 ENDIF(NOT OCCTLICENSE_INCLUDE_DIRS)
55
56 IF(XT_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
57   FILE(TO_NATIVE_PATH ${XT_INCLUDE_DIRS} _xt_dir)
58   FILE(TO_NATIVE_PATH ${OCCTLICENSE_INCLUDE_DIRS} _lic_dir)
59   STRING(COMPARE NOTEQUAL ${_xt_dir} ${_lic_dir} _diff_dir)
60   IF(_diff_dir)
61     LIST(APPEND XT_INCLUDE_DIRS ${OCCTLICENSE_INCLUDE_DIRS})
62   ENDIF()
63 ENDIF(XT_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
64
65 FIND_LIBRARY(XT_TKXDEXT NAMES TKXDEXT PATH_SUFFIXES lib lin64/gcc/lib bin)
66 FIND_LIBRARY(XT_TKXT NAMES TKXT PATH_SUFFIXES lib lin64/gcc/lib bin)
67 FIND_LIBRARY(XT_TKOCCLicense NAMES TKOCCLicense PATH_SUFFIXES lib lin64/gcc/lib bin)
68
69 SET(XT_LIBRARIES
70   ${XT_TKXT}
71   ${XT_TKXDEXT}
72   ${XT_TKOCCLicense}
73 )
74
75 INCLUDE(FindPackageHandleStandardArgs)
76 FIND_PACKAGE_HANDLE_STANDARD_ARGS(XT REQUIRED_VARS XT_INCLUDE_DIRS XT_LIBRARIES)