Salome HOME
Increment version: 8.5.0
[plugins/dxfplugin.git] / adm_local / cmake_files / FindDXF.cmake
1 # - Find OCCT DXF XDE product
2 # Sets the following variables:
3 #   DXF_INCLUDE_DIRS - path to the OCCT DXF XDE include directory
4 #   DXF_LIBRARIES    - OCCT DXF 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 DXF XDE product ...")
30
31 # ------
32
33 SET(DXF_ROOT_DIR $ENV{DXF_ROOT_DIR})
34 IF(NOT DXF_ROOT_DIR)
35   SET(DXF_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(DXF_ROOT_DIR)
44   LIST(APPEND CMAKE_PREFIX_PATH "${DXF_ROOT_DIR}")
45 ENDIF(DXF_ROOT_DIR)
46
47 IF(OCCLICENSE_ROOT_DIR)
48   LIST(APPEND CMAKE_PREFIX_PATH "${OCCLICENSE_ROOT_DIR}")
49 ENDIF(OCCLICENSE_ROOT_DIR)
50
51 FIND_PATH(DXF_INCLUDE_DIRS DxfData.hxx PATH_SUFFIXES include/opencascade include/products)
52 IF(DXF_INCLUDE_DIRS)
53   SET(DXF_UPCOUNT 2)
54 ELSE(DXF_INCLUDE_DIRS)
55   FIND_PATH(DXF_INCLUDE_DIRS DxfData.hxx PATH_SUFFIXES include inc)
56 ENDIF(DXF_INCLUDE_DIRS)
57
58 FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include/opencascade include/products)
59 IF(NOT OCCTLICENSE_INCLUDE_DIRS)
60   FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include inc)
61 ENDIF(NOT OCCTLICENSE_INCLUDE_DIRS)
62
63 IF(DXF_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
64   FILE(TO_NATIVE_PATH ${DXF_INCLUDE_DIRS} _dxf_dir)
65   FILE(TO_NATIVE_PATH ${OCCTLICENSE_INCLUDE_DIRS} _lic_dir)
66   STRING(COMPARE NOTEQUAL ${_dxf_dir} ${_lic_dir} _diff_dir)
67   IF(_diff_dir)
68     LIST(APPEND DXF_INCLUDE_DIRS ${OCCTLICENSE_INCLUDE_DIRS})
69   ENDIF()
70 ENDIF(DXF_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
71
72 FIND_LIBRARY(DXF_TKACIS NAMES TKACIS PATH_SUFFIXES lib lin64/gcc/lib bin)
73 FIND_LIBRARY(DXF_TKDXF NAMES TKDXF PATH_SUFFIXES lib lin64/gcc/lib bin)
74 FIND_LIBRARY(DXF_TKXDEDXF NAMES TKXDEDXF PATH_SUFFIXES lib lin64/gcc/lib bin)
75 FIND_LIBRARY(DXF_TKOCCLicense NAMES TKOCCLicense PATH_SUFFIXES lib lin64/gcc/lib bin)
76
77 SET(DXF_LIBRARIES
78   ${DXF_TKACIS}
79   ${DXF_TKDXF}
80   ${DXF_TKXDEDXF}
81   ${DXF_TKOCCLicense}
82 )
83
84 INCLUDE(FindPackageHandleStandardArgs)
85 FIND_PACKAGE_HANDLE_STANDARD_ARGS(DXF REQUIRED_VARS DXF_INCLUDE_DIRS DXF_LIBRARIES)