Salome HOME
Treat OCCTPRODUCTS_ROOT_DIR variable additionally.
[plugins/dxfplugin.git] / adm_local / cmake_files / FindDXF.cmake
old mode 100755 (executable)
new mode 100644 (file)
index 3f24d2d..f15a4bd
@@ -1,11 +1,11 @@
 # - Find OCCT DXF XDE product
 # Sets the following variables:
-#   DXF_INCLUDE_DIRS - path to the DXF include directory
-#   DXF_LIBRARIES    - path to the DXF libraries to be linked against
+#   DXF_INCLUDE_DIRS - path to the OCCT DXF XDE include directory
+#   DXF_LIBRARIES    - OCCT DXF XDE libraries to be linked against
 #
 
 #########################################################################
-# Copyright (C) 2014  OPEN CASCADE
+# Copyright (C) 2014-2016  OPEN CASCADE
 #
 # This library is free software; you can redistribute it and/or
 # modify it under the terms of the GNU Lesser General Public
@@ -31,7 +31,14 @@ MESSAGE(STATUS "Check for OCCT DXF XDE product ...")
 # ------
 
 SET(DXF_ROOT_DIR $ENV{DXF_ROOT_DIR})
+IF(NOT DXF_ROOT_DIR)
+  SET(DXF_ROOT_DIR $ENV{OCCTPRODUCTS_ROOT_DIR})
+ENDIF()
+
 SET(OCCLICENSE_ROOT_DIR $ENV{OCCLICENSE_ROOT_DIR})
+IF(NOT OCCLICENSE_ROOT_DIR)
+  SET(OCCLICENSE_ROOT_DIR $ENV{OCCTPRODUCTS_ROOT_DIR})
+ENDIF()
 
 IF(DXF_ROOT_DIR)
   LIST(APPEND CMAKE_PREFIX_PATH "${DXF_ROOT_DIR}")
@@ -41,22 +48,37 @@ IF(OCCLICENSE_ROOT_DIR)
   LIST(APPEND CMAKE_PREFIX_PATH "${OCCLICENSE_ROOT_DIR}")
 ENDIF(OCCLICENSE_ROOT_DIR)
 
-FIND_PATH(DXF_INCLUDE_DIRS DxfData.hxx PATH_SUFFIXES inc)
-FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES inc)
-IF(OCCTLICENSE_INCLUDE_DIRS)
-  LIST(APPEND DXF_INCLUDE_DIRS ${OCCTLICENSE_INCLUDE_DIRS})
-ENDIF(OCCTLICENSE_INCLUDE_DIRS)
+FIND_PATH(DXF_INCLUDE_DIRS DxfData.hxx PATH_SUFFIXES include/opencascade include/products)
+IF(DXF_INCLUDE_DIRS)
+  SET(DXF_UPCOUNT 2)
+ELSE(DXF_INCLUDE_DIRS)
+  FIND_PATH(DXF_INCLUDE_DIRS DxfData.hxx PATH_SUFFIXES include inc)
+ENDIF(DXF_INCLUDE_DIRS)
+
+FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include/opencascade include/products)
+IF(NOT OCCTLICENSE_INCLUDE_DIRS)
+  FIND_PATH(OCCTLICENSE_INCLUDE_DIRS OCCLicense_Activate.hxx PATH_SUFFIXES include inc)
+ENDIF(NOT OCCTLICENSE_INCLUDE_DIRS)
+
+IF(DXF_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
+  FILE(TO_NATIVE_PATH ${DXF_INCLUDE_DIRS} _dxf_dir)
+  FILE(TO_NATIVE_PATH ${OCCTLICENSE_INCLUDE_DIRS} _lic_dir)
+  STRING(COMPARE NOTEQUAL ${_dxf_dir} ${_lic_dir} _diff_dir)
+  IF(_diff_dir)
+    LIST(APPEND DXF_INCLUDE_DIRS ${OCCTLICENSE_INCLUDE_DIRS})
+  ENDIF()
+ENDIF(DXF_INCLUDE_DIRS AND OCCTLICENSE_INCLUDE_DIRS)
 
-FIND_LIBRARY(DXF_TKACIS NAMES TKACIS)
-FIND_LIBRARY(DXF_TKDXF NAMES TKDXF)
-FIND_LIBRARY(DXF_TKOCCLicense NAMES TKOCCLicense)
-FIND_LIBRARY(DXF_TKXDEDXF NAMES TKXDEDXF)
+FIND_LIBRARY(DXF_TKACIS NAMES TKACIS PATH_SUFFIXES lib lin64/gcc/lib bin)
+FIND_LIBRARY(DXF_TKDXF NAMES TKDXF PATH_SUFFIXES lib lin64/gcc/lib bin)
+FIND_LIBRARY(DXF_TKXDEDXF NAMES TKXDEDXF PATH_SUFFIXES lib lin64/gcc/lib bin)
+FIND_LIBRARY(DXF_TKOCCLicense NAMES TKOCCLicense PATH_SUFFIXES lib lin64/gcc/lib bin)
 
 SET(DXF_LIBRARIES
   ${DXF_TKACIS}
   ${DXF_TKDXF}
-  ${DXF_TKOCCLicense}
   ${DXF_TKXDEDXF}
+  ${DXF_TKOCCLicense}
 )
 
 INCLUDE(FindPackageHandleStandardArgs)