]> OCCT Git - occt-wok.git/commitdiff
0023930: cmake meta-project of OCCT doesn't have an ability for user to choose place...
authoribs <ibs@opencascade.com>
Wed, 26 Jun 2013 06:37:29 +0000 (10:37 +0400)
committeribs <ibs@opencascade.com>
Wed, 26 Jun 2013 06:37:29 +0000 (10:37 +0400)
3RDPARTY_GLX_DIR introduced; lib and include directory are hard linked with 3RDPARTY_GLX_DIR

src/WOKTclLib/templates/template.cmake

index 993f5b8d378a27bd9c443b9ad761ddb6d884cf06..7d4c12f2873311ea5255a1fa53659eea15db8a1c 100644 (file)
@@ -62,11 +62,7 @@ add_definitions(-DCSFDB)
 if(WIN32)
   add_definitions(/DWNT -wd4996)
 elseif(APPLE)
-  option(3RDPARTY_USE_GLX "Use X11 OpenGL on OSX?" OFF)
   add_definitions(-fexceptions -fPIC -DOCC_CONVERT_SIGNALS -DHAVE_WOK_CONFIG_H -DHAVE_CONFIG_H)
-  if(3RDPARTY_USE_GLX)
-    add_definitions(-DMACOSX_USE_GLX)
-  endif()
 else()
   add_definitions(-fexceptions -fPIC -DOCC_CONVERT_SIGNALS -DHAVE_WOK_CONFIG_H -DHAVE_CONFIG_H -DLIN)
 endif()
@@ -177,14 +173,13 @@ SET(3RDPARTY_DIR "" CACHE PATH "Directory contains required 3rdparty products")
 SET(3RDPARTY_INCLUDE_DIRS "")
 SET(3RDPARTY_NOT_INCLUDED)
 
-IF (3RDPARTY_USE_GLX)
-  SET(3RDPARTY_LIBRARY_DIRS "${3RDPARTY_LIBRARY_DIRS};/usr/X11/lib")
-  SET(3RDPARTY_INCLUDE_DIRS "${3RDPARTY_INCLUDE_DIRS};/usr/X11/include")
+IF(APPLE)
+  SET(3RDPARTY_USE_GLX OFF CACHE BOOL "whether use X11 OpenGL on OSX or not")
 ENDIF()
 
-SET(3RDPARTY_USE_GL2PS OFF CACHE BOOL "whether use or not gl2ps product")
-SET(3RDPARTY_USE_FREEIMAGE OFF CACHE BOOL "whether use or not freeimage product")
-SET(3RDPARTY_USE_TBB OFF CACHE BOOL "whether use or not tbb product")
+SET(3RDPARTY_USE_GL2PS OFF CACHE BOOL "whether use gl2ps product or not")
+SET(3RDPARTY_USE_FREEIMAGE OFF CACHE BOOL "whether use freeimage product or not")
+SET(3RDPARTY_USE_TBB OFF CACHE BOOL "whether use tbb product or not")
 
 MACRO(THIRDPARTY_PRODUCT PRODUCT_NAME HEADER_NAME LIBRARY_NAME)
   IF(NOT DEFINED 3RDPARTY_${PRODUCT_NAME}_DIR)
@@ -282,6 +277,37 @@ IF(INSTALL_TCL)
   INSTALL(DIRECTORY "${3RDPARTY_TK_LIB_DIR}/tk8.5" DESTINATION "${INSTALL_DIR}/lib")
 ENDIF()
 
+# GLX
+IF(3RDPARTY_USE_GLX)
+  ADD_DEFINITIONS(-DMACOSX_USE_GLX)
+  
+  IF(NOT DEFINED 3RDPARTY_GLX_DIR)
+    SET(3RDPARTY_GLX_DIR "" CACHE PATH "Directory contains GLX product")
+  ENDIF()
+  
+  IF(3RDPARTY_DIR AND ("${3RDPARTY_GLX_DIR}" STREQUAL "" OR CHANGES_ARE_NEEDED))
+    FIND_PRODUCT_DIR("${3RDPARTY_DIR}" GLX GLX_DIR_NAME)
+    IF("${GLX_DIR_NAME}" STREQUAL "")
+      MESSAGE(STATUS "GLX DON'T FIND")
+    ELSE()
+      SET(3RDPARTY_GLX_DIR "${3RDPARTY_DIR}/${GLX_DIR_NAME}" CACHE PATH "Directory contains GLX product" FORCE)
+    ENDIF()
+  ENDIF()
+  
+  IF(3RDPARTY_GLX_DIR)
+    SET(3RDPARTY_GLX_INCLUDE_DIR "${3RDPARTY_GLX_DIR}/include" CACHE FILEPATH "Directory contains headers of the GLX product" FORCE)
+    SET(3RDPARTY_GLX_LIBRARY_DIR "${3RDPARTY_GLX_DIR}/lib"     CACHE FILEPATH "Directory contains library of the GLX product" FORCE)
+    
+    SET(3RDPARTY_INCLUDE_DIRS "${3RDPARTY_INCLUDE_DIRS};${3RDPARTY_GLX_INCLUDE_DIR}")
+    SET(3RDPARTY_LIBRARY_DIRS "${3RDPARTY_LIBRARY_DIRS};${3RDPARTY_GLX_LIBRARY_DIR}")
+    
+    MARK_AS_ADVANCED(3RDPARTY_GLX_DIR)
+  ELSE()
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_GLX_INCLUDE_DIR)
+    LIST(APPEND 3RDPARTY_NOT_INCLUDED 3RDPARTY_GLX_LIBRARY_DIR)
+  ENDIF()
+ENDIF()
+
 # FREETYPE
 THIRDPARTY_PRODUCT("FREETYPE" "ft2build.h" "freetype${BUILD_SUFFIX}")
 
@@ -307,7 +333,6 @@ IF(3RDPARTY_USE_FREEIMAGE)
   ENDIF()
 ENDIF()
 
-
 # GL2PS
 IF(3RDPARTY_USE_GL2PS)
   ADD_DEFINITIONS(-DHAVE_GL2PS)